“Robocup” Soccer: Robot Designs Compete in Soccer Matches

Roboticists and soccer fans from around the world converged on Eindhoven, The Netherlands, from April 25–29 for the Roboup Dutch Open. The event was an interesting combination of sports and electronics engineering.

Soccer action at the Robocup Dutch Open

Since I have dozens of colleagues based in The Netherlands, I decided to see if someone would provide event coverage for our readers and members. Fortunately, TechtheFuture.com’s Tessel Rensenbrink was available and willing to cover the event. She reports:

Attending the Robocup Dutch Open is like taking a peek into the future. Teams of fully autonomous robots compete with each other in a soccer game. The matches are as engaging as watching humans compete in sports and the teams even display particular characteristics. The German bots suck at penalties and the Iranian bots are a rough bunch frequently body checking their opponents.

The Dutch Open was held in Eindhoven, The Netherlands from the 25th to the 29th of April. It is part of Robocup, a worldwide educational initiative aiming to promote robotics and artificial intelligence research. The soccer tournaments serve as a test bed for developments in robotics and help raise the interest of the general public. All new discoveries and techniques are shared across the teams to support rapid development.
The ultimate goal is to have a fully autonomous humanoid robot soccer team defeat the winner of the World Cup of Human Soccer in 2050.

Attending the Robocup Dutch Open is like taking a peek into the future. Teams of fully autonomous robots compete with each other in a soccer game. The matches are as engaging as watching humans compete in sports and the teams even display particular characteristics. The German bots suck at penalties and the Iranian bots are a rough bunch frequently body checking their opponents.

The Dutch Open was held in Eindhoven, The Netherlands from the 25th to the 29th of April. It is part of Robocup, a worldwide educational initiative aiming to promote robotics and artificial intelligence research. The soccer tournaments serve as a test bed for developments in robotics and help raise the interest of the general public. All new discoveries and techniques are shared across the teams to support rapid development.
The ultimate goal is to have a fully autonomous humanoid robot soccer team defeat the winner of the World Cup of Human Soccer in 2050.

In Eindhoven the competition was between teams from the Middle Size Robot League. The bots are 80 cm (2.6 ft) high, 50 cm (1.6 ft) in diameter and move around on wheels. They have an arm with little wheels to control the ball and a kicker to shoot. Because the hardware is mostly standardized the development teams have to make the difference with the software.

Once the game starts the developers aren’t allowed to aid or moderate the robots. Therefore the bots are equipped with all the hardware they need to play soccer autonomously. They’re mounted with a camera and a laser scanner to locate the ball and determine the distance. A Wi-Fi network allows the team members to communicate with each other and determine the strategy.

The game is played on a field similar to a scaled human soccer field. Playing time is limited to two halves of 15 minutes each. The teams consist of five players. If a robot does not function properly it may be taken of the field for a reset while the game continues. There is a human referee who’s decisions are communicated to the bots over the Wi-Fi network.

The Dutch Open finals were between home team TechUnited and MRL from Iran. The Dutch bots scored their first goal within minutes of the start of the game to the excitement of the predominantly orange-clad audience. Shortly thereafter a TechUnited bot went renegade and had to be taken out of the field for a reset. But even with a bot less the Dutchies scored again. When the team increased their lead to 3 – 0 the match seemed all but won. But in the second half MRL came back strong and had everyone on the edge of their seats by scoring two goals.

When the referee signaled the end of the game, the score was 3-2 for TechUnited. By winning the tournament the Dutch have established themselves as a favorite for the World Cup held in Mexico in June. Maybe, just maybe, the Dutch will finally bring home a Soccer World Cup trophy.

The following video shows a match between The Netherlands and Iran. The Netherlands won 2-1.

TechTheFuture.com is part of the Elektor group. 

 

Robot Design with Microsoft Kinect, RDS 4, & Parallax’s Eddie

Microsoft announced on March 8 the availability of Robotics Developer Studio 4 (RDS 4) software for robotics applications. RDS 4 was designed to work with the Kinect for Windows SDK. To demonstrate the capabilities of RDS 4, the Microsoft robotics team built the Follow Me Robot with a Parallax Eddie robot, laptop running Windows 7, and the Kinect.

In the following short video, Microsoft software developer Harsha Kikkeri demonstrates Follow Me Robot.

Circuit Cellar readers are already experimenting Kinect and developing embedded system to work with it n interesting ways. In an upcoming article about a Kinect-based project, designer Miguel Sanchez describes a interesting Kinect-based 3-D imaging system.

Sanchez writes:

My project started as a simple enterprise that later became a bit more challenging. The idea of capturing the silhouette of an individual standing in front of the Kinect was based on isolating those points that are between two distance thresholds from the camera. As depth image already provides the distance measurement, all the pixels of the subject will be between a range of distances, while other objects in the scene will be outside of this small range. But I wanted to have just the contour line of a person and not all the pixels that belong to that person’s body. OpenCV is a powerful computer vision library. I used it for my project because of function blobs. This function extracts the contour of the different isolated objects of a scene. As my image would only contain one object—the person standing in front of the camera—function blobs would return the exact list of coordinates of the contour of the person, which was what I needed. Please note that this function is a heavy image processing made easy for the user. It provides not just one, but a list of all the different objects that have been detected in the image. It can also specify is holes inside a blob are permitted. It can also specify the minimum and maximum areas of detected blobs. But for my project, I am only interested in detecting the biggest blob returned, which will be the one with index zero, as they are stored in decreasing order of blob area in the array returned by the blobs function.

Though it is not a fault of blobs function, I quickly realized that I was getting more detail than I needed and that there was a bit of noise in the edges of the contour. Filtering out on a bit map can be easily accomplished with a blur function, but smoothing out a contour did not sound so obvious to me.

A contour line can be simplified by removing certain points. A clever algorithm can do this by removing those points that are close enough to the overall contour line. One of these algorithms is the Douglas-Peucker recursive contour simplification algorithm. The algorithm starts with the two endpoints and it accepts one point in between whose orthogonal distance from the line connecting the two first points is larger than a given threshold. Only the point with the largest distance is selected (or none if the threshold is not met). The process is repeated recursively, as new points are added, to create the list of accepted points (those that are contributing the most to the general contour given a user-provided threshold). The larger the threshold, the rougher the resulting contour will be.

By simplifying a contour, now human silhouettes look better and noise is gone, but they look a bit synthetic. The last step I did was to perform a cubic-spline interpolation so contour becomes a set of curves between the different original points of the simplified contour. It seems a bit twisted to simplify first to later add back more points because of the spline interpolation, but this way it creates a more visually pleasant and curvy result, which was my goal.

 

(Source: Miguel Sanchez)
(Source: Miguel Sanchez)

The nearby images show aspects of the process Sanchez describes in his article, where an offset between the human figure and the drawn silhouette is apparent.

The entire article is slated to appear in the June or July edition of Circuit Cellar.

Aerial Robot Demonstration Wows at TEDTalk

In a TEDTalk Thursday, engineer Vijay Kumar presented an exciting innovation in the field of unmanned aerial vehicle (UAV) technology. He detailed how a team of UPenn engineers retrofitted compact aerial robots with embedded technologies that enable them to swarm and operate as a team to take on a variety of remarkable tasks. A swarm can complete construction projects, orchestrate a nine-instrument piece of music, and much more.

The 0.1-lb aerial robot Kumar presented on stage—built by UPenn students Alex Kushleyev and Daniel Mellinger—consumed approximately 15 W, he said. The 8-inch design—which can operate outdoors or indoors without GPS—featured onboard accelerometers, gyros, and processors.

“An on-board processor essentially looks at what motions need to be executed, and combines these motions, and figures out what commands to send to the motors 600 times a second,” Kumar said.

Watch the video for the entire talk and demonstration. Nine aerial robots play six instruments at the 14:49 minute mark.

Issue 260: Creativity in Design

The seed for the interview with Hanno Sander on page 16 (Circuit Cellar March 2012) was sown at the 2008 Embedded Systems Conference in San Jose, CA. Hanno was at the Parallax booth demonstrating his “Dancebot,” which is a Propeller-based, two-wheeled balancing robot he wrote about in Circuit Cellar 224 (March 2009).

Balancing robot design (Source: Hanno Sander CC260)

Since Circuit Cellar is scheduled to publish Hanno’s book Advanced Control Robotics later this year, it made sense to interview him for our annual Robotics issue. As you’ll learn, Hanno is an enthusiastic designer whose intellect and passion for engineering have enabled him to travel the world and make electronics innovation his life’s work. His story should be an inspiration to everyone who reads this magazine.

After you finish the interview, check out the two robotics-related articles featured in this issue.

Square playing field (Source: Larry Foltzer CC260)

First, on page 20, Larry Foltzer tackles the topic of robot navigation with a fascinating article about position determination and acoustic delay triangulation. Next, turn to the back of the issue for Jeff Bachiochi’s article, “Wheel-Free Mobile Robots” (p. 64). Jeff takes you inside a Freescale FSLBOT mechatronics robot. Study the concepts he covers to prepare yourself for your next mobile robot design.

The rest of the issue includes a variety of articles on creative designs and essential engineering topics. I’m sure you’ll agree that the following articles are just as inspirational as they are informative.

Engineer and video game enthusiast Chris Cantrell explains how he built a Propeller-based TV gaming platform (p. 28). He describes how he hacked a joystick and got the classic Space Invaders video game up and running.

Propeller-based gaming platform (Source: Chris Cantrell CC260)

On page 36, Charles Edmondson presents his Rainbow Color Reader. The compact design can identify and announce colors for visually impaired users.

In the February issue, Alexander Pozhitkov introduced the NakedCPU project. This month he wraps up the article series by describing actual experiments and sets the foundation for future research (p. 42).

On page 50, George Novacek helps you prepare for the inevitable: microelectronic component obsolescence. You’ll find his tips invaluable as you move on to new projects.

Interested in the topic of thermal detection? Want to know how IR thermal sensing works? Turn to Richard Wotiz’s article on page 54.

On page 60, columnist George Martin provides his next engineering lesson learned from a real-world project. This month he covers the topic of working with—or without?—printer port connections.

I’d like to wrap up with a note to our staff and long-time readers. This is the 260th issue of Circuit Cellar. That’s quite an achievement! Thank you, colleagues, friends, and readers!

Circuit Cellar Issue 260 March 2012

Interview: Hanno Sander on Robotics

I met Hanno Sander in 2008 at the Embedded Systems Conference in San Jose, CA. At the time, Hanno was at the Parallax booth demonstrating a Propeller-based, two-wheeled balancing robot. Several months later, we published an article he wrote about the project in issue March 2009. Today, Hanno runs HannoWare and works with school systems to improve youth education by focusing technological innovation in classrooms.

Hanno Sander at Work

The March issue of Circuit Cellar, which will hit newsstands soon, features an in-depth interview with Hanno. It’s an inspirational story for experienced and novice roboticists alike.

Hanno Sander's Turing maching debugged with ViewPort

Here’s an excerpt from the interview:

HannoWare is my attempt to share my hobbies with others while keeping my kids fed and wife happy. It started with me simply selling software online but is now a business developing and selling software, hardware, and courseware directly and through distributors. I get a kick out of collaborating with top engineers on our projects and love hearing from customers about their success.

Our first product was the ViewPort development environment for the Parallax Propeller, which features both traditional tools like line-by-line stepping and breakpoints as well as real-time graphs of variables and pin I/O states to help developers debug their firmware. ViewPort has been used for applications ranging from creating a hobby Turing machine to calibrating a resolver for a 6-MW motor. 12Blocks is a visual programming language for hobby microcontrollers.

The drag-n-drop style of programming with customizable blocks makes it ideal for novice programmers. Like ViewPort, 12Blocks uses rich graphics to help programmers understand what’s going on inside the processor.

The ability to view and edit the underlying sourcecode simplifies transition to text languages like BASIC and C when appropriate. TBot is the result of an Internetonly collaboration with Chad George, a very talented roboticist. Our goal for the robot was to excel at typical robot challenges in its stock configuration while also allowing users to customize the platform to their needs. A full set of sensors and actuators accomplish the former while the metal frame, expansion ports, and software libraries satisfy the latter.

Click here to read the entire interview.