dobot机械臂|Dobot机械臂的Python Demo

官网下载地址:[OFFICIAL]Dobot Magician Download Center | DOBOT
dobot机械臂|Dobot机械臂的Python Demo
文章图片

0.Python Demo流程:
一、下载安装python 3.7.5 64-bit二、将Dobot动态链接库放到python的运行目录或者将Dobot动态链接库所在目录添加到系统Path环境变量(对应电脑系统64位或者32位)三、连接机械臂Magician,并装上吸盘套件四、选择Dobot Demo文件夹,并打开Dobotcontrol.py文件。 五、点击Run下面的Run Module F5, 此时程序会运行,如果出现“Connect status:DobotConnect_Occupied”,说明程序连接正常运行成功。 (或者第四步用Pycharm打开文件,点击运行) 1.项目说明
在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,否则程序会报告错误。
2.Python API
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")

3.代码说明
在调用与运动相关的接口(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)

运行结果
【dobot机械臂|Dobot机械臂的Python Demo】dobot机械臂|Dobot机械臂的Python Demo
文章图片

    推荐阅读