2025-07-20 12:51:24 +08:00
2025-07-20 12:46:40 +08:00
2025-07-20 12:46:40 +08:00
2025-07-20 12:46:40 +08:00
2025-07-20 12:51:24 +08:00

Bi-level polynomial-based trajectory optimization

1. Setup

All the tests are conducted in the Linux environment on a computer equipped with an Intel Core i7-10700 CPU and a GeForce RTX 2060 GPU.

Moreover, our software is developed and tested in Ubuntu 18.04, 20.04 with ROS installed.

ROS can be installed here: ROS Installation.

To build this project, ensure that you have the following dependencies installed:

-Eigen: A high-level C++ library for linear algebra operations.

-The Open Motion Planning Library (OMPL): A comprehensive library for motion planning and control.

2. Build on ROS

  1. Unzipping the compressed file and compile it.

    cd ~/trajectoryOpt
    catkin_make -DCMAKE_BUILD_TYPE=Release
    

3. Run

Open a new terminal window, cd to ~/trajectoryOpt/ and type:

source devel/setup.bash

Then, run the script:

./run.sh 

Then, you can use the 2D Nav Goal in RVIZ to trigger the planning.

Here is an example:

Here, the blue curve represents the trajectory generated by our method, whereas the red curve depicts the trajectory generated by the differential flattening-based method employed for comparative analysis.

The program evaluates the kinematic state at each point along both trajectories and computes the maximum value for each metric.

If successful, the terminal will output the maximum curvature and maximum steering angle rate (\omega) for each method.

The results indicate that our approach adheres to the kinematic constraint standards, whereas the comparative method violates constraints by more than an order of magnitude.

Note: Due to computational performance and solver randomness, slight deviations in results may occur.

4. Contact

If you have any questions, please feel free to contact Zhichao HAN (zhichaohan@zju.edu.cn) or Mengze TIAN(mengze.tian@epfl.ch).

Description
No description provided
Readme 206 MiB