Ask Your Question

Cascade controller in ROS

asked 2020-07-03 06:11:15 -0600

val gravatar image


I am currently trying to simulate my robot in Gazebo with ROS. I know about ros_control and all the given controllers and they are working fine. But the actual robot i want to simulate has more complex controllers than just one pid. Did anyone manage to implement a cascade controller in ROS or maybe has an Idea how to start? I already have created a simple custom controller an was able to load it with the controller manager. But i don't know how to implement the cascade structure... I am using Rosdistro melodic version 1.14.5 on Ubuntu 18.04


edit retag flag offensive close merge delete


Any update on this ? I am trying to achieve something like this,

amjack gravatar image amjack  ( 2020-12-03 04:02:53 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2021-01-31 09:44:19 -0600

ingtux gravatar image

You will need to create a custom robot_hw interface first. Then I'd recommend starting with the PID class in the control_toolbox and creating two separate controllers, an inner and outer. You will need your inner loop to run faster than your outer loop or you could introduce significant instability to your outer control loop.

As for examples I'm not too sure there are many in ROS, most people use a single PID for position or velocity and write it straight as an effort (eg motor volts).

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-07-03 06:11:15 -0600

Seen: 117 times

Last updated: Jul 03 '20