チュートリアル
1. 研究用スクリプトの基本形
from ur.ur_ctrl import UrCtrl, MotionMode
ROBOT_IP = "10.170.10.56"
with UrCtrl(ROBOT_IP) as robot:
robot.set_speed(20)
robot.set_accel(20)
p = robot.current_position
print(p)
2. 教示点を作る
with URCtrl(ROBOT_IP) as robot:
robot.teach("P1")
robot.teach("J1")
3. 教示点へ移動する
with URCtrl(ROBOT_IP) as robot:
robot.move("P1", motion_mode=MotionMode.PTP)
4. 測定位置へ直線移動する
with URCtrl(ROBOT_IP) as robot:
robot.move("P1", motion_mode=MotionMode.LINE, speed=10, accel=10)
5. 退避する
with URCtrl(ROBOT_IP) as robot:
robot.move("P1+(0,0,50)", motion_mode=MotionMode.LINE)
6. IO と組み合わせる
with URCtrl(ROBOT_IP) as robot:
robot.move("P_pick", motion_mode=MotionMode.LINE)
robot.set_IO(0, True)
robot.move("P_place", motion_mode=MotionMode.LINE)
robot.set_IO(0, False)
7. 状態を見て止める
with URCtrl(ROBOT_IP) as robot:
state = robot.state()
if state.get("protective_stopped"):
print(robot.get_current_error_info())
8. 実験シーケンスに組み込む
with URCtrl(ROBOT_IP) as robot:
robot.move("P_sample", motion_mode=MotionMode.LINE)
robot.set_IO(0, True)
# 測定器制御をここに置く
# detector.start()
# detector.wait()
robot.set_IO(0, False)
robot.move("P_home", motion_mode=MotionMode.PTP)
このように、ロボット操作を測定シーケンスの一部として記述する。