Ros Controllers
The Ros Controllers node converts a state measurement into an input that should be applied to the car. It can be launched by executing
ROS Information for Controllers¶
Available Visualizers¶
The package also contains different visualizers which can be used to visualize the controller in rviz:
Configuration¶
Independent of the selected controller, the following generic arguments must be provided in order to use any controller
Example controller_config.yaml
state_type: pacejka_car # Internal state type of the controller
input_type: pacejka_car # Internal input type of the controller
controller_type: FF_FB # Unique controller identifier
max_rate: 50 # Rate at which controller node should run
visualization_rate: 10 # Rate at which visualizer for this controller should run
controller_params:
# controller specific arguments
model:
# Model specific parameters
# This overrides the base model loaded into the /<car_name>/model/*
# namespace and allows for a model missmatch between the controller and the simulation
model_params: # e.g. only missmatch mass and Intertia for pacejka model
# m: 0.2
# I: 0.000605
visualizer:
type: last_refrence | mpc # visualizer type
# Visualizer specific arguments
Launch file Arguments¶
The default.launch file accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
| car_state_topic | controller_node/state | Topic where state of the car is published. |
| car_input_topic | controller_node/control_input | Topic where the control input will be published |
| controller_config_file | $(find ros_controllers)/config/ff_fb_controller.yaml | Path to configuration.yaml file as described above |
| visualizer_topic | controller_node/controller_visualization | Topic where the visualization markers are published |