Contributed by: Hans Permana (view his profile)
Hans Permana is a PhD Candidate at RMIT University.
HardwareWith the advancement of sensor technologies, there is a rapid increase of autonomous robot development. Nowadays we have witnessed more and more varieties on robot competition, from a soccer robot, sumo robot, to the big one, driver-less car. They all work with robotic system principle utilising cutting edge sensor technologies and are supported with the most sophisticated algorithm on the controlling unit. Let’s take a few steps back to understand the basic idea behind this amazing technology.
A very simple autonomous robot consists of three hardware parts:
The sensor will emit an infrared signal to a certain direction and then waiting for the signal to bounce back when there is an obstacle or a wall. The time for the signal to travel and back is used to determine the actual distance with the known speed of infrared signal (3×10^8 m/s). For this purpose there are other alternatives such as radar, laser rangefinder, sonar, or ultrasonic sensor. However, for the sake of simplicity, let us stick with the infrared sensor in this article. The sensor configuration of the robot is based on Khepera II robot (K-team, Switzerland) and there are 8 sensors attached to the robot in this configuration.
Yes, this is the main force the movement of the robot. The motors are connected to the wheel, normally made of rubber, to be in direct contact with the ground. The number of possible manoeuvres on the robot is determined by the number of motors integrated into the system. Two wheels configuration is one of the most popular configurations that allow enough degree of freedom to the robot.
More detail about each method including its advantages and disadvantages will be discussed on another article. Typically several development environments are supported for programming the code, spanning from C, python, MATLAB®, or LabVIEW®.This part is the brain of the system. All algorithms that have been designed are implemented in this part in the form of programming codes to control the robot behaviour. There are several methods on how the codes are loaded into the microcontroller chip: real time wired data transfer, preloaded data transfer, and also preloaded wireless data transfer.
The following flow chart demonstrates a simple operation of a robot such that it roams around a room in clockwise direction and avoids any obstacles that lie in the robot’s way.
After the robot found the wall, if it cannot find any wall or obstacle for any reason, for example the robot is being put in the centre of the arena by force, it will then move in anticlockwise direction for a certain time then move forward in straight line until it finds the wall or obstacle. Similarly, if the robot encounters an obstacle in the centre of the arena, it will move around the obstacle for a certain time and then leave and move towards the wall again.At the beginning of the program, the robot will move in a straight line until it finds the wall or any obstacle. Once the wall has been found, the robot will then move along the wall in clockwise direction. If it encounters any obstacle along the wall, it will then move around avoiding the obstacle and continue moving in clockwise direction along the wall.
The process continues until any keyboard key is pressed, which will terminate the program. The following image shows the approximate robot’s path inside the room.
This is a simple operation and very suitable for people who have just started learning computer robotic. However, this task still provides a useful idea on a more sophisticated robot program in terms of navigating the room and avoiding any objects nearby.
Some interesting ideas that can be implemented as a next step of this task include an automatic selection of clockwise or anti-clockwise movement depending on the first wall that the robot hits or creating a map based on the path that the robot has passed as well as the obstacles that it has encountered. After all, there are countless things that you can do with your robot up to your imagination. Happy experimenting!mechatronics, robotics