Walking Machine @Home 2019 Team Description Paper
Jerey Cousineau, Huynh-Anh Le, André-Philippe Audette, Nicolas Bernatchez, Raphael Duchaine, Quentin Gaillot, Louis-Charle Labarre, Philippe La Madeleine, Redouane Laref, Lucas Maurice, Alexandre Mongrain, Jimmy Poirier, Veronica Romero Rosales
École de Technologie Supérieure, 1100 rue Notre-Dame Ouest, Montreal, QC, Canada H3C 1K3
http://walkingmachine.ca · https://github.com/WalkingMachine
Abstract This paper gives details about the RoboCup@Home league team Walking Machine, from ETS University in Montreal, Canada for the next competition in Sydney, Australia in July 2019. The robot from Walking Machine named, S.A.R.A. for "Systeme d'Assistance Robotique Autonome" (in English, Automated Robotic Assistance System), is a robot entirely built by the scientic club from ETS, mainly composed of undergraduates students. The robot is used for social interaction with humans, navigation and object manipulation. This document shows the electrical, mechanical and software novelties and functionalities of S.A.R.A.
1 Introduction
Walking Machine's team is a young team from Montreal, Quebec, in Canada, composed of engineering students in the eld of mechanical, electrical and software engineering. We have been working really hard to improve our robot for next year's RoboCup@Home competition. As this would be our fourth participation, we learned a lot at RoboCup Montreal and we made many improvements to get better results, mostly on the software side. In the past, the team went in many competitions like the Eurobot but made the leap for the RoboCup@Home competition to get a bigger challenge and to get an opportunity to bring novelty in the scientic community surrounding robotics.
S.A.R.A. was designed for polyvalent human-robot interaction as well as ecient navigation and object manipulation. Our robot is mounted on four mecanum wheels, have a 7 DoF arm and use sensors for communication and navigation. Our team has developed knowledge in the object and people detection/recognition, as well as navigation using a laser scanner and an Asus Xtion camera. All of these parts are interfaced through ROS(Robot Operating System).
In the rest of this paper, we will present in the mechanical improvements we've made to our robot to overcome the dierent challenge, the dierent packages we've developed are described, and nally, this paper will conclude and explore the expected features for next year Robocup.
2 Mechanical improvement
To improve our robot abilities, we decided to add a vertical linear actuator, more specically, a TL5 column made by TiMOTION. This will add a degree of freedom, giving us a wider range of motion to reach objects on the oor or higher on the cupboard shelves. This will be really helpful for a challenge like storing groceries where the objects can be anywhere in the cupboard.
We also decided to improve our wrist by adding a gearbox, giving it more strength. We took the decision to improve it after having problems with the gripper being too heavy.
3 Software
3.1 Natural language understanding
To convert spoken data in actions subset, we had to create our own natural language understanding system. To pursue our goal, we based ourself on rasa nlu, an open-source NLP tool for intent classication and entity extraction. Altough, a simple entity extraction wasn't enough for us, we wanted a system that would take a command as an input and output the desired actions.
To make this work, our rst step was to create a dataset for the entity classication. Based on the GPSRCmdGen, we generated sentences which we hand labeled by attributing an entity to each specic type of sentence paired with specic parameters.
We then built a ROS service which takes a sentence as an input, classify the main intent using our dataset and return an array of actions that the robot needs to execute according to the command. Our system is dependent on our environment representation package since queries are made to our database.
3.2 Sound localization
To improve our performances mainly in the SPR challenge and to add reactivity to our robot, we decided to add a Matrix Creator which includes a microphone array coupled with a Raspberry Pi 3. We decided to use ODAS which stands for Open embeddeD Audition System. This is a library dedicated to performing sound source localization, tracking, separation and post-ltering, developed by IntRoLab from Sherbrooke University in Quebec.
At rst, a simple sound source localization is used. Then a Kalman lter is applied to perform sound source tracking. It helps us eliminate simple noise to track the person talking to the robot. We can even go further with this library by using the sound source separation which helps us separate the sound incoming from the dierent audio sources.
We decided to build our own ROS wrapper around ODAS considering the lack of documentation surrounding the project. Our wrapper oers multiple topics which publish either the dierent sound sources location, the tracked sound sources or the separated sound sources. We can then easily identify the location of an operator giving a command to our robot.
3.3 Object recognition
Recognition system
For our object recognition, we use YOLO, a real-time object detection. It does not only detect various object but it also predicts the bounding boxes of the detected object. It uses a single neural network which is applied to the image. Multiple regions are then created and are used to predict the bounding boxes. Each of them also contains the predicted probability which is used to lter the predicted objects. The advantages of this system is that it can detect multiple objects in a real-time scenario.
Dataset creation tool
This year we are putting our eorts on a way to simplify the dataset creation. During the last RoboCup in Montreal, it was the rst time our team had an ecient object recognition system. However, our aw was in the production of our dataset. Since we are retraining over ImageNet's pre-trained weight, we need to provide a large dataset and for this, we had to do all the bounding boxes by hand for every images.
We decided that we needed to nd a faster way to train the provided objects from the arena. Our plan is now to use a rotating platform with a green screen, that way we could automate the data collection process by using background subtraction technique with OpenCV and contour detection to nd the object bounding box. Using the subtracted object, we can now apply dierent transformations to do dataset augmentation.
For the moment, we only created the software part to automated the bounding boxes. As you can see, on the Fig.6 a), we applied an inRange lter, on the Fig.6 b), we inverted the image to nally apply the ndContour function on Fig.6 c). By taking the largest contour found, we can easily calculate the bounding box of the object.
3.4 Environment modeling
To have a good representation of the robot's environment, we developed our own environment modeling called Wonderland. For this, we can insert in our database all the known information like the furniture, the rooms, and the objects. Based on this, our robot will interact with the database through a web API, which makes it ROS agnostic and could be used by any application even if it's not robotics oriented.
To make our life easier, we also implemented an easy way to place the object's position through Rviz. For the moment, we use the pose estimation tool however we are planning to develop our own tool in Rviz next year.
With our environment modeling system, our NLU node can interact with it to conrm that a query is valid by verifying, for example, the existence of a specic room or a specic object.
4 Objects and people tracking
To keep track of the many objects and people our robot sees, we have developed our tracking system named wm_data_collector. Our process, as you can see on Fig8, imply the use of our various sensors to keep track of dierent characteristics dening our tracked entities. Once we gather the information, we use a simple Kalman lter but we are planning to use a better algorithm in the future like dlib correlation tracker.
5 Conclusions and future work
In this paper, we presented how we are developing our own robotic platform for the RoboCup@Home competition. It has many abilities like a person and gender recognition, pose detection, environmental reasoning, object recognition, manipulation and many more. Since we are mainly undergraduate students with no teacher support, our main eorts go in the learning process and the implementation part. Despite a low scientic contribution, we are actually developing some package that we hope will be usable by other teams in a near future.
This year we are planning to implement gesture recognition for the restaurant challenge and, planar and object segmentation to detect unknown objects mainly for the storing groceries challenge. For this, we'll simply use PCL library with the RANSAC algorithm using a plane model and the K-mean algorithm for object segmentation. Finally, we'll also be working to improve our Natural Language Understanding package to add more features for the more complex challenges in the GPSR.
Robot S.A.R.A. Hardware Description
Specications for robot S.A.R.A. are as follows:
Table 1: Robot's hardware description
| SARA | Description |
|---|---|
| Base | Custom base with fully holonomic platform |
| Vertical column | Timotion TL5 |
| Right arm | 7 DoF custom arm made of Kinova motors and Dynamixels |
| Neck | Tilt and pan unit using two Dynamixel MX-64R servo actuator |
| Head | Custom head made of RGB neopixels leds and Asus Xtion Pro |
| Gripper | Robotiq 2 ngers 140mm |
| Dimensions | Base : 0,61m. X 0,77m. |
| Height : 1,48m.(min.) 1,78m.(max.) | |
| Weight | ∼70kg |
| Additional sensors Hokuyo UTM-30LX on base | |
| Microphone | Rode microphone |
| Sound localization Raspberry Pi 3 and Matrix Creator | |
| Batteries | 2x 20V Dewalt drill battery 5aH |
| Computer | 1x Lenovo p50 with 32GB RAM and Nvidia Quadro M2000 |
| 4GB, 1x Raspberry Pi 3, 1x Nvidia Jetson TX2 |
Robot's Software Description
For our robot we are using the following software:
- Platform: Robotic Operating System (ROS) Kinetic on Ubuntu 16.04
- Navigation, localization and mapping: Gmapping, AMCL, pointcloud_to_laserscan
- Face recognition: ros_face_recognition
- Speech recognition: Google Speech API
- Speech comprehension: wm_nlu
- Sound localization: wm_odas_ros_wrapper
- Speech generation: Svoxpico, MaryTTS
- Object recognition: Darknet with YOLO v2
- Arm control: MoveIt and Kinova API
- Task executor: Flexbe
- World reprensentation: Wonderland
Team members
André-Philippe Audette Electrical engineering bachelor student Nicolas Bernatchez Manufacturing engineering bachelor student Jerey Cousineau Manufacturing engineering bachelor student Raphael Duchaine Software engineering bachelor student Quentin Gaillot Manufacturing engineering master student Louis-Charle Labarre Manufacturing engineering bachelor student Philippe La Madeleine Manufacturing engineering bachelor student Redouane Laref Manufacturing engineering bachelor student Huynh-Anh Le Manufacturing engineering bachelor student Lucas Maurice Software engineering bachelor student Alexandre Mongrain Manufacturing engineering bachelor student Jimmy Poirier Electrical engineering bachelor student Veronica Romero Rosales Manufacturing engineering bachelor student
References
- Rasa nlu: Language understanding for chatbots and ai assistants.
- wm_data_collector.
- Zhe Cao, Tomas Simon, Shih-En Wei, and Yaser Sheikh. Realtime multi-person 2d pose estimation using part anity elds. In CVPR, 2017.
- IntRoLab. odas. https://github.com/introlab/odas, 2018.
- Joseph Redmon and Ali Farhadi. Yolo9000: Better, faster, stronger. arXiv preprint arXiv:1612.08242, 2016.
- Philipp Schillinger, Stefan Kohlbrecher, and Oskar von Stryk. Human-Robot Collaborative High-Level Control with an Application to Rescue Robotics. In IEEE International Conference on Robotics and Automation, Stockholm, Sweden, May 2016.
- Bruno Siciliano and Oussama Khatib, editors. Springer Handbook of Robotics. Springer, 2016.
- Roland Siegwart and Illah R. Nourbakhsh. Introduction to Autonomous Mobile Robots. Bradford Company, Scituate, MA, USA, 2004.
- Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Convolutional pose machines. In CVPR, 2016.
- Stephen J. Wright. Coordinate descent algorithms. Math. Program., 151(1):334, June 2015.