This is the source code of the GA-TEB (the fourth version of the GraphicTEB series) GA-TEB: Goal-Adaptive Framework for Efficient Navigation Based on Goal Lines, an approach for robot motion planning.
The project has been tested on Ubuntu 18.04 (ROS Melodic). To install the repository, please install some dependence firstly:
sudo apt install ros-melodic-navigation
sudo apt install ros-melodic-teb-local-planner
Then install OpenCV according the Chinese reference or English reference1, English reference2.
mkdir -p GATEB_ws/src
cd GATEB_ws/src
git clone https://github.com/Chris-Arvin/GraphicTEB-series.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
[set the OpenCV_DIR in src/teb_local_planner/CMakeLists.txt according to the real location of your OpenCV]
catkin_make
See the performance of GA-TEB in preset scenes with numerous obstacles:
source GATEB_ws/devel/setup.bash
roslaunch move_base demo1_navigation.launch
Or try another demo with multiple pedestrians:
source GATEB_ws/devel/setup.bash
roslaunch move_base demo2_navigation.launch
Then, select a Nav_goal in rviz and see the performance of the robot~!
demo1_pedsim_simulator.launch / demo2_pedsim_simulator.launch: @param: person_mode
- 0: drive the pedestrian with data replay
- 1: drive the pedestrian with extended social force model
- 2: drive the pedestrian with manual control
@param: robot_mode
- 0: drive the robot with algorithms (baselines or your own algorithm) in the format of the plugin
- 2: drive the robot with manual control
@param: scene_file
- the localization of a .xml file describing the obstacle distribution, pedestrian distribution.
@param: pose_initial_x, pose_initial_y, pose_initial_theta
- the initial position and orientation of the robot.
- Qianyi Zhang [email protected]
- Zeqing Zhu
- Zhengxi Hu
- Yinuo Song
- Yifan Yang
- Shichao Wu
- The first version, Graphic-TEB, proposes a framework that groups obstacles with computer graphics.
- The second version, STC-TEB, adds incremental optimization to this framework.
- In parallel, another version, CG3, introduces the human gaze to make the robot keep safe distance with human beings adaptively.
This work is based on several open-source works, thanks for their contribution and inspiration: