Skip to content

About

Unified ROS Noetic simulation environment integrating ZJU-FAST-Lab's ego-planner, Elastic-Tracker, and Fast-Perching with one-click launch scripts.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🌐 English | 简体中文

1. Overview

This project combines three previous projects from ZJU-FAST-Lab: ego-planner, Elastic-Tracker, Fast-Perching. By running a single bash file, you can run one of these projects in one unified simulation environment.

Previous Projects

This repository integrates the following open-source projects from ZJU-FAST-Lab:

  • ego-planner — Autonomous exploration & trajectory planning (⭐ 2.7k)
  • Elastic-Tracker — A spatio-temporal trajectory planner for flexible aerial tracking (⭐ 333)
  • Fast-Perching — Real-time trajectory planning for aerial perching (⭐ 124)

2. Standard Compilation

System used to test: Ubuntu 20.04 with ros-noetic

[NOTE!] Remember to change the CUDA option of src/uav_simulator/local_sensing/CMakeLists.txt in both ego-planner and Elastic-Tracker packages.

Clone the code from github

git clone https://github.com/wuuwuu26/Integrated-Simulation.git

Compile each package one by one

cd ego-planner
catkin_make
cd Elastic-Tracker
catkin_make
cd Fast-Perching
catkin_make

Grant bash files permissions

chmod +x mix.sh
chmod +x task_pub.sh
chmod +x start_ego.sh
chmod +x start_track.sh
chmod +x start_track_car.sh
chmod +x start_perch.sh
chmod +x stop_ego.sh
chmod +x stop_track.sh
chmod +x stop_perch.sh

Run the map and wait for /task_id

./mix.sh

map

Run task publisher

./task_pub.sh

3. About the Map

If you want to change the map, please turn to /ego-planner/src/planner/plan_manage/launch/map_generator.launch. You can change the parameters of mockamap_node to get a different environment for simulation.

<param name="seed" type="int" value="510"/>
<param name="update_freq" type="double" value="1.0"/>

<!-- Box edge length, unit: meter -->
<param name="resolution" type="double" value="0.1"/>

<!-- Map size unit: meter -->
<param name="x_length" value="$(arg map_size_x_)"/>
<param name="y_length" value="$(arg map_size_y_)"/>
<param name="z_length" value="$(arg map_size_z_)"/>

<!-- Map generation type: 2 = perlin box random map -->
<param name="type" type="int" value="2"/>
    
<!-- Ground parameter: 1 = enable ground, 0 = disable ground -->
<param name="ground" type="int" value="0"/>
    
<!-- Perlin box random map parameters -->
<param name="width_min" type="double" value="0.5"/>
<param name="width_max" type="double" value="1.5"/>
<param name="height_min" type="double" value="3.5"/>
<param name="height_max" type="double" value="4.5"/>
<param name="obstacle_number" type="int" value="120"/>

4. Existing Problems

As for task 5, given that there's no obstacle avoidance program in Fast-Perching project, task 5 here can't avoid the obstacles in the map.

About

Unified ROS Noetic simulation environment integrating ZJU-FAST-Lab's ego-planner, Elastic-Tracker, and Fast-Perching with one-click launch scripts.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages