Escolar Documentos
Profissional Documentos
Cultura Documentos
624
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
1. Introduction The Mecanum wheel was designed in Sweden in 1975 [1]. Using four
of these wheels provides omni-directional movement for a vehicle without needin
g a conventional steering system [26]. The wheel itself consists of a hub carryin
g a number of free moving rollers angled at 45 about the hubs circumference. The r
ollers are shaped such that the overall side pro le of the wheel is circular. Howe
ver, wheel slip is a common problem with the Mecanum wheel, particularly when th
e robot moves sidewise, as it has only one roller with a single point of ground
contact at any one time. This severe slippage prevents the most popular dead-rec
koning method, using rotary shaft encoders [7,8] from being performed well on th
e Mecanum robot. To cope with the problem, visual dead-reckoning was used as a s
lip-resilient sensor [9 11]. This technique, also used in optical mice, makes use
of an on-board videocamera continuously capturing frames of the ground beneath
and image processing hardware on the robot determining the speed and direction i
n which the current frame has moved relative to the previous frame thus allowing
the speed and direction of that point of reference to be calculated. However, v
isual dead-reckoning using a single camera or optical mouse can not provide all
three-degree-of-freedom positional information for robot navigation and motion c
ontrol. Fixed line following is the simplest and most reliable solution, yet is
also the most limiting. A physical line is marked on the ground along the path w
hich the robot is to follow [7,8]. For a robot that is set up in a xed location f
or a set task this system is e ective but for a research robot with omni-direction
al capability this approach is seen to be a primitive, though still viable, opti
on. This paper presents a nal-year project recently completed at Massey Universit
y, New Zealand. The research started upon an existing omni-directional platform
built of a box-like aluminium chassis, four electric window winder motors and fo
ur Mecanum wheels [12]. The aim of this project was to provide the platform with
motion control that could be programmed to accommodate various robotic behaviou
rs speci ed. With respect to the path following behaviour, two optical mice were a
ttached to give positional feedback for closed-loop control and dead-reckoning f
or navigation and a Mitsubishi M16C/62 microcontroller was interfaced and progra
mmed to implement robotic behaviours. A closed-loop control in Cartesian space w
as proposed to control x- and y -movement and rotation motions of the robot. As
this was a project incorporating mechanical, electrical and software development
, a mechatronics design principle was applied. The di erent areas were developed s
ynergistically thus allowing interactions between the disciplines to be viewed a
nd managed. It also meant that all three core disciplines needed to be developed
to a certain stage before any one area could be further worked on. Although it
was physically possible to use other means to develop the core areas independent
ly, a synergistic approach tends to be more e cient. Even though this parallel des
ign approach was used, the areas of development shall be discussed in sections a
ssuming that other sections have already been completed to a certain level and a
re referenced where necessary.
626
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
Table 1 Physical properties of robot platform Wheels Diameter Width Mass Moment
of inertia Number of rollers Motor torque 150 mm 75 mm 1.94 kg 0.00546 kg m2 9 8
.16 N m Chassis Length Width Height Mass Moment of inertia 463 mm 260 mm 203 mm
12.15 kg 0.223 kg m2 Overall Length Width Height Mass 543 mm 460 mm 218 mm 19.91
kg
oors indoors, such as carpeted surfaces, so suspension considerations were theref
ore not warranted [4]. The motor and wheel assemblies were subsequently welded s
quare to the chassis to provide a solid, robust, cheap and quick solution. Fig.
1(b) shows the modi ed chassis. The other hardware modi cations were as follows: the
electronics were mounted on top of the chassis on stand-o s; a clear polycarbonat
e cover was formed to enclose the electronics and provide additional mounting sp
ace but still allow access to the circuitry and plugs via the open ends; a Liqui
d Crystal Display (LCD) was screwed up to the inside surface of the cover and po
wer and program switches were positioned on the side of the cover; and a 18Ahr S
ealed Lead-Acid was mounted beneath the robot platform. Major physical propertie
s were measured and are given in Table 1.
3. Motor drive The robot uses four used automotive electric window winder motors
to drive the Mecanum wheels. These units are powered by a 12 V DC motor which i
n turn is connected to a self-contained worm drive reduction. The output gear is
connected via a rubber cush drive. The reduction ensures that the motors provid
e considerable torque for driving the system. One disadvantage with these inexpe
nsive used motors is that the high current demand of these motors requires a sub
stantial portable power source. The speci cations developed for the motor driver b
oard were (1) The circuit should be compatible with a single logic-level PWM inp
ut signal for the speed control of each wheel and a single logic-level input lin
e for the direction of motor rotation for each wheel. (2) The circuit should be
able to operate with a high PWM carrier frequency (16 kHz or greater) to provide
inaudible operation. (3) The circuit would require four independent H-Bridge dr
ivers. (4) Each H-Bridge driver circuit must be capable of providing 3 A continu
ous current at 12 V DC. The desired approach for the circuit design was to use d
edicated motor driver Integrated Circuits (ICs) that were suitably rated. This w
ould provide bene ts of
628
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
and UARTS, have a signi cant number of digital I/O lines and have low power requir
ements. The essential microcontroller speci cation for this project was its abilit
y to generate four independent PWM signals at frequencies greater than 15 kHz an
d with at least 8-bit resolution at these high frequencies. Other general requir
ements were; high speed operation to ensure environmental data could be processe
d at real-time, large RAM and ROM for complex algorithms, at least four 10-bit A
nalogue-to-Digital Converters (ADCs) to interface a sensory array and more than
30 digital I/O lines to interface peripherals such as an LCD display. A Mitsubis
hi M16C/62 was employed as it met the aforementioned requirements and an untouch
ed supply of development boards had previously been gifted to the university by
Mitsubishi Electric Australia Pty Ltd. for use in student projects. The M16 is a
16 bit microcontroller and can be programmed using the high level C language. The
board contains many functions such as built-in timers, both hardware and softwa
re interrupts, AD converters and 87 digital I/O lines. Its other major features a
re: 256 KB ROM, 20 KB RAM, two 7-segment LEDs, 16 MHz main clock and 32 kHz subc
lock, reset IC, switches, 5 V regulator, RS232 driver chip, 96-pin DIN connector
for application board interface. A pin allocation of the microcontroller interf
acing for the robot is given in Table 2.
Table 2 Pin allocation for M16C/62 Microcontroller Connector 1B/1C 2A 5A 6C 6B 6
A 7C 7B 7A 8C 8B 8A 9C 9A 10C 10B 10A 25C 25B 25A 26C 26B 26A 27C 27B 32B/C Pin
number VCC 97 88 87 86 85 84 83 82 81 80 79 78 76 75 74 73 28 27 26 25 24 23 22
21 GND Function Mouse 1, 2 and LCD +5V DC Battery voltage signal LCD dataDB0 (pin
7) LCD dataDB1 (pin 8) LCD dataDB2 (pin 9) LCD dataDB3 (pin 10) LCD dataDB4 (pin 11)
dataDB5 (pin 12) LCD dataDB6 (pin 13) LCD dataDB7 (pin 14) LCD functionRS (pin 4) LC
unctionR/W (pin 5) LCD functionE (pin 6) Mouse 1 PS/2 busclock Mouse 2 PS/2 busclock
se 1 PS/2 busdata Mouse 2 PS/2 busdata Motor driver signalPWM_1 Motor driver signalDI
Motor driver signalPWM_2 Motor driver signalDIR_2 Motor driver signalPWM_3 Motor driv
er signalDIR_3 Motor driver signalPWM_4 Motor driver signalDIR_4 Mouse 1, 2, and LCD O
V DC
630
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
between the front and rear x-displacements is proportional to the angular rotati
on of the robot. 6.1. PS/2 protocol for optical mouse Optical mice that were rea
dily available could be interfaced via either the USB or PS/2 protocol and two A
4Tech SWOP-35 optical mice were bought for NZ$38 each. However, since the M16C/6
2 microcontroller does not have hardware USB or PS/2 capabilities, a software PS
/2 driver was derived and written from the speci cations for the PS/2 mouse protoc
ol. The PS/2 protocol uses a two wire bi-directional serial bus. Both wires are
open collector and can be pulled low by the host (microcontroller) or device (mo
use). One wire is the clock signal which is provided by the device at anywhere b
etween 10 and 20 kHz. The clock line can be held low by the host to inhibit the
PS/2 bus. In this scenario the device will accumulate displacement until it over o
ws at which point data is lost. The second wire is the data signal which uses st
andard serial framing, one start bit, eight data bits, an odd parity bit and one
stop bit (8-O-1). The least signi cant bit (LSB) of the data is always sent rst. T
he Clock line of the PS/2 bus is connected to a general purpose I/O line and the
Data line is connected to one of the hardware interrupt lines of the M16C/62 mi
crocontroller. A basic summary of PS/2 communications is as follows: Device to H
ost communications (Fig. 4) The device pulses the Clock line a total of 11 times
, while transmitting the start bit, data bits, parity bit and stop bit on the Da
ta line. The Host is expected to sample the Data line each time the Clock is low
and the Device changes the state of the Data line while the Clock is high. Host
to Device communications (Fig. 5) The Host signals its intent to transmit a com
mand or argument byte by holding the Clock line low for at least 100 s, before p
ulling the Data line low and releasing the Clock line. The Device pulses the Clo
ck line a total of 11 times to receive a byte of data. The Host is expected to c
hange the state of the Data line while the Clock is low and the Device samples t
he Data line while the Clock is high. After the 10th Clock pulse, the Device che
cks for a valid stop bit (Data line high), and responds by pulling the Data line
low and clocking one more time.
Fig. 4. Device to Host communications [13].
632
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
6.3. Testing Preliminary testing was performed by using one mouse as an electron
ic ruler. The raw data received from the mouse was formatted according to the pa
cket header. This data was accumulated for both the x- and y -direction without
scaling to maintain accuracy. The x- and y -displacement accumulator values were
subsequently scaled to millimetres to be displayed on the LCD panel. The parity
of the data was also checked and an error was displayed on the LCD panel if a p
arity error occurred, to give an indication of the frequency of errors. A mouse
was temporarily attached to the front of the robot to test whether the performan
ce of the measurement provided would be su cient in the application. The tests sho
wed that the optical mice provided better than 1% accuracy when the displaced me
asurement was compared to that given by a tape measure. Parity errors did occur
but were very infrequent. The errors were most likely to occur if the mouse data
cable was placed in close proximity to any one of the DC motors. To minimise th
e noise to which the data cables were subjected they were routed centrally down
the chassis, while the DC motor power cables were routed through the side rails.
The nal stage in fully implementing the optical mice on the robot was to create
mounting brackets to hold the mice securely in the x- and y -direction. Because
the mice needed to be sitting ush with the ground it was necessary to implement s
ome system to allow vertical movement. The mice were stripped down to the base a
nd four shafts were mounted, one in each corner. These shafts were free to slide
up and down in holes in the mounting bracket. Initially springs were used to pr
ovide some form of assisted return for the mice but testing proved that this add
ed too much drag on the ground. Instead gravity proved to be su cient to hold the
mice to the ground.
7. Planned path motion 7.1. Open-loop testing With the mice installed it was pos
sible to assess the open-loop performance of the robot quantitatively, thus crea
ting a benchmark for any further development. A standard planned path was design
ed that would provide the best assessment of the speci cations. The path consisted
of straight forwards, reverse, sideways and 45 diagonal lines. The 45 diagonal pa
th was considered to be the most demanding of the robot as it is only driving wi
th two wheels to achieve this direction. The standard testing path is shown in F
ig. 6. Due to the limited space available for testing, the maximum displacement
from the centre of the course was 800 mm. Table 4 gives the Cartesian coordinate
s for the path as used in the software. The speed for forward and reverse moveme
nt was 152.88 mm/s which gives 5.25 s for 800 mm, the speed for sidewise movemen
t was 152.28 mm/s which gives 5.25 s for 800 mm and the speed for diagonals was
167.19 mm/s which gives 6.77 s for 1130 mm. Using trigonometry functions the rob
ots local motion was converted into world motion according to its instantaneous a
ngle of rotation. This was done in real
634
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
1000 800 600 400 Ideal Actual
Y Displacement (mm)
200 0 -1000 -800 -600 -400 -200 -200 -400 -600 -800 -1000 X Displacement (mm) 0
200 400 600 800 1000 1200 1400 1600 1800 2000
Fig. 7. Open-loop path following performance.
calculated from the equation for a straight line (y mx c), between the previous
and the current destination. The three PID controllers were tuned using the Zieg
lerNichols Ultimate Gain method [14] via three potentiometer voltage dividers con
nected to ADCs on the microcontroller. These were continuously scanned and scale
d appropriately. Refer Table 5 for the actual PID tuning constants. The software
also streamed positional data through the UART to be logged and analysed by a P
C. The path followed by the robot using closed-loop control can be seen in Fig.
8. A dramatic improvement can be seen over the performance of the open-loop syst
em. 7.3. Results from testing Qualitative observations were made throughout the
initial hardware development and modi cation stage of the project. These observati
ons con rmed that modi cations did increase the quality of the motion of the robot.
The modi cations to the
Table 5 PID tuning constants Proportional P X -controller Y -controller Rotationa
l-controller 3.38 1.96 2.72 Integral I 0.154 0.205 0.343 Derivative D 1.02 1.04 1.2
1
636
J.A. Cooney et al. / Mechatronics 14 (2004) 623637
desired path speci ed. Given in Table 6 are the results for this test calculated f
or both open-loop control and closed-loop control. The speci cations for the plann
ed path motion were that the robot should not deviate more than 1 mm from the des
ired path for any forward or reverse movement, or 5 mm for any arbitrary angled m
ovement within a two meter square area. The test data shows that neither of thes
e speci cations was met with open-loop control. The implementation of closed-loop
control enabled the forward and reverse speci cation to be met. The diagonal path
did prove to be di cult to control and although its performance lay outside the de n
ed speci cation, it was a signi cant improvement over the open-loop control.
8. Conclusions The motor driver circuit board designed for the drive of the Meca
num wheels met all the speci cations given in Section 3. The limitation to its cur
rent handling capacity was the relays which are rated at 5 A. The board has prov
ided a cheap and compact interface between the microcontroller and the DC motors
, tting without trouble in the available space on the robot chassis. It is consid
ered adequate to support further work done on the robot. Optical mice were succe
ssfully implemented on the system to provide positional measurement data to the
microcontroller. They provided a cheap and accurate method of dead-reckoning for
robot navigation, while making use of current technology in an application that
is not currently common practice. Wheel slip continued to be an issue with the
Mecanum design. This problem was signi cantly improved by the use of closed-loop c
ontrol. PID controllers created a sturdy control design to investigate the platf
orms closed-loop performance. Although the speci cations set for the control task
where not fully met, the performance of the platform was greatly improved. The p
latform has been completed to a standard whereby further projects can use the ro
bot to conduct advanced multivariable control investigations. The robot has been
presented as a complete package, including a battery charger, in order to incre
ase the ease of further research done on the project. If optimal system performa
nce is required it is recommended that some modi cations to the existing Mecanum w
heels be made. This may necessitate new rollers being machined from a more appro
priate material and, most likely, involve some form of rubber coating. To develo
p more sophisticated control of and telemetry from the platform, a wireless conn
ection should be included. This would allow trigonometric, dynamic path and stat
us calculations to be o -loaded from the microcontroller. In addition to the uniqu
e contributions in visual dead-reckoning for closed-loop control of the multi-de
gree-of-freedom Mecanum mobile robot, the student research addressed in the pape
r has indicated to what extent and how well undergraduates could carry out a res
earch project involving open and challenging issues at limited budget.