移动智能抓取机器人主要由智能移动平台和机械臂组成,取两者的优势进行组合,相较于常规的移动机器人或固定工位的机械臂而言,有着更灵活、更广泛的应用,在实际生产车间、仓库或是餐厅、家庭都具有实际的应用需求,而这也在一定程度上助涨了关于移动智能抓取机器人的研究热情。

移动智能抓取系统主要由智能移动平台系统和智能视觉抓取系统二部分组成,形成集感知、思维、知行统一为一体的智能系统。

智能移动平台系统:

该系统通过移动机器人搭载激光雷达、双目或单目相机作为数据采集设备,和自身携带的多种内部传感器(包括里程仪、陀螺仪、加速度计等),基于SLAM技术对周围环境点云信息、多帧图像信息进行处理分析并融合相关速度、角度、里程等信息,进而实现定位导航。

核心硬件设备组成:移动平台、激光雷达或双目、单目相机等

移动平台选取我公司自主研发的Bulldog,该移动平台采用四轮差速驱动系统,全车采取防水防尘处理,适合全地形运动的轮胎及较高的底盘高度适应各种路面,既满足崎岖地形路面,又可满足室内的运行环境。同时内置Intel高速处理器,能够满足对图像数据、点云数据等数据的分析处理的速度要求,保证该无人车的正常运行。车内安装有编码器,实时反馈轮速信息,实现对车速的闭环控制,内置IMU能够对小车运动姿态进行实时控制及反馈,采集速度、角度等信息,以保证行驶过程中维持姿态,防止倾倒。

激光雷达具有探测距离远,一般能到100米左右,而且能够准确测出周围障碍的距离和角度,同时稳定性相当高,鲁棒性好。在该智能移动平台系统中,充分发挥激光雷达能够精确提供距离信息,同时刷新速度快、数据计算量不大的优点,便于通过 SLAM技术快速构建实时地图,实现定位导航。激光SLAM由于起步早,研究比较深入和透彻,框架基本确定,已是目前最稳定、最主流的定位导航方法,在我们提供的方案中也是使用激光雷达来完成定位导航。

双目或单目相机主要是出于成本考虑而成为现今SLAM研究的一个趋势,通过多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建。

系统原理说明:

SLAM可以描述为机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图的研究问题。主要包含了1.地图的表达方式2.不确定信息的描述3.定位与环境特征提取4.数据关联5.累积误差等具体细节问题的处理,而这些也是研究SLAM技术的关键。

我们提供ROS系统中的Gmapping功能包来实现移动机器人的地图构建,以及amcl包和move_base包来实现移动机器人的定位与自主导航。

Gmapping是目前应用最广的2D SLAM方法,采用了粒子滤波算法,提供基于激光的SLAM的地图构建方法,在低特征场景中具有很好的效果,但无法适应不平坦区域的地图构建。

amcl是移动机器人在2D环境中的概率定位系统,它实现了自适应(或KLD采样)蒙特卡罗定位方法,使用粒子滤波器来跟踪机器人的位姿。粒子滤波很粗浅的说就是一开始在地图空间很均匀的撒一把粒子,然后通过获取机器人的动作来移动粒子,比如机器人向前移动了一米,所有的粒子也就向前移动一米,不管现在这个粒子的位置对不对。使用每个粒子所处位置模拟一个传感器信息和观察到的传感器信息作对比,从而赋给每个粒子一个概率。之后根据生成的概率来重新生成粒子,概率越高的生成的概率越大。这样的迭代之后,所有的粒子会慢慢地收敛到一起,机器人的确切位置也就被推算出来了。

1.初始状态下粒子分布

2.更新一段时间后,粒子趋向稳定

3.最终状态,确定位置

move_base提供了一个动作的实现,将全局导航和局部导航链接在一起以完成其导航任务。全局导航用于建立到地图上最终目标或一个远距离目标的路径,局部导航用于建立到近距离目标和为了临时躲避障碍物的路径。

统筹各个节点发送过来的信息,集中处理,完成轨迹规划。

由于ROS本身是开源系统,可以基于此框架进行代码修改和重新编译,为开展更加深入的研究提供方便同时提高开发效率。

智能视觉抓取系统:

该系统通过RGBD相机获取物体的三维空间坐标信息,确定物体相对位置和姿态,并对被识别物体进行边缘提取和形状匹配,从而确定目标物的基本信息,并提供给机械臂的控制端,以指导其做出正确的运动轨迹规划和抓取的控制。

硬件基本构成:UR5机械臂、Kinect相机、Robotiq-85夹持器

UR5机械臂

Kinect相机

RGBD相机可以通过红外结构光或Time-of-Flight原理,直接测出图像中各像素离相机的距离,减少深度的计算量。

Robotiq-85夹持器:

 

 

 

 

夹具行程:0~85mm             夹持力:60~200N

最大载荷建议:5Kg            开启关闭速度:20~150mm/s

重复精度:0.05mm             工作温度:-10℃~50℃

重量:850g

系统工作原理:

通常,我们都需要先对相机进行标定,内部参数标定以确定其成像模型,位姿标定以对目标物进行立体重构,同时需要标定视觉坐标系在机器人坐标系下的位姿。

对于获取到的图像,我们先要进行灰度校正、噪声过滤等图像预处理。之后对目标物的边缘进行检测,提取边缘信息,剔除无关信息,保留图像的重要结构属性,然后拟合边线,确定目标物的轮廓信息和结构。最后,基于特征点匹配的立体视觉重构算法,确定目标物体的位姿,我们通过三维位姿偏差来控制机械臂运动,根据目标相对于机械臂的位姿,给出机械臂在笛卡尔空间中的运动指令,实现智能抓取控制。

在ROS系统中,我们使用MoveIt这个模块去做机械臂的控制规划,该模块可以快速完成机械臂建模、运动学解算和路径规划。在进行运动学解算以及路径规划过程中,会将各种运动约束的因素考虑进来,例如防碰撞检测、设定关节最大运动角度和角速度等,同时可以通过对相关轨迹跟踪算法优化,提高跟踪精度和运动平稳性。

MoveIt整体框架

move_group是MoveIt的核心部分,可以综合机器人的各独立组件,为用户提供一系列需要的动作指令和服务,类似于一个积分器,本身并不具备丰富的功能,主要做各功能包、插件的集成。它通过消息或服务的形式接收机器人上传的点云信息、关节的状态消息,还有机器人的tf树信息,另外还需要ROS的参数服务器提供机器人的运动学参数,这些参数会在使用setup assistant的过程中根据机器人的URDF模型文件,创建生成SRDF和配置文件,从而生成一个MoveIt功能包,完成机械臂的互动、可视化和仿真。

实验室建设目的:

基于该实验室提供的平台和设备,可以方便展开关于如下方面的研究:

  1. 机械臂运动轨迹规划及末端轨迹规划算法的研究
  2. 关于抓取姿态控制的研究
  3. 定位导航(激光SLAM、视觉SLAM等)的研究
  4. 移动抓取的相关控制协调问题的研究