An Autonomous 30 DoF Humanoid with Vision Based Obstacle Avoidance
Roger Starnesand Martin Smith
Technology Innovation Centre, University of Central England,
Millennium Point, Curzon Street, Birmingham, B4 7XG United Kingdom.
Email:email@example.com. Phone: +44 (0)121 331 7488. Fax: +44(0)121 331 5401.
Key Words:- Biped, walking, humanoid, robot, balance sensing, vision, movement tracking, obstacle detection, collision avoidance.
This paper describes the research, development and implementation of a real autonomous 30 DoF one third human scale autonomous humanoid robot with a low resolution optical vision system for obstacle detection, collision avoidance and balance. The paper describes the vision, balance and motion control systems and presents some preliminary test results.
This robot is the third in a series of similar but progressively more complex robots. This implementation was designed to be able to walk around corners in response to signals from the vision system. The balance system was designed to be simple but with the possibility of using the vision system for fine balance control if necessary. The objectives were to achieve walking forwards and backwards, turning left and right and avoiding obstacles autonomously. The robot was built entirely from readily available low cost components. In order to minimise the cost of the servo motors, gearboxes and control electronics a one third scale machine was built rather than the full scale machines described in (2), (3), (4), (5) and (7). However the inspiration gained from this work is acknowledged.
The robot is controlled by thirteen on-board microprocessors which control the balance, vision system, limb motion and inter-processor communication. Motion is controlled using thirty servo motors. Seventy seven balance, light level, pressure, torque and battery voltage states are sensed. The head is mounted on a universal joint and can pan and tilt in two planes. Each shoulder joint allows powered forwards and sideways arm motion. Each arm has five degrees of freedom. The right hand has a functioning gripper. Each elbow joint is powered. The trunk is divided into upper and lower parts connected by a universal joint and driven by two servos to enable forwards and sideways leaning. Each leg/hip joint allows forwards, sideways and rotational leg motion. The powered ankle joints are both two axis. Each foot has a powered toe joint. The robot thus has thirteen single axis joints and eleven universal joints. The robot is able to balance using eight foot pressure sensors, four mercury switch tilt sensors and a purpose built 2-D pendulum. The eyes each consist of 16 fixed focus elements with electronic iris saturation control. The eyes pan and converge using two servo motors. The vision system was designed to achieve relatively long range collision avoidance and to avoid falling at edges, ledges and steps. The system incorporates movement tracking but the system output is not currently fed into the balance system. The left hand incorporates a fixed "blind persons stick" which is swept from side to side for "medium range" collision avoidance. Contact with an obstacle is sensed by an increased current in the arm servo. Short range avoidance is achieved through bump sensors on the toecaps. Contact with an obstacle is designed to initiate a reverse and turn manoeuvre.
Fig. 1 Photograph of the partially complete robot standing unaided.
Balance sensing and control is achieved with three independent groups of sensors. There is a purpose-made, two axis, on/off pendulum sensor in the upper body (chest) which keeps this body section vertical in both planes. The pendulum makes a switch contact if the robot leans forwards, backwards, left or right by more than 2 degrees in either sagittal or lateral plane. The length of time the contact is made gives a quasi-proportional control signal. The vertical upper body attitude is maintained by two orthogonal servo motors. Two purpose-made dampers eliminate the tendency to oscillation.
Fig. 2 CAD drawing of the front and side elevation.
The middle sensor group consists of four mercury tilt switches which make contact when there is a 5 degree inclination from the horizontal. These switches keep the pelvis horizontal in both planes when, for example, the feet encounter a sloping floor. Unwanted leaning forwards or backwards is corrected by driving the for/aft ankle servos. Unwanted leaning to the left or the right is corrected by bending the appropriate knee thereby shortening the leg. It was found that bending the knee rather than bending at the ankle required less torque and gave greater stability. The third sensor group consists of four pads of pressure sensitive conductive foam rubber in each foot. The electrical resistance of the rubber is inversely proportional to the pressure applied. The control system monitors the load distribution on the eight pads and attempts to equalise it by driving the ankle and hip servos.
The servo motors have internal position feedback control. External torque feedback control is implemented by sensing the drive current to each servo motor using purpose built opto-isolators.
Fig. 3 Front elevation diagram of the elemental links and joints.
In figure 3 each joint is numbered. The following table gives the number of DoF of each joint, or joint pair, the angular range of movement of each joint in each plane, the number of servo motors controlling each joint and the description of the motion of each joint.
|No||DoF||Range (Degrees)||Servos||Functional Description|
|1||2||+0/-7||1||Eye convergence out / in|
|2||2||+30/-3-, +30/-30||2||Head tilt up / down, left / right|
|3||1||+90/-90||1||Head turn left / right|
|4, 5||4||+170/-40, +45/-10||4||Right, left arm up / down, out / in|
|6, 7||2||+45/-135||2||Right, left arm rotate out / in|
|8, 9||2||+135/-0||2||Right, left elbow up / down|
|10||1||+90/-0||1||Right-hand open / close|
|11||1||+60/-60||1||Left wand left/right|
|12||2||+15/-15, +10/-10||2||Upper body left / right, front / back|
|13, 14||2||+30/-30||2||Right, left leg rotate|
|15, 16||4||+70/-20, +7.5/-7.5||4||Right, left hip front / back, left / right|
|17, 18||2||+0/-90||2||Right, left knee straighten / bend|
|19, 20||4||+15/-10, +50/-50||4||Right, left ankle right / left, front / back|
|21, 22||2||+35/-0||2||Right, left toe up / down|
Table 1 The powered joints with their range of motion and descriptions.
Fig. 4 Front, side and plan views of the motion envelope of the right foot.
The diagram figure 4 shows the envelope of motion for the centre of the toe of the right leg as it is swept through to its angular limits. It may be noted that each foot lifts to a maximum of 99 mm above the ground in order to enable the robot to climb steps. The range of forward, sideways and rotational hip/leg joint movement is similar to the human’s.
The optical vision system was designed to be able to detect obstacles in the path of the robot. The vision system also tracks moving objects. Each eye consists of a lens in front of a 4 x 4 array of light dependent resistors. The resistance values are sampled at 30 frames per second. A single servo motor enables the two eyes to converge. The left eye analyses the image for verticals, horizontals, top right to bottom left edges and top left to bottom right edges. The right eye detects movement of dark to bright edges and can pan and tilt, with the left eye, to make such edges fall on the centre of the sensor array. Compensation is provided for low and high levels of ambient lighting giving an automatic iris effect. The system reliably tracks moving objects but is currently confused by very high contrast lighting such as spotlights. The system is however working more reliably than an ultrasonic system which was tried on the earlier prototypes. Difficulties encountered with that system were multiple reflections resulting from low angular resolution (a consequence of the wide beamwidth due to using small diameter transducers), specular reflection from smooth objects, absorption from soft objects and motor interference (sound and electrical). Some of the difficulties experienced were described in more detail in (11). The difficulties are greater with electromagnetic and sonar range measurement systems in low cost autonomous mobile robots where lightness and low current consumption is particularly important. It is hoped that implementing stereoscopic vision using convergence of the two 16 sensor arrays will give adequate range resolution for obstacle avoidance.
The on board control system uses thirteen interconnected microprocessors communicating in a hierarchical structure. There are eleven Scenix SX28AC/DP’s and two Stamp 2SX’s. The master processor controls all the robot functions. The sensor and drive signals are processed in parallel. Each eye, arm and leg and has its own dedicated processor. The three balance sensor groups share two processors. Communication between processors is serial at 9600 Baud. The eight pressure pad resistances form part of RC timing circuits. The charging times are each sampled in 256 levels. The output signals from the four load sensors in each foot are averaged. Appropriate servos are driven to equalise the load on each foot. Thus there are 8 proportional balance sensors and 8 switched sensors. Each servo motor is driven to a resolution of 256 steps. Each microprocessor has an individual resonator to control its clock speed and each processor is run at a speed appropriate to its task. The only significant restraint was the minimum of 4 MHz which is required to run the 9600 Baud serial communications. The range of clock speeds used is from 8 MHz to 50 MHz. As much processing as possible, especially for the basic functions, is done close to the sensors. There have been difficulties associated with the inter-processor communications, electrical interference, the time taken to process the input sensor signals and generate command signals, and difficulties setting up a synchronised command structure. The objective was to produce a scale humanoid at near minimal cost. Further cost saving would have been possible by using overscale sized feet as in (1). The design was chosen to mimic the human features (9) rather than suitable alternatives such as those described in (6), (8), (10) and (12). The control system and servo motors used are similar to those described in (1) and (10).
Fig. 5 The microprocessor control system structure.
Preliminary results are qualitative thus far. The robot will pull itself up to a vertical stance at initial switch on if it is held within an envelope of a few degrees of the vertical axis. The current balance system enables the robot to maintain a vertical stance, in real time, despite up to 6 degree changes in slope of the ground plane in the sagittal and lateral planes. The inclination is induced by standing the robot on a ground plane that can be tilted in any horizontal axis. The robot can autonomously cycle between standing on one leg then stand on both legs and back again in a sideways rocking motion. The balance sensors are sensitive and fast acting which enables the robot to balance well. Although the two prototypes walked well, at the time of writing a fault in the microprocessor communications system is preventing this model from walking. When the battery voltage drops to a preset value the robot automatically locks its knees, moves to a vertical stance with its feet spaced apart and the power is automatically cut to circuits not involved with keeping the robot standing. The vision system successfully tracks and follows a moving bright or dark object in its field of view. The head centres and follows motion in a realistic way. Great care had to be taken to minimise electrical interference between the processors and the motors. The 7.2 volt, 3 Ah. NiMH battery lasts for approximately 30 minutes. The average load current is approximately 6 amps. The robot weighs 3.5 kg with each leg contributing 750g.
The robot development is at the stage of initial testing. The torque and speed of the cheapest available servo motors was found to be sufficient to build a working one third scale autonomous humanoid biped with a vision system. The balance system successfully compensates for attempts to topple the robot by tilting the ground plane about any horizontal axis. The simple and untuned control system was able to restore the robot to its vertical stance when pushed from the front and sides with significant force. Ultrasonic sensors were found to have critical limitations in this application. The optical vision system works well despite having to be small, light and low power consumption. Preliminary assessment of the target tracking ability indicates that the resolution is adequate for collision avoidance and balance control.
(1). Buckley, D.L. and Smith, M.C.B. (2003). Experiments with Three Minimal, Autonomous Biped Walking Robots. Proc. 6th Intl. Conf. on Climbing and Walking Robots CLAWAR ’03 Catania, Italy. Sept. 2003.
(2). Channon, P.H., Hopkins, S.H. and Pham, D.T. (1992). Derivation of Optimal Walking Motions for a Bipedal Walking Robot. Robotica, Vol. 10, pp 165-172.
(3). Gienger, M., Loffler, K. and Pfeiffer, F. (1999). Design and Control of a Biped Walking and Jogging Robot. Proc. 2nd Intl. Conf. on Climbing and Walking Robots CLAWAR’99, Portsmouth, UK. Sept. pp 49-58.
(4). Hirai, K., Hirose, M. and Takenaka, T. (1998). The Development of the Honda Humanoid Robot. Proc. IEEE Conf. on Robotics and Automation, Leuven, Belgium, May1998. pp 1321-1326.
(5). Inaba, M., Igarashi, T., Kagami, S. and Inoue, H. (1996). A 35 DOF Humanoid that can Co-ordinate Arms and Legs in Standing up, Reaching and Grasping Objects, IROS 1996, Osaka, Japan, pp 23-28.
(6). Liu, A. and Howard, D. (1999). Leg Mechanism Designs for CLAWAR Machines- a Critical Review. Proc. 2nd Intl. Conf. on Climbing and Walking Robots CLAWAR ’99, Portsmouth, UK. Sept. pp 901-910.
(7). Medrano-Cerda, G. and Eldukhri, E. (1997). Biped Robot Locomotion in the Sagittal Plane. Trans. Inst. MC, Vol. 19, No. 1, pp 38-49.
(8). Raibert, M. (1986).Legged Robots that Balance. Cambridge, MA, MIT Press.
(9). Rose, J. and Grimble, J.G., (1994). Human Walking. Williams & Wilkins.
(10). Smith, M.C.B. and Buckley D.L. (1998). An Evaluation of Some Minimalist Gait Control Systems on Six Legged Walking Machines. CLAWAR ’98, Brussels, Belgium, Nov. ’98, pp 67-70.
(11). Smith, M.C.B. (1999). A Microwave Sensor of Particular Interest for Applications Including Pneumatic and Legged Robotic Vehicles. Proc. 2nd Intl. Conf. on Climbing and Walking Robots CLAWAR’99. Portsmouth, UK. Sept. pp 633-639.
(12). Todd D.J. (1985). Walking Machines: An Introduction to Legged Robots. Kogan Page.
(13). Virk, G., Harvey, D. and Kiriazov, P. (1998). Dynamically Stable Legged Robots. CLAWAR ’98, Brussels, Belgium, Nov. ’98. pp 335- 342.
(14). Vucobratovic, J., Borovac, B., Surla, D. and Stokic, D. (1990). Biped Locomotion: Dynamics, Stability, Control, and Applications, Berlin, Springer–Verlag.