The Snobots: Jennifer, Jimmy, and Jeff

Jacky Baltes, Chris Iverach-Brereton, Diana Carrier, John Anderson

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 latest humanoid robots Jennifer, Jimmy, and Jeff. These robots are customised DARwIn-OP model robots; we have written our own image processing and localisation algorithms, 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 FIRA and IRC. This will be our first time using them at RoboCup.

1 Introduction

In recent years high-performance, kid-sized humanoid robots have become increasingly affordable. The Nao and DARwIn-OP robots have both shown themselves to be robust, capable platforms for humanoid robotics competitions and research. Over the past two years the University of Manitoba Snobots have used modified DARwIn-OP robots at FIRA, ICRA, and IRC. This will be our first year using DARwIn-OP robots at RoboCup.

The following section summarises the awards the Snobots have won using our modified DARwIn-OP robots. Section 4 describes the hardware of the Robotis DARwIn-OP robot and our modifications. Section 5 details our vision processing algorithms, while section 6 describes how our robot uses objects in its field of view to localise itself on the field of play. Section 7 describes changes to the robot's stock walking gait and new lateral kicking motions we have implemented. Finally section 8 gives direction for future work and contains our team's commitments should our application to compete be accepted.

2 Previous Awards

Over the past two years the Snobots have won the following awards at competitions using our modified DARwIn-OP robots:

Previous Awards

Year Competition Event Place
2012 ICRA (Minneapolis) DARwIn-OP Humanoid Application Challenge 1st
2012 IRC FIRA Invitational (Seoul) Marathon 3rd
Sprint 3rd
2012 FIRA (Bristol) United Soccer 2nd
Marathon 4th
Weight-Lifting 4th
Sprint 5th
2011 FIRA (Kaohsiung) Marathon 2nd
Obstacle Course 4th
2011 TIROS FIRA Invitational (Taipei) Penalty Kick 1st

3 Team Members

The University of Manitoba Snobots team (formerly UofM Humanoids) 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 2013:

Core Members of the Snobots for 2013

Name Role
Jacky Baltes team leader, hardware
John Anderson robot coordination
Chris Iverach-Brereton motion design, localization
Diana Carrier vision, motion design

4 Hardware Description

Our team will consist of three Robotis DARwIn-OP humanoid robots, modified slightly from their stock configuration. One robot, designated the goalkeeper may be equipped with single-DOF gripper hands to improve its ability to block a shot on goal (research as to the effectiveness of the grippers in this context is ongoing). Each robot will also be equipped with FSR sensors in the feet. Neither of these modifications significantly alters the weight or height of the robot, nor its footprint.

The Robotis DARwIn-OP robot is a humanoid robot with 20-22 degrees of freedom (depending which hands are used) controlled by serial servo motors. These include two in each ankle for frontal and lateral movement of the foot, one in each knee, three at each hip for frontal, lateral, and transversal movement of the leg, three in each arm if the stock arms are used, and two in the head for pan and tilt. Optionally two single-DOF grippers may be installed, brining the total degrees of freedom up to 22.

Each degree of freedom is controlled by a single Robotis MX-28T servo motor, accepting commands via a TTL connection at 1M baud. Each motor contains sensors providing torque, speed, and position data.

The robot is also equipped with the following sensors: FSR sensors in each foot, a three-axis gyroscope in the torso, a three-axis accelerometer in the torso, and a 320x240 resolution colour webcam in the head.

In its stock configuration the robot has a height of 455mm and a mass of 2.8kg. With the grippers installed the robot's mass is increased to approximately 2.9kg.

The MX28T provides a range of motion of 360◦ and operates at 12V. The motors are directly controlled using a Robotis CM730 controller board, using stock firmware.

The robot's main controller board is a FitPC2i, equipped with a single-core Intel Atom CPU running at 1.6GHz with 1GB of RAM. The CM730 is connected via a USB cable, as is the webcam.

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 localization (e.g. white field markings, goal posts).

In order to maximize robustness while maintaining a high framerate our vision-processing algorithm uses horizontal scan-line segmentation to find areas of approximately uniform colour. Once a horizontal segment is found that matches a desired colour a flood-fill is used to fill in the rest of the object. A bounding box is placed around the filled region, and its compactness, average colour, and aspect ratio are used as filters to differentiate noise in the scene from desired objects. The flood-fill algorithm records pixels that have previously been filled, preventing duplication of work.

We have used this algorithm at competitions including FIRA 2012, the ICRA 2012 DARwIn-OP Humanoid Application Challenge, and the IRC 2012 FIRA Invitational Competition. In practice we are able to maintain framerates of 15-25fps, more than sufficient for most humanoid robotics competitions. Relying on colour, aspect ratio, and compactness prevents false positives, and allows the robot to correctly identify objects under dynamic lighting conditions.

6 Localisation and Mapping

The robot uses an internal polar coordinate system to map its surroundings. Vectors to 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 center (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}$$ (1)

$$offset_{cam} = cos(\theta_1) * l_{shin} + cos(\theta_2) * l_{thigh} + cos(\theta_3) * l_{torso} - cos(\theta_{cam}) * l_{face}$$ (2)

$$d_{object} = |tan((y - 120) * 46^{\circ}/420 + \theta_{head}) * height_{cam}| + offset_{cam}$$ (3)

$$\theta_{object} = (x - 160) * 58^{\circ}/320 + pan_{cam}$$ (4)

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.

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.

Fig. 1. The robot identifying goal posts and the ball using our scanline/flood-fill based algorithm.
Fig. 1. The robot identifying goal posts and the ball using our scanline/flood-fill based algorithm.
Fig. 2. The robot's body annotated with the angles used to calculate distances to objects found by the vision algorothm.
Fig. 2. The robot's body annotated with the angles used to calculate distances to objects found by the vision algorothm.

7 Motions and Gait

The DARwIn-OP robots come with factory-configured motions enabling the robot to kick the ball forwards and stand up from prone and supine positions. Additionally the robot's stock gait is able to sustain speeds of approximately 24cm/s. We have added additional motions to allow the robot to kick the ball laterally, and designed a modified sprinting gait capable of speeds up to 35cm/s over short distances.

The addition of lateral kicking motions allows the robot to pass the ball or shoot on goal without needing to re-orient itself. If the robot is only able to kick forwards it must pivot around the ball, slowing down play and allowing other robots the opportunity to steal the ball. Lateral kicking allows our robots to quickly dump the ball directly to the side, giving us the opportunity to shoot on goal before other robots are in position to steal the ball.

The sprint gait allows the robot to cover short distances (1-2m at most) very quickly. This lets our robots cross open areas of the field to intercept a free ball before opposing robots are able to get to it, improving our ability to control the direction of play.

8 Conclusion

We are currently investigating the utility of equipping a dedicated goal-keeper robot with single-DOF grippers to improve its ability to stop an incoming shot by grabbing or trapping the ball and releasing it in a controlled fashion. Should this technique prove effective our goal-keeper will be equipped with such hands, while the other robots on the team will use the standard zero-DOF hands.

The DARwIn-OP platform has shown itself to be a capable robot in competitions in recent years. Our modified robots have placed highly in several international competitions, including FIRA 2011 and FIRA 2012. Our customised vision algorithms provides a robust way of identifying key features and objects on the playing field, and our trigonometry-based range estimation algorithm provides fast localisation. The addition of lateral kicking motions allows our robots to quickly pass or shoot on goal without resorting to lengthy re-positioning around the ball.

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.