Mobile Manipulator Intro & Resource

关于Mobile Manipulator的一些偏向于survey的介绍和一些资源汇总。

Papers

主要是survey相关的paper

  1. Mobile Manipulation Tutorial 2020
  2. Ros navigation tuning guide 2017123

Mobile Manipulator Intro

组成:robotics arm + mobile robotic platform

最简单、最常见的具体形式:

  • wheeled base 底盘
  • 6 自由度(DoF)机械臂
  • 平行二指夹爪

典型例子:Fetch:7DoF机械臂,躯干可提升,pitch, yaw head with an RGB-D camera & 2D Laser Scanner.

image-20210127233150657

其他常见传感器

  • 激光雷达:用于mapping
  • RGB-D Camera:用于object recognition and localization

因为目前短期内的任务是尽快的实现一个在虚拟环境的task,所以这里重点关注一些现有的、已经发行的公开的软件工具包和仿真器。

Task

最简单也最经典的任务:Fetch & Place

为做简单处理,将path planning, arm planning和task planning分开进行,现在一些更新的方法是将它们结合进行规划,也是我们最终的目标。

因此,我们可以将问题分为移动机器人部分(负责将机器人驱动到某个位置),操纵部分(寻找要拾取的对象和相应的手臂动作)。当然也要包括简单的人机交互部分。

对于一个最简单的Fetch & Place的task,常见的流程如下:

  1. drive to a given location
  2. identify and grasp a specified object
  3. drive to a different location
  4. place the object on a specific QR code(目前使用QR code来定位是最最常见的方案)

这些流程可能要使用下图中所使用的技术

image-20210127232713306

常见仿真器

  1. Gazebo–> Most common used, popularity, tight integration of ROS !
  2. CoppeliaSim
  3. Webots
  4. SAPIEN

软件包

功能 Package
Localization AMCL等
Local Costmap + Path Planning +Path Flow ROS Navigation
Arm Control(驱动层面的控制) kinova_ros, fetch_ros等
object Detection AprilTags,NOCS
object Place Pose AprilTags
Arm Planning & Inverse Kinematics MoveIt
Grasp Planning(假设使用两指夹爪,相对简单) —-
Decision Making (State machine) FlexBE, SMACH
Simulator Gazebo
SLAM 2D(激光雷达) Cartographer,gmapping
Camera Calibration TODO
Hand eye Calibration TODO

整体的设计逻辑使用有限状态自动机。具体行为的设计可以使用FlexBE或SMACH。

假设:环境是已知的。

对于环境的建模,就可以使用SLAM(这里给定的task环境是建好的),常见的包如:gmapping和Cartograhper。

整个路径规划的部分可以市容ROS Navigation。其中包含以下部分:Local Costmap: 为了驱动到地图中指定的2D坐标,ROS导航正在构建成costmap(global和local),将提供的地图与当前扫描得到数据结合在一起。 然后,global path planner规划到坐标的路径,同时考虑机器人的运动学约束(机器人底盘的差动方式和机器人尺寸)。local path planner则主要负责避开在global planner规划的路径上的障碍。

当机器人达到目标地点,开始执行pick的任务时,这时候一般就需要适用到RGB-D相机了。一般来讲:彩色图像用于识别物体,而深度数据对于计算物体的6D位姿非常重要。

对于object detection可以使用:AprilTags(有ROS的包),NOCS(2019年新方法,也有ROS的包)算法细节TODO

下图为AprilTags

image-20210128111936725

下图为:NOCS

image-20210128105854315

一旦检测到物体的方位,就要进行grasp planning了,即找到一个最优的方法来抓取目标物体。因为这里使用的是两指夹爪,最简单方案就是对齐中心,然后抓就可以了。更advanced的算法和包:TODO

arm planning & control:ROS MoveIt。最主流的实现方法,需要知道机械臂的参数、碰撞信息等。其本质功能就是进行运动学反解(Inverse Kinematics)。细节:TODO

一些待调研的问题:

  • 相机校准

image-20210128111547824

  • 手眼协调