AutonomyLab / bebop_autonomy

ROS driver for Parrot Bebop Drones 1.0 & 2.0
http://wiki.ros.org/bebop_autonomy
BSD 3-Clause "New" or "Revised" License
152 stars 121 forks source link

Libraries/ commands for return home. #87

Closed kenisvery closed 7 years ago

kenisvery commented 7 years ago

Hi,

Are there any msg and command that tell bebop to return it takeoff position with bebop autonomy (std_msgs, geometry_msgs.msgs)? If so, how could I publish it in python?

P.S. Is it possible to use bebop autonomy with OpenCV for image processing/ optical flow?

mani-monaj commented 7 years ago

Are there any msg and command that tell bebop to return it takeoff position with bebop autonomy (std_msgs, geometry_msgs.msgs)?

Yes. But it GPS-based. Please check the following: http://bebop-autonomy.readthedocs.io/en/latest/piloting.html#navigate-home

If so, how could I publish it in python?

Please follow the ROS Python Tutorials.

Is it possible to use bebop autonomy with OpenCV for image processing/ optical flow?

Yes! You can subscribe to Bebop's video stream in any other ROS node and use OpenCV to process the stream (e.g. to calculate the Optical Flow). To convert from ROS Image format (sensor_msgs::Image) to OpenCV format, you can use cv_bridge.

kenisvery commented 7 years ago

WOW! bebop autonomy is very powerful!!!

By the way, I'm trying to use a wifi router to connect multi bebop 2 drone, just like how tum ar drone does. Is it practically possible to achieve?

plus, even if I connected to multiple bebop 2 drones, how could I give a separate command to each drone? Do the drones do the exact same thing each time I command it with rostopic or compile a python program?

mani-monaj commented 7 years ago

By the way, I'm trying to use a wifi router to connect multi bebop 2 drone, just like how tum ar drone does. Is it practically possible to achieve?

I have not done it yet. But there has been some successful attempts. Please check #15

plus, even if I connected to multiple bebop 2 drones, how could I give a separate command to each drone?

You need to run each instance of the driver under its own namespace. This seems to be a good tutorial to familiarize yourself with the concept: ROS Naming and Namespaces | NooTriX

All bebop_driver/launch/* and bebop_tools/launch/* launch files accept an argument for setting the namespace. This is by default set to bebop but can be changed to any other name:

$ roslaunch bebop_tools bebop_nodelet_iv.launch namespace:=customnamespace