easynav_mpc_controller

Easy Navigation: MPC Controller package.

README

easynav_mpc_controller

ROS 2: rolling

Description

A Model Predictive Controller (MPC) implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution

Status

rolling

rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mpc_controller/MPCController

  • Type: easynav::MPCController

  • Base Class: easynav::ControllerMethodBase

  • Library: easynav_mpc_controller

  • Description: A Model Predictive Controller (MPC) implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mpc_controller/MPCController/....

Name

Type

Default

Description

<plugin>.horizon_steps

int

5

Number of time steps in the prediction horizon.

<plugin>.dt

double

0.1

Integration time step (seconds).

<plugin>.safety_radius

double

0.35

Safety radius to check possible collisions.

<plugin>.max_linear_velocity

double

1.5

Maximum linear velocity (m/s).

<plugin>.max_angular_velocity

double

1.5

Maximum angular velocity (rad/s).

<plugin>.verbose

bool

false

Show data on terminal about Optimization.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction

Topic

Type

Purpose

QoS

Publisher

/mpc/path

nav_msgs/msg/path

MPC trajectories generate by Predictive Component.

QoS depth=10

Publisher

/mpc/detection

sensor_msgs::msg::PointCloud2

Detections used by collision checker.

QoS depth=10

Services

This package does not create service servers or clients.

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0