Try to figure out the ROS package

Discussions about all things Bitcraze
Post Reply
Duncan
Beginner
Posts: 20
Joined: Mon Aug 27, 2018 1:13 am

Try to figure out the ROS package

Post by Duncan » Tue Dec 24, 2019 3:42 am

Hi all,

I am new to ROS and I would like to use the Crazyflie ROS package along with a SLAM ROS package to realize autonomous flight. I have installed the Crazyflie ROS package on ROS and try to go through this tutorial (http://act.usc.edu/publications/Hoenig_ ... OS2017.pdf). I have some experience with Crazyflie but only on its python software and have a basic understanding of the overall structure of the ROS package.

Here are the questions I want to ask:
1. I notice there are some demo scripts in the crazyflie_demo package, is there anyone that is able to run without the joystick and VICON or a similar localization system?
2. Can it perform the task like the waypoint following with the current flowdeck only?
3. I saw a post saying that he could generate the control command with his own ROS controller and send the motion command to the python software to drive the crazyflie. Is it realizable with something like a bridge between the ROS and crazyflie python software? (if yes, I might also go with that, after all, I am more familiar with the development of its python software)

Thanks in advance and happy holidays.
Duncan



whoenig
Expert
Posts: 323
Joined: Mon Oct 27, 2014 2:55 am

Re: Try to figure out the ROS package

Post by whoenig » Tue Dec 24, 2019 8:31 pm

Hi Duncan,

1. Some sort of localization in the demo scripts is required. However, this can be the flowdeck, LPS, Lighthouse, or mocap. In your case, you would essentially replace the feedback from such systems with the SLAM code. I suggest using the high-level-mode, see https://github.com/whoenig/crazyflie_ro ... h_level.py.
2. Yes, but your CF will drift over time. You will need to adjust one of the example launch files to remove the reference to a mocap, e.g., https://github.com/whoenig/crazyflie_ro ... con.launch; remove lines 26-30 and lines 33-34.
3. In ROS you can use Python(2) to write nodes. Nothing prevents you from simply using the cflib as part of your Python node. crazyflie_ros has two advantages: 1) better performance (since the core is written in C++); 2) better ROS integration by providing standard topics. For your use-case none of the two advantages are crucial. You can essentially write a ROS node in python which subscribes to your SLAM topics and sends the appropriate commands to the Crazyflie using cflib.

Best,
Wolfgang

Duncan
Beginner
Posts: 20
Joined: Mon Aug 27, 2018 1:13 am

Re: Try to figure out the ROS package

Post by Duncan » Tue Dec 31, 2019 9:14 pm

Great. Thank you for your answer. I might try both to see which one fits my project the best.

Thank you and happy new year!

Duncan

Post Reply