NeuroTech Adult Size TDP
A N M Moinul Hossain, Munira Hossain, A N M Muntasir Hossain
Abstract This document contains the RoboCup Humanoid League team Neuropac AdultSize robots description. Our team uses self-constructed robots for playing soccer. This paper describes the mechanical and electrical design, Perception of our AdultSize robot.
Introduction
In this document we have described our robot in detail from electrical, programming and mechanical point of view. Currently, at the development stage, it depends on a Laptop for image processing, Decision making and controlling it's motion. But, we are thinking about replacing it with an FPGA based system to reduce weight. As we are using pneumatic system to power the robot, we have faced lot of problems to make the robot working and eventually we have managed to make it stand which we think as a nice achievement. Current design of the structure has restricted us to move the robot without human support. As a private team, we don't have sufficient technical power or a mechanical engineer, So, we had to do it ourselves. But, we hope that within the next several months we would be able to improve it in many ways and it would certainly be a great addition to this year's Robocup.
Mechanical Designs
Our robot used here uses handmade pneumatic muscles as in the figure below. The advantage of this muscle is that, it has greater output to input power ratio than electric actuators and pneumatic cylinders of similar size. We are using pneumatic valves to operate those muscles. These valves can withstand high pressure, so we can operate the robot in high pressure region to achieve higher speed and power as well as flexibility which is vital for soccer. As these valves are quite heavy we are thinking about replacing them with lighter ones. Over the past several months, we have observed that making the muscles similar in size, weight is very difficult to achieve. So, we are trying to think of new ideas to make muscles similar in size, power and gives similar displacement. Two light weight pneumatic pump accompanied by 2 small sir storage cylinders will be used which are small but can supply a large amount of air/min. As a result it makes it suitable to be used in this design. Its height is about 4 feet, weighing about 15 KG, and it will definitely increase in future. It has 21 degrees of freedom. The ankle joint consists of to DOF, knee joint consists of 1 DOF and hip joint consists of 3 DOF. The shoulder region has 2 DOF and elbow joint has 1 DOF. The total voltage that drives all the systems runs on 24 volts. Four 6V batteries are required each weighing 700g. Each joint are supported by 2 bearings. The steels structure is connected via welding.
Electrical Designs
The processing unit used here is a laptop computer weighing almost 3.3 KG. It has 2.3 GHz Core 2 Duo processor with 4GB RAM and GPU Geforce 260 GTX. All the sensors, motors and muscles will be controlled through the PC's USB port. But, the current design uses PC parallel port to communicate to the external circuitry. Several microcontrollers are responsible for distributing the signals obtained from the PC to the actuators. For programming both C and assembly language has been used here. Two stepper motors has been used here for controlling the camera movement. 48 steps are made to complete one revolution as each step makes 7.5 degrees. The robot has a Stereo Vision system to search for obstacles, understanding it's shape and also its distance. It was done by generating a disparity image from rectified images of both the cameras. The total image processing was done with the help of OpenCV. We are planning to partially run the image processing code in GPU in parallel to CPU to increase performance and we are going to do it by using gpuCV. For driving stepper motor and pneumatic solenoid valve ULN 2803 darlington pair transistor driver IC has been used. Microcontroller PIC16F84A has been used to maintain communication between the PC and the actuators. Several Optocoupler was planned to use here as rotational sensor. It will sense amount of motion as well as direction of the motion. But, the current mechanical design doesn't have enough room to house those sensors. To be honest, we'll have to change the current structure as it doesn't fit well to pneumatics.
Perception
Perception of this robot is still under construction. We want to give it human like learning skill. We have already developed a new process in theory which will assist robot to learn very fast. It will react to any change to its sensory system and tries to learn if the same thing happens over and over again. By the term sensory system we not only indicated physical sensors, but also virtual sensors. Virtual sensors are created inside a program and their inputs are the outputs of another part of that program. For example, we can feed the entire pixels of the cameras to the perception system. But, it will require huge computing power and thus impossible for the robot to play. So, we will use several interfacing programs, like image processors, which will process images coming from the cameras and feed the location of the ball or other obstacles to the perception program. The perception program will try to learn those things that happen frequently while it's in learning mode. There is a structural resemblance between human brain and this process is that both of them are parallel processing unit. Unfortunately implementing parallel architecture in conventional processors cannot be done directly, but executing it as an algorithm as a very high speed can solve the problem. Later the architecture may be burned into faster FPGA in parallel with the laptop to increase performance and reduce power consumption.
For visual perception image is captured through the usb port. The image contains 3 color channels RGB. As there is green field with orange ball (here red ball) hence all the pixels with red channel less than 120 will be converted into black and pixel with value in red channel greater than 120 will be turn into white (R G B : 255 255 255) As a result , this slight color correction will result in a white circular ball in a black background. This is ideal for circular hough transformation. After detection of the circle the center is roughly the center of the ball. As a result the ball can be tracked easily by tracking its center.
Again we have used Hough transform with line detection to detect field lines for localization. The main objective of this detection is that, since the robot uses parallel computing for perception and action, to calculate for all the pixels and other inputs a very huge memory and processing power is required, which is unavailable to us. So we have decided to minimize the surrounding environment by detection necessary objects like field, ball, field lines, opponent and own team players by another program and then after calculating their respective Cartesian Co-ordinates and then they will be sent to the parallel processor for further processing and decision making. By diminishing the number of inputs will improve very less amount of processing than normal camera input to the parallel architecture. We have used Opencv computer vision library to perform different image processing especially like circular Hough transform.
Conclusion
Though we haven't achieved much in developing pneumatic systems, but our electrical and image processing system works as per our expectation and we are really happy with that. We wish to achieve similar for pneumatic systems and if we were qualified we are confident that in the next several months we will be able to make a completely working pneumatic robot that will play autonomously in Robocup. We hope that the authority will consider our inadequate TDP and Robot video, since we are trying to bring something new to Robocup and it's vital to have pneumatics to achieve the target to defeat human team in football.
References
- Open Source Computer vision by intel corporation.
- OReilly Learning OpenCV, by Gary Bradski and Adrian Kaehler
- Pneumatic Artificial Muscles: actuators for robotics and automation by Frank Daerden, Dirk Lefeber Vrije Universiteit Brussel, Department of Mechanical Engineering
- PIC16F84A Data Sheet.