Locomotion
Locomotion is one of the key factors to enable the robot to accomplish its tasks in a timely and reliable matter. There are different types of locomotion ranging from the differential drive to more interesting methods such as the holonomic omni-wheel construction.The Handyboard controller uses Pulse Width Modulation (PWM) to command the motors while most of the parts used come from the lego kit. Lego uses high RPM DC motors that needs to be geared down to allow for higher torque. In additon it is advantageous to keep the frictional loss of the drive train low to save power. We strive for speed in the range of 2m/sec for greater control and maneuverability of the robot as the robot can only move intelligently as fast as its sensors will permit.
The system for locomotion should be reliable as well as flexible since there may be many things that other parts of the design might demand that may arise at a later time.
Manipulation
The most important (and possibly the longest) aspect in the robot’s design process of the search and rescue task is to find a way to reliably pick the victims up. The manipulation implementations can involve a claw or hand-like opposable thumb gripper, while there are also other novel designs such as lifting two victims at once or sliding the victim on a ramp of some sorts. For ease of identification, the victims are small bright green dolls.
For the most part the design of the manipulation system will be centered largely on the characteristics of the victims that are to be picked up. However, this in itself can be difficult because the victims are very good examples of subjects you might find in a very imperfect world. None of them are the same size or shape on average and they can change depending upon their degradation of their material and the small fabric strings that often can get stuck on various parts of the robot.
In addition to these problems there is also the question of orientation since the victims are asymmetrical and most of the robots have only a couple of different pick-up approaches that work reliably, thus putting more of a burden on the software design, sensor readings, and manipulator flexibility in the case that something must be changed to pick up the victims more reliably.
Finally, since this is a search and rescue mission it is paramount not to cause any more harm to the victims and thus each manipulation of the victim must be gentle and controlled. Thus, manipulation can be hard to accomplish reliably but with extra system redundancy and testing most manipulation systems can be made to work quite well in addition to being reliable and robust.
- Interesting Implementations:
Localization
In the arena since there are no real markings that the robot can understand as to where the hospital is the robot must find its way to the goal using (usually) a couple simple sensors to determine where in the arena it is currently located. As it sounds localization is the process by which the robot determines where it thinks it might be within the space that it has been provided (previously in this case by the programmer).The most common way to do proper and accurate localization for the given arena in this scenario is to use a sonar to sound out the distance to each end of the enclosure and then determine when it is in the 2-d plane. However this can cause problems if another robot is in the way of the sonar in addition to the task of the robot being able to orient itself in the same direction to take sonar readings each time it needs to localize. This last problem is solved by using a compass (fluxgate in our case) to line up to the direction it needs to be for localization.
Although there can be still a few problems with this setup (such as a robot triggering the sonar and the other robot thinking it saw a wall). Even with these obstacles in doing accurate localization it can still be done quite reliably by making use of special behaviors that the robot can be programmed to have (such as follwing the walls only, or color testing to see that it is in fact another robot or really the wall). Overall, localization is another key part to the robots successful performance and although can be complicated at first there are usually a few simplifications that can be made for the robot to perform its tasks optimally.
The robot may also find home using compass to direct itself home and use the camera to estimate the distance to the wall by calibrating for the coordinate of the top of the wall at predetermined distance.
Cooperation
In the real world there are many operations that may require the help of others in order to get the job finished correctly or in some cases faster. For this contest there is only one that requires communication: pushing a small box into the corner. Although the box is small it still cannot be pushed reliably by one robot and thus must require the help of the other robot to finish the task.In the initial victim pick up stage both of the robots can be considered to be cooperating in a merely coexisting environment meaning that they avoid one another and generally try to stay out of the way of the other with no intentional communication or assistance to each other, stigmergy (observing what the other robot is doing to determine what you should do) included.
After the robots have finished with all of the successful victim pick-ups (hopefully) then they will converge on the box to push it into the corner that it is facing. Once at the box the robots will need to push at the same time and the same speed to ensure that the box will go properly into the corner. To time their starting point in time they must use some form of communication in order to start at the right time.
The most common way of robot communication is using Infrared (IR) transmitter and receiver to communicate and coordinate on the box pushing. Other ways of communication, such as radio have been suggested but not implemented fully in our environment as an alternative to the rather short range of the IR systems.
