An articulated service robot for autonomous sewer inspection tasks ...

1 downloads 0 Views 874KB Size Report
For the inspection of non-man-sized passable sewages, i.e. pipes with a diameter less than 80 cm, wheeled, one-link vehicles are used. They are remote.
Proceedings of the 1999 IEEGRSJ InternationalConference on Intelligent Robots and Systems

An Articulated Service Robot for Autonomous Sewer Inspection Tasks K.-U. Scholl, V. Kepplin, K. Berns, R. Dillmann Forschungszentrum Informatik Karlsruhe Haid-und-Neu-Str. 10-14, 76131 Karlsruhe, Germany [email protected] Abstract In this paper a multijoint robot f o r sewer inspection tasks is presented. In order t o increase the operating scope the robot has been made able t o run round or over obstacles, to follow sewage branches and is aimed t o work wirelessly unlike most other sewer inspection robots. A s a result of the wireless approach the robot has to carry a n energy resource and m u s t be able to act autonomously. This article is focussed o n the mechanical design and the control hardware of the system. Additionally, we describe a first approach of a control strategy and some results of first tests.

300 to 600 mm ( [ 5 ] )or do not supply enough space t o carry the needed components like electronic parts, battery etc. ([10],[6]). Others assume pipes with fixed diameters ([SI), pipes without branches ([4]) or pipes made of specific material ([ll]). In the following the prototype of a multijoint, autonomous sewer robot is described with respect to mechanics, electronical architecture and controlling.

2

Mechanical Structure

1 Introduction For the inspection of non-man-sized passable sewages, i.e. pipes with a diameter less than 80 cm, wheeled, one-link vehicles are used. They are remote controlled via cable, which has to be dragged by the vehicle itself. The fact that the vehicle has to drag the cable restricts the operating scope as well as the platforms inability to pass obstacles or follow bends and branches([2]). Obstacles can be both strange objects like sediments or roots and pipe damages like socket displacements or holes. Such a video based inspection can therefore take place only in small stages of about 100m. Ten percent of the 360000 km long public sewage system of Germany has to be inspected every year. But the inspection of large sections in small steps is time consuming and expensive. Thus a prototype of a multijoint, autonomous sewer robot has been developed based on the feasibility study LAOKOON

(PI).

Many multijoint (snake-like) robots are only able to move on a plane (2D) like i.e. the ACM machine of Hirose ([6],chapt.8). In most similar approaches of multijoint robots the machines are either to large for inspection tasks in sewer pipes with diameters from

0-7803-5184-3/99/$10.000 1999 IEEE

Figure 1: The figure shows the flexible sewer robot while climbing and bending in a 300mm pipe segment. The sewer robot is supposed to act in sewers with diameters from 300 to 600 mm. Especially bendings of 90" in sewers with a diameter of 300mm can hardly be managed. In a basic version ([3]) the robot consists of five drive and four joint segments. It has a length of 160 cm and a total weight of approx. 30 kg. The drive segments have a height of 180mm , a width of 203mm and a length of 160mm. Batteries, a PC/104 system and several sensors are distributed uniformly among the segments. Each of them carries one or two microcontrollers and is driven by two

1075

independent wheels. Both end segments are equipped with camera systems to allow navigation in sewage systems. The joint segments consist of three joints (see fig. 2): The first rotates round the longitudinal axis of the robot (alpha), the second round the orthogonal (beta) and the third again round the longitudinal axis (gamma). The joints are actively controlled and can therefore lift two drive segments (simultaneously) to surmount obstacles or to follow sewer branches and bends. A joint segment has a length of about 200 mm.

Alpha

Beta

Gamma

Figure 3: An alternative prototype with oblique swivel joints. The small picture shows the whole robot. The other one shows a joint segment in detail. The drive segments already contain microcontrollers, DC/DCconverters and the necessary wiring. Figure 2: The shematic joint segment with its three joints. For the lifting of segments high torques are necessary. Harmonic Drive gears are used, because they offer high output torque capacity and are reversible. The realised beta-joint is able to supply a torque of up to 90Nm. Reversible gears are important in case the robot has to be salvaged because of a failure during a test procedure. To satisfy waterproof conditions the joint segments will finally be covered with flexible plastic tubes. Some parts of the drive segments have been made of plastic (POM) in order to reduce the stress of the actuations. At a friction coefficient of 0.5 the robot is able to drive up a ramp with a gradient of 27 degrees. Its maximum speed amounts to 1 m/s. As part of the MAKRO-project another alternative mechanical concept has been built by the project partner Hitzel GmbH. It has different joint segments with oblique swivels as middle joints (fig. 3). The moving behaviour is therefore very similar to the ACM VI type of a locomotion engine using oblique rotation mechanisms described in [7]. An advantage of this approach is that all cables are laid through a

cable channel within the joint segments. However, the joints use worm gears, which have the disadvantage of non-reversibility. The computer architecture and electronical components that will be described in the following have also been implemented into this alternative robot. Its behaviour control and environment detection will be developed by a third project partner called GMD Forschungszentrum Informationstechnik.

3

Computer / Software architecture

Due to the high dimension of degrees of freedom a distributed hardware architecture is necessary. Therefore, Siemens Cl67-microcontrollers are used. They basically support many functions that are needed for controller purposes. Each microcontroller can controle up to four motors and process up to 16 analog and 12 digital sensor values. More details about the computer architecture and electronical parts can be found in [9] The microcontrollers are connected via CAN-bus

1076

(lMbit/s) to a PC/104-computer (fig. 4). The P C (pentium 166MHz) coordinates the C167s and is responsible for higher controller functions like navigation and routing. In order to fulfil realtime requirements Real-Time Linuxl is used on the PC. This RT-system combines real-time functionality with the open-source system Linux, which offers a high number of device drivers, TCP/IP-access, graphical user interfaces and file systems. The normal Linux kernel runs under RT-Linux as task with lowest priority. Therefore, remote access via LAN can take place from other PCs if realtime controlling mechanisms do not totally consume the available calculation power. The use of different hardware and operating system

possibility results in small and fast development cycles. The manipulation tools run on the Linux part of the system so that critical parts that are assigned to the real-time part are not directly influenced by the manipulation itself.

2Jlhost

~

I

(wireless) erhcmet

CAN-hus

I

I

Q Figure 4: Computer architecture of the sewer robot: the figure also shows the distribution of P C and microcontrollers among the drive segments and the assignment between actuators and microcontrollers. units results in a three level system: C167, RT-Linux and Linux. In order to achieve a clear arrangement of those levels a modular controller software architecture has been developed. This software architecture allows the programming of all levels in the same way. The communication between the levels is hidden by the C++-class library. Hence, the system developers can focus on the development of methods while the communication is done automatically. Every method of the controller architecture is realised in a C++-class module. The modular architecture allows the manipulation of each parameter of every module via LAN while the system is running. This Informations about RT-Linux are available via internet at http://www.rtlinux.org/ rtlanux/

Figure 5: Overview of the modular software architecture: The controlling system is split into three levels. A second host can be used t o interact with the system either with a generic graphical user interface or a special program that is able to act onto the modules parameters. The detachment of the user interface from the controlling P C disburdens the on board PC/104. For example, the user interface can include high-end graphic animations without straining the controlling mechanism too much. The very little data necessary for the description of the robots state can be transferred via (wireless) LAN t o an external PC. Linux is also used as development platform. All parts of the software architecture are compiled with GNU-C++- (cross-)compilers. The C 167-programs are downloaded via CAN-bus during the initialization of the system.

4

Sensor System

In cases of failure and reinitialization no reference marks can be called due t o the limited space within the sewer pipes. Therefore, absolute angle sensors are used t o control the joints of the robot. We have developed these sensors on our own using optical reflective encoders and special bar-code-foils: At the moment of initialization every joint has t o be moved over a range of about 3 degrees t o read an absolute bar code whereas afterwards only an incremental code is used. With this procedure an accuracy of about

1077

0.25 degree is reached. The implementation of a velocity controller needs pulse emitter added to the drive motors. The two end segments include 2D-inclinometers to determine the absolute position of the robot and to prevent the robot from yawing up. A camera based system will do the navigation in the sewage. Each end segment has a swivel mounted camera and a laser pointer which is able to project a circle on the inner pipewall. With this system obstacles, holes, roots and pipe branches can be detected. With the help of a model of the inspected sewage together with additional odometry information the robot is able to determine its position within the sewage and add detected damages t o the sewage model. Distance sensors will be added to the end segments to determine the side distances between the robot and the pipe.

Figure 6: A drive segment with microcontrollers and a PC/104 system. (left). The camera head in a test assembly. The camera can be panned both vertically and horizontally (right).

5

Control Strategy

The control system basically consists of three parts (fig.7): A path planner that generates a virtual line which the robot has to follow. The path has to be adapted to the current position and orientation of the robot.

A pilot that drives the robot along the generated path. A sensor fusion module that determines position and orientation using all available sensor information.

1078

At the moment, only the pilot is realised. For performing test runs the paths are built manually. They are not adapted while the robot is moving either, because sensor information are not available.

Figure 7: The main parts of the controller architecture. As already described the joints of a joint segment are named alpha, beta and gamma. A joint segments kink is the intersection of the rotation axes of these joints. The path has to be generated in such a way, that the robot is able t o follow it with all its kinks liying on the path. Even if all kinks stay fixed to the path, a drive segment can be rotated round its longitudinal axis. This is achieved by synchronously moving the alpha joint of the subsequent joint segment and the gamma joint of the precending joint segment. Thus, all joints between two kinks are clearly determined if an additional value is given for the drive segments angle against the horizon. We set this angle to be zero, since we do the adaption of the drive segments in an underlying module. In order to clearly determine the joint values of the front and end segments, two additional (virtual) kinks are necessary. These are placed in front of and behind the robot, the distances between all neighboring kinks being equal. In our modular controller architecture the pilot is realised through three modules (fig.8):

Joint angles: Given the position of the robots first kink (which is the virtual one in front of the robot) and the direction in which the robot has t o be moved, all joint angles can be determined: Setting the first kink onto the path, the next kinks absolute position can be obtained by calculating the intersection of the path with a sphere. The center of this sphere has t o be the first kink, its radius the distance between two kinks. ( This distance results from the robots geometry.) The positions of the next kinks can then be calculated incrementally. The joints angles can then be calculated by using the very simple inverse kinemtatics of the

to be planned considering this condition. Additionally, each drive segment can change its lateral inclination to distribute its weight evenly among its wheels. By a synchronous use of the two nearest joints of each drive segment, the robot is able to adapt its wheels to the ground without changing its kinks positions. This controlling is done by using the motor currents: If the difference between the currents of the two wheel motors in one drive segment exceeds a certain limit, the robot will lower the less strained motor.

angled

Figure 8: The modularized pilot.

6

Tests Results

Due to security considerations, tests have been carried out first as simulation and then on the real system. Even first,mechanical construction approaches have been tested in the simulation. Problems that occured during these tests led to changes on the construction plans. Therefore, the robot that was finally built is kinematically able to drive through the demanded pipe arrangements. The tests included branching off from 600 mm to 600 mm, 600mm to 300mm and 500mm to 400mm both bottom equal and top equal.

joint segment. By moving the first kink along the path, the robot can determine the necessary angles of all its joints at every position and thus follow the path. Position and Velocities: The velocities of the single wheels result directly from the positions of the wheels and the first kinks speed on the path. The positions of the wheels follow directly from the robots position and orientation given by its kinks positions. The robots speed is given by the user (or later by a higher controlling modul). This given speed should be the average velocity of all wheel velocities. As this is not equal to the speed of the robots first kink, the determination of the robots current position on the path is done in two iterations: First, the speed of the first kink is set equal to the input speed. Then the kink positions and the resulting wheel velocities are calculated. The first kinks speed is then set to uf = v,,/v,,, *u1 where U,, is the given input speed, unveis the average velocity of all wheels and u1 is the speed of the first drive segment.This results in a new position of the first kink. Finally, all other kink positions and velocities are calculated again.

Figure 9: The figure shows a simulation of the robot climbing and branching off from a 600mm to a 300mm sewer. Beside moving straight ahaid, there are three basic moving types that can be distinguished. These result from the specifications and the robots geometrie: 1. Bending off with angles between 0" and 90". 2. Surpassing obstacles and terraces with heights up to 35 cm.

Adaption of the drive segments: In order to increase traction and stability, as many wheels as possible should touch the ground. Therefore, the path has

3. The combination of these two.

1079

The real robot has been tested for all these categories. The movements have not been adapted using sensor information. Nevertheless, the deviations were so small, that they are negligible. When two segments are lifted, the oppsite end segment of the robot tends to be lifted too. This behaviour espacially causes problems when the robot is supposed to surpass obstacles. Possibly, this can only be prevented by adding a sixth drive segment t o increase the robots stability.

References K. Berns, J . Hertzberg, W. Ilg, E. Rome, and HStapelfeld (ed.). BMBF-Machbarkeitsuntersuchung LAOK0ON:Abschlujlbericht. Forschungszentrum Informatik Karlsruhe, rhenag Koln, GMD Sankt Augustin, Marz 1996. A. Casals, C. Riba, and V. Minguillon. Sric: A mobile vehicle for pipes inspection and maintenance. ICAR, 1995.

Additionally, test in straight 300mm pipes have been carried out t o examine the behaviour in pipes. Due t o the length of the robot it stayed on the bottom middle line of the pipe. Thus moving straight ahead is possible without sensor based adaption in pipes of this diameter.

St. Cordes, K. Berns, M. Eberl, W. Ilg, and R. Suna. Autonomous sewer inspection with a wheeled, multiarticulated robot. Robotics and Autonomous Systems, 21:123-135, 1997.

S. Fujiwara, R. Kanehara, T . Okada, and

7

T. Sanemori. An articulated multi-vehicle robot for inspection and testing of pipeline interiors. In Proceedings of the IEEE/RSJ International Conference of Intelligent Robots and Systems, pages 509-516, 1993.

Conclusion and Outlook

A wheeled, multijoint, autonomous robot for sewer inspection tasks has been presented. The demanded autonomy and autarky has led t o a compact and very flexible mechanical construction. Both hardware and software architecture have been built up on a modular basis and allow a steadily increasing development. A moving strategy has been presented. Its implementation enables the robot t o follow a path with a given average speed. Furthermore it supports the adaption of the drive segments t o the ground, so that as many wheels as possible touch the ground.

E.F. Fukushima and S. Hirose. How t o steer the long articulated body mobile robot kr-ii. In International Conference on advanced robotics, 1995.

S. Hirose. Biologically inspired Robots - SnakeLike Locomoters and Manipulators. Oxford Sciens Publications, 1993. S. Hirose, Y. Umetami, and S. Oda. An active cord mechanism with oblique swivel joints and its control. In Proc. 4th ROMANSY Symp., pages 395-407, Zaborow, Poland, 1981. Y. Kawaguchi, I. Yoshida, H. Kurumatani, T. Kikuta, and Y. Yamada. Internal pipe inspection robot. IEEE International Conference on Robotics and Automation, pages 857-862, 1995.

Our next projects will deal with the development of an automatic path generator and implementation of a sensor fusion module. Then, first driving tests in sewer pipes will be possible. We are planning to do test tasks in real sewers by the end of 1999. These tests will probably result in extensions of the external sensor system.

V. Kepplin, K.-U. Scholl, and K. Berns. A mechatronic concept for a sewer inspection robot. In IEEE/ASME International Conference on Advanced Intelligent Mechatronics, 1999. A. Morishima and S. Hirose. Impedance control of articulated body mobile robot koryu. In International Conference on Intelligent Robots and Systems, pages 1786-1790, Yokohama, Japan, jul 1993. IEEE/RSJ.

Acknowledgement This work is funded by the German federal Ministry of Research, BMBF, as part of MAKRO project, grant No. 02-WK9702/4. Project partners are the rhenag Hauptverwaltung Koln, Fa. Hitzel GmbH Rodermark and the GMD Forschungszentrum Informationstechnik St.Augustin.

K. Taguchi and N. Kawarazaki. Development of in-pipe locomotion robot. In Fifth International Conference on Advanced Robotics ICAR, pages 297-302, 1991.

1080