The Snobots Jimmy, Jennifer, Jeff, and José

Jacky Baltes, Chris Iverach-Brereton, Amirhossein Hosseinmeimar, Brittany Postnikoff, Jason Martin

Autonomous Agents Lab c/o Department of Computer Science University of Manitoba Winnipeg, Manitoba R3T 2N2 Canada

http://aalab.cs.umanitoba.ca


Abstract This paper describes our current kid-sized humanoid robot football team, consisting of four DARwIn-OP robots: Jimmy, Jennifer, Jeff, and José. Mechanically our robots are standard DARwIn-OP models modified to include gripper hands and FSR sensors in the feet. On this platform we have implemented heavily-customised algorithms for vision-processing, localisation, and path-planning. We have competed with these robots at RoboCup 2013 in Eindhoven and 2014 in João Pessoa. In both 2013 and 2014 we placed third in the Technical Challenge.

1 Introduction

Since 2002 the University of Manitoba has been a regular competitor at RoboCup, winning third place in the kid-sized technical challenge in 2013 and 2014, and advancing to the second round of the competition in 2013 with a record of 2 wins, 3 losses and 1 draw.

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 using our DARwIn-OP robots.

Recent competition appearances and awards

Year Competition Event Place
2014 RoboCup (João Pessoa) Technical Challenge 3rd
2013 RoboCup (Eindhoven) Kid-Size Humanoid League Advanced to second round
Technical Challenge 3rd
2013 ICRA (Karlsruhe) DARwIn-OP Humanoid Finalist
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 Espínola 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 2015:

Core team members

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
Andrew Winton MSc studnet
Amirhossein Hosseinmemar PhD student
Brittany Postnikoff Undergraduate student
Jason Martin Undergraduate student
Kiral Poon 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 to assist in stopping the ball and returning the ball to play. 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.

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).

Our primary vision-processing algorithm consists of a scan-line/flood-fill algorithm we have developed for use in previous competitions (including RoboCup 2013-14 and FIRA 2012-14). The algorithm uses the following process to identify coloured objects of interest in the scene:

  1. Using horizontal scan-line segmentation we look for regions of uniform colour. If the region is a colour of interest (defined by colour calibration before each match) then we proceed to the next step.
  2. Using the average colour of the scan-line region we flood-fill that region of the image using a 4-connected flood-fill algorithm. All adjacent pixels within a pre-defined threshold of the average colour of the scan-line region are coloured in.
  3. Statistics including aspect ratio, compactness, and average colour of the flood-filled region are collected and compared to profiles of expected objects in the scene (e.g. ball, goal posts, player uniforms). If the profile of the object in the scene matches a known object it is added to a polar map of objects around the robot. Otherwise the object is discarded as noise.

In practice this algorithm yields a framerate varying between 15 and 25 frames per second (depending on lighting conditions and the number of objects of interest in the scene). Because the algorithm relies primarily on the average colour of the detected regions and not on hard thresholds the colour detection is adaptable enough to handle dynamic changes in lighting without re-calibration.

The robot identifying objects using our scanline/flood-fill based algorithm.
The robot identifying objects using our scanline/flood-fill based algorithm.

6 Localisation and Mapping

Our robots' primary method of localisation is based on the well-known particle filter technique. By maintaining a polar map of objects detected around the robot – including fixed objects such as goal posts and field lines – we can use the particle filter to estimate the robot's real-world position and orientation on the field.

Using the vision-processing algorithm described in section 5 we maintain a polar map of objects around the robot. Objects currently in view are assigned a high confidence, while objects that were recently seen but presently occluded or moved have decaying confidence associated with their position.

The polar coordinates to an observed object are determined using simple trigonometry using forward-kinematics equations to determine the height and angle of the camera. Figure 2 shows how we use the camera's height and downward inclination to calculate the range and angle to an observed object.

The robot's body annotated with the angles used to calculate distances to objects found by the vision algorithm.
The robot's body annotated with the angles used to calculate distances to objects found by the vision algorithm.

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:

  1. The ground beneath the robot is horizontal.
  2. The object is on the ground (i.e. not floating in the air, nor sunken into the ground).
  3. 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.

We use the objects on the polar map and their associated confidences as inputs to a 100-point particle filter. The particle filter is given a map of the soccer field (including the locations of field lines, goal posts, and some large background objects around the field. This map is augmented with data from the other robots on our team; each robot broadcasts objects it sees and its approximate position on the field. This adds additional lower-confidence reference points to the map to assist in localisation. Using this map we calculate the probability that the robot is at each of the 100 points, using these probabilities to determine the likeliest position and orientation of the robot on the field.

In order to minimise the number of robot-robot collisions this year we have improved our path-planning algorithms to actively avoid colliding with other robots by looking for the mandated cyan or magenta uniforms.

7 Motions and Gait

Over the last three years we have continually improved our robot's motions and gait to improve their performance on the soccer field. We can sustain a walking speed of approximately 25cm/s when turning, and can sprint in a straight line at speeds of up to 40cm/s. In addition to omni-walk software we have omnidirectional kicking motions including hard and soft kicks forward and laterally. Research is ongoing into replacing our current pre-programmed kicking motions with fully-dynamic kicks based on inverse-kinematics.

We have also developed goal-tending software, allowing one of our robots to actively defend the goal. The goalie is able to autonomously re-orient itself after a dive by tracking the white field lines around it. Research is ongoing to allow the goalie to advance from the goal line and play more active defence (e.g. kicking the ball down-field when no opposing robots are nearby).

8 Conclusion

Over the last several years the Snobots have proven themselves and several international competitions. Our vision and motion-control algorithms have been used under competition conditions since 2012, and have been under continual improvement. Our recent improvements to localisation will ensure our robots provide robust competition at RoboCup 2015.

8.1 Commitments

Should our application to compete in RoboCup be accepted we commit to the following:

  • We will present a team consisting of four 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.