您好,
我是用Python做手臂的二次開發,在開發過程有時候會出現手臂超出工作範圍。請問當手臂超出工作範圍時,且齒輪出現卡卡卡異聲的時候,需要如何讓手臂能恢復正常運作?
重啟電源並歸零? 歸零的方式是按住Key 兩秒嗎?
感謝
您好,
我是用Python做手臂的二次開發,在開發過程有時候會出現手臂超出工作範圍。請問當手臂超出工作範圍時,且齒輪出現卡卡卡異聲的時候,需要如何讓手臂能恢復正常運作?
重啟電源並歸零? 歸零的方式是按住Key 兩秒嗎?
感謝
Hi Daniel
歸零還是一樣,經詢問過代理商,他們說新的FW和舊手臂的板子會有此問題。我們的機器是2017年買的,現在用最新的FW是3.6.15。請問可以提供舊機型的最後一版FW給我們試試看嗎?
FW可以寄到以下位置 ethan_kuo@compal.com
謝謝
Hi Daniel
我已經用最新的dobotstudio v1.9.1和最新的fw v3.6.15,但是這問題代理商說我們舊機器要用舊版fw。新版fw不適用於舊機器。
可否提供舊版FW給我們一試?
謝謝
Hi Daniel
Dobotstudio v1.4.13, v1.7.1和v1.9.1內建的FW都試過了,按home鍵還是會出現撞機的問題。
下面是我用python寫的程式,請問會造成手臂異常嗎?
CON_STR = {
dType.DobotConnect.DobotConnect_NoError: "DobotConnect_NoError",
dType.DobotConnect.DobotConnect_NotFound: "DobotConnect_NotFound",
dType.DobotConnect.DobotConnect_Occupied: "DobotConnect_Occupied"}
#Load Dll
api = dType.load()
init_pos=[]
state = dType.ConnectDobot(api, "", 115200)[0]
print("Connect status:",CON_STR[state])
def dobot_move_xy_real(int_x,int_y,int_z=5,up_down=1, delay=0): #Up_down: 1 is press and release key. 0 is just moved
global state
global init_pos
if (state == dType.DobotConnect.DobotConnect_NoError):
try:
while True:
dType.SetQueuedCmdClear(api)
dType.SetPTPJointParams(api, 200, 200, 200, 200, 200, 200, 200, 200, isQueued = 1) #四軸速度,加速度
dType.SetPTPCommonParams(api, 100, 100, isQueued = 1)
#print("Before")
tagPose = dType.GetPose(api) #x,y,z,r
#show_pose_data(tagPose)
if not init_pos:
init_pos = dType.GetPose(api)
print("Inintial Position Saved.")
x = int_x
y = int_y
z = tagPose[2]
r = tagPose[3]
else:
x = int_x
y = int_y
z = tagPose[2]
r = tagPose[3]
lastIndex = dType.SetPTPCmd(api, dType.PTPMode.PTPMOVLXYZMode, x, y, z, r, isQueued = 1)[0]#水平移動
if up_down==1:
lastIndex = dType.SetPTPCmd(api, dType.PTPMode.PTPMOVLXYZMode, x, y, z-int_z, r, isQueued = 1)[0]#down
dType.SetQueuedCmdStartExec(api)
#Wait for Executing Last Command
while lastIndex > dType.GetQueuedCmdCurrentIndex(api)[0]:
dType.dSleep(delay*1000)
dType.SetQueuedCmdStopExec(api)
if up_down==1:
lastIndex = dType.SetPTPCmd(api, dType.PTPMode.PTPMOVLXYZMode, x, y, z, r, isQueued = 1)[0]#up
dType.SetQueuedCmdStartExec(api)
#Wait for Executing Last Command
while lastIndex > dType.GetQueuedCmdCurrentIndex(api)[0]:
dType.dSleep(0)
dType.SetQueuedCmdStopExec(api)
return 0
except Exception as e:
traceback.print_exc()
print("關閉連線")
dType.DisconnectDobot(api)
return 1
elif (state == dType.DobotConnect.DobotConnect_Occupied):
print("Device on use, please close previous app.")
return 1
elif (state == dType.DobotConnect.DobotConnect_NotFound):
print("Device not found")
return 1
else:
print("Unknow Error")
return 1
dobot_move_xy(20,20)
Hi Daniel
問題解決了,後來詢問代理商。
方法是Teaching&Playback抓一個要當home的點,然後按右鍵選SetHome,然後Download到手臂。Home鍵就可以正常運行了。
謝謝