This repository is for the paper, "Tracailer: An Efficient Trajectory Planner for Tractor-Trailer Vehicles in Unstructured Environments".
Install the ros and the requirements below.
ros dependence: (use ros noetic with Ubuntu20.04 as an example)
sudo apt install ros-noetic-tf2-geometry-msgs
sudo apt install ros-noetic-ackermann-msgs
sudo apt install libompl-dev
casadi for mpc controller:
Go to the website of casadi and install casadi. For example, you can:
git clone https://github.com/casadi/casadi.git
cd casadi
📢Important!: Open the CMakeLists.txt
and set the WITH_LAPACK_DEF
and WITH_QPOASES_DEF
from OFF
to ON
, then
mkdir build && cd build
cmake ..
make
sudo make install
NOTE: We may have forgotten other dependencies 😟, sorry!
Build the project: (you can change the trailer num defined in src/planner/CMakeLists.txt
by changing the definition of TRAILER_NUM
)
git clone https://github.com/ZJU-FAST-Lab/tracailer.git
cd tracailer
catkin_make
run the project:
source devel/setup.bash
roslaunch planner run_all.launch
When you see the robot in the Rviz like below, you can use 2D Pose Estimate
to trigger planning.
teach.mp4
If our method is useful for your research, please consider citing.
@misc{tracailer,
title={Tracailer: An Efficient Trajectory Planner for Tractor-Trailer Robots in Unstructured Environments},
author={Long Xu, Kaixin Chai, Boyuan An, Jiaxiang Gan, Qianhao Wang, Yuan Zhou, Xiaoying Li, Junxiao Lin, Zhichao Han, Chao Xu, Yanjun Cao, Fei Gao},
year={2025},
eprint={2502.19832},
archivePrefix={arXiv},
primaryClass={cs.RO}
}