Design and manufacture of a low cost educational hexapod rover

Design and manufacture of a low cost educational hexapod rover

Acta Astronautica 65 (2009) 525 – 536 www.elsevier.com/locate/actaastro Design and manufacture of a low cost educational hexapod rover Gian Paolo Can...

NAN Sizes 0 Downloads 30 Views

Acta Astronautica 65 (2009) 525 – 536 www.elsevier.com/locate/actaastro

Design and manufacture of a low cost educational hexapod rover Gian Paolo Candinia,∗ , Emanuele Paolinia , Fabrizio Piergentilib a University of Bologna “ALMA MATER”, II Faculty of Engineering, Forlì (FC), Italy b University of Bologna “ALMA MATER”, DIEM-II Faculty of Engineering, Forlì (FC), Italy

Received 8 July 2008; received in revised form 28 January 2009; accepted 31 January 2009 Available online 17 March 2009

Abstract The paper deals with the design and realization of a hexapod rover prototype completely manufactured by students and researchers of the Space Robotics Group of the II Faculty of Engineering of the University of Bologna “ALMA MATER”. The rover project has been developed for didactical purposes, with the aim of involving students in practical, hands-on education, pushing them to face real problems and to put in practice what they have learnt in theory during regular courses. The work done is described in the paper, highlighting its potential to test different solutions in autonomous navigation systems: low-cost sensors, innovative algorithms and different step procedures. Moreover, the mechanical and electronic solutions adopted for leg design, main controller, and remote control are discussed and depicted in the paper. © 2009 Elsevier Ltd. All rights reserved. Keywords: Rover; Hexapod; Educational

1. Introduction Two years ago a Space Robotics Group was established at the II faculty of Engineering of the University of Bologna. This group was created because of the recent increase in robotic missions for space exploration.

Abbreviations: NMEA, NMEA 0183 (or NMEA for short) is a communication standard defined by the US—it means National Marine Electronics Association and is used for GPS receivers; VGA, Video Graphics Array, graphic computer standard, 640×480 pixel; QVGA, Quarter Video Graphics Array, graphic standard for portable devices, 320×240 pixel; CDH, Command and Data Handling subsystem ∗ Corresponding author. E-mail addresses: [email protected] (G.P. Candini), [email protected] (E. Paolini), [email protected] (F. Piergentili). 0094-5765/$ - see front matter © 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.actaastro.2009.01.061

Many different projects on space robotics have started in Italian universities in recent years such as that at the School of Aerospace Engineering of the University of Rome, the Milan Polytechnic and the University of Naples [1,2], as well as others all over the world [3,4]. This group of students and researchers works on space robotics in hands-on space education, following the GAUSS model (Group of Astrodynamics of the University of Rome “La Sapienza”) [5]. The main projects presently under study by the Space Robotics Group are on satellite subsystem design and realization, autonomous navigation sensors and algorithms and robotic system development. The purpose of the paper is to present a new approach to the design of robotic vehicles suitable for students and affordable for universities, capable of bringing together students’ different proficiencies and aptitudes in

526

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

the design and development of a Hexapod rover for educational experiments on robotic systems. Thanks to its low-cost profile, moreover, the proposed rover design represents a good system for testing sensors such as imaging systems, contact sensors, magnetometers and accelerometers, algorithms for autonomous navigation and guidance and systems for wireless control. The rover development allows students to work on a real project, facing problems on rover design, motion dynamics and autonomous control. Even though it is entirely based on low-cost commercial terrestrial components, it reproduces most real rover operative conditions and encourages students to face a large number of difficulties similar to those confronting the space rover. The choice of a hexapod rover was made for the following different considerations. First of all, the legs grant greater flexibility than wheels on rough terrains, allowing the rover simply to walk over obstacles. Since this solution implies an increase in the complexity of motion dynamics with respect to wheels, each leg was provided with an independent electronic circuit capable of autonomously handling the sensor set installed on the leg itself. Each leg performs simple tasks and is capable of managing elementary problems during its motion, reducing main controller workload and increasing the autonomy of the system. From a historical standpoint, wheeled rovers have always been employed for planetary exploration as well as for operating on Earth under severe environmental conditions [6]. Wheels require simpler control systems than legs and usually achieve higher speeds. On the other hand, the legged rover is more adaptable to different terrains and is better able to avoid obstacles, and so might be the system of choice even though movement control is far more complex. The proposed rover design simplifies the control system by exploiting a distributed architecture that divides tasks among a number of different subsystems, while increasing the reliability and fault resistance of the robot. The use of legs also makes possible maneuvers that are not easy to obtain using different control architectures, such as the ability of the rover to change its height and to turn without translating. 2. Rover design overview In Fig. 1 a general overview of the system is sketched. The pilot commands the rover through a PC connected to the On-board Central Unit by means of a wireless connection.

Operator

Camera

PC Xbee

Radar Power System

On-board Central Unit (Rabbit) Sensors

Legs Controller Pressure sensors, current sensor, contact switches

Payload

Six Legs Fig. 1. Rover prototype and subsystems overview.

The Command and Data Handling (CDH) subsystem is a compact module, called RCM3700 based on a Rabbit 3000 8-bit microprocessor. The On-board Central Unit interacts directly with all other rover subsystems. In particular, it is in charge of instructing and receiving data from camera, radar, and sensors installed on the rover. Moreover, it can control any added payload. Communications between PC and CHD are ensured by a wireless link based on the XBee module represented by a dotted arrow in Fig. 1, a device capable of creating a wireless personal area networks through on ZigBee [7] protocols, based on the IEEE 802.15.4-2006 standard, allowing fast and reliable data transmission. The On-board Central Unit also communicates with the leg controller, the subsystem in charge of controlling all legs. The leg controller operates as an interface between the Central Unit and the legs: it is capable of redirecting a command to a specific leg, but it can also receive a complex command (such as “three steps forward, then turn right” or simply “move to specified radial coordinates”); it interprets commands, reducing them to basic actions and takes care of their correct

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

527

execution. It also keeps track of leg telemetry, decreasing the workload of the Central Unit. Each leg is equipped with a set of sensors that includes a pressure sensor and two current sensors for the determination of its state. On-board leg electronics is capable of handling simple situations, such as contact with small obstacles during leg movement. Since maximum power consumption is due to motion subsystem, the Leg Controller is also in charge of monitoring and controlling the power subsystem. 3. Rover mechanics 3.1. Leg mechanical design The leg mechanics was designed in order to simplify the assembly phase and at the same time to maintain modularity and the possibility to make simple modifications to the design during the test phase, reaching a satisfactory compromise between power consumption, leg excursion and allowable weight. The leg is a system with two degrees of freedom, called axes X and Y, with the segment resting on the ground always in the vertical position. This characteristic is mandatory for two main reasons. First, if the segment had a lateral movement, it would require more free space to move and could strike against obstacles on the side of the rover; second, to achieve a correct readout from the pressure sensors, the segment where the sensing element is installed needs to be always perpendicular to the ground. Fig. 2a shows the mechanical structure of the leg: the two servo motors are installed on support “D”, and the two electronic boards are screwed onto each side of “D”. The motor labelled “X” is connected to the rover body, while the motor labelled “Y” is connected to the leg segments “E”: the length of these two segments is the basic way to adjust the amplitude of leg movement and to operate on the necessary torque to sustain the rover’s weight. The “C” plate has the function of hosting a pin, positioned along the same rotation axis of the X motor, which is inserted into the rover’s main frame. Without it, all non-vertical forces would be discharged on the motor shaft, while in this way they are absorbed by the mechanical structure. The leg base hosts two contact switches labelled “A” and used to detect contact with small obstacles during the movement, and the pressure sensor installed in the position “B”. Since the pressure sensor is circular in shape, a small cylinder of the diameter of the sensor is obtained from

Fig. 2. (a) Mechanical and (b) geometrical structure of leg.

the bottom piece to grant the correct contact between leg and sensor. The upper part is free to move up and down and is kept in place by four springs installed on the screws. The additional force created by these springs is subtracted from the sensor readout during the calibration procedures. 3.2. Leg cinematic and dynamics A mathematical model of the leg was set up to analyze the different forces acting on the leg, their distribution on the structure and design optimization. The forces on each segment can be calculated knowing all the angles between the different leg parts solving articulate quadrilateral equations. In Fig. 2b the geometrical configuration of this problem is shown. The segments labeled a–b–c–d form the quadrilateral. Segments c and d are determined by the mechanical construction and their lengths are fixed. The length of segments a and b can be changed.

528

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

The angle  is the control angle, commanded by the motor during the rotation of segment a with respect to segment d. As limits, a value of  close to zero implies the full extension of the leg (upper position for the rover), while a value of  close to 120◦ implies the complete retraction of the leg (lower position for the rover). The angle  is created by segment b and the parallel of segment d, while the angle  is created by segment c and the parallel of segment d. Angle  is given by the segments c and p and angle  by d and the perpendicular to the ground; these angles are fixed and determined by the mechanical construction. The problem that leads to the determination of all the angles as a function of the control angle can be solved starting from the vector equation: →







a + b + c + d =0

(1)

Since  is the angle controlled by the motor, it can be considered as the independent variable and the equation system can be numerically resolved finding  and  as functions of .  can be expressed as cos  =

−d − c · cos  − a · cos  b

(2)

Since 0 <  < , cos  is a univocal term. Once these relationships are defined, it is easy to evaluate the forces and torques acting on the structure. The motor can generate a torque Cm . The modulus of force Fm is always directed on the perpendicular to segment a. The force FmI is the projection of Fm on the direction of b, representing the portion of the force which provides rover motion. The force FmI creates a torque acting on segment c, thus, only its component FmI I perpendicular to c has to be considered. The torque generated by the motor on the leg can be finally written as ef f

Cm = FmI I · c

(3)

The rover’s weight generates the resisting torque. The reaction to the rover weight on the leg segment g is transmitted to segment p, but only the perpendicular component F pI generates the torque. The torque generated on the leg by the rover weight can be finally written as ef f

Cp

= F pI · p

(4) ef f

ef f

By comparison of Cm and C p , it is possible to verify the capability of the leg to sustain the rover’s weight in different mechanical configurations.

3.3. Mathematical simulations The mathematical model of the leg, described in the previous paragraph, was used to carry out numerical simulations. In numerical analysis the segments a and b were considered as variables. The term leg movement range is defined as ( = 120◦ ) − ( = 0◦ ); it represents the effective leg movement achieved between the two extreme leg positions. The variation of the a segment length generates an increase of the torque applied to the leg and a decrease of the angle excursion. Observing the relations between angles, torques, and segment length, it was noted that a gain in the torque implies a reduction of the range in the leg movement. For this reason, a trade-off between the maximum allowable weight and leg movement was chosen, with a configuration where a and b are, respectively, 1.8 and 5.5 cm. To reach this conclusion, an optimization process was carried out comparing the torques and the corresponding variations of  and b. Results are shown in the 3D graph sketched in Fig. 3 (top). From this analysis, it is clear that the values of b ranging between 5 and 6.5 cm give the best results, because they maximize the motor torque while keeping the weight torque low. A more detailed analysis can be obtained by considering the two-dimensional graph shown in Fig. 3 (bottom), where leg movement range and motor torque are sketched. Motor torque is a function of b and , thus it was parameterized according to  variations. For a better understanding of the problem’s solution, the mean motor torque is also represented; it was evaluated over the whole range of  for each value of b. In the graph, the weight torque has been omitted because it is almost constant with respect to b length variations. Each term in the graph has been divided by its maximum value to compare them. The leg movement range term makes it possible to seek the optimal operative condition, which does not excessively reduce the motor torque. The result is a tradeoff between motor torque and leg movement range. The point representing the best solution of this problem is the intersection between the two corresponding curves in Fig. 3 (bottom) (leg movement range, solid line, and mean motor torque, dotted line); this leads to an optimal b length of 6.3 cm. On the other hand, if the parameter to optimize is the trade-off between the  = 0 motor torque and movement capability, the best condition is b = 6.1 cm, which is the point of intersection between the two

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536 Motor torque VS weight torque b from 4 to 7 cm, a = 1.8 cm

529

Motor torque VS weight torque a = 1.8cm, b = 6.2cm, Cm = 0.87Nm 2

0.9 0.8 0.7

1.5

0.6

Nm

Nm

0.5 0.4 0.3 0.2

Motor Effective Torque (Motor shaft up) Weight Effective Torque (Motor shaft up) Motor Effective Torque (Motor shaft down) Weight Effective Torque (Motor shaft down)

1

Weight torque Motor torque

0.1 0 7 6.5 6 5.5 5 4.5 4 b [cm]

0

100 120 60 80 20 40 gree] Alfa [de

Leg movement range and motor torque according to variation on b

0.5 0

20

40

60 Alfa

80

100

120

Fig. 4. Leg movement range and motor torque comparison according to variation on b length.

1 0.9 0.8 0.7 0.6 0.5 0.4

Leg movement range Motor torque, Alfa = 0 Motor torque, Alfa = 120 Mean motor torque

0.3 0.2 0.1 4

4.5

5

5.5

6

6.5

7

b [cm]

Fig. 3. (Top) Torques comparison according to variations on  and on b length. (Bottom) Leg movement range and motor torque comparison according to variation on b length; units on Y axis are normalized respect to the maximum value.

corresponding curves (leg movement range, solid line, and motor torque,  = 0, dot-point line). Particular attention must be paid to the  = 120 motor torque curve: this value of  represents the lower position for the rover, i.e., its starting condition. The largest margin between motor torque and allowable weight in this condition is ensured by an optimum value for b of 5.7 cm, corresponding to the maximum of the  = 120 motor torque curve. Instead, the optimum b length value, considering only the leg movement range, is 6.7 cm.

Thus, the value of 5.5 cm for b was chosen because it gives a large motor torque when  = 120, while giving good values for the motor torque when  = 0 (rover walking configuration) without an excessive decrease in the leg movement range. Therefore, numerical simulations lead to opting for a = 1.8 cm and b = 5.5 cm. During the design phase a motor was chosen, capable of applying a torque of 0.87 N m. The results of this configuration are shown in Fig. 4. In this configuration, the leg is capable of raising the rover’s weight with a sufficient safety margin and an angular excursion of 56◦ . Another possible configuration is obtained by positioning the motor with the shaft on the lower side instead of the upper side, changing the d length. As shown in Fig. 4, the effect of the new motor shaft configuration is to decrease the angle excursion and increase the torque applied to the leg. Moreover, the peak of maximum torque moves to higher  angles and the weight torque rises slightly. Although this change might be considered useful since it tends to move the highest value of the motor torque toward the highest value of the weight torque, it should be considered that while walking the rover will spend most of the time in the upper position ( close to zero). In the new configuration, the motor torque at small  is lower than the torque in the previous configuration, thus more power is required to keep the rover up. For this reason, the first motor configuration was used.

530

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

3.4. Rover cinematic and dynamics The choice of designing a rover with six legs provided the system with good stability, since three legs can always be kept on the ground to create a triangular configuration of support which will always include the rover’s barycenter even if the payload is not equally distributed throughout the rover’s body. On the other hand, keeping three points on the ground the whole time imposes constraints on the allowable movements, especially during turning maneuvers. Since the rover legs have only two degrees of freedom, during motion they can draw a circumference around the X axis. For this reason, to avoid excessive drag on the ground, the movement performed at each step must be small enough to maintain the leg trajectory sufficiently close to a straight line. There are two possible basic movements available with this configuration: a movement around the X axis, to move the leg forward and backward, and around the Y axis, to raise or lower the leg. Every complex movement (such as a step) must be seen as a combination of these basic rotations. There could be different choices for the same results, each one characterized by different properties such as execution speed, motor consumption or rover stability. Some of the complex actions implemented are described below.

3.4.1. Step forward/backward A single step, forward or backward, is basically composed of four actions, indicated in Fig. 5(I) with the letters a–b–c–d. In the first action a group of three legs, two on one side of the rover and one on the other, are kept on the ground in the starting position while the other three are lifted up and moved forward (5(I)a). In the second action, while the second group of legs is lifted up, the first group is moved backward dragging the rover forward (5(I)b). In the third action, the second group of legs is lowered and the first group is lifted (5(I)c). In the fourth and last action, the first group of legs is moved backwards, generating a second rover forward movement, and the second group is moved forward to reach the starting position (5(I)d). For a backward movement, the single actions are inverted. During this sequence, one side of the rover is alternatively sustained by only one leg, loaded with one third of rover weight. This is not a problem, since in the fully

Fig. 5. (I) Single turn and (II) turn procedure (point indicates a lifted leg, cross indicates a laid down leg).

extended leg position the motor can generate enough force with a good safety margin.

3.4.2. Turn left/right During a turn maneuver, each leg follows a different trajectory according to its distance from the rover barycenter. The central legs are subjected to almost no drag since the two trajectories (leg rotation and rover rotation) are well superimposed in the central position, while the other legs during rotation tend to follow curves that are widely different from the one drawn by a rover rotation. This fact implies the need to implement small steps during the turn phase, creating a procedure based on small angular movements. In Fig. 5(II), a possible turn procedure is sketched. In the first step, the two central legs are lifted up and moved in opposite directions, then lowered (5(II)a). Then two opposite legs are lifted and, while they are up, the two couples of legs move in the opposite direction, creating a momentum on the rover that executes the turn (5(II)b). At the end of this procedure, the two lifted legs are lowered and the other two opposite legs are centered to return to the starting position.

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

531

4. Rover electronics

Table 1 On board sensor characteristics.

The Command and Data Handling (CDH) subsystem is based on a compact module called RCM3700 based on a Rabbit 3000 8-bit microprocessor, operating at 29.4 MHz, an 11-bit 8-channel (or 12-bit 4-channel if used in differential mode) A/D converter, 512 kb of flash memory, 512 kb of static RAM and two clocks (main oscillator and time-keeping) [8].

Current sensor Current range Internal resistance Gain ADC resolution

0–600 mA 0.05 100 12 bits

Pressure sensor Sensor resistance Pressure load Linearity ADC resolution

∼40 K –5 M 0–110 N ± 3% 12 bits

4.1. Leg electronics Each single leg control circuit, installed on the leg, can be described through four main blocks: • two current sensors for motor current readout; • a pressure sensor installed at the base of the leg with its conditioning electronics; • contact switches for collision detection on both sides; • digital control electronics. Each electronic board is connected with the central controller through a connector that provides serial communications and power supply for both motors and electronics. These two power lines are separated for two reasons: first, to avoid interferences generated by motors reaching the analogical board section; second, to allow further development of the controller board (such as new power supply technology, change in battery, etc.) without needing to redesign the boards installed on legs. 4.1.1. On-board sensors Each leg uses two motors to control the motion of its two degrees of freedom: the controller has to know how much current each leg is drawing in order to detect if a leg is stuck against an obstacle, or to detect motor failure. For this purpose, two independent current sensors were installed on the supply line of each motor. The knowledge of the pressure applied by each leg to the ground is used to balance the six legs and to distribute the rover weight equally among them when the rover is walking on a rough terrain; it also indicates whether or not a leg is touching the ground. For this reason, a pressure sensor was installed at the base of each leg. The sensor chosen for this application is an ultra-thin, flexible printed circuit with its resistance proportional to the applied pressure. On each leg, on the front and rear side, two contact switches are installed. Through these sensors, the leg is able to detect any direct contact with an obstacle and, if previously set, it can autonomously decide to lift itself until the obstacle is overcome.

The contact sensors can be disabled by command since it may be necessary to touch an object with the leg without passing over it. Table 1 summarizes the main sensor characteristics. 4.1.2. Single leg controller The microcontroller is the core of the leg electronics. It is in charge of communicating with the central controller to acquire sensor readout and to command the two servo motors. To achieve the necessary flexibility and computational power to handle all these different functions, a Microchip dsPIC30F3011, [9], was chosen. This microcontroller is capable of running up to 120 MHz and it integrates all required peripherals. The serial port is used to receive instructions and to transmit the telemetry to the central controller. Since all legs share the same serial port on the controller, an anti-collision system was implemented. On the communication bus, address 00 is reserved for the leg controller, addresses from 01 to 06 are assigned to legs and addresses 10 and 11 are associated to three legs each, allowing easy addressing during a step command. The telemetry transmits the following data: position and current drawing of both motors, pressure sensor value, contact switch status and status bits with the indication of the leg status (free, stuck against an obstacle, command in execution, command executed). During tests, it was observed that the mechanical load represented by the leg for the X axis motor (see Fig. 2a for motor identification) can generate oscillations during fast movements. For this reason, a linear acceleration was introduced for the left–right movement. When this movement is required, the command packet (uplink) contains the starting speed of the leg. The controller follows this speed for a determined period of time then, if the desired position is not yet reached, it begins the acceleration ramp.

532

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

This choice yields the fastest execution time while keeping acceleration low to avoid oscillation and mechanical stresses on the X axis motor.

Leg motors Power Supply x

Batteries Power supply Controller

4.2. Main leg controller and power supply The main controller board is divided into two main blocks: the digital section, in charge of communicating with all other subsystems and controlling all functions, and the power supply section. For the digital section, a Microchip dsPIC30F4013 [9] was chosen: it handles telemetry data from all legs and it manages complex movements. Two serial ports are required to communicate with the legs and with the main computer at the same time. The microcontroller is also in charge of controlling the power supply installed on the same board. 4.2.1. Main leg controller The main controller works essentially as an interface able to receive simple and intuitive commands from the main computer or from an external operator, and to transform them into a series of basic commands transmitted to the legs and to receive and retransmit the answers. It can also filter and elaborate the telemetry to monitor leg status. It is also in charge of the control of the power supply, with the ability to turn leg electronics and motors on and off and to control up to six external peripherals. The commands implemented cover all basic actions to achieve a large number of complex movements. On start-up, the controller turns all legs on and performs a communication check. If this check fails, the unresponsive legs are turned off and on again: in case of further failure, the procedure is aborted. Otherwise, the controller proceeds to leg alignment: the rover lifts up every leg and places each at its central position. A complex command, such as “a step forward”, is divided into a series of basic movements, which are sent to the legs involved with the required timing. To coordinate the movement, each leg communicates through telemetry when the command has been executed; the controller monitors leg status to know if all legs are ready to execute the next instruction. 4.2.2. Power supply Ten separated supplies compose the power supply section. Six of them are dedicated to the leg motors, two of them are reserved for external peripherals and the last two are in charge of providing the supply for the legs’ onboard electronics. Since the rabbit board includes its

Batteries charger (optional)

Auxiliary Power supply +5V x 2

Leg electronic Power supply -9V / +9V Auxiliary loads switches

Fig. 6. Functional diagram of controller.

own voltage regulator, it is not necessary to connect it to the power controller and it can be powered directly by the batteries. The six power supplies used for the motors are able to deliver up to 5 A at 5 V, allowing an easy motor upgrade with more powerful models without needing to re-design the power supply section. Each power supply can be independently turned on and off by the microcontroller. The two auxiliary power supplies cannot be switched off, but a switch controlled by the microcontroller is connected to each output, allowing power to each load to be switched on and off independently. The output is 5 V at 2 A for each one of them. The digital section of the controller board can be powered by one of these power supplies or from an external circuit. The last two power supplies deliver +9 V and −9 V at 2 A for the leg electronics. These circuits have been designed to accept a wide input voltage range, allowing the use of different kind of batteries. The board is also predisposed for the installation of a battery charger. A functional diagram of the main leg controller is sketched in Fig. 6. Power to the rover is provided through 4Ah NiCd battery cells. This choice is mainly due to the reliability and long experience of space performance of this battery technology [10]. A series of 7 cells assures a voltage ranging between 8.4 and 9.8 V depending on the state of battery charge. Considering current consumption of about 2 A, these batteries guarantee two hours of autonomous operation time before recharging is required. 5. Navigation The rover is equipped with various sensors used for navigation. The process of obstacle detection and avoidance can be divided into three separate levels: long range visual

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

533

Table 2 Microcamera and Infrared radar characteristics. Microcamera VGA color sensor Built-in JPEG CODEC for different resolutions Built-in down sampling and windowing circuits for VGA, QVGA, 160×120 or 80×60 image resolutions Serial data interface 115.2 Kbps for transferring JPEG still pictures or 160×128 preview at 8bpp with 0.75 fps Radar Scan range X scan angle Y scan angle Spatial precision Measure resolution

10–80 cm 180◦ 90◦ 0.257◦ 12 bits

detection system, medium-short range radar detection system, collision solving system. The first level, long range detection, is based on images captured by an on-board camera. When the system is fully implemented, the image will be transferred to the On-board Central Unit for data elaboration and object recognition. At the current stage of development, the image can be acquired and transferred to the operator for external elaboration. The second level, medium-short detection, is implemented through the radar developed for this specific application. It is an infrared radar able to measure object distances and it can perform a single line scan simply to detect if some object is in front of the rover or it can generate a digital map of the ground. With this second function, it can also be considered as a digital imaging system, able to create high resolution object scans. The third level, the collision solving system, is integrated in each leg and it is implemented through the contact switches already described in previous paragraphs. While the other two systems are used to avoid a collision, this system is active only when the leg, during a movement, hits an obstacle. Through contact switches, the onboard leg electronics can identify a situation in which the movement is blocked and lift the leg until the obstacle is overcome. The navigation system permits obstacle avoidance as a first step; however, to create an autonomous system, a GPS receiver for terrestrial use will also be installed, in order to provide the rover with a system to ascertain its absolute position. In future, the on-board camera could also be used to identify a target and to create a path to reach it. Table 2 summarizes the principal characteristics of these two systems.

Fig. 7. (a) Radar installed on the front of the rover and (b) radar acquisition example at 0.5◦ of resolution (top) and real photo (bottom) of the same scene.

The camera and its acquisition system was successfully tested on board a stratospheric balloon flying at an altitude of 35 km, under severe environmental conditions due to low temperatures and low pressure [11]. During the circular movement of the radar scan, all measures are projected on a semi-sphere centered in the sensor rotation point. This kind of measure generates a spherical distortion on the image, like the fish-eye effect on a wide lens. When used for rover navigation purposes, it is mandatory to correct this distortion effect. Thus, trigonometric corrections were implemented in the radar controller: the user can choose to enable correction on both X and Y axes for a complete image elaboration, or only one of the two axes, or to receive raw data. Fig. 7b shows the comparison of an image acquired, at the same time, by a camera and by the radar installed on the front of the rover (as in Fig. 7a). All objects in

534

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

the foreground are grass, while various obstacles are clearly visible in the background. These tests confirm the capability of the developed system. It was also decided to install a GPS receiver on board the rover; although it cannot be used in space exploration, it permits both the study of different navigation algorithms and the enhancement of the rover’s capabilities on terrestrial exploration scenarios. In addition, it must be stated that recent studies have been performed to realize GPS-like systems for the Moon and Mars [12–16], therefore the proposed rover could also be used as a test bench for these innovative proposals. One of the requirements for both the GPS system and the camera was the ability to communicate with the CDH system through a serial bus. A Garmin GPS II Plus is used for this application: it is equipped with a screen for user interaction during the testing phase, it can save waypoints for navigation, and it can communicate with an external terminal through a serial bus. The output available for external application is in NMEA format. This standard gives access to different data, but until now only latitude, longitude and height are collected. In future system developments the operator will set the target coordinates and the rover will draw a route to reach them from the starting point. At the current stage of development, this information is used only to track rover movements. 6. Test campaign results Beside sensor test campaigns to evaluate their capabilities, a test campaign to set up a rover motion mathematical model has been carried out. The center of mass position of the rover in polar coordinates is expressed by  r = p · K1 (5)  = t · K2 where p is the discrete number of backward and forward steps, t is the number of rotational steps, K1 and K2 are the parameters to be determined, representing, respectively, the mean rover center of mass advancing for a single translational step and the angular rotation for a single rotational step. These parameters are sensitive to terrain roughness due to the sliding effect of the rover’s legs. Results for tests carried out on internal floor are sketched in Table 3.

Table 3 Test campaign results. K1 (cm)

Standard deviation (cm)

Test results for slippery floor Forward step 13.1 Backward step 4.7 K2 (deg) Right rotation 13.7 Left rotation 9.8

1.3 1.2 Standard deviation (cm) 1 0.9

Test results for rough floor Forward step 13.6 Backward step 6.0 K2 (deg) Right rotation 6.5 Left rotation 4.3

1.1 2.0 Standard deviation (cm) 0.8 0.7

The tests carried out on rough terrain showed results similar to the ones obtained on a slippery floor with regard to rover translations, while the rotation on rough terrain is almost halved with respect to the previous case, because of the increased friction effect. Test results are also reported in Table 3. Similar results between a slippery and a rough floor can be obtained simply by increasing foot friction with the slippery floor by covering the aluminum feet with rough material. The test campaign was performed by measuring the translations and rotations associated to a number of steps varying form 1 to 5 and normalizing results to a single step to evaluate K parameters. For each step 25 samples were taken. An example of measure distribution for a forward step is sketched in Fig. 8. The motion law evaluation was introduced into rover motion microcontroller which is able to interpret uplink commands expressing the final required position. The motion standard deviation analysis permits the identification of an uncertain arrival zone given by Aerr = 4r r 

(6)

r and  being the standard deviation, respectively, associated to translation and rotation and r the distance between the starting and arrival point. A second test campaign to verify the effective correlation between expected and effective errors was carried out. Results of this test campaign showed that the largest percentage position errors happen when the rover moves for short distances and that these errors tend to decrease with increasing distance. This behavior was thoroughly analyzed and found to be related to the effect of small

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

Step forward 25

Occurence

20

15

10

5

0 9

10

11 12 13 14 15 Forward movement [cm]

16

17

Fig. 8. Rover motion test campaign, forward step measures.

unexpected translations which happen during rover rotation; these are due to the slippery floor and to the kinematics of the rotation step, because the geometric shape of the rover is not circular around the center of rotation. 7. Conclusions The rover designed and manufactured by the Space Robotics Group of the II Engineering Faculty of the University of Bologna was illustrated. The solutions found for rover motion dynamics, control electronics and navigation systems are discussed in detail in the paper. At the current stage of the project, the rover’s main subsystems are operational. The complete manufactured system is shown in Fig. 1b. The results of the test campaign showed that the rover can be commanded under different operative conditions. The tests performed on different types of terrain showed the potential interest of the proposed design for future interplanetary exploration missions. The leg design drastically reduces the effect of differing terrain types on the motion law compared to the wheeled rover design. Moreover, the distributed architecture proposed makes possible the differentiation of task responsibilities among a number of subsystem levels with dedicated microcontroller, increasing the reliability and redundancy of the whole system. This characteristic is particularly important for the rover when used in interplanetary exploration or in Earth exploration under severe environmental conditions. The distributed architecture originated from didactical requirements because it enables work to be effected

535

in parallel on different subsystems. It is also of great value in providing students with both particular and systemic visions of the rover. Future developments regard the implementation of autonomous guidance laws, the manufacture of a second rover cooperating with this one, and the design of legs with three degrees of freedom. It can also be stated that the design and manufacture of the rover represented an outstanding experience for didactical purposes. In fact the direct involvement of students in a real project increased their enthusiasm, stimulating their curiosity in the different aspects of a space project that gives a complete overview of a complex system, as well as stimulating their ability to search for innovative solutions. References [1] M. Massari, P. Massioni, S. Nebuloni, G. Sangiovanni, F. Bernelli-Zazzera, Realization and control of a prototype of legged rover for planetary exploration, in: Proceedings of the 2005 IEEE/ASME, International Conference on Advanced Intelligent Mechatronics, Monterey, California, USA, 24–28 July, 2005. [2] G. Genta, Twin rigid-frames hexapod rovers for the Saha Radioastronomic Missions, Advances in Space Researches 26 (2) (2000) 351–357. [3] Boston Dynamics Website http://www.bostondynamics.com/, accessed 2008. [4] McCloskey, H. Scott, Development of legged, wheeled, and hybrid rover mobility models to facilitate planetary surface exploration mission analysis, Thesis 2007, Massachusetts Institute of Technology, Department of Aeronautics and Astronautics http://hdl.handle.net/1721.1/39668. [5] F. Graziani, P. Teofilatto, F. Santoni, G.B. Palmerini, M. Ferrante, S. Secca, The microsatellite program at Università di Roma in Paper IAF-97-IAA.11.1.02, 48th International Astronautical Congress, 6–10 October, Turin, Italy. [6] Nasa site: http://marsrovers.jpl.nasa.gov/overview/, accessed October 2008. [7] ZigBee Alliance Website: http://www.zigbee.org/, accessed January 2009. [8] Rabbit Website: http://www.rabbitsemi.com, accessed October 2008. [9] Microchip site: http://www.microchip.com/, accessed October 2008. [10] Sanyo Website: http://us.sanyo.com/batteries/cadnica.cfm, accessed October 2008. [11] Bexus experiment ESA site: http://www.esa.int/esaED/ SEMVN973R8F_index_0.html, accessed October 2008. [12] P.A. Stadter, D.J. Duven, B.L. Kantsiper, P.J. Sharer, E.J. Finnegan, G.L. Weaver, A weak-signal GPS architecture for lunar navigation and communication systems, in: Aerospace Conference, 2008 IEEE, 1–8 March 2008, pp. 1–11. [13] Ron Li, Enhancement of spatial orientation capability of astronauts on the lunar surface supported by integrated sensor network and information technology, in: NLSI Lunar Science Conference, NASA Ames Research Center, Moffett Field, CA, July 2008.

536

G.P. Candini et al. / Acta Astronautica 65 (2009) 525 – 536

[14] New project to develop GPS-like system for Moon, Website: http://lroc.sese.asu.edu/EPO/NEWS/2008/GPS-LikeSystemFor Moon.pdf, accessed October 2008. [15] E.A. LeMaster, M. Matsuoka, S.M. Rock, Field demonstration of a Mars navigation system utilizing GPS pseudolite

transceivers, in: Position, Location, and Navigation Symposium, Palm Springs, CA, April 2002. [16] E.A. LeMaster, M. Matsuoka, S.M. Rock, Mars navigation system utilizes GPS, Aerospace and Electronic Systems Magazine, IEEE 18 (4) (2003) 3–8.