Background

In the field of robotics, service robots are increasingly becoming an industry hot-spot. Especially for mobile manipulation, many researchers have studied its applications and some teams are focused on the manipulator’s pose estimation of grasping objects, and the other teams are working on the simultaneous localization and mapping, path planning and automatic obstacle avoidance of mobile vehicles. Very few of them explore the integrated system of mobile manipulation and only transport simple, regular objects. Since in life science experiments, many repetitive, simple tasks can be replaced by autonomous robots. This work is aiming to apply a mobile manipulation Fetch robot to execute the dexterous manipulation of centrifuge tubes in life science laboratories.


System Description

Components

  • MoveIt framework that is used to control the manipulator to grasp the object.
  • AprilTag 3 visual fiducial detection algorithm is used to obtain the object pose.
  • A fixture that can clamp for test tubes on the robot which communicates with Fetch Robot by rosserial.
  • A PID pose adjustment controller which is used to adjust the relative position of the robot and the test tube

1. Actionlib software interface

Fetch Robot contains three actionlib services:

  • gripper controller/gripper action: it can control the gripper open or close.
  • gripper controller/led action: there are four led on the gripper, we can control the status of the led to represent the status of the robot.
  • head controller/point head: it can control the head of the robot that decide where the robot look at.

2. Using MoveIt framework to control the manipulator to grasp the object

Fetch Robot contains three moveit groups:

  • 7 DOF robot arm.
  • 7 DOF robot arm with torso.
  • Gripper.

3. Unscrew the lid

After the arm grasp the tube, the robot can rotate the last joint to unscrew the lid. It also needs moveit to finish. The trajectory is planned in the joint space. A sequence of the desired angle is sent to make the joint rotate. But maybe due to the framework bug, in this part, the robot can not plan successfully.

4. Fixture design of the centrifuge tube

The fixture of the centrifuge tube contains two parts, a clamping part, and a fixed part. The gripper is controlled by the servo to clamp and release, as shown in Photo Gallery and the servo library of arduino can be used to easily control the stroke and speed of the servo. Considering that the gripper and the centrifuge tube need to be mounted on the platform of Fetch, we used SolidWorks 3D modeling software to design a base that can hold the centrifuge tube and the gripper, and then we printed it with a 3D printer. Finally, we bolted the entire fixture to the mobile robot platform.

5. Communicate between Fetch and the fixture using rosseiral ROS package

Rosserial is a protocol for wrapping standard ROS serialized messages and multiplexing multiple topics and services over a character device such as a serial port or network socket. It contains several client libraries allowing users to easily get ROS nodes up and running on various systems. In our case, we use a arduino board to control the fixture, the rosserial arduino is used in our case. There is a subscribe node running in arduino which subscribe the command from the robot. It is a trigger information so an empty message already meets our needs. When the robot arm picks the tube on top of the fixture, the robot sends an empty message to trigger the fixture to fix the tube.



Project Video


Project Report

Life-science Fetch Robot for Dexterous Manipulation of Centrifuge Tubes