A lightweight UAV simulation environment for evaluating different levels of global and local trajectory optimization and planning.
-
Local Point Cloud
- Topic:
/drone_<drone_id>_pcl_render_node/cloud - Type:
sensor_msgs/PointCloud2 - Description: Local 3D point cloud data around the robot.
- Topic:
-
Odometry
- Topic:
/drone_<drone_id>_odom - Type:
nav_msgs/Odometry - Description: Drone's current odometry in simulation.
- Topic:
-
Trajectory
- Topic:
/drone_<drone_id>_planning/traj - Type:
traj_msgs/SingleTraj - Description: Refers to SingleTraj
- Topic:
-
(Optional) Position Command
- Topic:
/drone_<drone_id>_planning/pos_cmd - Type:
quadrotor_msgs/PositionCommand - Description: Refers to PositionCommand
- Topic:
- Replace <drone_id> with your assigned drone ID (default is 0).
- Use the grid map module used by HKUST Aerial Lab and Fast Lab (take the implementation in the ego planner).
- Provide a local map, local goal, and initial path (if you need it as an initial guess)
- Input the generated trajectories.
-
Local Grid Map
-
Odometry
- Topic:
/drone_<drone_id>_odom - Type:
nav_msgs/Odometry - Description: Drone's current odometry in simulation.
- Topic:
-
Trajectory
- Topic:
/drone_<drone_id>_planning/traj - Type:
traj_msgs/SingleTraj - Description: Refers to SingleTraj
- Topic:
-
(Optional) Position Command
- Topic:
/drone_<drone_id>_planning/pos_cmd - Type:
quadrotor_msgs/PositionCommand - Description: Refers to PositionCommand
- Topic:
- Replace <drone_id> with your assigned drone ID.
-
Global Grid Map
-
Odometry
- Topic:
/drone_<drone_id>_odom - Type:
nav_msgs/Odometry - Description: Drone's current odometry in simulation.
- Topic:
-
Trajectory
- Topic:
/drone_<drone_id>_planning/traj - Type:
traj_msgs/SingleTraj - Description: Refers to SingleTraj
- Topic:
-
(Optional) Position Command
- Topic:
/drone_<drone_id>_planning/pos_cmd - Type:
quadrotor_msgs/PositionCommand - Description: Refers to PositionCommand
- Topic:
- Replace <drone_id> with your assigned drone ID.
# Go to your ROS2 workspace
cd ~/ros2_ws/src
# Clone this repo
git clone --recurse-submodules https://github.com/yuwei-wu/planner_benchmark.git
# Go to workspace root
cd ~/ros2_ws
# Build
colcon build --symlink-installFor single drone:
source install/setup.bash
ros2 launch api_server level0_eval.launch.py
For multiple drones:
source install/setup.bash
ros2 launch api_server level0_eval_swarm.launch.py
- Thanks to the OpenAI GPT for assistance in developing the code and documentation.
- Reference: