Team Description Paper

Similar documents
Team Description Paper

Artificial Beacons with RGB-D Environment Mapping for Indoor Mobile Robot Localization

KeJia: The Intelligent Domestic Robot for 2015

Tsinghua Hephaestus 2016 AdultSize Team Description

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment

ZJUDancer Team Description Paper Humanoid Kid-Size League of Robocup 2014

ZJUDancer Team Description Paper Humanoid Kid-Size League of Robocup 2015

BORG. The team of the University of Groningen Team Description Paper

Service Robots in an Intelligent House

Team Description 2006 for Team RO-PE A

Perception. Read: AIMA Chapter 24 & Chapter HW#8 due today. Vision

Advanced Robotics Introduction

Robo$cs Introduc$on. ROS Workshop. Faculty of Informa$on Technology, Brno University of Technology Bozetechova 2, Brno

KMUTT Kickers: Team Description Paper

Technical issues of MRL Virtual Robots Team RoboCup 2016, Leipzig Germany

Team TH-MOS Abstract. Keywords. 1 Introduction 2 Hardware and Electronics

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

Wednesday, October 29, :00-04:00pm EB: 3546D. TELEOPERATION OF MOBILE MANIPULATORS By Yunyi Jia Advisor: Prof.

Team KMUTT: Team Description Paper

League <BART LAB AssistBot (THAILAND)>

Efficient Construction of SIFT Multi-Scale Image Pyramids for Embedded Robot Vision

Kid-Size Humanoid Soccer Robot Design by TKU Team

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2014 Humanoid League

* Intelli Robotic Wheel Chair for Specialty Operations & Physically Challenged

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2010 Humanoid League

Baset Adult-Size 2016 Team Description Paper

RoboCup TDP Team ZSTT

Perception. Introduction to HRI Simmons & Nourbakhsh Spring 2015

FU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup?

DiVA Digitala Vetenskapliga Arkivet

Mobile Robots Exploration and Mapping in 2D

High Speed vslam Using System-on-Chip Based Vision. Jörgen Lidholm Mälardalen University Västerås, Sweden

Advanced Robotics Introduction

Simulation of a mobile robot navigation system

NCCT IEEE PROJECTS ADVANCED ROBOTICS SOLUTIONS. Latest Projects, in various Domains. Promise for the Best Projects

Programming Robots With Ros By Morgan Quigley Brian Gerkey

An Open Source Robotic Platform for Ambient Assisted Living

Book Cover Recognition Project

Human-Robot Interaction for Remote Application

Team TH-MOS. Liu Xingjie, Wang Qian, Qian Peng, Shi Xunlei, Cheng Jiakai Department of Engineering physics, Tsinghua University, Beijing, China

Robotics Enabling Autonomy in Challenging Environments

Creating a 3D environment map from 2D camera images in robotics

KUDOS Team Description Paper for Humanoid Kidsize League of RoboCup 2016

Fernando Ribeiro, Gil Lopes, Davide Oliveira, Fátima Gonçalves, Júlio

Team Description

League 2017 Team Description Paper

Self-Localization Based on Monocular Vision for Humanoid Robot

Rapid Development System for Humanoid Vision-based Behaviors with Real-Virtual Common Interface

Toward an Augmented Reality System for Violin Learning Support

Team Description

Rabbit: A Robot for Child-Robot Interaction

2 Focus of research and research interests

Charlie Rides the Elevator Integrating Vision, Navigation and Manipulation Towards Multi-Floor Robot Locomotion

CPE Lyon Robot Forum, 2016 Team Description Paper

KeJia: Service Robots based on Integrated Intelligence

GESTURE BASED HUMAN MULTI-ROBOT INTERACTION. Gerard Canal, Cecilio Angulo, and Sergio Escalera

Lecture 19: Depth Cameras. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Controlling Humanoid Robot Using Head Movements

Modern Robotics with OpenCV. Widodo Budiharto

Probabilistic Robotics Course. Robots and Sensors Orazio

ROBOTICS ENG YOUSEF A. SHATNAWI INTRODUCTION

Middleware and Software Frameworks in Robotics Applicability to Small Unmanned Vehicles

Introduction to Mobile Robotics Welcome

Graz University of Technology (Austria)

Advanced Techniques for Mobile Robotics Location-Based Activity Recognition

Introduction to Computer Science

CS295-1 Final Project : AIBO

A Smart Home Design and Implementation Based on Kinect

Realization of Humanoid Robot Playing Golf

TurtleBot2&ROS - Learning TB2

Birth of An Intelligent Humanoid Robot in Singapore

A Geometric Correction Method of Plane Image Based on OpenCV

International Journal of Informative & Futuristic Research ISSN (Online):

Autonomous Localization

The 2012 Team Description

NTU Robot PAL 2009 Team Report

PROJECTS 2017/18 AUTONOMOUS SYSTEMS. Instituto Superior Técnico. Departamento de Engenharia Electrotécnica e de Computadores September 2017

The Future of AI A Robotics Perspective

Aalborg Universitet. Publication date: Document Version Publisher's PDF, also known as Version of record

Autonomous Vehicle Speaker Verification System

Flexible Cooperation between Human and Robot by interpreting Human Intention from Gaze Information

An Engraving Character Recognition System Based on Machine Vision

Stabilize humanoid robot teleoperated by a RGB-D sensor

Enhanced Method for Face Detection Based on Feature Color

Research Proposal: Autonomous Mobile Robot Platform for Indoor Applications :xwgn zrvd ziad mipt ineyiil zinepehe`e zciip ziheaex dnxethlt

AUTONOMOUS NAVIGATION SYSTEM BASED ON GPS

Innovations in Construction Service Robots

BehRobot Humanoid Adult Size Team

Walking and Flying Robots for Challenging Environments

Fabrication of the kinect remote-controlled cars and planning of the motion interaction courses

Formation and Cooperation for SWARMed Intelligent Robots

Structure Design and Analysis of a New Greeting Robot

4 th Amir Kabir University of Technology Robotic Competitions (2013) - Service Delivery Robots League SUT Team Description Paper

Design of intelligent vehicle control system based on machine visual

RPLIDAR A3. Introduction and Datasheet. Low Cost 360 Degree Laser Range Scanner. Model: A3M1. Shanghai Slamtec.Co.,Ltd rev.1.

International Conference on Advances in Mechanical Engineering and Industrial Informatics (AMEII 2015)

Using Gestures to Interact with a Service Robot using Kinect 2

Based on the ARM and PID Control Free Pendulum Balance System

Robocup Electrical Team 2006 Description Paper

H2020 RIA COMANOID H2020-RIA

Transcription:

Tinker@Home 2014 Team Description Paper Changsheng Zhang, Shaoshi beng, Guojun Jiang, Fei Xia, and Chunjie Chen Future Robotics Club, Tsinghua University, Beijing, 100084, China http://furoc.net Abstract. This paper describes our service robot Tinker of Tsinghua University, China, including the hardware design and software system. Tinker is designed to be an autonomous robot in home environment, capable of navigating in complicated environment and finishing different tasks, mainly following the rules of @home League of World RoboCup 2014. This paper introduces both the mechanical design of the robot and the algorithms we have proposed and implemented. 1 Introduction Tinker is developed by FuRoC (Future Robotics Club), which is a student group in Tsinghua University focusing on robotics, AI and related areas. It is our first participation in the @home League of World RoboCup. Tinker is designed to be an autonomous humanoid robot mainly for home service. To complete home service tasks, abilities such as automatic navigation, environment perception, interaction with human, recognizing and carrying small objects, etc, are required. Tinker is equipped with a mobile chassis, a lift platform, a 6-DoF arm, and different kinds of sensors. Depth cameras (primesense and Microsoft Kinect) are used for imaging and recognizing environment, objects and different user. A laser scanners is used for sensing the surroundings and navigation. Tinker is also equipped with a microphone for hearing and understanding voice orders. In the next section, we will give a detail description of the mechanical design of Tinker. The software architecture and algorithms will be introduced in Section 3. 2 Mechanical design As we have mentioned before, to complete most of home serving tasks, our robot consists of three major parts: chassis based on omnidirectional wheel, Ball screw Actuator and robot arm including hand. Tinker is about 130cm height. The image of Tinker is shown in Fig.1. 2.1 Chassis Tinker can move in any direction easily owing to the chassis. The chassis consists of 4 separated omnidirectional wheel systems, each of which consists of a

2 Changsheng Zhang, Shaoshi beng, Guojun Jiang, Fei Xia, and Chunjie Chen Fig. 1. Tinker omnidirectional wheel, a brushless DC motor (50W24V), a reducer and a brushless DC motor driver (ZM-6508). The PC sends control message to the MCU STM32F407VG to command the chassis to move as planed via serial port. The chassis has a size of 550mm*550mm*160mm (see Fig.2(a)). 2.2 Robot arm and hand The robot arm (see Fig.2(b)) is the most major part of the mobile robot, used to grasp objects. The arm (hand) consists of a 4-axis cascade robot arm and a 2-axis robot hand. The 4-axis arm consists of 3 bent joints and a rotate joint; the 2-axis hand consists of a rotate joint which controls the posture and a joint which achieves grasping objects. We use MX-106R and MX-64R (Robotis series)

Tinker@Home 2014 Team Description Paper 3 as the steering engines. The maximum length of the arm is about 500mm and it can grasp a 500g object at maximum length, which is enough in most situations. 2.3 Ball screw Actuator The bottom of the robot arm is fixed on the Ball screw Actuator so that the arm can be raised or lowered freely, quickly and smoothly. The lift platform enables the robot to manipulate objects of various height. Besides, it provides more work space (see Fig.2(c)). (a) chassis (b) arm (c) Ball screw Actuator Fig. 2. mechanical design 3 Software Architecture The software architecture of Tinker is shown in Fig.3. It is a well arranged threelayer model including the Driver Layer, the Logic Layer and the Decision Layer.

4 Changsheng Zhang, Shaoshi beng, Guojun Jiang, Fei Xia, and Chunjie Chen The software system is developed based on Robot Operating System (ROS) [1], a set of software libraries and tools that help build robot applications. Each of the module in Fig.3 works as an ROS node, processing the information provided by the lower layer and pass new message or decision to the higher layer. The architecture shown in Fig.3 seems more like a open-loop (direct) system. Actually, the feedback is passively in the system. The top layer make decision and control the robot to move or make other responses. Thus the robot adjust its decision with the new environment and the updating information. Fig. 3. 3-layer model of the software system based on ROS Layer 1: Driver Layer The driving layer is the most basic layer which obtains the original information from the sensors, such as image and depth image from Microsoft Kinect, wave data from microphone. Actually, most of the driver are provided in ROS. In our software system, we use the open source package instead of writing by ourselves in consideration of stability and convenience. Layer 2: Logic Layer The logic layer (functional layer) runs the core algorithm, processing the original data and turning them into meaningful information of the surrounding environment. Some of the most important modules include SLAM (Simultaneously Localization and Mapping), face recognition, object recognition, object tracking, speech understanding. The following section will give a detail description about the algorithm and implementation of these modules. Layer 3: Decision Layer Task planning is done in decision layer. For different tasks, modules in decision layer run as state machine. They integrate different information from the low layer to judge the state they are in and then give different orders or make different responses. Each module deal with a single task, sharing the common information from the low layer.

Tinker@Home 2014 Team Description Paper 5 3.1 Simultaneous Localization and Mapping SLAM is one of the most important algorithms for a mobile autonomous robot, which enables a robot to navigate and explore in an unknown environment [2]. Mapping requires the robot to record, integrate and update the former information it have got about the surroundings while Localization requires the robot to know the location of itself refer to the estimated environment. Using a laser range finders (LRFs), we adopted the SLAM package to estimate the robot s location and its surroundings in the form of 2D occupancy grid map. The raw data from LRFs are collected as the input of the algorithm. Features, or landmarks are then extracted from the environment. When the robot moves around, these features are used to estimate where it moves. It is called Laser-Scan-Matcher process. However, the estimation of this process is imprecise and the error accumulates. The GMapping process is adopted, using an EKF (Extended Kalman Filter) to correct the estimated result. Based on the final map generated, the robot plans its path and explores the unknown environment. We also implemented SLAM using color and depth camera, also called vs- LAM [3], so that a 3D map can be obtained, which is more precise in complicated environment. 3.2 Face Recognition For human-robot interaction, a robot is required to recognize different masters or guests in home service. We developed a face recognition system with two process: enrollment and recognition. During the enrollment process, a man is asked to stand in front of the RGB camera. A face detector based on haar feature from OpenCV is applied and the detected face will be stored. For a single person, the system stores 3-5 pictures. We implemented the face recognition algorithm based on sparse representation [4]. A redundant dictionary is trained offline using a set of training faces. The algorithm seeks the most sparse representation coefficient by solving a L1 optimization problem. The residual errors for different classes (persons) tell who is the unknown person: if the residual error for a specific class, for example, person A, is smaller than a specified threshold and the errors for other classes are larger than another specified threshold, the newcoming person is identified as person A. Fig.4 shows an example of the face recognition result. 3.3 Human Tracking For human tracking and following, we implemented the TLD (Track-Learning- Detection) algorithm [5]. TLD was proposed by Zdenek Kalal and is currently the state-of-art real time tracking algorithm. It combine the traditional tracking and detection algorithm so that it is more robust in consideration of distortion and partial occlusions. TLD algorithm consists of three modules as its name indicated. Tracking module estimate moving direction of the object according

6 Changsheng Zhang, Shaoshi beng, Guojun Jiang, Fei Xia, and Chunjie Chen Fig. 4. face recognition two the difference between two adjacent frames. Detection module detect the object in each frame independently. Learning module integrate the results of the tracking module and detection module to correct the detection errors and update the features of the target object. We applied the TLD algorithm to human tracking and following tasks. Before following, the human partner to be followed will be asked to stand in front of the RGB camera and the robot will record his/her features. When the human starts moving around, the robot will track and keep up with him. The robot also uses the depth information to keep the human at a safe distance. 3.4 Object Recognition We have developed algorithm for recognizing different kinds of objects. The object recognizing algorithm is based on SIFT [6] feature matching in RGB images with a set of pre-stored object samples. Directly applying SIFT matching algorithm with the whole observed image is quite slow and may result into false matching. In our implementation, we make full use of the depth image. We transform the depth data into point cloud using PCL (Point Cloud Library). On the assumption that the object are place on the tables or ground or other flat surfaces, we estimate the maximum best-fitting plane [7]. An object segmentation can be achieved by clustering the points not on the plane. The SIFT matching process is done with these regions to determine whether they are target objects. Fig.5 shows the SIFT matching results. The database are different kinds of drink bottles.

Tinker@Home 2014 Team Description Paper 7 Fig. 5. object detection 3.5 Speech Recognition Natural Language understanding provides a convenient way to interact with a robot. Currently, we apply the CMU Sphinx package for speech recognition. We update the keywords database by adding necessary words and phrases for understanding different orders and compile it into a library file. When the software recognizes a sequence of specific keywords, the robot interprets one s intention and makes corresponding responses. 4 Conclusion As we have introduced in the above sections, Tinker is our young robot, with mobile chassis, Ball screw Actuator and a 6-DoF arm and various sensors including RGB cameras, depth cameras and laser range finders. We developed, implemented and adopted algorithms for Simultaneous Localization and Mapping, face recognition, human tracking, object recognition and speech recognition, with which the robot becomes intelligent and is capable for many home service tasks. As Tinker is young, there are still a lot of things to learn and improve. Acknowledgement The FuRoC group is supported by TI (Texas Instruments) and the department of Automation, Tsinghua University. Besides the authors, the Tinker@home team has the following members: Advisor: Prof. Mingguo Zhao

8 Changsheng Zhang, Shaoshi beng, Guojun Jiang, Fei Xia, and Chunjie Chen Students: Jiaqi Gao, Xingcheng Zhang, Siheng Zhang, Chumeng Xu, Xiang Gao, Lei Lei, Zhenming Yang, Junyuan Liu, Shuhe Chang, Xunkai Zhang, Qingqiu Huang, Zhi Liu References 1. Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Y Ng. Ros: an open-source robot operating system. In ICRA workshop on open source software, volume 3, 2009. 2. Giorgio Grisetti, Cyrill Stachniss, and Wolfram Burgard. Improved techniques for grid mapping with rao-blackwellized particle filters. Robotics, IEEE Transactions on, 23:34 46, 2007. 3. Stephen Se, David G Lowe, and James J Little. Vision-based global localization and mapping for mobile robots. Robotics, IEEE Transactions on, 21:364 375, 2005. 4. John Wright, Allen Y Yang, Arvind Ganesh, Shankar S Sastry, and Yi Ma. Robust face recognition via sparse representation. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 31:210 227, 2009. 5. Zdenek Kalal, Krystian Mikolajczyk, and Jiri Matas. Tracking-learning-detection. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 34:1409 1422, 2012. 6. David G Lowe. Distinctive image features from scale-invariant keypoints. International journal of computer vision, 60:91 110, 2004. 7. Radu Bogdan Rusu, Andreas Holzbach, Michael Beetz, and Gary Bradski. Detecting and segmenting objects for mobile manipulation. In Computer Vision Workshops (ICCV Workshops), 2009 IEEE 12th International Conference on, pages 47 54. IEEE, 2009.