New to Crazyflie, confused about ROS
Posted: Mon Mar 07, 2016 2:56 am
Hi guys,
We are currently working on our college thesis which wants to implement the SWEEP protocol using 4 quadcopters. Basically,the quads should follow a certain path that changes with respect to time until it converges on the point of origin which is the target. We plan on using Optitrack for detecting and stabilizing the quads and randomly generating a target.
Being fairly new to crazyflie, all of this has been confusing to me. I understand that the crazyflie-clients-python folder I have in my laptop contains all the things that I need to be able to control the quads. I was able to install them with the help of a friend based on this link (https://github.com/bitcraze/crazyflie-clients-python) I've only tried the examples and played around with the ramp code and both basiclog and basicparam examples. After searching for some inspiration online, I've seen that most people use ROS along with an external camera to do waypoint navigation. (seen here:http://wiki.ros.org/crazyflie) Downloading the file and going to the controller folder, all I see are C files which are different from the py files I've been using in pycharm. These c files are namely controller.cpp and pid.hpp.
Now, on to the question which is the point of the topic.
1. Why are the controller codes in cpp while the examples are in py?
2. Is ROS with optitrack the best method for this project? I've seen people suggest using the radio multilink branch included in python and I'm not sure if that is the better choice since ROS seems to require more installation.
3. Can I start coding the behavior of the quads from the ramp example alone by adding multiple conditional statements?
4. Have similar projects been done in the past? I see the project as dealing with dynamic waypoints and I'm hoping to take a look at some codes to get an idea of how it's done.
Thanks in advance for reading and (possibly) answering the wall of text above.
Kyle
We are currently working on our college thesis which wants to implement the SWEEP protocol using 4 quadcopters. Basically,the quads should follow a certain path that changes with respect to time until it converges on the point of origin which is the target. We plan on using Optitrack for detecting and stabilizing the quads and randomly generating a target.
Being fairly new to crazyflie, all of this has been confusing to me. I understand that the crazyflie-clients-python folder I have in my laptop contains all the things that I need to be able to control the quads. I was able to install them with the help of a friend based on this link (https://github.com/bitcraze/crazyflie-clients-python) I've only tried the examples and played around with the ramp code and both basiclog and basicparam examples. After searching for some inspiration online, I've seen that most people use ROS along with an external camera to do waypoint navigation. (seen here:http://wiki.ros.org/crazyflie) Downloading the file and going to the controller folder, all I see are C files which are different from the py files I've been using in pycharm. These c files are namely controller.cpp and pid.hpp.
Now, on to the question which is the point of the topic.
1. Why are the controller codes in cpp while the examples are in py?
2. Is ROS with optitrack the best method for this project? I've seen people suggest using the radio multilink branch included in python and I'm not sure if that is the better choice since ROS seems to require more installation.
3. Can I start coding the behavior of the quads from the ramp example alone by adding multiple conditional statements?
4. Have similar projects been done in the past? I see the project as dealing with dynamic waypoints and I'm hoping to take a look at some codes to get an idea of how it's done.
Thanks in advance for reading and (possibly) answering the wall of text above.
Kyle