六轴机械臂mycobot初体验

MyCobot是一款入门级的六自由度机械臂,目前是6轴机械臂中价格和性能十分优良的机械臂,本文的主题主要以myCobot 280 M5Stack的操作体验来记录一下使用这款机械臂的过程。以python的环境来进行对它的环境搭建,开发,代码调试。

简单介绍

我使用的是myCobot280 M5Stack是以M5Stack为主控。所以在使用的时候需要在电脑上搭建编译的环境,我将使用python语言来进行操作。

官方有提供一个库pymycobot,使用python调用该库去进行操控机械臂。

环境搭建

在电脑上安装python环境,下载pymycobot库。环境搭建就不过多赘述了,这边有两个方法提供:

  1. 大象机器人的Gitbook上有比较详细的python环境搭建教程
  2. Google 搜python 就会出来一大堆教程

安装好了编译环境之后,我们在下载pymycobot

pip install pymycobot

控制机械臂

采用边介绍边演示来控制myCobot280 M5Stack

开始使用导入一些库

from pymycobot.mycobot import MyCobot
import time

(1)MyCobot(port,baud)

创建机械臂的对象来调用方法。(链接机械臂)

port:机械臂的串口号

baud:机械臂的波特率

mc = MyCobot('COM7',115200)

(2)get_angles()

函数功能:获得机械臂六个关节点的角度。

返回值:返回值的类型是 list,共有六个元素数据,分别对应关节 1~6。

当机械臂运行到某一个位置时我们可以通过print指令打印出当前机械臂的各关节角度数据。

mc.get_angles()

现在的myCobot的角度是这样的

(3)send_angles(degree,speed)

给所有的关节传递运动的角度和速度

degree:指的是关节的角度,取值范围-180~180,以列表存储依次按顺序分别是1~6关节

speed:指关节到达指定位置时的速度,取值范围0~100,值越大速度越快。

mc.send_angles([0,0,0,0,0,0],50)

我们运行起来就会是这样

多关节控制,当然还有单关节控制

(4)send_angle(id,degree,speed)

id:指的是哪一节机械臂,取值为1-6的正整数

degree:指的是关节的角度,取值范围-180~180

speed:指关节到达指定位置时的速度,取值范围0~100,值越大速度越快。

让一关节运动以速度50到90度

mc.send_angle(1,90,50)

(5)release_all_servos()

函数功能:放松机械臂,让其可以随意手动摆动。注意执行这个指令的时侯机械臂会因重力落下,要注意防止砸到其他的东西。

mc.release_all_servos()

机械臂在被控制时候处于上电状态,使用了这个方法就可以随意摆动机械臂了。

简单写一个小的demo

让myCobot280 M5Stack 跳起舞来

#!/usr/bin/python3
#-*- coding: UTF-8 -*-
from pymycobot.mycobot import MyCobot
import time
mc = MyCobot('COM7',115200)
mc.send_angles([0,0,0,0,0,0],50)
time.sleep(1)
for count in range(3):
  mc.send_angles([87.8,(-51.5),60.9,11.95,(-15.9),(-6.06)],50)
  time.sleep(1)
  mc.send_angles([87.97,42.01,(-45.26),10.37,(-15.9),(-6.06)],50)
  time.sleep(1)
mc.send_angles([19.77,79.36,(-114.34),39.63,(-15.9),(-6.06)],50)
time.sleep(1)
for count2 in range(4):
  mc.send_angles([43.24,93.42,(-140.88),48.07,60.64,(-6.06)],50)
  time.sleep(1)
  mc.send_angles([19.77,79.36,(-114.34),39.63,(-15.9),(-6.06)],50)
  time.sleep(1)

初次的体验就到这里啦

你可能感兴趣的:(算法,python,人工智能,机器人)