Motion API
MotionMode
MotionMode.PTP
MotionMode.LINE
MotionMode.CIRCLE
MotionMode.SPLINE
Integer values are also accepted.
Integer |
Mode |
|---|---|
1 |
PTP |
2 |
LINE |
3 |
CIRCLE |
4 |
SPLINE |
move()
robot.move(
target,
motion_mode=None,
coord_type=None,
offset=None,
speed=None,
accel=None,
is_async=True,
)
Perform a single-target move.
P String
robot.move("P1")
robot.move("@P P1")
robot.move("@0 P1")
robot.move("P1+(0,0,10)")
For a single-target move(), @P and @0 do not affect blending.
Numeric P Coordinates
robot.move(
[300, 0, 200, 0, 180, 0],
motion_mode=MotionMode.LINE,
coord_type="P",
)
Numeric J Coordinates
robot.move(
[0, -90, 90, 0, 90, 0],
coord_type="J",
)
Internal Mapping
Input |
Internal API |
|---|---|
|
|
P + |
|
P + |
|
Single-target |
Unsupported |
move_path()
robot.move_path(
["P1", "P2", "P3"],
motion_mode=MotionMode.LINE,
speed=20,
accel=20,
blend=None,
is_async=True,
)
Perform a multi-target move.
blend is measured in meters.
If omitted, blending follows path_blend.
@0: blend = 0@P:UR_DEFAULT_BLEND_RADIUS
dev()
target = robot.dev("P1", [0, 0, 10, 0, 0, 0])
Add six components directly, similar to COBOTTA-style P1+(...).
pose_trans()
target = robot.pose_trans("P1", [0, 0, 10, 0, 0, 0])
Compose poses in the same manner as URScript pose_trans().
p2j() / j2p()
j = robot.p2j([300, 0, 200, 0, 180, 0])
p = robot.j2p([0, -90, 90, 0, 90, 0])
Perform inverse/forward kinematics.
drive()
robot.drive((1, 5), relative=True)
Move the specified joint axis, numbered 1 through 6.
stop()
robot.stop()
Call stopL() if the last motion mode was LINE; otherwise call stopJ().
halt(), task_stop(), and hand_stop() are aliases of stop().