Table Of ContentOUXT-Polaris
Catamaran Robot “Polaris -I” for Maritime RobotX Challenge 2014
Team: OUXT-Polaris (Osaka-Japan)
Advisor: Kazuhiko Hasegawa
Naoya Fujimoto, Suisei Wada, Jyotsna Pandey, Kentaro Tanaka, Kyoichi Takayama,
Tatsuhiko Kono, Tatsuya Sanada, Yoshiyuki Haradai
aGraduate School of Engineering, Osaka University,2-1 Yamadaoka, Suita, Osaka, JAPAN
(E-mail: [email protected])
1. Abstract search under water sound. Difference of
loudness or time of obtaining sound leads
The Catamaran robot Polaris I designed by
the position. These programs are controlled
Osaka university team is on the purpose of
by two note computers with the help of C++
achievement of AUVSI Foundation ROBOTX
program. Obtained task data is saved on
competition (Fig 1). The first competition of
board computers and send to directors
“Maritime RobotX Challenge” is going to be
through Wi-Fi network. One kill switch with
held in Singapore 2014. Our activity has
power indicator on the board and one
started from making motor system,
remote kill switch prevent runaway by
composed by couple of motors, motor
cutting off the power supply to motors.
drivers and 12V batteries. Then various
sensors are prepared and tested on the sea
twice a month. Apart from that two Laser-
Range-Finders, one satellite compass, four
microphones, one omnidirectional camera
and one web camera are selected as
sensors. Satellite compass detect its own
position. Laser-Range-Finders detect
obstacles. These two is fundamental
equipment to know its own position and
obstacle position. Omnidirectional camera Fig. 1: OUXT-Polaris designed “Polaris -I”
checks the colors, shape and size to
2. Introduction
recognize whether they are buoys, marks or
not. Web camera analyze color of LED light
Nowadays ships, aircrafts and AUV’s are
buoy and recognize the order of colors, this
autonomously guided and navigated but
is different algorithm from omnidirectional
furthermore intelligent decision making
camera’s one. Microphones are used to
OUXT-Polaris Page 1 of 14
OUXT-Polaris
capacities should be incorporated in order omnidirectional camera, and one USB Web-
to improve autonomous ocean navigational camera. Third, we use four microphones to
facilities. In future it is required to more detect under water sound, and one satellite
emphasize on this kind of research activities compass to get location information.
to realize autonomous maneuvering of Another 12V battery supply electric power
ships or marine robots. It may highlight for those sensors. And they are controlled
many more areas of course tragic accidents one note PC through Ethernet or USB.
can be decreased. In our lab, Ahmed et al. Summarized information can be send to
(Nov., 2013) studied autonomous berthing directors through antenna with Wi-Fi. This
by using Neural Network[1], and some antenna can communicate about 200m
successful experiments using ship scale while keeping Singapore and Japanese radio
down model in Osaka University pond was law.
conducted[2]. We have gone through with 3.2 Technical Description of the Boat
many good control theorems [3].
First challenge is to make original motor
The cost of ship and variety of elements of
drivers, fixtures to attach motors and
engineering techniques seems to make it
knowing the behavior of the boat. We
difficult to research or do experiments. Now
prepared 55 lbs electric hand control
Catamaran boat called “WAM-V” is
motors which are used for mini boat which
provided by organizers and all tasks are
weight is about 200kg - 250kg to fishing in
described well. Ultimate goal is to
general. It is attached behind the boat, and
contribute for future research by
power and direction can be change by hand.
developing an autonomously maneuver
We made motor drivers to match the time
ships and marine robots and of course to
when our boat arrives and to do experiment
win this competition successfully. At this
as soon as possible. This idea is right, since
first competition, we selected simple way
our motor drivers burned twice. First we
and simple algorithms in order to keep fix
don’t know why, second time we find the
deadlines and to learn what we need for
reason by feeling burning smell. It works
future challenge.
well on the ground. But there is strong
resistance in the sea and electric current
3. Technical Approach
are there as we expected. We decided to
3.1 Mechanical and Electronic Systems make robust motor drivers as not break if
100A current flow. After 2 month from 2nd
In this section mechanical and electronics
experiment, it is completed. While making
systems on the boat is described. First in
motor drivers we made fixtures to attach
order to run the boat, we use a couple of
motors behind of the hull by aluminum
motors, motor drivers, 12V batteries.
flame fixtures as shown in fig. 2. These
Second, in order to find buoys and wall, we
fixtures are installed as it strongly holds the
use two Laser-Range-Finders, one
OUXT-Polaris Page 2 of 14
OUXT-Polaris
metal flame of the hull; it can’t be detached At experiment, we controlled the motor by
easily. The wooden frame is used to avoid controller and check the movement of the
the slipping of the motors. After that we boat. It went straight about 1.33m/s when
made connection between motor and both motor’s output is full power. Speed of
motor driver, the motor drivers control the back space was almost 1.28m/s in full
motor power according to the command power because of the effect the resistance
from PC through Ethernet. This system can of fixtures and it also turned in a circular
change motors power 511 level. Max 55 lbs. motion by changing the output of each
to 0 (No power) are separated to 256 level, motor, instead of general ships change with
and inverse rotation is separated to 255 the help of rudder. The boat has one very
level until -55 lbs. We can change its power important and unusual movement, it can
freely by game controller, directly inputting turn at that point by outputting one motor
value, pushing shortcut order as stop or go ahead and another reverse. This
turning. (Fig. 3) movement seems to make it possible to run
as a tank though there is also a weak point.
This boat is easily flowed by wave. We
conducted this experiment at Kobe
University experiment pond which is also
surrounded by the land as Singapore
Marina bay. Side slipping of the boat was
very difficult to control. As one idea to solve
this problem, we thought to put four
motors as omnidirectional robots as Pliveira
et al. (May, 2008) studied [4]. The idea is to
Fig. 2: motor and fixture put four motors; each hull has two motors
at front and back, facing the tangential
direction to the center of gravity. By
adjusting the output of four motors, we can
control the boat in multiple directions. For
example, two motors on the same hull
outputs to same direction; it can move side-
way. If we can install this theory, side
slipping can be reduced. We prepared four
motors and motor drivers but we can’t
adjust programs to control the boat by four
motors due to the shortage of time. As the
relic of this idea, we experienced in the
condition that two motors facing tangential
Fig. 3: motor control through PC
OUXT-Polaris Page 3 of 14
OUXT-Polaris
direction (Fig. 4) which makes the speed of away the boat and change direction
turning very fast, at the expense of the randomly by remote control. Then start the
speed to go ahead and back. The increase program and check whether it will go to the
of the turning speed is useful in strong wave point correctly. The experiment succeeds.
condition or when we need precise This autonomous maneuvering is working in
movement. We will decide whether to use simple algorithm as represented by Flow
the direction or not by watching the sea chart of the algorithm in fig. 6. This is the
and field condition at the venue. basic algorithm of autonomous
maneuvering for almost all tasks.
Fig. 4: a motor facing tangential direction
to the center of gravity
3.3 Self-location and Control
Fig. 5: SC-30 installed on the board
The SC-30 Satellite Compass provides highly
At first, decision of the goal point is
accurate attitude information to our PC
important, it may be berthing point, space
through CAN bus. It provides GPS position
between GATES buoys or side of buoys to
in 3m accuracy and heading position in 0.1
avoid obstacles. GPS point or relative
degree accuracy for each one second. This
position from the target will be selected
satellite compass correct by using two
and decide how distance it needs to close.
antennas installed in it. We use this position
After that checked the heading to evaluate
information for communicating about the
how angle differ from direction. If it is
tasks, to know the position of ships and to
bigger than +- 5 degrees, turn at that point
predict the position of buoys. We did
and change direction. If the difference
autonomous maneuvering experiment by
between heading and direction becomes
using this. We installed it on the board
less than 5 degrees, it will go ahead
straightly as shown Fig. 4. First, point a GPS
adjusting its heading.
position latitude and longitude. Next, move
OUXT-Polaris Page 4 of 14
OUXT-Polaris
Laser-Range-Finder, UTM-30LX-EX (Fig. 7) is
presented from HOKUYO. This will scan
semicircular area of horizontal plane, 30m
radius and 270 degrees; by laser beam (λ is
905nm). Its step angle is 0.25 degrees. Then,
it can analyze the distance and angle to
targets. Each scan can be done in 25ms. In
our research, it can work when the target or
anybody is moving smoothly. It does not
recognized water as an object, as long as it
is become dirty or shallow. This will also be
useful in the sea condition. But we found
that pitch of the boat shake about 2.5
degrees in a strong wave condition. Its
height can change 1.3m at 30m distance. So
we prepared a stabilizer to keep it parallel
to the sea surface. This stabilizer is installed
on the front arch and its height can be
changed easily by tools as needed. This
Fig. 6: algorithm of autonomous
main Laser-Range-Finder will be used to
maneuvering
find GATE buoys, wall, A-7 and A-5 buoys.
About float, A-2 and A-3 buoys, they are
When the difference becomes bigger it tries
very small to find by searching horizontal
to adjust and stop to go ahead. When the
line. If we fit the height to find them, there
goal becomes closer than decided distance
is high risk to the equipment get wet by sea
it tries to stop and adjust additional terms if
water. In order to detect small buoys, we
needed. For example, it checks not to hit
thought to shake the stabilizer up and down.
the buoys or float. At last search next target
Then Laser-Range Finder will search not
and go to first.
only horizontal direction but also height
3.4 Target Detecting direction as 3D scan system. In this
competition, in order to overcome the
For detecting buoys, float and marks, we
problem we made a ramp stand by 3D
are mainly using these two equipment as a
printer (Fig. 8). It will be installed the front
sensor.
of the board. This allows us to find
Laser-Range-Finder (UTM-30LX-EW) obstacles which enter adjusted radius.
Omnidirectional Camera (VS-C450U-
200-TK)
OUXT-Polaris Page 5 of 14
OUXT-Polaris
Fig. 7: Laser-Range-Finder and stabilizer
Fig. 9: omnidirectional camera
Omnidirectional camera is used to scan the
color around there. After colors are
extracted, labeling processes is done. Basic
theory for image processing is used [5]. First
it checks its color whether it is used color or
not in the task. Next, check its shape to
judge it is really buoy. If it is different shape
from buoy, then it is ignored. At Last, check
its size, if it is too small, it may scrap or any
Fig. 8: ramp stand for Laser-Range-Finder
reflection. If it is too big, it may be fishing
Omnidirectional camera (VS-C450U-200-TK)
boat or something. Fig. 11 shows the
has 1600 X 1200 resolutions and a bipolar
example of detecting red buoy by this
surface mirror on upper side, so it can
program. First picture is original picture
overlook all the directions. (Fig. 9) They are
taken by omnidirectional camera. Second
used to detect targets. When detecting
picture is filtered by colors. Third picture is
buoys, the algorithm is Flow chart of the
filtered edge program. This can be used to
algorithm (Fig. 10). Laser-Range-Finder is
check shape. Last picture is checking size of
used for detecting any object and to
detected things. This standard of labeling
calculate its direction.
process is necessary to adjust by time,
weather and place at the venue. In our
experiment, brightness of the sky affects
OUXT-Polaris Page 6 of 14
OUXT-Polaris
the color the camera is taken into account
(For example shiny day, In Fig. 11 reflection
of sunlight is recognized green buoy by
mistake.) Also, sometimes there are many
reflections or scrap on the sea. After getting
the information of buoys color, next it plans
what it needs to do for each task. At task 1,
setting the route which will through the
GATE buoys, at task2 it needs to calculate
the distance and guess the target buoy
position, at task 4 it needs to close to
observe LED buoys. More detailed
information about task 4 is described in
next section. For task 5, it needs to select
right GATE by comparing colors of two
buoys. Some colors like white are very
difficult to find because of low pixel of
Fig. 10: algorithm of detecting buoys
omnidirectional camera. If we want to
detect it, we need to stay as close as
possible.
Algorithm to detect marks is a little
different from detecting buoys. These
colors are only black, so it can reduce first
process from previous one. In Fig. 12 Flow
chart of the algorithm is shown. First
expansion of the data of omnidirectional
camera is done. Then labeling is done
mainly black colors and checked its label’s Fig. 11: example of the program
shape whether it is matched to the circle,
If the matching ratio is sufficiently bigger
triangle or cross. Especially about cross, we
than the threshold it is recognized as the
need to take sample in practice time
mark. After finding target mark, the boat
because it can change its form due to its
will go to the mark straightly and stop its
thickness.
motor when it closes in 5m distance. If
there is float beside the boat, it needs to
adjust to prevent it from hitting.
OUXT-Polaris Page 7 of 14
OUXT-Polaris
Fig 13: an autonomous ship targeting LED
Fig. 12: algorithm of detecting marks
Light Buoy
The buoy with vertical Led light bar is
3.5 LED Light Color Detection located on the search area and successively
display color one at a time to generate a
Thousands of ships and surface vehicles can
sequential pattern of three colors (red,
navigate through any sort of markers
green and blue) individual color will appear
(Lighthouses, light buoys etc.). In this paper
for 500 millisecond after which the light
researcher tried to explain the image
remain off (black) for two seconds. The
processing based algorithm to detect the
camera records the video and with the help
Light Buoy in the search area with help of
of algorithm the sequential pattern of the
camera placed on the autonomous surface
color of LED light buoy can be detected
ship (Fig. 13). In this research, light source
online. In this research the pattern of
buoy composed of high brightness LEDs is
glowing LED light is already known to us.
used, because LEDs have gain widespread
Camera reads the image on 30 FPS so it is
use in lightning application since LED lights
not needed to process every image frame
maintain more stable state and less power
and process time is reduced. Image
required also they have a good recognition
acquisition toolbox and image processing
properties in both day and night conditions.
toolbox of MATLAB is used for the coding
[9].
OUXT-Polaris Page 8 of 14
OUXT-Polaris
The Flow chart of the algorithm is shown in preserve the original brightness of the
Fig. 14. image.
The cumulative histogram from the input
image needs to be equalized to 255 by
creating the new intensity value by applying
equation 1[7].
𝐼′ 𝑥 = 𝑑 × 𝐶 𝑥 −𝐼 +𝐼 (1)
𝑀𝑖𝑛 0
𝐶𝑀𝑎𝑥−𝐶𝑀𝑖𝑛
Where, is the new intensity level, d is the
new dynamic range value, I is the offset
0
point of new dynamic range for I’(x), C(x) is
the normalized cumulative value, C is the
Max
maximum value in normalized cumulative
Fig 14: flow chart of the algorithm
value, and C is the minimum value in
Min
First part of the algorithm is image normalized cumulative value. Lastly, the
acquisition in which with the help of the normalized cumulative histogram is used as
camera video is retrieve and read in the the mapping functions of the original image.
algorithm with the help of Image There are many color images processing
Acquisition toolbox in MATLAB. From the well established to remove both linear and
video images are extracted frame by frame nonlinear noise from the image. In the field
for further processing. Image clarity is very of image noise reduction several linear and
much affected by environmental conditions nonlinear filtering methods have been
for e.g. lightning and weather condition etc. proposed. In these kinds of image
so in that cases image may loss some acquisition processes both linear and
information. So Image enhancement is a nonlinear noises are presented. Most
technique to recover the lost information common noises are impulsive and additive
also makes it brighter and contrast. In this so we used median filter which is a
algorithm Histogram Equalization [6] is used nonlinear filter.
to make contrast adjustment using image’s The autonomous ship has its own roll, pitch
histogram. Histogram Equalization and yaw sensors fixed with the body
redistribute intensity distribution and coordinate frame which give the rate of
produce optimal contrast but cannot adapt change of the angles. The information is fed
the local information of the image and to the algorithm and according to that
image is processed without any distortion.
OUXT-Polaris Page 9 of 14
OUXT-Polaris
Let us consider an image function f defined 𝑟 = 𝑅/(𝑅+𝐺 +𝐵); 𝑔
over a (w, z) coordinate system, undergoes = 𝐺/(𝑅+𝐺 +𝐵) &
geometric distortion to produce an image g
𝑏 = 𝐵/(𝑅+𝐺 +𝐵) (4)
defined over an (x,y) coordinate system[6]
This transformation may be expressed as
equation 2.
𝑟+𝑔+𝑏 = 1 (5)
𝑔 𝑥,𝑦 = 𝑇 𝑓 𝑤,𝑧 (2) After applying the algorithm on the video of
LED light buoy captured by the camera the
Where ‘T’ is a transformation matrix that
following results are obtained fig.15. The
contains Rotation, Translation and Scaling
sequence of the color pattern is detected
After that whole preprocessing normalized
but the limitation is no color should repeat
correlation based pattern matching
just after the same color for example first
technique is used as it allows for stable
sequence pattern is obtained as [Red Green
pattern matching without being affected by
Blue]. Similarly second and third is [Red
ambient light also normalize the image
Green Red] and [Blue Green Red]. Image
vector between the reference image and
has been enhanced, noise free and free
input image and calculate correlation
from distortion.
coefficient with the given equation.3 [6].
𝑌 𝑢,𝑣 = 𝑥,𝑦 𝑓 𝑥,𝑦 −𝑓′ 𝑢,𝑣 𝑡 𝑥−𝑢,𝑦−𝑣 −𝑡′
2
𝑥,𝑦 𝑓 𝑥,𝑦 −𝑓′𝑢,𝑣 𝑡 𝑥−𝑢,𝑦−𝑣 −𝑡′ 2
(3)
Where t’ is the mean of a reference image,
f’ (u,v) is the mean of f(x,y) in the region
under the template.
At last RGB color detection is method is
used to detect the LED color change. Thresh
holding value is set for Red, Green and Blue
colors. In the proposed method, color
image is analyzed from RGB color space
point of view. Each pixel in the image
consists of three color channels known as
RGB components. The range of values of
each of this components lies within 0 to 255.
As it is known from the literature that we
can normalize the formula [8]
OUXT-Polaris Page 10 of 14
Description:aGraduate School of Engineering, Osaka University,2-1 Yamadaoka, Suita, Osaka, JAPAN. (E-mail: Then various sensors are prepared and tested on the sea In this section mechanical and electronics systems on the . between GATES buoys or side of buoys to .. [10] Bjarne Stroustrup, “The C++.