OPT4SMART / crazychoir

Flying Swarms of Crazyflie Quadrotors in ROS 2
https://opt4smart.github.io/crazychoir/
GNU General Public License v3.0
37 stars 3 forks source link

How to change the crazychoir caculation frequency? #15

Closed cbDragon closed 10 months ago

cbDragon commented 1 year ago

Hey guys! Appreciate for your great jobs! Now, in order to make a huge crazyflie numbers(about 10~15) real experiment, we need to slow down the caculation frequency to match the crazyradido sending frequency. I found that there are many "frequency" variables in nodes(such as controller, guidence,and trajectory) and launch files(tracking_vicon), should I need to change them all? Besides, other files may be related to the frequency too, such as the "delta_int" variable in bearing formation node.

lorenzopichierri commented 11 months ago

Hi cbDragon!

Thank you for reaching out! The radio_handler node is subscribed to either the cmd_vel or traj_params command topic, depending on its usage (the first one in your case). If you intend to modify the sending frequency, you can modify the publishing frequency of these topics. Specifically, for the radio_handler_fpqr.py (the one that leverages cmd_vel) you can change the update frequency in controller.py. However, it's important to note that decreasing the update frequency may not be the ideal solution, as our controller has been tested to work at 100Hz. Lowering the frequency could potentially lead to tracking issues, especially considering the fact that trust and angular velocity commands are directly sent to the crazyflie.

Nonetheless, you might find an alternative approach in the task_assignment_vicon example, where we leverage the bitcraze library to send goal positions at a lower frequency of 10Hz.

Feel free to explore this and let us know if you have any further questions or if there's anything else we can assist you with!