|
Hello, I have a swarm of 8 crazyflies. A rough waypoint mission is built using crazyswarm2's goTo() function, where the swarm formation is maintained throughout the movement. Now I want to give the crazyflies obstacle avoiding commands on top of that. These will be setpoints. After looking at collision_avoidance.c I am assuming it works with setpoints too. I am wondering: What will the commander "listen" to in the worst case (when the swarm is forced to compress momentarily due to the obstacles, e.g. Bottleneck in the x-y-plane)? Higher setpoint broadcasting rate wins? Is this a valid concern at all? If so: What ways are there to solve this? Can a hierarchy be assigned to setpoints? Best regards |
Replies: 1 comment 2 replies
|
hi! So for the collision avoidance, it is not that the setpoint is overwritten or that it works with hierarchy. There is already a setpoint, which is just adapted to also include the collision avoidance. You can check out the code for that https://github.com/bitcraze/crazyflie-firmware/blob/e527895e8c6e52700eedec011a7a709df7281f15/src/modules/src/collision_avoidance.c#L97. There is a sense of hierarchy yes (see this documentation), but I don't think the collision algorithm cares about that now. It will change 'any' setpoint of which I can see due to it's location in the stabilizer. That actually is a bit of a safety hazard if it does what I think it does but I haven't looked at the code very much in-depth so just a disclaimer there :) In your case, you can perhaps add another function after the collision setpoint adaption, that does the same but for obstacle avoidance? |
hi! So for the collision avoidance, it is not that the setpoint is overwritten or that it works with hierarchy. There is already a setpoint, which is just adapted to also include the collision avoidance. You can check out the code for that https://github.com/bitcraze/crazyflie-firmware/blob/e527895e8c6e52700eedec011a7a709df7281f15/src/modules/src/collision_avoidance.c#L97.
There is a sense of hierarchy yes (see this documentation), but I don't think the collision algorithm cares about that now. It will change 'any' setpoint of which I can see due to it's location in the stabilizer. That actually is a bit of a safety hazard if it does what I think it does but I haven't looked at the code v…