Ask Your Question

position and velocity control of wheeled robot

asked 2017-08-31 09:30:52 -0500

waspinator gravatar image

I'm trying to control both position and velocity of a wheeled robot using ROS. Are there packages that are designed to do motion planning for this use case? Is there an example in ROS of using multiple PIDs to do something like this instead?

image description

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-08-31 11:57:42 -0500

AndyZe gravatar image

updated 2017-08-31 12:02:34 -0500

I think you only need a single PID controller. A linear model of the system might be:

x1= position, x2= speed, u= motor current

x1_dot = x2 (derivative of position = speed)

x2_dot = K*u (motor speed controlled by current)

So you can control position by controlling the motor current (through integration).

Now if you want to track a path, you need to discretize it and feed in a series of position setpoints to be tracked.

edit flag offensive delete link more


Wouldn't is just be x2 = K*u, as speed is controlled by current, not acceleration controlled by current? Or have I misinterpreted this?

ufr3c_tjc gravatar image ufr3c_tjc  ( 2017-08-31 18:03:20 -0500 )edit

I guess that's unclear. Still only requires 1 controller, though.

AndyZe gravatar image AndyZe  ( 2017-08-31 21:34:45 -0500 )edit

Depends what you/op mean by 'position'. Wheel position, as in X radians, can be done this way. But if you want to give a setpoint of world X, Y position to go to, you can't use this system. You'll need a more sophisticated controller to do that. Has OP seen this?

ufr3c_tjc gravatar image ufr3c_tjc  ( 2017-09-03 18:30:39 -0500 )edit

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: 2017-08-31 09:30:52 -0500

Seen: 1,338 times

Last updated: Aug 31 '17