The Snobots Jimmy, Jennifer, Jeff, and José
Chris Iverach-Brereton, Jacky Baltes, Geoff Nagy, Josh Jung, Diana Carrier, John Anderson
Autonomous Agents Lab c/o Department of Computer Science University of Manitoba Winnipeg, Manitoba R3T 2N2 Canada
Abstract This paper describes our current-generation humanoid robot team, made up of the DARwIn-OP robots Jimmy, Jennifer, Jeff, and Jose´. We have written our own image processing and localisation algorithms on top of the open-source DARwIn framework, and modified the robots' hardware through the addition of single-DOF grippers and FSR sensors mounted in the feet. We have used these robots successfully in several competitions over the last two years, including RoboCup 2013. This will be our second time using them at RoboCup.
1 Introduction
The University of Manitoba has been a regular competitor at RoboCup dating back to 2002. We have won prizes at several several international humanoid robotics competitions. At RoboCup 2013, in Eindhoven, the Snobots advanced to the second round of play in the kid-size humanoid league with a final record of 2 wins, 3 losses and 1 draw, and finished in 3rd place in the technical challenge.
This team description paper is organized as follows: section 2 summarises our team's recent awards in international competitions using our DARwIn-OP robots and our recent publications; section 3 lists our more prominent and returning team members from past years; section 4 describes our robots and points out the after-market modifications we have made to the stock DARwIn-OP platform; and sections 5 to 7 describes software modifications we have made to the opensource DARwIn-OP core libraries.
2 Recent Achievements
The University of Manitoba has competed at RoboCup uninterrupted since 2002. The following table lists some of our more recent competition appearances and awards.
Recent competition appearances and awards
| Year | Competition | Event | Place |
|---|---|---|---|
| 2013 | 2013 RoboCup (Eindhoven) | Kid-Size Humanoid League | Advanced to second round |
| Technical Challenge | 3rd | ||
| 2013 FIRA (Kuala Lumpur) | Kid-Size HuroCup | 1st Overall | |
| Climbing | 1st | ||
| Weight-lifting | 1st | ||
| United Soccer | 2nd | ||
| Sprint | 4th | ||
| Penalty Kick | 5th | ||
| 2013 ICRA (Karlsruhe) | DARwIn-OP Humanoid | Finalist | |
| 2012 | 2012 ICRA (Minneapolis) | DARwIn-OP Humanoid Application Challenge | 1st |
2.1 Recent Publications
The following table lists some of our lab's recent publications relating to humanoid robotics.
Recent publications
| Year | Title | Authors | Published In |
|---|---|---|---|
| 2014 | Human Inspired Control of a Small Humanoid Robot in Highly Dynamic Environments | J Baltes, C Iverach-Brereton, J Anderson | Submitted to RoboCup 2014 |
| 2013 | Gait Design for an Ice Skating Humanoid | C Iverach-Brereton, J Baltes, J Anderson, A Winton, D Carrier | Robotics and Autonomous Systems |
| 2013 | Real-Time Navigation for a Humanoid Robot Using Particle Filter | J Baltes, CT Cheng, MC Lau, A Espinola | Applied Mechanics and Materials |
| 2013 | Options and Pitfalls in Embedded Systems Development for Intelligent Humanoid Robots | J Baltes, KY Tu, J Anderson | Intelligent Robotics Systems: Inspiring the NEXT |
| 2012 | Ice Skating Humanoid Robot | C Iverach-Brereton, A Winton, J Baltes | Advances in Autonomous Robotics |
| 2012 | Vision-Based Imitation Learning in Heterogeneous Multi-Robot Systems: Varying Physiology and Skill | J Allen, JE Anderson, J Baltes | International Journal of Automation and Smart Technology |
| 2011 | Vision-Based Obstacle Run for Teams of Humanoid Robots | J Baltes, CT Cheng, J Bagot, J Anderson | 10th International Conference on Autonomous Agents and Multiagent Systems |
3 Team Members
The University of Manitoba Snobots team (formerly UofM Humanoids prior to 2011) is an integral part of the Autonomous Agents Laboratory's research into artificial intelligence, computer vision and mobile robotics. The team is composed primarily of students working under the supervision of Drs John Anderson and Jacky Baltes.
Various students and staff at the University of Manitoba have contributed to the 2013 RoboCup team, making a comprehensive list too long to reproduce here. The following table lists the core members of the Snobots for 2014:
Core members of the Snobots for 2014
| Name | Notes |
|---|---|
| Dr Jacky Baltes | Professor, team supervisor, co-head of Autonomous Agents Lab |
| Dr John Anderson | Professor, team supervisor, co-head of Autonomous Agents Lab, computer science department head |
| Chris Iverach-Brereton | Team captain, MSc student |
| Geoff Nagy | MSc student |
| Andrew Winton | MSc studnet |
| Amirhossein Hosseinmemar | PhD student |
| Josh Jung | Undergraduate student |
| Diana Carrier | Undergraduate student |
| Simon Barber-Dueck | Undergraduate student |
4 Hardware Description
The Snobots team consists of four Robotis DARwIn-OP humanoid robots with minor after-market hardware modifications; all robots are equipped with fourpoint FSR units in the feet to improve balance when standing and walking. One robot, designated the goal-keeper, may be equipped with single-DOF hands in place of the standard zero-DOF hands shipped by the manufacturer. Research is ongoing as to the utility of the single-DOF arms with regards to blocking shots on net. If our research indicates that this modification is not beneficial we will revert to the standard zero-DOF hands for all robots. Neither of these modifications has any affect on the robot's wingspan, footprint, nor height. Each robot has a mass of 2.8kg and a height of 455mm. With the hands equipped the robot's mass is increased to approximately 2.8kg.
Each DOF in the robot is controlled by a single Robotis MX28T servo motor, accepting commands over a 1M baud TTL connection. Each motor contains sensors providing torque, speed, and position data. In addition to the motors' on-board sensors and the FSR units in the feet the robots have three-axis gyroscopes, three-axis accelerometers, and colour webcams configured to work at 320x240 pixel resolution.
The robots all use the stock processing boards provided by Robotis: a FitPC2i main controller (1.6GHz Intel Atom CPU, 1GB RAM), and a CM730 subcontroller.
5 Vision Processing
Our robots use a 320x240 resolution colour webcam. The camera is used to identify objects of interest in the field of play (e.g. ball, goal, other robots) and to find fixed points used for localisation (e.g. white field markings, goal posts).
This year we will be using the same scan-line/flood-fill algorithm we have in prior competitions (including RoboCup 2013 and FIRA 2012-13) for our object detection. This algorithm uses horizontal scan-line segmentation to find areas of approximately uniform colour and then flood-fills a region based on the average colour of that segment. A bounding box is placed around the filled region and statistics such as object compactness, aspect ration, and average colour are collected. Previously-filled regions are not re-filled, ensuring a high frame rate and eliminating duplicated work.
In practice this algorithm provides a consistent framerate of 15-25fps (depending on lighting conditions), and is robust enough to handle changing lighting conditions without re-calibration.
6 Localisation and Mapping
Our robots use an internal polar coordinate system to map their surroundings during play. Vectors to visible objects in the scene are calculated using simple trigonometry; the camera's height above the ground, horizontal offset ahead/behind the feet, and downward angle are calculated based on the robot's current motor positions, as shown in figure 2. The camera's field of view is known (58◦ horizontally by 46◦ vertically). Using this we can estimate the angular position of an object horizontally and vertically. Given the downward angle to the object in the scene, the camera's inclination, and the camera's vertical and horizontal position relative to the robot's feet we can use simple trigonometry to calculate the distance between the robot and the object.
Given the object's centre (x, y) in the frame we can calculate the distance and angle using the following equations:
$$height_{cam} = sin(\theta_1) * l_{shin} + sin(\theta_2) * l_{thigh} + sin(\theta_3) * l_{torso} - sin(\theta_{cam}) * l_{face}$$
$$offset_{cam} = cos(\theta_1) * l_{shin} + cos(\theta_2) * l_{thigh} + cos(\theta_3) * l_{torso} - cos(\theta_{cam}) * l_{face}$$
$$d_{object} = |tan((y - 120) * 46^{\circ}/420 + \theta_{head}) * height_{cam}| + offset_{cam}$$
$$\theta_{object} = (x - 160) * 58^{\circ} / 320 + pan_{cam}$$
Naturally this technique of using trigonometry requires certain assumptions about the world to be true:
- The ground beneath the robot is horizontal.
- The object is on the ground (i.e. not floating in the air, nor sunken into the ground).
- The robot is currently standing.
In the case of RoboCup we can assume that the ground is horizontal; the playing field is intended to be a smooth plane. The second assumption is equally safe; current kid-size robots have not been shown to kick the ball with sufficient force to loft the ball into the air. The third assumption is easily validated by checking the robot's on-board accelerometers. If the robot has fallen over vision processing can cease until the robot has righted itself. In practice this algorithm provides very fast estimates of an object's location. Averaging the angle and range across several frames reduces noise in the estimations when stationary.
Whenever the robot sees a fixed object (goal post, identifiable boundary line) it resets its internal map, recalculating its position and bearing according to its visual input. Whenever fixed objects cannot be seen the robot uses dead reckoning to estimate its position and bearing on the field.
If no fixed points are visible the robot uses a Monte Carlo localisation algorithm to estimate its current position on the field.
7 Motions and Gait
Despite shipping with a basic soccer program, we have extensively modified our robots' motions and gait for improved performance. Our robots can sustain a walking speed of approximately 24cm/s easily, but are able to sprint short distances with speeds up to 40cm/s. We have developed multiple kicks for different situations; soft passes to re-position the ball forward and laterally, as well as high-powered kicks that can move the ball over long distances.
Last year we began using lateral kicks to allow the robot to take the shortest path to the ball and kick immediately. The theory behind this tactic was that taking the shortest path to the ball would allow us to reach the ball first, retaining possession for more of the game. We are building on this strategy by developing kicking motions that can be executed more quickly, reducing the time spent standing at the ball.
We have also developed goal-keeping motions consisting of crouch and dive saves. The goalie is able to re-orient itself in the goal box autonomously after diving or falling.
8 Conclusion
The Snobots have a proven record of performing well at international robotics competitions, and have participated at RoboCup since its inception in 2002.
Building on our recent international successes we are confident that we will improve on our record from RoboCup 2013 in Eindhoven. Our vision-processing algorithms and motions have been tested under competition conditions and our new localisation algorithms will improve our robots' play on the field. Our modified gait will ensure our robots can cross the field quickly and control the ball.
We look forward to the opportunity to test our robots against the competition at RoboCup 2014.
8.1 Commitments
Should our application to compete in RoboCup be accepted we commit to the following:
- We will present a team consisting of three modified DARwIn-OP robots to the competition.
- We will make one team member available to act as a referee and ensure that that member has sufficient knowledge of the rules to carry out these duties adequately.