Definitions
4 minute read
These are the conventions behind every value you configure: which units a number is in, which frameA frame is a position and an orientation in space. It marks the origin and the X, Y and Z directions of a coordinate system. a position is measured in, and how a poseA pose is where something is and how it is turned: a position plus an orientation, measured in a parent frame. A robot’s pose changes as it moves. is written. The last section explains the singularities that make a robot move unpredictably.
Units
The application works in SI units. Positions are in metres and joint angles in radians, both for the arm and for the Cartesian pose.
| Quantity | Unit | Symbol |
|---|---|---|
| Length, position | metre | m |
| Angle | radian | rad |
| Time | second | s |
| Mass | kilogram | kg |
| Force | newton | N |
| Torque | newton metre | Nm |
| Pressure | pascal | Pa |
| Temperature | kelvin | K |
Where a parameter’s unit is not obvious from its value, its name says so. For example, timeoutSec is in seconds and velocityFilterCutoffHz in hertz.
Frames
All frames are right-handed. The application uses three predefined frames. Hover over a frame in the diagram to see what it is attached to.
Fixed to the ground. X points forward, Y to the left and Z up. Seen from above, a positive rotation about Z is counterclockwise; a positive rotation about Y pitches down.
Fixed to the robot’s foot. Z lies along the axis of the first joint and points up.
At the tool point: the centre of the flange plus the tool. With no tool set, it sits on the flange. Z lies along the axis of the last joint and points away from the flange.
To set these frames and the tool on your robot, see Frames and tool offset.
Pose
A robot’s pose can be written in two ways. Both examples describe the same pose.
One angle per joint, in rad. Every set of joint angles gives exactly one pose.
[-3.142, 1.562, 0.000, 1.571, 0.000, 0.000]
[x, y, z, rz, ry, rx]: the tool position in m, then its orientation as ZYX Euler angles in rad, yaw first.
[-0.765, -0.303, 0.004, 0.000, 0.009, 3.142]
A robot cannot reach every Cartesian pose, and a reachable pose often has several joint solutions. Inverse kinematicsInverse kinematics calculates the joint angles that put the tool at a given Cartesian pose. Forward kinematics goes the other way, from joint angles to the tool pose. picks the solution closest to a reference set of joint angles, usually the robot’s previous pose.
Singularities
Warning
Near a singularity a robot can move suddenly and unpredictably. Set the manipulability limits for your robot so that it cannot reach one.
A singularity is a pose where two or more joint axes line up. There the robot loses a direction of motion, and a small tool movement asks for a very large joint movement.
The centre of the wrist lines up with the axis of joint 1. Joint 1 and a wrist joint try to turn 180° at once.
The centre of the wrist lies in the plane of joints 2 and 3, with the arm stretched out. Joint 3 locks or jumps.
Joints 4 and 6 line up, with joint 5 near zero. The wrist tries to spin 180°.