Gluon_2L6_4L3机械臂视觉抓取操作手册

机械臂操作手册

安全须知

  • 如遇任何紧急情况,请立即按下紧急停止开关断电,以防操作人员受伤或机械臂损坏。
  • 当机械臂断电时,执行器会立即进入松闸状态,可能无法保持当前姿态。需要人为提供外力保证机械臂不会因为重力倾倒并手动将机械臂摆放至安全姿态。
  • 为防止机械臂关节过热,机械臂连续运行时间建议不超过30分钟。

硬件需求与连接

硬件需求:

在这里插入图片描述

从左到右依次为:笔记本 [ 注 ] ^{[注]} [],急停开关,gluon_2L6_4L3机械臂一台,积木块,Realsense D455相机
底座下方:350W工业电源,CCU及各类连接线

注:笔记本需预装Ubuntu 18.04和ros melodic
ros_melodic 安装教程:http://wiki.ros.org/cn/melodic/Installation/Ubuntu

连接和启动步骤
  1. 将机械臂,CCU,电源,相机,笔记本正确连接
  2. 将机械臂摆放至起始姿态,然后旋起安全按钮通电,并保持起始姿态 [ 注 1 ] ^{[注1]} [1]直到第5步controller启动后机械臂执行器进入抱闸状态。
  3. PC端新建终端,ping CCU地址。如果可以ping通,则通信成功;若失败,则检查硬件连接和本机ip设置 [ 注 2 ] ^{[注2]} [2]
$ ping 192.168.137.200
  1. ssh登录CCU(密码为ginger),并运行脚本start.sh [ 注 3 ] ^{[注3]} [3]以启动相机和机械臂controller。
$ ssh ginger@192.168.137.200
(输入密码ginger)
$ sudo ./start.sh
  1. 观察执行器上指示灯,通电以后,执行器LED状态灯为黄色闪烁。若LED变成绿色闪烁,则机械臂执行器controller启动完毕,机械臂进入抱闸状态,此时姿态被自动设为机械臂零位。

注1:机械臂默认零位起始姿态如上图所示。若controller启动时机械臂未保持在起始姿态,则大概率丢零。机械臂丢零会导致运动异常,需断电后返回上述第2步重新开始。在下方“rviz相关”部分可验证机械臂是否丢零。

注2:PC端IP地址需设为192.168.137.100

注3:首次刷机后需给脚本加读写执行权限。

PC端操作步骤

依赖配置

注:若依赖配置过后且未更改,之后可跳过此步骤。

笔记本需预装Ubuntu 18.04 和 ros melodic, 同时需安装以下packages

sudo apt-get update
sudo apt-get install libgflags2.2
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install ros-melodic-moveit
sudo apt-get install ros-melodic-ros-control-boilerplate
sudo apt-get install ros-melodic-moveit-visual-tools
sudo apt-get install ros-melodic-joint-trajectory-controller
sudo apt-get install ros-melodic-robot-state-publisher
sudo apt-get install ros-melodic-ros-control
sudo apt-get install ros-melodic-ros-controllers
sudo apt-get install ros-melodic-controller-interface
PC端网络配置

注:若网络配置过后且未更改,之后可跳过此步骤。

确认PC端IP地址已设置为192.168.137.100后,新建终端执行以下命令

$ sudo touch /etc/network/if-pre-up.d/iptables
$ sudo chmod 777 /etc/network/if-pre-up.d/iptables
$ vi /etc/network/if-pre-up.d/iptables

输入以下内容并保存:

#!/bin/sh 
/sbin/iptables-restore < /etc/iptables

之后执行以下命令配置iptable规则:

$ sudo su
$ echo 1 >/proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -s 192.168.137.100 -j MASQUERADE 
$ iptables -t nat -A POSTROUTING -s 192.168.137.200 -j MASQUERADE
$ iptables-save -t nat
$ iptables-save > /etc/iptables

打开/etc/sysctl.conf文件,添加 net.ipv4.ip_forward=1 避免每次重启重新配置。

$ sudo vi /etc/sysctl.conf
文件中添加: 
net.ipv4.ip_forward=1

登录CCU可验证网络是否配置成功

$ ssh ginger@192.168.137.200
$ ping www.baidu.com
PC端环境配置

注:若环境配置过后且未更改,之后可跳过此步骤。

新建终端,打开.bashrc文件

$ vi ~/.bashrc

在文件最下面添加ROS_MASTER_URI和ROS_IP后保存并退出。其中ROS_MASTER_URI为CCU的IP地址,ROS_IP为本机IP地址

$ export ROS_MASTER_URI=http://192.168.137.200:11311
$ export ROS_IP=192.168.137.100

配置环境

$ source ~/.bashrc

验证设置是否生效。

$ echo $ROS_MASTER_URI
$ echo $ROS_IP
仿真,控制与可视化
相机相关

新建终端,输入命令查看rostopic,若出现以下topic(/cv/xxx),则相机启动完毕。否则需检查硬件连接和环境变量配置或断电重启。

$ rostopic list
/cv/camera
/cv/visualize
/cv/json

校准相机。每次相机位置移动,或识别位置不准均需先执行校准命令。

$ rosservice call /cv/tag_calibrate

打开可视化开关

$ rosservice call /cv/visualize_switch

此时应显示信息

success: True
message: "Switch vis_flag to True"

打开可视化软件,在下拉菜单中选择 /cv/visualize 显示图像

$ rqt_image_view

注:若相机相关命令无效果,可尝试重新插拔相机或断电重启。

机械臂相关

新建终端,进入工作空间并启动rviz和控制程序

$ cd ~/gluon_catkin_ws
$ source install/setup.bash
$ roslaunch gluon_demo gluon_demo.launch
rviz 相关

rviz是ROS自带的图形化工具,可以很方便的让用户通过图形界面开发调试ROS。同时根据真实机械臂运动状态反馈提供相应的仿真模拟和控制界面。

rviz_example_未显示图片请连网

  • 在Goal State下拉菜单中选择home_pose,点击Plan & Execute可控制机械臂回到零位。
  • 此时机械臂应处于默认零位。若机械臂真实姿态与rviz中显示不符,则机械臂丢零。请断电后返回之前“连接步骤”重新开始。
  • 若机械臂零位正确,在rviz中点击next可分步调试,点击continue可连续进行抓取,点击stop可停止连续抓取改回为分步调试。
校准,调试与debug
机械臂校准

通过修改配置文件参数校准机械臂,打开gluon.yaml配置文件

$ vi ~/gluon_catkin_ws/install/share/gluon_demo/configs/gluon.yaml

配置文件说明:
设置机械臂offset步骤:

  • 抓取木块参数校准 (zone_or_not 设置为 true):

    1. 将机械臂抓取范围等分为4块区域,分别为左上,左下,右上,右下。
    2. 将木块放在左上区域的中心处,在rviz里点击next控制机械臂运动到木块上方。
    3. 观察夹爪抓取的位置在已有offset的基础上增大或者减小offset的值。
    4. 重复步骤 1~3 直到4块区域均可以抓准。
      在这里插入图片描述
  • 放置木块参数校准:

    1. 如果放置木块时未达到理想位置,可调整target_offset。
    2. 此步骤可分别用木块”机“和”院“测试,看看第一个字和最后一个字都是否能放在槽里。
  • 夹爪力度参数校准:

    1. 抓取木块时的夹爪力度可以调整 close_gripper_angle 的值 。
    2. 完全张开为 -4,完全闭合为 0。

注:以上调整均以机械臂base_link坐标系(详见 rviz相关 图中红色为x轴,绿色为y轴,z轴为蓝色垂直向上)为参考坐标系,单位均为米。例如设置target_x_offset=0.01(默认值为0),则机械臂放置木块位置会沿base_link x轴正方向偏移1厘米。

注2:每次断电重启后都需要进行一次参数校准以保证抓取效果。

gluon_demo:
 zone_or_not: true #布尔变量,true为分区域设置机械臂的offset,false为不分区域设置机械臂的offset
  
#不分区域offset,单位:米
 object_x_offset: 0.013 #机械臂x轴方向的offset
 object_y_offset: 0.485 #机械臂y轴方向的offset
 object_z_offet: 0.004 #机械臂z轴方向的offset

#抓取木块参数,单位:米
 object_x_offset_left_upper : -0.012 #左上区域机械臂x轴方向的offset
 object_y_offset_left_upper : 0.51 #左上区域机械臂y轴方向的offset

 object_x_offset_right_upper : -0.009 #右上区域机械臂x轴方向的offset
 object_y_offset_right_upper : 0.51 #右上区域机械臂y轴方向的offset

 object_x_offset_left_lower : -0.012 #右上区域机械臂x轴方向的offset
 object_y_offset_left_lower : 0.51 #右上区域机械臂y轴方向的offset

 object_x_offset_right_lower : 0.003 #右下区域机械臂x轴方向的offset
 object_y_offset_right_lower : 0.51 #右下区域机械臂y轴方向的offset

#放置木块参数,单位:米
 target_x_offset: 0.005 #放置木块时机械臂x轴方向的offset
 target_y_offset: 0 #放置木块时机械臂y轴方向的offset
 target_z_offset: 0 #放置木块时机械臂z轴方向的offset
 
#夹爪力度参数
 close_gripper_angle: -0.5 #抓取木块时的夹爪力度。完全张开为 -4,完全闭合为 0

log信息详解与debug

在机械臂抓取过程中,终端会打印log以提示用户下一步操作或当问题出现时供用户定位并解决问题。如需调整木块位置重新规划路径时,请遮住木块,防止调整过程中误识别木块位置。

ERROR: Unable to communicate with master!
引起此Error的原因较多,当输入ros相关命令无反应或显示以上错误时,需首先检查硬件连接和环境变量配置是否正确,然后可尝试重新插拔相机,重启程序等。

[ INFO] [1590636099.040013320]: Didnt received robot state (joint angles) with recent timestamp within 1 seconds.
Check clock synchronization if your are running ROS across multiple machines!

[ERROR] [1627437371.125197330]: Failed to fetch current robot state
PC端与CCU端系统时间不同步,导致ros无法通信。请登录到CCU确认CCU可以连接网络并保证两端系统时间同步。若发现CCU无法连网,请返回网络配置步骤。

Waiting to continue: Press ‘next’ to continue…
在rviz中点击next或continue进行下一步动作。点击next可分步调试,点击continue可连续进行抓取,点击stop可停止连续抓取改回为分步调试。

[WARN] [1627437379.265572696]: No available block, please re-arrange
无可抓取的木块,请重新调整木块位置,重新规划路径。

[WARN] [1627437379.265572696]: Identify error or block is out of range, please re-arrange
出现识别错误或木块超出可抓取范围,请重新调整木块位置,重新规划路径。

[WARN] [1627437379.265572696]: Planning failed, please re-arrange the [gong] block
当前"gong"字木块路径规划失败,请重新调整该木块位置,重新规划路径。(“源”是yuan,“院”是yuan2,其余木块均为对应拼音)

[ERROR] [1627437371.125197330]: Failed to call service openGrasp
控制夹爪服务调用失败,请ctrl+c退出进程后输入以下命令重启程序。
$ roslaunch gluon_demo gluon_demo.launch

[WARN] [1627437379.265572696]: Parse Error, Json Null
出现解析错误,相机未识别到物体或相机传的数据为空。调整木块位置或输入以下命令查看相机数据是否上传成功。
$ rostopic echo /cv/json
若上述解析错误[WARN]不断循环打印,且调整木块位置无效,需ctrl+c或ctrl+z退出进程,输入以下命令杀掉僵尸进程后重启程序。
$ sudo killall -9 grasp_vision_7
$ roslaunch gluon_demo gluon_demo.launch

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值