最近开始准备自己的毕业答辩,选题方向涉及使用小六轴机械臂。在搜索资料时,在B站看到了一个很厉害的视频,UP主从0到1完成了机械臂的制作,让机械臂完成像人手一样的控制。是我想象中的机械臂达到的效果,便开始了机械臂的学习之旅。
当我搜索“机械臂”的时候,出来的大多都是工业机械臂,不适合用于学习。于是开始寻找一款小型的机械臂来满足我的需求。
l 能够实现正常的运动,在质量上得过关。
l 售后和配套的资料丰富,不至于让我在使用的时候不知道从何下手。
l 能完成我学习机械臂的需求
对比了许多家产品的机械臂,购买了一款mechArm 270-M5Stack,它是由大象机器人研发的一款小六轴桌面型机械臂。mechArm 是一个具有六个自由度仿工业型设计的多功能机械臂,以M5Stack-Basic为主控,有6个伺服电机驱动,工作范围270mm,最大可负载250g的物体。mechArm机械臂末端支持乐高固件,可以装置许多工具例如吸泵夹爪。
mechArm的配套资料相对来说是比较丰富的,能够完成大部分主流的系统,编程语言支持。
这篇文章的主要目的是在记录我学习机械臂的过程的感受和出现的问题。今天使用的是ROS,机器人操作系统,目前ROS的功能已经相对完善了,用它来学习机器人是一个很好的选择。下面是我使用mechArm配套的资料来在ROS上进行尝试。
mechArm配套的资料,可以查看:https://docs.elephantrobotics.com/docs/gitbook/12-ApplicationBaseROS/
配套的资料详细介绍从环境搭建,到案例的使用过程,现在开始跟着他们操作。
有个小槽点,虽然mecharm的教程十分的详细,但在安装ros的时候一直失败,无法成功下载,后来解决的方案是换一个下载源(ros官方什么时候能解决!浪费了我好多时间)
后来咨询了一下大象机器人官方,他们有提供一个环境已经搭建好了的Ubuntu系统,可以直接操作。
给mechArm接上电源,用type-c线连接电脑,就可以开始操控了。
输入命令检测一下mechArm有没有成功的连接上
代码语言:javascript复制ls /dev/tty* //检查电脑串口连接的情况
有显示已经成功连接,接下来尝试用滑块去控制机械臂
在ROS当中,大象机器人团队已经构建好了mechArm的模型和滑块控制的话题,我输入命令调用就可以了。
这只是打开了在ros当中构建的模型,没有跟真实的mechArm通信,不能控制,得运行一个脚本跟机械臂通信就可以在ros当中控制机械臂运动了。
接下来看下演示效果
https://www.bilibili.com/video/BV1Vd4y1F71P/?vd_source=dd6f4a47482e4e14e33125a26c155808
(视频中的抖动是因为没有安装好底座导致的,不是机器臂的问题)
还有模型跟随,键盘控制,GUI控制。
上面都是单个控制机械臂的功能,最让我心动的还是MoveIt,它能够实现运动规划,正逆运动学,3D感知,碰撞检测等功能。
通过拖动末端的坐标,可以控制机械臂的整体运动;也可以随机生成一个姿态,进行运动。
https://www.bilibili.com/video/BV1GG4y1f7V5/
初体验ros的先记录到这,说一下总体的感受。
MoveIt的配置对于刚接触的人来说是比较复杂的,不知道从何下手。
在使用mechArm的时候,moveIt相关信息已经提前配置好了,只需要调用就可以正常使用,带来了很大的方便。
这一点我个人觉得是做得很好的,一个完善的配套资料对于一个刚入门的人来说是相当重要的。相比于市面上其他的机械臂而言,大象机器人的配套资源是十分详细,遇到了问题的时候还能够去找他们售后寻求帮助。接下来我将尝试完成moveit的配置,有了gitbook的支持我相信我能很快成功的。
如果你喜欢这篇文章,请给我点赞留言!