How dynamicswarms/pad_swarming works
This ROS 2 workspace supports multi-Crazyflie operation with pad-based charging and traffic coordination, plus monitoring/control interfaces. A vehicle controller checks charge state and delegates flight commands; its connection manager advertises availability and serves connect/disconnect requests. Pad-management modules cover pad creation, distribution, spawning, sensing, and traffic rights, while agent packages provide higher-level behaviors. C++ components implement vehicle state and command safety, and collision avoidance is exposed as a service. The README is empty; links among unsampled subsystems are therefore omitted where their wiring is uncertain.
Main entry points: controller.py Vehicle controller · charge_controller.py Charge monitor · commander.py Flight commander · connection_manager.py Connection manager
Components 23
Fleet agents
- Agent behaviors
src/agents/agents/agent.py - Random walk
src/agents/agents/random_walk_agent.py - Wand control
src/agents/agents/wand_agent.py
Vehicle runtime
- Vehicle controller
src/padflies/padflies/controller.py - Charge monitor
src/padflies/padflies/charge_controller.py - Connection manager
src/padflies/padflies/connection_manager.py - Flight commander
src/padflies/padflies/commander.py - Padflie runtime
src/padflies/padflies/padflie.py
Pad operations
- Pad creation
src/pad_management/pad_management/pad_creator.py - Pad spawning
src/pad_management/pad_management/pad_spawner.py - Pad distribution
src/pad_management/pad_management/pad_distributor.py - Point sensing
src/pad_management/pad_management/point_finder.py - Pad traffic rights
src/pad_management/pad_management/pad_traffic_controller.py - Pad broadcaster
src/pad_management/pad_management/pad_broadcaster.py
Control and safety
- Hardware state
src/padflies_cpp/src/hardware_state_controller.cpp - Position safety
src/padflies_cpp/src/position_controller.cpp - Yaw safety
src/padflies_cpp/src/yaw_controller.cpp - Avoidance client
src/padflies_cpp/src/collision_avoidance_client.cpp - Avoidance service
src/collision_avoidance/collision_avoidance/src/collision_avoidance_node.cpp
Operator interfaces
- Vehicle status UI
src/rqt_crazyflies/src/state_plugin.cpp - Vehicle setup UI
src/rqt_crazyflies_add/rqt_crazyflies_add/add_plugin.py
Other components
- Operator
- Crazyflie hardware
Connections 8
- Vehicle controller → Charge monitor: checks charge
- Vehicle controller → Flight commander: delegates flight
- Connection manager → Flight commander: reads pose
- Charge monitor → Crazyflie hardware: reads battery state
- Hardware state → Crazyflie hardware: subscribes state
- Avoidance client → Avoidance service: requests target
- Operator → Vehicle status UI: monitors
- Operator → Vehicle setup UI: configures fleet