Skip to content

DLR-TS/adore_trajectory_tracker

Repository files navigation

Trajectory Tracker Node

Overview

The Trajectory Tracker Node is a ROS 2 node designed to track and execute vehicle trajectories. It supports multiple controllers that calculate the optimal control commands (acceleration and steering) based on the current vehicle state and a desired trajectory.

Features

  • Multiple Controllers Supported: The node supports different controllers for trajectory tracking, including:
    • NMPC (Nonlinear Model Predictive Controller)
    • PID (Proportional-Integral-Derivative Controller)
    • iLQR (Iterative Linear Quadratic Regulator)
  • Real-time Control: The node operates in real-time, constantly computing and publishing vehicle commands.
  • Configurable via ROS 2 Parameters: You can dynamically choose which controller to use and configure controller parameters via ROS 2 launch files or parameter servers.

Controllers

  • NMPC: Optimizes the trajectory over a prediction horizon while respecting control and vehicle limits.
  • PID: Adjusts steering and speed based on the error between the current state and the desired trajectory.
  • iLQR: Computes the optimal control commands using iterative linear quadratic methods.

ROS 2 Parameters

  • set_controller (int): Defines which controller to use. Options:
    • 0: NMPC (default)
    • 1: PID
    • 3: iLQR
  • controller_settings: A dictionary of controller-specific parameters. Each controller can be configured with different settings (e.g., PID gains, NMPC weights). These are given in two vectors: keys (string) and values (double)
  • vehicle_type (string): Specifies the type of vehicle being controlled, e.g., "simulation" or a real-world vehicle type.

Topics

  • Published Topics:

    • /next_vehicle_command (adore_ros2_msgs::msg::VehicleCommand): The next control command (acceleration, steering) for the vehicle.
  • Subscribed Topics:

    • /planned_trajectory (adore_ros2_msgs::msg::Trajectory): The desired trajectory the vehicle should follow.
    • /vehicle_state/dynamic (adore_ros2_msgs::msg::VehicleStateDynamic): The current dynamic state of the vehicle (e.g., position, velocity, yaw).
    • /choosen_decision_maker (adore_ros2_msgs::msg::DecisionMakerSelect): The decision-maker selecting the mode (normal or emergency).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published