Computer Engineering Department
Robotics Laboratory
Watch the Robocup 2007 Germany-Japan Game
Group of Interest on Robocup (GIR)
RoboCup is an international joint project to foster AI and intelligent robotics research by providing a standard problem. The ultimate goal of RoboCup is to develop by 2050 a team of fully autonomous humanoid robots that can win against the human world champion team in soccer. This idea will promote advancing human knowledge about autonomous robotics and will culminate by an intelligent robot that will assist human in many aspect of life. The educational approach is estimated to be one of the most effective because it teaches sophisticated robotic intelligence design through the programming of a robotic game, e.g. teaching by playing.
Group Targets (Senior Design projects and Master theses):
Who are the members of the GIR
Any individual (faculty, students, engineer or other) who is interested in Robocup and willing to participate and contribute to it
How to become a member of the GIR
Send email to Prof. Mayez Al-Mouhamed at mayez@ccse.kfupm.edu.sa expressing your intention to participate and contribute to GIR.
How the GIR is working
Project Description
Project-1: Design of a library of motion functions for a humanoid robot for Soccer game.
Background: Humanoid robots are enjoying increasing popularity as a research tool and education tool. The ultimate goal of the international RoboCup Initiative is to build a humanoid soccer team which beats a human World Cup Champion team in 2050. Despite impressive achievements of some teams, the overall performance of the soccer playing humanoids is still far from perfect. The robots sometimes show instability while walking, fails to kick the ball or defend against shots not taken. In this project a geometrical model for the walking legs of the Kondo KHR-1 humanoid robot is developed. The model allows establishing the relationships between a set of function walking motion controls and that of the leg controlled angles. Furthermore, the project used the German team SimRobot to program the soccer scene and for the analysis of Kondo walking motion. A 3D model as part of the SimRobot controller has been develped. A set of synthesized walking motions were designed. The result is a library of motions which are: 1) Walking Forward 2) Walking Backwards 3) Step right/left 4) Turn right/left 5) Swat right/left 6) Kick right/left 7) Bow 8) Push-ups. The library is useful to facilitate soccer behavior programming for preparing the students to the RoboCup competition.
The Kondo KHR-1 is humanoid robot having 19 degrees of freedom (dof) in its legs (each is 6), arms (each is 3), and head (one). The Kondo has a micro-controller allowing the servo control of all of its 19 dofs. The Kondo Controller has a Serial Interface (RS232C) with a PC from where a user interface is provided. The Kondo is provided with a user interface (heart-to-heart or HTH) allowing programming the configuration of all of its 19 dofs by setting the value of the motor angles in a specific table, then it allows sending the values to the Kondo using the above serial communication. The HTH carries out serial communication based on a USB port with the Kondo using some unknown protocol. To control the walking motion of Kondo during a soccer game we need a program (robocup behavior programming) to command the walking/kicking for the Kondo.
Description: designing of a library of motion functions allowing the Kondo to walk using its left and right legs, moving forward and backward, turning its body while walking, and kicking a ball towards the goal. The tasks are:
- Step-1: Review the Kondo mechanics, assembly, user manual, and get familiar with the provided servo interface (described above).
- Step-1: can program a specific motion by sequencing (time) a series of angle configurations that are required to generate desired motion. Identify the communication functions between HTH and Kondo and develop a program to carry out the above communication.
- Step-3: Program a library of motion functions allowing the Kondo to (1) walk using its left and right legs, (2) moving forward and backward, (3) turning its body while walking, and (4) kicking a ball towards the goal. It is clear that some variant of the above might be needed.
- Step-4: Testing the above a library of motion functions and tuning of the above functions to improve performance. Some evaluation is also needed regarding the duration of each motion and its reliability.
Outcomes: project completed by Student Ahmad Abu-Arafah in 2009
Project-2 (Master Thesis in Computer Engineering): Design and Evaluation of a Reliable P2P Communication Protocol for IEEE 802.11b Networks
In highly dynamic environments like Rescue missions or RoboCup each robot acts like a Peer. The communications between multiple robots is performed by broadcasting the data to its team mate called an Auction. If we use IEEE 802.11b in these kind of networks it makes the Auctions unreliable. Our problem is to make this Auctions reliable by using IEEE 802.11b standard. The Mac layer of the IEEE 802.11b as it is already, been implemented. The Reliability we can add is at the Application layer in IEEE 802.11b networks.The currently available techniques are based on client-server model. All communications are carried out via TCP-Increased Time delays. Our problem is to design and evaluate a Peer to Peer Communication Protocol that should be reliable and efficient in terms of broadcasting the data in IEEE 802.11b Ad-hoc WLAN. The research proposal in on the design and implementation of UDP P2P Reliable Broadcast with Token Passing protocol and UDP P2P Reliable Distributed Broadcast protocol for Ad-hoc WLAN. We presented statistical data for assessing the degree of reliability of the proposed protocols altogether with overall auctioning times.
Outcomes: MSC completed by Student Irfan Khan in 2011
Project-3 (Senior Design Project COE 485): Design of a Humanoid Robot Behavior Programm for Player Soccer.
Description: In the RoboCup Humanoid League, humanoid soccer robots have a humanlike body plan to compete with each other. The robots must have two legs, two arms, a head, and a trunk. The fully autonomous humanoid robots must be able to walk on two legs. The project is on the design and implementation of the Behavior Programming (BP) for a humanoid robot for player soccer. The behavior control software is based on a framework that supports a hierarchy of reactive behaviors. It is structured both as an agent hierarchy (joint – body part – player – team) and as a time hierarchy. The speed of sensors, behaviors, and actuators decreases when moving up in the hierarchy. The lowest levels of this framework contain position control of individual joints and kinematic interfaces for body parts. At the next level, basic skills like omni-directional walking, kicking, and getting-up behaviors are implemented. The BP is to be written in any programming language. The design will inspire from current RoboCup competitions for the level of intelligence needed. BP will be tested testing against a pre-defined set of scenarios. The results can be integrated with the above project for building a KFUPM Humanoid soccer Robot.
Pre-requisite: Be interested in RoboCup and robotics + Experience with C or Java programming.
Project-3 (Senior Design Project COE 485): Design of Monte-Carlo Self-Localization Algorithm for Humanoid Robot Playing Soccer.
Description: The objective of the robot vision system (VS) is to be able to self-localize (SL) the robot within the soccer field. For this VS must first be able to detect a number of percepts, each characterize one specific features of the soccer field. These features are the field lines and field circle, the beacons on the edges of the field, the other robots playing which appear in the field, the opponent goal and its own goal. Each vision percept is specialized in the detection of one of above features. to optimize the search without visiting all pixel in the image, we need to invoke the specific percept-procedure based on early detection of a color of a shape. Thus the image scanning strategy consists of identifying the robot horizon line because all objects are located below the above line. Pruning of the image area is also done by identifying the horizon line and limit the search only to the area below the horizon line. Each VS phase will be able to detect a subset of features. Now the project is to develop a Monte-Carlo Self-Localization (MCSL) Algorithm which allows identifying the position of the robot within the scene. MCSL is aprobabilistic approach that uses the information for the above perceptors and a vision model of the scene to estimate the closest robot pose, e.g. the robot position within the soccer field. The project can be implemented on a PC with a camera and a soccer field meeting the RobCup specification. Testing will be carried out by placing the camera in known field locations and checking the estimation provided by the perceptor and the MCSL algorithm.
Pre-requisite: Be interested in RoboCup and robotics + Experience with C or Java programming.
Project-4 (Senior Design Project COE 485): Developing an embedded computing system (ECS) for Vision and Behavior Programming for Robocup.
Background: developing a platform integrating an embedded computing system (ECS) with a color camera to be attached on the Kondo KHR-1 humanoid. The ECS must have a high level programming tool allowing developing user programs and downloading on the ECS. In addition, the ECS must be capable of grabbing no less that 10 frame per second. The ECS must have some processing capability making it possible to embed the Vision System and the Robocup Behavior Programming and them concurrently with a decent refreshing rate of no less than 5 iterations per second. The Kondo KHR-1 is humanoid robot having 19 degrees of freedom which are controlled using a micro-controller allowing the servo control of all of its 19 dofs. The Kondo Controller has a Serial Interface (RS232C) with a PC from where a user interface (heart-to-heart or HTH) is provided. HTH allows programming the configuration of all of its 19 dofs by setting the value of the motor angles in a specific table, then it allows sending the values to the Kondo using the above serial communication. The HTH carries out serial communication based on a USB port with the Kondo using some unknown protocol. The ECS must be able to communicate with Kondo using Kondo communication protocol (HTH) which is to be found in Task-1.
Description: Developing an embedded computing system (ECS) for Vision and Behavior Programming for Robocup:
- Step-1: Review some well known ECS and test their ability to communicate with a Laptop (preferably using wireless communication for downloading programs) and interfacing with the Kondo KHR-1 as to emulate the motion generation which is currently done using the Heart-to-heart interface.
- Step-2: Evaluate the selected ECS and to test its ability to grab images from some low resolution miniature cameras. Examine the overall power consumption of the ECS under heavy video grabbing. Determine the video frame rate and the available computing power of the ECS vs grabbing tasks because the ECS will be intended to be used for vision processing and behavior programming. For this its available computing power is very important in the selection of the solution ECS.
- Step-3: Program a simple image grabbing and ball detection so that a motion command can be generated to the kondo. The command is to have the kondo walking toward the detected ball facing the goal and carry out a ball kicking.
- Step-4: Examine embedding the ECS on the Kondo with its own power supplies and testing its ability to carry out the task described above.
Pre-requisite: Be interested in RoboCup and robotics + Experience with C or Java programming.
Awards Received for Contributions in Robotics
Patents in Robotics
Research outcomes in the area of Robotics:
Journal Publications in Robotics:
Conference Publications in Robotics:
M. A. Al-Mouhamed, I. A. Khan, and S. N. Firdous, A Reliable Peer-to-Peer Protocol for Mobile Ad-Hoc Wireless Networks, submitted to the 9th ACS/IEEE International Conference on Computer Systems and Applications (AICCSA-2011), 2011.