A project of the Robotics 2019 class of the School of Information Science and Technology (SIST) of ShanghaiTech University. Course Instructor: Prof. Sören Schwertfeger.

Shenhan Qian, Xianing Chen, Zehao Yu

Introduction

With the rapid development of computer hardware and software, autonomous robot is no longer a dream. There are so many autonomous robots showing their capability to perform complex tasks. For instance, Boston Dynamics’s ATLAS robot can even turn a somersault. Motivated by these impressive demo, we also want build our own robot. Our project is about build a robot which can take the elevator on its own. Although it seems like a simple task, it’s a huge step towards general autonomous robot. The robot is expected to perceive the environment which means it has some understanding of its surroundings and knows where it is. It also needs to find its way to the elevator, then push the button with its arm, wait until the elevator’s door opens, and finally drive in. This process requires ability of mapping, localization, navigation, visual object detection and manipulation. With such general ability, we believe that we can build an even powerful robot based on it.

System Description

The hardware system is built upon a Jackal robot, which is a move base. A 3D laser scanner is mounted on Jackal to enable mapping and localization. A robot arm with an RGB-D camera mounted on its end is installed so that elevator button detection and pushing are possible.

All the devices mentioned above are compatible with ROS (Robot Operating System), and our software  framework is built upon ROS as well. We will use some of the powerful software packages of ROS, such as *Gmapping* for SLAM, *Moveit* for button pushing, and *Smach* and *Navigation Stack* for task planing.

With the integration of the software and hardware system, our robot is expected to complete the following tasks without human interference. With a predefined map in its memory, the robot should plan its path and navigate towards an elevator under the help of a laser scanner. Upon approaching the elevator, our robot needs to detect where the button is and use its arm to push the button. In this process, the RGB-D camera on the end of the arm will help determine the precise 3D coordinate of the button. When the elevator’s door opens, the robot should directly drive in.

Demo Videos