4 - Robot Control Flashcards
What do movement commands depend on?
The wheel configuration
Name 2 wheel configurations
Omni-directional (Rovio) and differential drive (Turtlebot/Roomba)
What is the question when it comes to moving robots?
What speeds to turn each wheel to move in a desired direction
What are the 3 parts to motion control?
Model, algorithm and engineering
What is the ad-hoc model?
Calculating the number of steps required to perform a distance unit
What does the number of steps required to perform a distance unit depend on?
Different for each speed value, and other factors such as surface type
What is the formula for a wheel?
c = 2nr
How do you calculate spinning at 60 degrees per second into radiants?
ω = (60 / 360) * 2n v = r ω
How do you calculate it with 2 wheels?
v = 1/2 r (ωl + ωr)
How do you calculate one wheel going forward?
Forward Model: v = r ω
Inverse Model: ω = v/r
How do you control an omni-directional wheel configuration such as a Rovio?
Which speeds to turn each wheel to move in a desired direction
Discuss the Rovio wheels
Universal wheels/omni wheel
Simple design, significant slippage and can be improved by the Mecanum wheel
How do you calculate the straight line for an omni-directional wheel?
ωr/cos(a)
How do you calculate the rotation for an omni-directional wheel?
ωr/1
What is an open loop controller?
Generates a control signal so that the robot’s position is equal to the desired position
What are the disadvantages to open loop controller?
No measurements and no feedback
Can rely only on the model
No possibility of correcting the errors as they are unknown and how to deal with unexpected events, changes and obstacles?
What is a closed loop controller?
Generates control signals that will keep the error e as small as possible
What are the steps in a closed loop controller?
Issue DriveForward command u
Read the odometry and accumulate the total distance travelled
Stop if the total distance is greater than the specified value
What is a bang-bang controller?
Where the control input depends only on the sign of the error, uses a constant value
What is a proportional controller?
Changes ω proportionally to the error value
u = e*Kp
Kp = proportional gain
What are the advantages to using a proportional controller?
Smoother actions and smaller errors
What is the optimal Kp value for a proportional controller?
Where it has smooth behaviour and is robust to changes
What is a vision-based controller?
Uses an object state (x pos and size) and calculates the difference between the desired and current state to adjust the control input u
What is the PID controller?
Proportional, Integral and Differential
What is the P is PID?
Proportional, it corrects the actual error
What is the I in PID?
Integral, it accumulates the rate of change
What is the D in PID?
Differential, it slows the rate of change and reduces overshooting
What do we want to minimise in optimal control theory?
Errors, energy, response time
What is the complete forward model?
V = 1/2 r (ωl + ωr) A = 1/d r (ωl - ωr)
What is the complete inverse model?
ωl = (v + (d * a) / 2) / r ωr = (v - (d * a) / 2) / r