Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
How does it work?
How?
Linear moves can be combined with angular moves.
A holonomic robot can spin while driving in a straight line
Linear move
(x,y)
Angular move
(a)
Two ways to describe the robot
Holonomic move
X
Y
A
A combined move is called an action
The model builder generates kinematic models
Kinematics are used to calculate motor speed from robot speed and back
The kinematic model translates robot speed into wheel speed.
The kinematic model is represented in a matrix.
The inverse kinematic model translates changes in motor position into changes in robot position.
The inverse kinematic model is represented as a matrix
Use the motor encoders to calculate displacement
A pose is the robots position ad orientation in a space.
The odometer class maintains a Pose
Functions
it runs in its own thread and queries the motor encoders at a regular interval to
calculate displacement and to update pose
actionPilot.addAction ( line , rotate )
Mix a finishing action into the next action to get smooth movement of the robot
while ( action.isbusy() ) {
speed = action.getSpeed(time)
chassis.setSpeed(speed)
}
{
( line , rotate ),
(arc ),
( line, aim ),
( goto )
}
weight = getWeight( time )
currentSpeed = weight * currentAction.getSpeed( time )
nextSpeed = (1 - weight) * nextAction.getSpeed( time )
speed = currentSpeed + nextSpeed
Define speed at a given moment
Only when blendMode is enabled
Move based on geometric function.
Line, Arc, Rotation, Sinus, etc.
Move is based on reaching a goal.
GoTo, Follow, TurnTo, etc.
These moves are non adaptive
Adaptive
Executes actions