移動 API
MotionMode
MotionMode.PTP
MotionMode.LINE
MotionMode.CIRCLE
MotionMode.SPLINE
整数指定も受け付ける。
整数 |
モード |
|---|---|
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,
)
単一点移動を行う。
P 文字列
robot.move("P1")
robot.move("@P P1")
robot.move("@0 P1")
robot.move("P1+(0,0,10)")
単点 move() では @P / @0 はブレンドに影響しない。
P 数値列
robot.move(
[300, 0, 200, 0, 180, 0],
motion_mode=MotionMode.LINE,
coord_type="P",
)
J 数値列
robot.move(
[0, -90, 90, 0, 90, 0],
coord_type="J",
)
内部変換
指定 |
内部 API |
|---|---|
|
|
P + |
|
P + |
|
単点 |
未対応 |
move_path()
robot.move_path(
["P1", "P2", "P3"],
motion_mode=MotionMode.LINE,
speed=20,
accel=20,
blend=None,
is_async=True,
)
複数点移動を行う。
blend の単位は m である。
未指定時は path_blend に従う。
・@0: blend = 0
・@P: UR_DEFAULT_BLEND_RADIUS
dev()
target = robot.dev("P1", [0, 0, 10, 0, 0, 0])
6 成分を単純加算する。COBOTTA 的な P1+(...) に近い。
pose_trans()
target = robot.pose_trans("P1", [0, 0, 10, 0, 0, 0])
URScript pose_trans() 相当の姿勢合成を行う。
p2j() / j2p()
j = robot.p2j([300, 0, 200, 0, 180, 0])
p = robot.j2p([0, -90, 90, 0, 90, 0])
IK / FK を行う。
drive()
robot.drive((1, 5), relative=True)
指定軸を動かす。軸番号は 1..6 である。
stop()
robot.stop()
最後の移動モードが LINE なら stopL()、それ以外は stopJ() を呼ぶ。
halt()、task_stop()、hand_stop() は stop() と同じである。