| 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)
|
|
|
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
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.
|
|
|
|
|