ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Control multiple Ar Drones

asked 2013-04-18 22:04:30 -0600

updated 2013-04-19 00:38:01 -0600

Has anyone been able to control multiple AR Drones with any of the ROS drivers?

I'm trying to fly them using https://github.com/AutonomyLab/ardrone_autonomy

But cannot get multiple drone nodes started. Drones are connected to one router and I can ping them all. I'm having the issue described here:

https://github.com/AutonomyLab/ardrone_autonomy/issues/56

Thanks for the help.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2013-04-24 20:19:19 -0600

I have some great news regarding this issue. I am now able to fly multiple drones with 1 PC. The issue is in the ArDrone SDK in the file vp_com_socket.c around line 100. The problem is when the second drone node tries to bind client's IP (PC) with the socket, so that the drone can constantly send navdata to it. Here the error is received, and node crashes. Binding cannot be done, because the socket is already taken and binded by the first drone. So there is no need to bind it again.

This is the quick and ugly fix that should get multiple drones running. I already notified Parrot so I hope that they will fix this issue soon in the SDK.

case VP_COM_SERVER:
  name.sin_addr.s_addr = INADDR_ANY;
  int bind_err = bind( s, (struct sockaddr*)&name, sizeof(struct sockaddr));
  if (bind_err < 0 ){
    //res = VP_COM_ERROR;
    res = VP_COM_OK;
}
edit flag offensive delete link more

Question Tools

4 followers

Stats

Asked: 2013-04-18 22:04:30 -0600

Seen: 1,964 times

Last updated: Apr 24 '13