官網下載地址:[OFFICIAL]Dobot Magician Download Center | DOBOT
在Python演示中有兩個文件。
(1)DobotControl.py:Dobot接口二次封裝
(2)DobotDllType.py:具體實現文件
在運行DobotControl.py之前,請將Dobot DLLS目錄添加到python的運行目錄中,或者添加到系統環境變量中。
不同版本的Python需要對應Demo的對應版本。例如,64位的Python應該使用64位的Python demo,而32位的Python應該使用32位的Python demo,否則程序會報告錯誤。
DobotDllType.py封裝了Dobot DLL的C類型接口,這是Dobot的Python接口。加載DLL的示例如下所示。(請確保將Dobot DLL目錄添加到系統環境變量中,以確保正確加載DLL。)
def load():
if platform.system() == "Windows":
print("您用的dll是64位,為了順利運行,請保證您的python環境也是64位")
print("python環境是:",platform.architecture())
return CDLL("./DobotDll.dll", RTLD_GLOBAL)
elif platform.system() == "Darwin":
return CDLL("./libDobotDll.dylib", RTLD_GLOBAL)
elif platform.system() == "Linux":
return cdll.loadLibrary("libDobotDll.so")
在調用與運動相關的接口(PTP、JOG等)時,本DEMO采用隊列模式。
(1)加載DLL並獲取Store對象(API)。當調用Python API時,將使用該對象。
api = dType.load()
(2)連接到Dobot魔術師並打印連接信息。連接成功後,將處理相關代碼。
state = dType.ConnectDobot(api, "", 115200)[0]
print("Connect status:",CON_STR[state])
if (state == dType.DobotConnect.DobotConnect_NoError):
#Dobot操作代碼
dType.DisconnectDobot(api)
(3)控制隊列:
dType.SetQueuedCmdClear(api) #清空隊列
dType.SetQueuedCmdStartExec(api) #開始隊列
dType.SetQueuedCmdStopExec(api) #停止隊列
(4)設置運動參數
dType.SetHOMEParams(api, 200, 200, 200, 200, isQueued = 1)
dType.SetPTPJointParams(api, 200, 200, 200, 200, 200, 200, 200, 200, isQueued = 1)
dType.SetPTPCommonParams(api, 100, 100, isQueued = 1)
(5)將PTP命令下載到隊列中,並獲取最後一個命令的索引。
for i in range(0, 5):
if i % 2 == 0:
offset = 50
else:
offset = -50
lastIndex = dType.SetPTPCmd(api, dType.PTPMode.PTPMOVLXYZMode, 200 + offset, offset, offset, offset, isQueued = 1)[0]
(6)等待最後一個運動命令完成。
#如果還未完成指令隊列則等待
while lastIndex > dType.GetQueuedCmdCurrentIndex(api)[0]:
dType.dSleep(100)