Programming manual for Meca500 (for firmware 9.2.x)
7
BASIC THEORy ANd dEfINITIONS
Thus, if you are teaching the
robot position
and want that later its end-effector moves to the current
pose along a linear path, you need to record not only the current pose of the TRF with respect to
the WRF (by retrieving it with
GetRtCartPos
), but also the definitions of the
TRF and the WRF (with
GetTrf
and
GetWrf
), and finally the corresponding configuration parameters (with
GetRtConf
and
GetRtConfTurn
). Then, when you later want to approach this robot position with
MoveLin
from a starting
robot position, you need to make sure the robot is already in the same robot posture configuration and
that
θ
6
is no more than half a revolution away from the desired value. If, however, you do not need the
robot's TCP to follow a linear trajectory, then you should better get the current joint values only (using
GetRtJointPos
) and later go to that robot position using the
MoveJoints
command, thus not having to
record and then specify the configuration parameters.
1.2.2 Automatic configuration selection
The automatic configuration selection should only be used once you understand how this selection is
done, and mainly while programming and testing. For example, when jogging in Cartesian space with
the Meca500 web interface, the automatic configuration selection is always enabled. Or, if a target
pose is identified in real-time based on input from a sensor (e.g., a camera), enabling the automatic
configuration selection will increase your chances of reaching that pose, and in the fastest way.
illustrates how the automatic and manual configuration selections work.
MovePose
1
2
Notes:
1.
SetConf
(
c
s
,
c
e
,
c
w
) disables
AutoConf
, while
SetAutoConf
(1) disables the desired posture setting. When
SetAutoConf
(0)
is executed, the new desired posture configuration will be the one corresponding to the current robot position.
2.
SetConfTurn
(
c
t
) disables
AutoConfTurn
, while
SetAutoConfTurn
(1) disables the desired turn setting. When
SetAutoConfTurn
(0) is executed, the new desired turn will be the one corresponding to the current value of
θ
6
.
3.
MoveJoints
*
ignores any desired posture or turn configuration and, inversely, has no effect on the posture and turn
configuration settings.
4.
MovePose
will respect any desired posture or turn configuration, as long as the desired robot position is reachable.
5. If a desired posture configuration is set,
MoveLin
or
MoveLinRel*
will be executed only if the initial and final posture
configurations are the same as the desired one, while
MoveLinVel*
will start being executed only if the initial posture
configuration is the same as the desired one and will stop if the robot arrives at a singularity.
6. If a desired turn configuration is set,
MoveLin
or
MoveLInRel*
will be executed only if the initial and final turn
configurations are the same as the desired one, while
MoveLinVel*
will start being executed only if the initial turn
configuration is the same as the desired one and will stop if joint 6 has to change its turn configuration.
7. With
AutoConf
enabled, the robot may change its posture if it passes via certain singularities with a
MoveLin*
.
8. With
AutoConfTurn
enabled, the robot may change its turn configuration with a
MoveLin*
.
MoveLin
MoveLinRelTRF
MoveLinRelWRF
MoveLinVelTRF
MoveLinVelWRF
MoveJoints
3
MoveJointsRel
3
MoveJointsVel
3
5/6
SetConf/SetConfTurn
SetAutoConf/SetAutoConfTurn
4
7/8
4
Figure 6: Effect of configuration parameters on robot movement commands