目录
1、 介绍产品
mechArm与myAGV
2、介绍项目想要干什么
3、执行操作介绍
3.1、myAGV跟mechArm的连接
3.2、简单的控制(分为键盘控制和ps2手柄控制)
3.3、案例的实现:将远距离的木块通过myAGV进行移动,再通过mechArm夹爪,夹取木块来进行整理
正文
1 、介绍
我们这章节的内容是将协作性机械臂打破距离上的限制,跟移动机器人(myAGV)相连接,实现一个案例。
下面是我们今天要使用的两个设备:
- mechArm 270 M5Stack:
mechArm 270-M5Stack,是一款以M5Stack Basic作为主控,支持ROS仿真模拟,是大象机器人面向创客创新和机器人产学研推出的仿工业构型小六轴机械臂。
- myAGV
myAGV 大象首款移动机器人,采用竞赛级麦克纳姆轮,全包裹金属车架;ROS开发平台内置两种slam算法,满足建图、导航方向的学习;提供丰富的扩展接口,可搭载my系列机械臂。
2、案例内容
今天我们要实现的是mechArm270 M5Stack myAGV结合的案例,通过控制myAGV移动到指定的位置,然后控制mechArm270 M5Stack抓取木块myAGV再移动到指定的位置。
3、操作
3.1 连接
要让两个机器结合在一起,首先得让他们建立起联系起来。这里有两个建立连接的方法:
无线连接(TCP/IP)
通过mechArm 270 M5Stack的IP地址,让myAGV来建立联系。先将两个设备处于同一的WiFi网络环境下,先获取mechArm 270 M5Stack的ip地址,大象机器人在团队设计M5Stack Basic时,已经设计显示IP地址的功能,可以很方便的获取到IP地址。(porty默认为9000)
简单介绍一下socket方法:在python中用来建立通信的一个功能,可以相互发送信息。
大象机器人有个开源的库pymycobot,里面封装了一个MyCobotSocket()的方法,就类似于socket方法,给机械臂发送指令。
code:
有线连接
有线连接就相对来说比较容易了,插上一根typeC数据线连接myAGV,就可以进行对机械臂的控制了。
注意:再连接之后,因为Ubuntu系统的原因,需要给机械臂的串口赋予权限才能够正常的操控。在终端输入
3.2 简单控制
移动myAGV
连接好了之后,就可以开始进行操作了。
在myAGV的移动上,大象机器人给我们提供了两种控制方式键盘控制和ps2控制。
是用ros语言来进行控制的。(下面是操作的方法)
启动节点
打开键盘控制界面
这样按键盘上的对应的按键就可以进行移动了。
myAGV使用的是麦克纳姆轮可以全方向运动,还有IMU用于定位补偿。可以在原地转圈,操控十分的简单。
作为一个移动机器人得有脱离PC来操控,还提供了ps2手柄的控制,已经内置好了程序,我们只需要调用程序。
第一步还是启动节点,第二部开启ps2手柄的控制程序。
运行后就可以通过ps2手柄自由控制myAGV了。
3.3 案例的实现
用机械臂抓取小木块,来投入对应的桶里!
结合移动小车的控制和机械臂的控制,就可以实现这个项目了。
先是启动myAGV的移动控制,键盘控制或者ps2手柄控制都可以。我这边选择ps2手柄控制。
将机械臂移动到小木块前方,给mechArm发送代码去控制它运动和控制夹爪去抓取木块。放置到对应的位置。
code for mechArm:
不知你对这个案例有何看法,如果你有什么想法或者意见请在下方留言!我们会采取有趣的建议进行尝试!