AWSIM controllers

Repository contains 3 controllers:

  • Pure pursuit controller
  • Stanley controller
  • ILQR controller

Requirements

First thing required is having f1tenth simulator running along with ros humble. Second requirement is to create new ros workspace and clone this repository to src directory as well as autoware_auto_msgs with commands:

git clone --recurse-submodules https://github.com/SzymKwiatkowski/awsim_controllers.git

if submodules are not pulled along with project use:

git submodule update

afterwards

git clone https://github.com/tier4/autoware_auto_msgs

After that build autoware messages with command:

colcon build --packages-select autoware_auto_control_msgs

After wards source to with:

source install/setup.bash

And then build entire workspace with:

colcon build --symlink-install

Running controllers with simulators

There is an option of running any controller along with simulator right of the bat. The only thing needed is to have simulator installed. When it is installed and running in background using controllers is conducted with simple ros commands.

Pure pursuit controller

Running pure pursuit is conducted via following command:

ros2 launch awsim_controllers pp_controller_launch.py 

Stanley controller

Running stanley is conducted via following command:

ros2 launch awsim_controllers stanley_controller_launch.py

WARNING! Using this controller takes very long to actually initialize

ILQR controller

Running iLQR is conducted via following command:

ros2 launch awsim_controllers ilqr_controller_launch.py

WARNING! Using this controller takes very very long to actually initialize