A message-passing algorithm for multi-agent trajectory planning