Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
Soccer-playing robot runs real-time embedded Linux
(Jan. 21, 2005) Huang Yi

Foreword -- This article by a PhD student at Shanghai JiaoTong University (SJTU) Research Institute of Robotics describes an RTLinux-powered robot that placed fifth in the most recent RoboCup competition. The robot has two color cameras for visual sensing along with a laser range finder (LRF) for goalkeeper location, and a wireless LAN allows communication among the robots on SJTU's team. The robot's embedded operating system is Red Hat Linux enhanced with the RTLinuxPro real-time extension.

Enjoy . . . !



Introduction

The Robot World Cup Soccer Games and Conferences (RoboCup) are a series of competitions and events designed to promote the full integration of AI (artificial intelligence) and robotics research. Robotic soccer provides a good test-bed for evaluating various research, including AI, robotics, image processing, engineering, and multi-agent systems.

The SJTU "JiaoLong" team has participated in a number of soccer competitions, and its robots have performed well. Competitions include the 2002 China Retail Conference (CRC) in Shanghai, China; RoboCup 2003 in Padua, Italy; CRC 2003 in BeiJin, China; RoboCup 2004 in Lisbon, Portugal; and CRC 2004 in GuangZhou, China.

Our Robots

Our robots were constructed at SJTU Research Institute of Robotics as part of a project to build real-time, inexpensive, autonomous robots for the study of multi-robot systems operating under dynamic and uncertain environments. The main idea for designing the whole multi-robot system was to view each robot as an autonomous physical entity capable of intelligently interacting with changing, variable surroundings. The robot must also be physically strong, computationally fast, and behaviorally accurate.

The hardware system consists of a robot vehicle system, sensing system, communication system, and control system.

First-generation design

Figure 1 (below) shows SJTU's first-generation soccer robots, developed in 2002.


Figure 1: First-generation SJTU soccer robots, circa 2002
(Click to enlarge)


Second generation design

Figures 2-6 (below) show the second generation, developed in 2003.






Figures 2-6: Second-generation SJTU soccer robots, from 2002
(Click any image to enlarge)


Third-generation design

Figures 7 and 8 (below) show the third-generation soccer robots, which we developed just months ago.



Figures 7 & 8: Current-model SJTU soccer robots
(Click to enlarge)


Robot vehicle system

The basis of each robot is a differentially driven, DC-powered model car measuring 20 x 20 x 31.5 inches (50 x 50 x 80 cm), and weighing 44 pounds (20kg). The robot can be controlled to move forward and backward, and to turn left and right. To play soccer, we designed a grabber and a kicker, which can be used to move and shoot the ball.

Sensing system

The robot uses two color cameras for visual sensing. One has a USB interface, and is used to see the ball when it is near the robot. The other has an IEEE-1394 interface, and is used to see the goal and the ball when they are far from the robot. We use two cameras to enlarge the field of view, because one camera alone has limited sight. Both cameras are fixed to the robot, and identify the ball and goal by color.

In addition, our robot has a LRF (laser range finder) for goalkeeper location, and two encoders for distance measurement based on internal information.

Communication system

We use a wireless LAN device for communication among our robots. Every robot acts as a node in the LAN, and has a wireless card that can transfer data at 11Mbps.

Control system

The control system consists of an upper computer and a lower computer. The upper computer is a laptop with a 2.4GHz Pentium 4 CPU, 256MB of memory, and a 30GB IBM hard disk. It communicates with the lower computer through a 19.2Kbps serial link, and with the LRF through an IEEE-1394 interface. The upper computer uses RT-Linux for real-time sensor data acquisition and real-time communication. The lower computer, which is based on a Texas Instruments TMS320LF2407A DSP, is dedicated to motion control.


Figure 9: Hardware architecture
(Click to enlarge)

Software architecture

The robot's operating system is Red Hat 9.0 plus RTLinuxPro 2.1 (kernel version: 2.4.25-rtl). Figure 10 shows the software architecture. We use a distributed architecture based on priority.

One robot main control module runs in the RTLinux kernel, and four threads run in the Linux kernel. The four Linux threads work independently, and make a distributed architecture. We use rt-fifo to connect the RTLinux kernel and Linux kernel.


Figure 10: Software architecture
(Click to enlarge)


Each thread has a different priority for sharing system resources. The main robot control module has the highest priority, and the vision threads (thread1 and thread2) have a low priority. The LRF thread has a much lower priority, and Odom thread has lowest priority. If one sensor generates an error, the whole system will not fail.

The tasks of thread1 and thread2 are to drive the camera to take pictures, and to extract information from the current picture. Thread3 extracts information from the LRF. Thread4 gets the odometer information. Then, all information is fused and sent to the robot main control module through rt-fifo.

The robot main control module also has four threads. The perception thread deals with data uploaded by the lower computer and other sensor threads. The environment thread uses available data to build an environment module on a blackboard. The network communication thread is able to let all robot teammates share the information, using the RTLinux component LNet. The decision thread gives instructions according to all the data.



About the author -- Huang Yi is a PhD student at Shanghai JiaoTong University's (SJTU) Research Institute of Robotics.



Related Stories:

(Click here for further information)


7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.

Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.

Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.

Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.

Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.

Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.

Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.

Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

mobile phones!

other cool
gadgets
HOWTOs: from DevShed & IBM DeveloperWorks:



BREAKING NEWS

• Web-based app server ported to tiny ARM9 CPU module
• Linux-ready SDIO controller supports multiple memory cards
• Linux-based touchpanel targets elderly homecare
• Balanced XIP and the AXFS filesystem
• ARM-based controller has StackableUSB expansion
• Intel multi-core threading library supports Sun Studio
• Multi-protocol wireless mesh gateway runs Debian
• Embedded Linux is doomed. DOOOMED!
• Article explores Linux hot-patching utility
• Sun demo's RIA tools on Android
• Panel PCs support PoE, Linux
• New Palms on horizon?
• Embedded track added to Linux conference
• Ubuntu ported to a PDA
• Linux-friendly SBC hosts dual quad-core Xeons


Most popular stories -- past 30 days:
• Ubuntu ported to ARM
• Linux still top embedded OS
• Linux gains new architecture support
• Linux 2.6.25 release bolsters ARM
• Linux-based diskless notebook costs under $300
• Low-cost MP3 player gains fancy Linux port
• Dutch UMPC runs Ubuntu Linux
• Mini-notebook boasts Linux, near-fullsize keyboard
• PC/104 module runs x86 Linux on 1.85 Watts
• Low-cost Linux-based NAS device supports RAID 1
• Free router distro gains wild WiFi features


Linux-Watch headlines:
• Running a small business on desktop Linux
• Sun launches OpenSolaris
• Via tiptoes toward openness
• Linux certification comes to Italy
• Installing Ubuntu Hardy Heron as a web hosting server
• Black Duck Buys Koders
• Open source conference co-locates with Ubuntu show
• Ubuntu 8.04 ready to challenge Windows
• KDE Linux reaches 52 million Brazilian kids
• Free x86-based Linux router distro rev'd


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 
Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.