myCobot pro 机械臂(3)简单指令控制机械臂运动(+指令解析)(开发环境:w10 / python)

考试之间还是忍不住想要玩一玩这些东西,太吸引我了!

一、简单指令控制机械臂运动

一直想要通过指令来控制机械臂的运动,为下一步的视觉伺服到指定的位置做铺垫,所以就简单的写了一个程序来验证一下想法,效果挺好!

代码如下:

from pymycobot.mycobot import MyCobot
import os
import time


mc = MyCobot('COM4', 115200)

print("当前的位置关系如下:")
angle_datas = mc.get_angles()
print("所有的关节的角度:",angle_datas)
radians_datas = mc.get_radians()
print("所有的关节的弧度:",radians_datas)
coords_datas = mc.get_coords()
print("当前的坐标和姿态:",coords_datas)

# 通过该函数让机械臂恢复原位置
mc.send_angles([0, 0, 0, 0, 0, 0], 50)

# 设置等待时间,确保机械臂已经到达指定位置
time.sleep(2.5)


print("请输入指令(1、2、3、q),到达指定位置:")

while True:
      cmd = str(input())
      if cmd=="1":
            # 设置position1
            mc.send_angles([20, -20, 20, -20, -20, -20], 50)
            time.sleep(2.5)
            print("已到达指定位置1,请输入下一位置cmd:")
      elif cmd=="2":
            # 设置position2
            mc.send_angles([-20, 20, -20, 30, 0, 40], 20)
            time.sleep(2.5)
            print("已到达指定位置2,请输入下一位置cmd:")
      elif cmd=="3":
            # 设置position3
            mc.send_angles([0, 0, 0, 0, 0, 0], 50)
            time.sleep(2.5)
            print("已恢复初始位置,请输入下一位置cmd:")
      elif cmd=="q":
            print("已恢复初始位置,程序退出!")
            break

time.sleep(2)
os._exit(0)

如果刚开始会出现一些连接性的问题的话,建议重新关掉机械臂和程序,再试一次!

二、指令解析 

我们找到mycobot3.py这个源代码查看一下,以send_angle()这个API为例子:

源码函数部分:

 

 

 我们找到gitbook里面“通信与报文”相关的内容,发现“6.3命令帧发送与接收格式”,其实python-API就是在发送十六进制的命令(通讯的命令可以对照着看)

 

 

猜你喜欢

转载自blog.csdn.net/weixin_44917390/article/details/121248251
今日推荐