iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
AI & Data

機器人的時代來了(協作型手臂的開發與實作)系列 第 17

[Day 17] 寫程式囉! Python 函式庫python-urx

  • 分享至 

  • xImage
  •  

python-urx同時利用secondary port與real-time/matlab介面對UR控制器發送動作(movej/movel)、設定TCP/負載與URScript,著重動作層與工作流程層的快速開發而非高頻實時閉環。

快速任務腳本與示教增強:用python-urx以少量程式碼完成設定TCP/負載、點到點運動或夾爪流程,適合原型與教育。

如果用python-urx的函式庫,寫法也大同小異

import urx

rob = urx.Robot("192.168.0.100")
rob.set_tcp((0, 0, 0.1, 0, 0, 0))
rob.set_payload(2, (0, 0, 0.1))
sleep(0.2)  #leave some time to robot to process the setup commands
rob.movej((1, 2, 3, 4, 5, 6), a, v)
rob.movel((x, y, z, rx, ry, rz), a, v)
print "Current tool pose is: ",  rob.getl()
rob.movel((0.1, 0, 0, 0, 0, 0), a, v, relative=true)  # move relative to current pose
rob.translate((0.1, 0, 0), a, v)  #move tool and keep orientation
rob.stopj(a)

rob.movel(x, y, z, rx, ry, rz), wait=False)
while True :
    sleep(0.1)  #sleep first since the robot may not have processed the command yet
    if rob.is_program_running():
        break

rob.movel(x, y, z, rx, ry, rz), wait=False)
while rob.getForce() < 50:
    sleep(0.01)
    if not rob.is_program_running():
        break
rob.stopl()

try:
    rob.movel((0,0,0.1,0,0,0), relative=True)
except RobotError, ex:
    print("Robot could not execute move (emergency stop for example), do something", ex)


上一篇
[Day 16] 寫程式囉!RTDE Python Client Library官方函式庫
下一篇
[Day 18] 寫程式囉!ur-rtde跨平台函式庫
系列文
機器人的時代來了(協作型手臂的開發與實作)18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言