cubs2_bringup
System-level launch files and configuration for Cubs2. This package orchestrates all components for complete simulation, visualization, and planning.
Launch Files
sim.xml
Complete aircraft simulation with autonomous flight.
Arguments:
enable_sim(default: true) - Run live simulationenable_replay(default: false) - Show recorded flight datashow_forces(default: true) - Visualize forces/momentsrate(default: 1.0) - Simulation speed multipliergate_sequence(default: [0,1,2,4,3,…]) - Waypoint orderbag_path(default: cubs2_data rosbag) - Path to replay data
Nodes Started:
Simulation node (
cubs2_simulation)Dubins path planner (
cubs2_planning)Robot state publisher (
cubs2_description)Racecourse markers (
racecourse_description)
Usage:
# Standard simulation
ros2 launch cubs2_bringup sim.xml
# 2x speed with replay comparison
ros2 launch cubs2_bringup sim.xml rate:=2.0 enable_replay:=true
# Custom gate sequence
ros2 launch cubs2_bringup sim.xml gate_sequence:="[0,1,2,3,4]"
viz.xml
RViz2 visualization with custom panels.
Nodes Started:
RViz2 with pre-configured layout
All visualization plugins loaded (Joy, Sim, HUD, Video panels)
Usage:
ros2 launch cubs2_bringup viz.xml
gamepad_control.xml
Manual control via gamepad/joystick.
Arguments:
device(default: /dev/input/js0) - Joystick device path
Nodes Started:
Joy node (sensor_msgs/Joy publisher)
Gamepad control translator (
cubs2_simulation)
Usage:
ros2 launch cubs2_bringup gamepad_control.xml
keyboard_control.xml
Manual control via keyboard.
Nodes Started:
Keyboard control node
Usage:
ros2 launch cubs2_bringup keyboard_control.xml
planning.xml
Standalone path planner (no simulation).
Arguments:
gate_sequence(default: [0,1,2,…]) - Waypoint order
Usage:
ros2 launch cubs2_bringup planning.xml gate_sequence:="[0,2,4,6]"
Complete Workflow
Standard Simulation
# Terminal 1: Launch simulation
ros2 launch cubs2_bringup sim.xml
# Terminal 2: Launch visualization
ros2 launch cubs2_bringup viz.xml
Manual Control
# Terminal 1: Simulation only (no autonomous planner)
ros2 run cubs2_simulation sim
# Terminal 2: Gamepad control
ros2 launch cubs2_bringup gamepad_control.xml
# Terminal 3: Visualization
ros2 launch cubs2_bringup viz.xml
Replay Analysis
# Compare simulation with recorded flight
ros2 launch cubs2_bringup sim.xml enable_replay:=true show_forces:=true
# In separate terminal
ros2 launch cubs2_bringup viz.xml
Configuration
RViz Layout
Default RViz configuration: config/cubs2.rviz (loaded from cubs2_rviz)
Racecourse Gates
Gate definitions: racecourse_description/config/racecourse.yaml
Dependencies
Execution Dependencies:
cubs2_simulation
cubs2_planning
cubs2_rviz
racecourse_description
All runtime components are brought together in this package.
Design Philosophy
This package follows the ROS2 “bringup” pattern:
No code - Only launch files and configuration
System integration - Combines components from other packages
Parameterized - Flexible launch arguments for different scenarios
Documented - Clear usage examples