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

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

3天内不再提示

开源六轴协作机械臂MechArm案例演示!

大象机器人科技 来源:大象机器人科技 作者:大象机器人科技 2023-11-28 15:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍
今天,我将向大家展示一个我独立设计并实现的机械臂模型。这个模型的核心功能是实现实时的手势追踪——只需用手轻轻拖拽,机械臂就能立即跟随你的动作进行移动。

我之所以想要创造这样一个模型,是因为在一些危险环境中,我们可以用机械臂来代替人工进行作业,从而避免人员的生命安全受到威胁。

你可能会问,为什么不直接使用远程的键盘控制、手柄控制或者APP控制,而要选择手动拖拽的方式呢?我觉得只有手动操作,才能最大程度上满足我们对动作精准度的需求。因此,我决定开始尝试制作这个模型,并初步完成了整个demo。

我希望,通过这个demo,我能向大家展示出机械臂的无限可能性,同时也希望能激发出大家对未来科技的无限憧憬。

机械臂设备
mechArm 270 M5
mechArm 270 是一款六自由度的机械臂,它精巧的结构设计,能够放入一个书包里,携带和方便。较为重要的一点是开放了很多控制的API,用python能够快速开始对机械臂的控制。没有很复杂的操作,甚至还有图形编程,这对一些不是很懂代码的人也能够快速上手控制机械臂。

mechArm是一款桌面型的仿工业结构的机械臂,工作最大半径在270mm,负载250g,重复定位精度控制在±0.5mm。

Project
介绍完基础的设备,我们就开始介绍我时如何制作这个demo过程的记录。

使用的环境
操作系统:windows11

编程语言:python3.9+

python lib:pymycobot,time

pymycobot是大象机器人的一个开源库,专门用来控制大象机器人的机械臂。一段简单的控制代码例子。

Code:

#Main methods used

#Create objects to communicate with the robotic arm.
MyCobot(serial,baud)
# angles control robot,
send_angles([list_angles],speed)
# coords control robot
send_coords([list_coords],speed,mode)

Example:

import time
from pymycobot.mycobot import MyCobot

# create a object
mc = MyCobot("com7",115200)

# angles control
mc.send_angles([0,0,0,0,0,0],100)
time.sleep(1)
mc.send_angles([90,90,90,90,90,90],100)
time.sleep(1)


简单介绍了下如何使用python来控制mechArm,是不是很容易呢。

分析问题
开始项目之前要搭建框架,了解我们具体需要解决什么问题才能够实现。对此我做了一个项目的流程图。下面我将手动施教的机械臂简称为R1,跟随运动的机械臂简称为R2。

wKgZomVlnNKAS5b_AABFZ6isNzk901.png

Control robotic arm:上边已经提到了如何控制机械臂,使用pymycobot库提供的方法就可以实现了。

Motion Control methods:R1机械臂可以用手拖动,时时刻刻返回当前机械臂的角度信息,R2机械臂接收R1的机械臂角度信息进行控制。

Communication between robotic arms:整个项目中这一步骤是比较重要的一步。建立好之后,机械臂能够发送信息就能够很轻易的实现了。

接下来主要讲解Motion Control methods和communication between robotic arms。

Motion Control methods
获取实时角度信息
pymycobot提供了”get_angles()"方法可以过去当前机械臂的角度信息。

# Can obtain the current angle information of the robotic arm in real time
get_angles()

# example
print("real-time angles:",mc.get_anlges())

result: real-time angles:[0,0,0,0,0,0]

# Continuously obtain the current angle
while True:
   angels = mc.get_angles()
   print(angles) 
   time.sleep(0.1) #Go to the next step every 0.1s


机械臂的刷新模式设置
机械臂的刷新模式:主要分为两种插补模式和非插补模式,是指在运动轨迹规划中,控制机械臂末端执行器的移动方式。如果没有设置任何模式,机械臂可能无法正确执行预期的运动,并且可能导致以下后果:

运动不平滑
运动不准确
运动不连续
插补模式:插补模式可以实现平滑连续的轨迹规划,确保机械臂末端执行器的位置和姿态在运动过程中平滑过渡。

非插补模式:非插补模式是指机械臂在运动过程中只关注特定的目标点,而不进行插值计算。在非插补模式下,机械臂的位置和姿态会在关键点之间直接跳跃,而不会经过平滑的过渡。

在进行多个机械臂同时使用插补模式进行运动时,可能会出现等待或排队的情况,所以我们选择使用非插补模式。

#Set refresh mode
set_fresh_mode(1/0) 
1:no interpolation
0:interpolation

mc.set_fresh_mode(1)


我们将前面的整合在一起的代码如下

Code:

import time
from pymycobot.mycobot import MyCobot

mc = MyCobot("COM7", 115200)    #release arm
mb = MyCobot("COM11", 115200)   #move arm

mb.set_fresh_mode(1)    #no interpolation
time.sleep(1)
mc.release_all_servos() #release robot
time.sleep(1)
speed = 100
while True:
   angles = mc.get_angles()    #get release arm angles
   mb.send_angles(angles, speed)   #send angles to move arm
   time.sleep(0.1)


Communication between robotic arms:


我们的方案是两台机械臂接入同一个PC,用串口连接的方式.

# build connection
from pymycobot.mycobot import MyCobot

mc = MyCobot("COM7", 115200)   
mb = MyCobot("COM11", 115200)


用最基础的usb数据线进行连接,我们电脑上就有两个机械臂的串口号,可以对他们分别发送指令任务。

让我们一起来看看效果如何

wKgZomVIh76AXEaEAF0KJXR_cc0045.png

总结
根据内容可以看出来虽然说是能够做到百分之七八十的同步。也会因为一些其他的因素所影响 ,造成了不小的延迟。造成延迟的原因可能有几个方面,比如说数据处理和传输的速度,机械臂的反应速度,软件的优化,硬件的性能等等,这些都是可能 产生延迟的因素。

除此之外,还有一个很大的局限性就是,它们的通信通过串口进行连接的,如果距离稍微远一点的话就没办法在用这种方法去使用,实用性不强,后期我会尝试使用蓝牙,WiFi等无限连接的方式来尝试控制。

本次记录就更新到这里,如果你有更好的想法,无论是优化的功能或者说是其他的建议欢迎在下方留言。

审核编辑 黄宇

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

    关注

    89

    文章

    38091

    浏览量

    296578
  • 开源
    +关注

    关注

    3

    文章

    4031

    浏览量

    45566
  • 机械臂
    +关注

    关注

    13

    文章

    582

    浏览量

    25967
  • 大象机器人
    +关注

    关注

    0

    文章

    86

    浏览量

    324
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    3C 电子 / 汽车 / 物流与新零售:协作机械的三大行业落地范式

    协作机械的技术创新与行业应用中,北京沃华慧通测控技术有限公司凭借深厚的研发积累与丰富的落地经验,成为企业智能化升级的可靠选择。从技术研发到场景落地,从产品供应到持续服务,北京沃华慧通测控技术
    的头像 发表于 10-27 09:14 438次阅读
    3C 电子 / 汽车 / 物流与新零售:<b class='flag-5'>协作</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>的三大行业落地范式

    传统测试设备的局限与协作机械的破局

    协作式测试设备的研发与落地中,北京沃华慧通测控技术有限公司凭借深厚的测控技术积累,成为行业核心赋能者。作为专注于智能测控设备研发的高新技术企业,北京沃华慧通测控技术有限公司深度把握协作机械
    的头像 发表于 10-11 09:34 298次阅读
    传统测试设备的局限与<b class='flag-5'>协作</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>的破局

    对比AGV和协作,为什么要选择复合机器人?有哪些场景和优势

    GV往往只能完成货物搬运和运载,协作只能完成固定工位的抓取动作,而复合机器人作为2种设备的结合体,具有多种优势
    的头像 发表于 08-14 16:10 1939次阅读
    对比AGV和<b class='flag-5'>协作</b><b class='flag-5'>臂</b>,为什么要选择复合机器人?有哪些场景和优势

    协作机械产品介绍

    电子发烧友们、工业自动化从业者、科研工作者们注意啦!今天给大家重磅介绍一款在机械领域表现极为亮眼的产品——协作机械,它正以卓越性能重塑行
    发表于 08-07 17:20 0次下载

    极海G32R501工业机械参考方案释放工业4.0产业价值

    在全球工业 4.0 浪潮下,机械凭借高精度、高灵活性、高适应性与高实用性等优势,在汽车制造、工业制造、医疗、物流、食品加工等,需要高自由度、复杂轨迹和动态环境的应用场景中发
    发表于 06-23 13:52 1581次阅读
    极海G32R501工业<b class='flag-5'>六</b><b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>参考方案释放工业4.0产业价值

    GZCOM-NET:为机械测试带来高效无线解决方案!

    在智慧工厂中,机械的性能和安全性需通过静态与动态测试来保障。批量化测试时,后台需实时显示数据曲线和异常数据。GZCOM-NET凭借高效稳定的无线传输,为机械测试提供可靠方案。行业背
    的头像 发表于 06-20 11:36 677次阅读
    GZCOM-NET:为<b class='flag-5'>机械</b><b class='flag-5'>臂</b>测试带来高效无线解决方案!

    大象机器人携手进迭时空推出 RISC-V 全栈开源机械产品

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形机器人、仿生机器人等多种形态。拳头产品myCobot系列以“全球最轻的
    的头像 发表于 06-06 16:55 1140次阅读
    大象机器人携手进迭时空推出 RISC-V 全栈<b class='flag-5'>开源</b><b class='flag-5'>六</b><b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>产品

    大象机器人携手进迭时空推出 RISC-V 全栈开源机械产品

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形机器人、仿生机器人等多种形态。拳头产品myCobot系列以“全球最轻的
    发表于 04-25 17:59

    大象机器人×进迭时空联合发布全球首款RISC-V全栈开源机械

    革新产品——全球首款基于RISC-V全栈开源协作机械 myCobot 280 RISC-
    的头像 发表于 04-25 14:19 1459次阅读
    大象机器人×进迭时空联合发布全球首款RISC-V全栈<b class='flag-5'>开源</b>小<b class='flag-5'>六</b><b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>

    海康威视推出大模型机械防碰撞相机

    工业机械负载作业时,往往重达几百斤甚至更重,提升效率的同时,如果它们“意外伤人”,后果不堪设想。
    的头像 发表于 03-17 09:47 890次阅读

    开源项目!教你如何制作一个开源教育机械

    他设备的交互。 增强的便携性:集成了一个可充电的7.4V锂离子电池,以提高移动性和易用性。 精密工程:引入滚珠轴承和行星齿轮系统,使运动更平稳、更精确,使Pedro更接近真实的机械。 OLED显示屏
    发表于 03-10 11:22

    如何使用PLC控制myCobot 320机械

    根据持续的用户反馈,目前市场对 PLC 与 myCobot 系统集成的需求很大,因此本文提供的案例介绍了如何使用 PLC(可编程逻辑控制器)来控制 myCobot 320 机械。本案例重点介绍
    的头像 发表于 01-23 14:03 2155次阅读
    如何使用PLC控制myCobot 320<b class='flag-5'>机械</b><b class='flag-5'>臂</b>

    使用myCobot 280机械结合ROS2系统搭建机械分拣站

    这篇文章是来自Automatic Addison的开源项目,已获作者授权转载自github。本项目的主要内容是使用myCobot 280机械结合ROS2系统搭建机械分拣站。
    的头像 发表于 01-15 09:22 1909次阅读
    使用myCobot 280<b class='flag-5'>机械</b><b class='flag-5'>臂</b>结合ROS2系统搭建<b class='flag-5'>机械</b>分拣站

    深度解析!RK3568 加持机械是如何实现颜色识别与抓取的?

    一、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、了解机械识别颜色抓取积木的基本流程
    的头像 发表于 01-15 08:07 1242次阅读
    深度解析!RK3568 加持<b class='flag-5'>机械</b><b class='flag-5'>臂</b>是如何实现颜色识别与抓取的?

    RK3568国产实验箱+人工智能机械:跳舞、叠罗汉、夹方块、积木搬运案例全解!

    基于语音控制实现机械特定动作的方法。三、实验原理程序功能通过语音控制机械实现特定复杂动作:机械
    的头像 发表于 12-12 19:01 1854次阅读
    RK3568国产实验箱+人工智能<b class='flag-5'>机械</b><b class='flag-5'>臂</b>:跳舞、叠罗汉、夹方块、积木搬运案例全解!