二维码识别搬运场景

1.场景搭建

使用3*3白色长挡板构建场地,按照图中的区域正确摆放

白色挡板通过黑色连接卡扣安装在一起

2.上下料台组装

上下料台安装方式一样,下面是下料台的安装说明

取出一个280mm铝型材

装入一个滑块螺母

向后旋转90°

装入两个滑块螺母

再向后旋转90°

两侧装入角槽连接件

两侧装入直角连接件

取出一个147.5mm铝型材,内部装入两个滑块螺母

同理,右侧也是装入两个滑块螺母并通过直角连接件连接在一起

取出另一个280mm铝型材,两侧接上角槽连接件和直角连接件,并连接在一起

组装效果如下

取出螺丝和内六角扳手,固定四周的直角连接件,总共固定16颗螺丝

装上四个110mm的铝型材

同样也是使用螺丝固定四周的直角连接件,总共固定8颗螺丝

内部使用同一规格螺丝固定,总共固定8颗螺丝

取出最后一块232mm铝型材,装上两个滑块螺母和两个角槽连接件

角槽连接件插入铝型材凹槽中

整体翻转过来,通过螺丝固定连接件

确定五个滑块螺母位置,安装亚克力板

将二维码贴纸粘贴到二维码打印件上,注意粘贴方向不要贴反

通过螺丝固定二维码打印件

调整滑块螺母,通过螺丝固定防撞块

安装完成的最终效果

3.复合机器人组装

使用内六角扳手,取下myAGV四颗M4*8内六角螺丝

使用内六角扳手,取下myAGV两颗M2.5 内六角螺丝

将myCobot280Pi机械臂的X轴对应正确方向进行安装,并用四颗M4*8螺丝固定280Pi

重新固定M4*8和M2.5内六角螺丝

各关节回零(对齐刻度线)

摄像头插上乐高积木件

第六关节顺时针旋转45°,对准孔位,将摄像头水平平齐安装

摄像头的USB线接到280Pi底座的USB接口上

一体式吸泵插上乐高积木件

将吸泵Grove接口的线绕过来接到机械臂末端的io口上,只接两根线G23和G33

将电源接到机械臂第六关节处,接上5V和GND

连接机械臂电源线,一端接在myAGV上,另一端接在机械臂底座上

安装置物托盘

触摸屏幕是选购产品 下面说明屏幕组装安装说明

从配件盒中取出 IPS 触摸屏、铰链和配套螺丝,用螺丝固定铰链

安装黑色连接件,注意黑色连接件安装的方向,安装固定螺丝

将螺钉拧紧到与连接器相对应的三个螺孔中

将 HDMI 线 和 Micro USB2 连接到 myAGV

最终安装效果

4.myCobot校准零点

把myCobot280pi底座的micro HDMI接口接到显示屏上,同时usb接口接上鼠标键盘,现在相对于显示控制的是myCobot280pi画面。

连接完成后,桌面呈现所连设备的界面,如下图所示。

双击界面的ROS1 Shell,打开一个控制台终端,在命令行中输入图中以下指令

cd mycobottesttool-221110/
python main.py

指令输入完成后,弹出下出窗口,选择相应的设备和波特率,然后点击连接; myCobot 280-Pi:1000000

开机后机械臂各关节处于锁死状态,点击校准零点,释放机械臂关节J1,手动将机械臂J1关节归于零位,再次点击校准零点,释放机械臂关节J2,依次类推校准完至J6关节。界面出现校准结束,机械臂校准完成。

其中第六关节的校位应如下图所示(保持摄像头与地面平行,校准口约偏移45°):

5.远程软件使用

5.1下载mobaXterm远程软件

浏览器输入下面的网址,电脑提前下载远程连接软件

https://mobaxterm.mobatek.net/

直接运行.exe文件即可

5.2远程连接myAGV和280Pi

按下电源开关,打开myAGV的电源

打开myAGV的wifi热点:断开当前连接的wifi,然后点击热点开关按钮,第一次需要手动开启,后续则会开机自动启动热点。

打开myAGV的wifi热点后,在桌面的右上角可以看到myagv的热点名称:ElephantRobotics_AP_xxxx,这里myAGV的热点为ElephantRobotics_AP_fdff。

选中"Connection information"可以查看当前myAGV的ip地址:10.42.0.1

然后拔掉myAGV的显示器接线,把myCobot280pi的micro HDMI接口接到显示屏上,现在相对于显示的是myCobot280pi画面

myCobot280pi连上刚刚myAGV生成的wifi热点:Elephantrobotics_AP_fdff

选中"Connection information"可以查看当前myCobot280Pi的ip地址:10.42.0.203

接下来操作需要一台电脑,电脑连接myAGV的wifi热点,这里myAGV的热点为ElephantRobotics_AP_a317,选择安全密钥进行连接,然后输入热点密码:Elephant

使用mobaXterm连接myAGV,点击Session图标

输入小车的ip:10.42.0.1,点击OK,第一次连接设备点击Accept

输入用户名:er 输入密码:Elephant 密码在输入时不会显示出来,正常输入后敲下回车键登录

正常登录显示的画面

同理,也可以远程登录myCobot280,登录的ip地址要改为刚刚查询的IP地址:10.42.0.203

6.程序运行

最后确保复合机器人放在红框位置启动,在上料区工作台放置二维码木块,二维码木块的放置位置应在机械臂摄像头扫描的中心位置,中心扫描吸取的误差较小。确保未开启其他终端窗口。

总共需要跑四个程序,myAGV需要运行三个终端,myCobot280要运行一个终端

6.1 myAGV开启雷达和底层通信

在第一个终端输入下面的指令

cd myagv_ros/src/myagv_odometry/scripts/
./start_ydlidar.sh
roslaunch myagv_odometry myagv_active.launch

6.2 myAGV启动导航功能

1.鼠标右键上方ip地址,点击Duplicate tab,打开第二个终端

2.同理也需要登录用户名和密码,分别是er和Elephant

3.在第二个终端下输入下面这个指令

roslaunch myagv_navigation composite_robot_navigation_active.launch

6.3 myAGV启动socket服务端

1.鼠标右键上方ip地址,点击Duplicate tab,打开第三个终端

2.同样也需要登录用户名和密码,分别是er和Elephant

3.在第三个终端下输入下面这个指令

cd ~/Composite-robot-kit/myagv-pi/
python agv_socket_server.py

6.4 myCobot280启动socket客户端

1.点击Session图标,登录的ip地址要改为刚刚查询myCobot280的IP地址,这里查询的ip地址是10.42.0.13

2.同样也需要登录用户名和密码,分别是er和Elephant

3.在终端下输入下面这个指令

cd ~/Composite-robot-kit/myagv-pi/
python 280pi_socket_client.py

点击Split中的4 terminals mode方便查看代码运行情况

在 myCobot 机械臂 IP:10.42.0.13 终端窗口提示

connect finish
Enter any key and press enter

按下回车或任意键,等待机械臂发送指令后,整个流程就进行了。

复合机器人会根据指令完成自动导航,机械臂能够准确识别并抓取二维码积木 流程:

① myAGV 定点导航 ② myAGV 二维码导航 ③ myCobot 二维码识别 ④ myAGV 定点导航 ⑤ 机械臂放取

7.注意事项

问题 1:在吸泵吸取过程中可能出现吸泵吸取的并非物料的中心位置。

解决方案:在计算机上观察摄像头的扫描区域,将物料放在尽量处于摄像头的中心 位置。

问题2:二维码识别吸泵吸取时,存在固定的误差。

解决方案:观察X,Y轴的误差量,在280pi_socket_client.py代码第85行中增大或者减小X,Y误差。

问题3:在吸泵将物料放置到小车托盘中时可能存在放置不精准,触碰到托盘边缘 导致放置失败。

解决方案: (1)机械臂重新进行校准零位 (2)校准放取木块点位

下面是校准放取木块点位的介绍,先使用远程软件通过ip地址连接机械臂,然后终端输入python,回车进入命令行模式,输入下面的指令

from pymycobot import MyCobot
mc = MyCobot('/dev/ttyAMA0',1000000)
mc.release_all_servos()

将吸泵对准二维码中心

接着在python命令行中输入下面的指令

mc.power_on
coords=mc.get_coords()
coords[2]+=58
mc.send_coords(coords,20)
mc.get_angles()

接着就会返回当前的关节角度,

[-51.85, 20.39, -116.45, -2.81, 7.38, 26.01]

将这关节角度修改到280pi_socket_client.py代码中

results matching ""

    No results matching ""