This Kit provides an end to end simulation solution for MAV visual SLAM (or path planning) researches.
In this work, several features are added to the default PX4 Gazebo Simulator:
-A realsense D435 model (based on realsense_gazebo_plugin)
-Modified IRIS MAV model
-Several structured/unstructured simulation world
The work has been verified on Ubuntu 18.04/20.04 + ROS melodic/noetic environment
Also, if you want to save time,
we strongly suggest you to use docker image!
The link is right here.
manual control | Click and fly navigation |
---|---|
We include 3 main functionalities to users:
- Mapping environments for path planning and SLAM works.
- A single drone environment for controller design. Disturbances can be added.
- A team of 3 drones for swarm applications.
If you still insist not to use docker, follow this to do the installation.
Run the simulator
roscd e2es
./sim.sh map # for mapping environment and camera
./sim.sh single # for control testing, only 1 drone will be spawned
./sim.sh swarm # for control testing, 3 drones will be spawned
Using keyboard to control the MAV in simulator
roslaunch e2es keyboard_ctr.launch
You can also add disturbances to the environemnt via
roslaunch e2es disturb.launch
You can use the FLVIS + MLMapping kit combination to run SLAM. Please refer to the respective repo, FLVIS & MLMap to build them. Also make sure that you safisfy their prerequisites.
The launch file for E2ES are here_FLVIS & here_MAP. Hence, do
roslaunch flvis e2es.launch # for VIO
roslaunch mlmapping mlmapping_e2es.launch # for Mapping
The topics there you might be interested are as follows:
Topic | Topic Type | Topic Name | Hz |
---|---|---|---|
Pose (GT) | geometry_msgs/PoseStamped | /gt_iris_base_link_imu | 50 |
Pose (VIO) | geometry_msgs/PoseStamped | /mavros/vision_pose/pose | 200 |
Odom (VIO) | nav_msgs/Odometry | /imu_odom | 200 |
IMU (PX4) | sensor_msgs/IMU | /mavros/imu/data | 50 |
IMU (Gazebo) | sensor_msgs/IMU | /iris/imu/data | 200 |
RAW PCL | sensor_msgs/Image | /camera/depth_aligned_to_color_and_infra1/image_raw | 30 |
MAP | sensor_msgs/PointCloud2 | /global_map | 20 |
You can modify the launch file, and
You can use the FLVIS-glmapping-FUXI(localization-mapping-planning kits) navigation system.
The first step is to install FLVIS, glmapping and FUXI accordinly.
Then start the simulator localization mapping and planning kit in sequence.
roscd e2es
./sim.sh
# flvis
roslaunch flvis e2es.launch # under flvis package
# fuxi
## please refer to fuxi repo
This work are based on PX4 Projcet and realsense_gazebo_plugin
Patrick Lo, AIRo-Lab, RCUAS, PolyU
Shengyang Chen, Dept.ME, PolyU