move_robot

Description

Moves the N9 robot arm to the given pose in units of rads (for rotational axes) and mm (for the z-axis).


During the move, velocities of each axis are scaled such that all joints start and stop moving together. The velocity value for the move represents the maximum velocity of the axis that is moving the largest number of counts. The maximum velocities of all other moving axes are correspondingly scaled down.

Signature

move_robot(self, gripper_rad: float, elbow_rad: float, shoulder_rad: float, z_mm: float, vel: Optional[int] = None, accel: Optional[int] = None, wait: bool = True) -> CmdToken

Parameters

gripper_rad: float

The target gripper angle in units of radians.


elbow_rad: float

The target elbow angle in units of radians [-(5/6)pi, (5/6)pi].


shoulder_rad: float

The target shoulder angle in units of radians [-(2/3)pi, (2/3)pi].


z_mm: float

Target z-axis position in units of mm [30, 292].


vel: int, optional

Max velocity of the move in units of counts per second [0, 100000]. Values [0, 100] are interpreted as a percentage of the maximum velocity (100,000 cts/s). If the accel parameter is not given, the acceleration will be set to 10x the  velocity in units of cts/s². Note velocity scaling may occur, as explained in the function description.


accel: int, optional

Constant acceleration of the axis to reach the given velocity, in units of counts per second² [0, 500000]. Values [0, 100] are interpreted as a percentage of the  maximum acceleration (500,000 cts/s²).


wait: bool, optional

If True, this command blocks until the move is finished.

Returns

CmdToken

A CmdToken object that can be used to follow up on the status of the move or wait for it to finish if wait = False.

Example