0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Mycobot机械臂各关节的运动(三)

大象机器人科技 来源: 大象机器人科技 作者: 大象机器人科技 2022-09-30 18:08 次阅读

这一节我们开始第一个程序,就是机械臂各关节的运动。让我们首先打开Mycobot,然后登入一个终端,我们输入“python”进入python环境。

poYBAGM2wCuAR2SzAAELcq1EO_0590.jpg

我们采用一边实验一边介绍MyCobot机械臂的API的使用方法:

(1)控制机械臂左右摆动所使用的 API 为:MyCobot(port)

程序的开头首先要导入这些API:

from pymycobot.mycobot import MyCobot

from pymycobot.genre import Angle

from pymycobot import PI_PORT, PI_BAUD # 当使用树莓派版本的mycobot时,可以引用这两个变量进行MyCobot初始化

import time


(2)get_angles()

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

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

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

如:

mc = MyCobot(PI_PORT, PI_BAUD)

angle_datas = mc.get_angles()

print(angle_datas)


运行后给出的结果:

pYYBAGM2wCyAcUwPAABy_zjnzls204.jpg

注意我们这里先记下这个机械臂的值: [6.06, -144.05, 154.77, -148.35, -75.84, -99.4],这个值的机械臂是个什么样子呢,我拍个照片给大家看。

pYYBAGM2wCyAMx4sAACUAGq1Otk303.jpg

(3)send_angle(id, degree, speed)

id:指的是哪一节机械臂,如果不指定id,那么就是指你要给出6节机械臂的运动角度。

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

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

我们传递个数值给机械臂,当然先传0,就是0角度的状态。

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

机械臂变成了这样子:


poYBAGM2wC2AJF1ZAABq8lpjNZc011.jpg

接下来让我们测试每一个关节是怎么运动的和运动的方向:

mc.send_angle(Angle.J1.value, 90, 50) #第一节转90度,速度50

mc.send_angle(Angle.J2.value, 30, 50) #第二节转30度,速度50

mc.send_angle(Angle.J3.value, 30, 50) #第三节转30度,速度50

mc.send_angle(Angle.J4.value, 30, 50) #第四节转30度,速度50

mc.send_angle(Angle.J5.value, 30, 50) #第五节转30度,速度50

mc.send_angle(Angle.J6.value, 30, 50) #第六节转30度,速度50

然后是这个样子:

pYYBAGM2wC2AOloEAABPpr54aHA888.jpg

所有的运动均符合右手定律。有兴趣的小伙伴可以试一下-90度,机械臂是如何运动。

(4)release_all_servos()

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

mc.release_all_servos()

然后让我们再把机械臂运动到刚开始的状态,这就要用到我们当时的那个值: [6.06, -144.05, 154.77, -148.35, -75.84, -99.4],好的让我们执行:

mc.send_angles([6.06, -144.05, 154.77, -148.35, -75.84, -99.4],50)

输入指令请注意不要用全角字符,一定要把键盘切换成半角字符运行。

poYBAGM2wC6AXBs6AACDcvgjjTM655.jpg

这样机械臂又回到了初始时的状态。

(5)写成可执行文件。

假如我们写成一段连续的可执行文件又是怎么的呢?参考说明书中的代码,看下面机械臂摇摆程序:

#!/usr/bin/python3

#-*- coding: UTF-8 -*-

from pymycobot.mycobot import MyCobot

from pymycobot.genre import Angle

from pymycobot import PI_PORT, PI_BAUD # 当使用树莓派版本的mycobot时,可以引用这两个变量进行MyCobot初始化

import time

mc = MyCobot(PI_PORT, PI_BAUD)

# 获得当前位置的坐标

angle_datas = mc.get_angles()

print(angle_datas)

# 用数列传递传递坐标参数,让机械臂移动到指定位置

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

print(mc.is_paused())

# 设置等待时间,确保机械臂已经到达指定位置

# while not mc.is_paused():

time.sleep(2.5)

# 让关节1移动到90这个位置

mc.send_angle(Angle.J1.value, 90, 50)

# 设置等待时间,确保机械臂已经到达指定位置

time.sleep(2)

# 设置循环次数

num = 5

# 让机械臂左右摇摆

while num > 0:

# 让关节2移动到50这个位置

mc.send_angle(Angle.J2.value, 50, 50)

# 设置等待时间,确保机械臂已经到达指定位置

time.sleep(1.5)

# 让关节2移动到-50这个位置

mc.send_angle(Angle.J2.value, -50, 50)

# 设置等待时间,确保机械臂已经到达指定位置

time.sleep(1.5)

num -= 1

# 让机械臂缩起来。你可以手动摆动机械臂,然后使用get_angles()函数获得坐标数列,

# 通过该函数让机械臂到达你所想的位置。

mc.send_angles([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 50)

# 设置等待时间,确保机械臂已经到达指定位置

time.sleep(2.5)

# 让机械臂放松,可以手动摆动机械臂

mc.release_all_servos()

注意:程序前面要加上:

#!/usr/bin/python3

#-*- coding: UTF-8 -*-

让我们把这个文件保存成,3.py

运行这段代码:

直接在终端窗口执行:

python 3.py


这样就可以连续执行机械臂的运动了。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28266

    浏览量

    206722
  • 机械臂
    +关注

    关注

    12

    文章

    512

    浏览量

    24516
收藏 人收藏

    评论

    相关推荐

    Ethernet/IP转Profient网关模块, 一招打通关节机械任督二脉

    在制造工厂的智能仓库系统中,关节机械借助稳联技术Ethernet/IP转Profient模块(WL-PN-EIPZ),如虎添翼般地在订单拣选应用领域展现出卓越的实力。
    的头像 发表于 11-15 10:34 110次阅读
    Ethernet/IP转Profient网关模块, 一招打通<b class='flag-5'>关节</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>任督二脉

    机械的高效运作,连接器起关键作用

    了众多危险、重复的工作。 机械的工作原理      机械运动控制是通过控制电机和传动装置来实现的。控制电机的作用是将电能转换为
    的头像 发表于 11-11 18:07 174次阅读

    【原创】 drawbot 平面机械scara写字画画机器人DIY教程贴

    /1CdGoDr8WFIMfic-iPf5Znw 提取码:m1ov 项目简介:桌面级scara机械运动机构为两个42步进电机和一个9g舵机,控制板为mega 2560 和ramps 1.4,其他部件主要为3D打印件
    发表于 08-30 11:54

    工业机器人和机械的设计、功能和应用有哪些区别?

    自动化设备,专门用于在工业生产线或其他工业环境中执行各种操作任务。它们通常具备多轴关节结构,能够在维空间内自由移动,并搭载各种工具、夹具或传感器来完成特定的任务。 工业机器人和机械
    的头像 发表于 08-16 09:43 426次阅读

    大象机器人开源协作机械机械接入GPT4o大模型!

    和智能化的任务,提升了人机协作的效率和效果。我们个人平时接触不太到机械这类的机器人产品,但是有一种小型的机械我们人人都可以拥有它myCobot
    的头像 发表于 07-03 14:09 816次阅读
    大象机器人开源协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>接入GPT4o大模型!

    国产Cortex-A55人工智能教学实验箱_基于Python机械跳舞实验案例分享

    发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。 机械通过ROS机器人操控系统,简化了6自由度串行总线舵机复杂运动控制,可实现机械
    发表于 06-28 14:37

    干货!国产Cortex-A55人工智能实验箱机械积木搬运实验案例

    的顺序叠起来放到中间灰色的方块上。二、实验原理机械自由度机械手自由度,是指传送机构机械手的运动灵活性。通常把传送机构的
    的头像 发表于 06-27 08:32 770次阅读
    干货!国产Cortex-A55人工智能实验箱<b class='flag-5'>机械</b><b class='flag-5'>臂</b>积木搬运实验案例

    基于六维力传感器的机械自动装配应用

    六维力传感器是一种特殊的力觉传感器,可以测量物体在笛卡尔坐标系下个轴向的力和力矩,其内部采用高度敏感的材料和精密机械构造,可以为机械提供更高的测量精度,满足不同场景下的测量需求。作
    的头像 发表于 06-06 13:49 709次阅读
    基于六维力传感器的<b class='flag-5'>机械</b><b class='flag-5'>臂</b>自动装配应用

    大象机器人开源协作机械myCobot 630 全面升级!

    1. 开篇概述 在快速发展的机器人技术领域中,Elephant Robotics的myCobot 600已经证明了其在教育、科研和轻工业领域的显著适用性。作为一款具备六自由度的机械myCo
    的头像 发表于 04-28 15:19 959次阅读
    大象机器人开源协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>myCobot</b> 630 全面升级!

    自然语言控制机械:ChatGPT与机器人技术的融合创新(下)

    引言 在我们的上一篇文章中,我们探索了如何将ChatGPT集成到myCobot 280机械臂中,实现了一个通过自然语言控制机械的系统。我们详细介绍了项目的动机、使用的关键技术如Cha
    的头像 发表于 04-11 15:54 828次阅读
    自然语言控制<b class='flag-5'>机械</b><b class='flag-5'>臂</b>:ChatGPT与机器人技术的融合创新(下)

    如何去提升机械的位置控制性能?

    控制性能。   精度衡量:直接测量机械末端的位置比较困难,这里采用一种近似的方式,比较机械轴指令角度与实际编码器反馈角度间的偏差值。
    的头像 发表于 03-05 08:43 879次阅读
    如何去提升<b class='flag-5'>机械</b><b class='flag-5'>臂</b>的位置控制性能?

    【国产FPGA+OMAPL138开发板体验】(原创)2.手把手玩转游戏机械

    。这可能涉及到设置通信协议、数据打包/解包、错误处理等。 3.2 机械驱动 根据机械的规格和通信协议,编写驱动以控制其运动。这可能包括控
    发表于 02-01 20:18

    大象机器人六轴协作机械myCobot 320 进行手势识别!

    的灵感源自于我对创新技术的热爱以及对改善人机互动方式的追求。我的目标是开发一个基于手势的机械控制系统,使非专业人士也能轻松操作。为此,我选择了Google的MediaPipe库进行手势识别,并以myCobot 320 m5作为
    的头像 发表于 01-31 16:17 736次阅读
    大象机器人六轴协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>myCobot</b> 320 进行手势识别!

    【开源获奖案例】四轴机械控制系统

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——四轴机械控制系统。工程师采用T5L智能屏,基于DGUS软件“旋转指示”控件实现机械的实时位置显示,并通过串口控制
    的头像 发表于 12-23 08:13 1211次阅读
    【开源获奖案例】四轴<b class='flag-5'>机械</b><b class='flag-5'>臂</b>控制系统

    七轴开源协作机械myArm视觉跟踪技术!

    处理技术,使用ArUco标记的机械系统可以实现更高级的自动化功能,如精确定位、导航和复杂动作的执行。 本案例旨在展示结合ArUco标记和机械运动
    的头像 发表于 12-18 11:14 1166次阅读
    七轴开源协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b>myArm视觉跟踪技术!