iros04-15

Upload: ammar-al-kindy

Post on 14-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 IROS04-15

    1/6

    Building a 3D Simulator for Autonomous

    Navigation of Robotic FishesJindong Liu

    Department of Computer Science, University of EssexWivenhoe Park, Colchester CO4 3SQ, U.K.

    Email:[email protected]

    Huosheng Hu

    Department of Computer Science, University of EssexWivenhoe Park, Colchester CO4 3SQ, U.K.

    Email: [email protected]

    Abstract-- This paper presents a 3D simulator used for

    studying the motion control and autonomous navigation of a

    robotic fish. The simplified kinematics and hydrodynamics

    models are created for the simulator, including many other

    object models such as water, obstacles, sonar sensors and a

    swimming pool. The experimental results show that the use of

    this simulator is a realistic and convenient way to develop

    autonomous navigation algorithms for robotic fishes.

    I. INTRODUCTIONIn nature, fish has astonishing swimming ability afterthousands years evolution. Instead of the conventional

    rotary propeller used in ship or underwater vehicles, theundulation movement provides the main energy of fish. Theobservation shows that this kind of propulsion is morenoiseless, effective, and maneuverable than the propeller-based propulsion. Recently, some researchers started tobuild an aquatic man-made robotic systems namely RoboticFish which could apply the fish-like swimming in order toexplore the fish behaviors, detecting the leakage of oilpipeline, sea bed exploration, mine countermeasures androbotics education, etc.

    In 1994, the first robot fish named robotuna wasdeveloped by MIT [2]. After that, many researchers putforward several kinds of robot fish. The NorthwesternUniversity applied Shape Memory Alloy(SMA) on therobotic lamprey [4] which aimed to realize minecountermeasures. In Japan, Nagoya University developed amicro robotic fish using ICPF Actuator [5] and TokaiUniversity realized a robotic Blackbass [3] to research thepropulsion of pectoral fins. National Maritime ResearchInstitute in Japan developed many kinds of robotic fishprototypes from PF300 to PPF-09 [6] to exploit the up-down and effective swimming. The Mitsubishi HeavyIndustries built a robotic fish named coelacanth robot [16].

    Most of previous research focused on thehydrodynamics mechanism of fishlike swimming, thespecial skin material and mechanical structure of roboticfish models. Although, autonomous navigation poses majorchallenge for a robotic fish, no research has been done up tonow. In order to study the fish-like motion control algorithm(MCA) and autonomous navigation algorithm (ANA) on arobotic fish, it is important to make a quantitative evaluationof the algorithm through many trials of experiments bychanging parameters. Although, we already have a realrobotic fish, making such trials is a difficult task in the realworld, and simulators are built to perform a virtualexperiment.

    However conventional simulators such as MOBS [14]for mobile robots have some limitations. They are usually

    used for 2D movement and their kinematics and dynamiticmodels are simple compared with robotic fishes because thecommon mobile robot takes no account of the interactionbetween itself and the locomotion medium-- air, while theinteraction between robotic fishes and water is one of themost important aspects for the robotic fish motion control.

    Some researchers focused on the animation of a realfish, such as Tu [10] and William [11]. Their main aims arethe fish-like behaviors of artificial fishes but not MCA or

    ANA. The fish models used in their animation are extractedfrom real fishes but not from robotic fishes. Up to now, no3D simulator has been built for the ANA of robotic fishes.We are the first group who try to build such kind ofplatform for the research of MCA and ANA of roboticfishes. Although we have not finished up it at all, theexperiments already showed its great value. Here, the 3Dsimulator is built up based on a four-joint robotic fish [9].

    The rest of this paper is organized as follows. Section IIdescribes the aim, main challenges and supposedconditions. Section III addresses the creation of the roboticfish model and some relative models such as water,obstacles, sensors and the swimming pool. In section IV, the

    simplified kinematics model and the hydrodynamic modelare proposed for the virtual robotic fish. Section V explainsthe computation flow of the simulator, which includes thefish status update and the collision detection. In Section VI,a preliminary experiment is carried out to verify thefeasibility and performance of the simulator. Finally, a briefconclusion and future work are given in section VII.

    II. CHALLENGE AND CONDITIONSThe focus of this paper is how to simulate a robotic fish

    to make it swim like a real fish and realize its autonomousnavigation. The main aims of our simulation work are:

    To simulate the hydrodynamic model of a roboticfish, and understand the relationship between therobotic fish locomotion and the motion controlparameters of the joints.

    To develop fish-like MCAs for the robotic fish, andrealize or mimic the real fish behaviors such asdecelerating/accelerating swim, constant swim,turning and hover.

    To test the ANA in the robotic fish such as to avoidobstacle, to pursue a moving target, to swim in anappointed trajectory, etc

    Compared with some traditional simulation work inrobotics, the simulator for robotic fishes encounters somespecial difficulties due to the different locomotion medium-water. Since water is an incompressible fluid, any

    0-7803-8463-6/04/$20.00 2004 IEEE

    Proceedings of 2004 IEEE/RSJ International Conference on

    Intelligent Robots and Systems

    September 28 - October 2, 2004, Sendai, Japan

    613

    mailto:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/30/2019 IROS04-15

    2/6

    movement of a robotic fish will set the water surrounding itin motion and vice verse. The main challenges are:

    The fishs swimming mechanism and mathematicalmodels are not very mature. There is not a simpleand direct method to compute the forces acting on aswimming fish.

    The collision computation between robotic fishes orbetween a robotic fish and other objects is morecomplex than those in mobile robot simulationsbecause the body shape of a robotic fish is changingwhen swimming.

    To deal with above challenges, this paper makes somesimplification on the simulation environment and supposefollowing preconditions:

    The water in which robotic fishes swim is quasi-steady fluid. Most of fish swimming mechanismresearches quoted in this paper is based on thissupposition which also makes it easy to buildhydrodynamic model.

    For a given parameter vector { },,, 21 kcc= (See(2)) for the movement of the robotic fish tail, thevalue and the direction of thrust force acting on therobotic fish are determined with no respect to thevelocity of the robotic fish.

    The viscous drag is considered as the onlyresistance when the robotic fish swimming.

    III. MODELING A ROBOTIC FISHThe whole simulator is built by OO programming

    method. C++ is selected as the programming language andOpenGL is adopted for the animation display. The roboticfish used for the 3D simulator was purchased from CACIS

    [9]. It has no onboard sensors. Figure 1 shows itsmechanical configuration of it. Based on this prototype, avirtual 3D robotic fish model is created (Figure 2), which ismanually constructed using OpenGL.

    As shown in Figure 2-(a), the fish trunk and fish fins aredesigned separately. The former consists of eight parts: thenose, the eyes, the neck plane, the first joint plane (I), thesecond joint plane (II), the third joint plane (III), the forthjoint plane (IV) and the tail. Each part is defined by a group

    of six traverse points (A, B, C, D, E, F) which are used tocompute the control points of bezier-spline in the OpenGLrender processing. These points are arranged into twogroups: (ABCD) and (AFED), to build the right-half and theleft-half fish body respectively. The values of these traversepoints are proportional to the real robotic fish. It isconvenient to change the size of the robotic fish model bychanging the traverse points. In each joint plane, an axisthrough point A and point D acts as the axis of a virtualservo motor which represents the servo motor in the realrobotic fish. The model could animate fish-like movementwhen the virtual servo motors turn by each axis in a specialway (see section V: Joint Kinematics Model).

    The robotic fish fins include dorsal fin, left pectoral finand right pectoral fin. Each of them is described by two

    bezier-splines (I, II) which are defined by four traversepoints (A, B, C, D) as shown in Figure 2-(b). They aredesigned for future balance control and up-down motioncontrol.

    From above traverse points, OpenGL could generate amesh of a robotic fish body and then map a fish skin textureonto the mesh for realistic display. Figure 3(b) gives anexample of the final robotic fish model. To realizeautonomous navigation, a robotic fish needs sensors are toperceive its environment. Therefore, we designed modelsfor virtual sonar sensors, infrared sensors, cameras andbumpers. The sonar sensors and the infrared sensors arealternatively selected .All sensors are equipped on the head

    of the robotic fish model. A virtual bumper is fixed onto thenose and other sensors locate around the eyes.

    z

    (a) Real Robotic fish (b) Virtual Robotic fish

    Figure 3 Virtual robotic fish vs. Real one

    D

    AI

    B

    C E

    F Neck

    IIIII

    IV

    Tail

    Nose

    Eyes

    x

    o

    Dorsal Fin Left Pectoral Fin

    Right Pectoral Fin

    A I

    II

    III

    BC

    D

    III

    (a)

    (b)

    Figure 2 3D robotic fish model

    Figure 1 Mechanical Configuration of the Robot Fish[9]

    Antenna Tail

    Ni-H BatteryJoint I Joint III

    Joint II Joint IV

    (a) Front view

    78

    Microprocessor + Peripherals

    Servo motor

    400

    Ornamental eyes

    Head + Forebody

    40

    (b) Top view178

    614

  • 7/30/2019 IROS04-15

    3/6

    The camera model is created by adding two moreContext DCs in the OpenGL program with fish eyeviewpoint configuration. When the robotic fish swims, bothof the camera Context DCs re-render all of the models inthe simulator and output images that the robotic fish cansee. Then the images could be processed by traditionalimage processing methods. Figure 11 shows two imagesgenerated by the camera model.

    The bumper sensor model only has two statuses: ONor OFF, which detects whether the robotic fish headbumps with other objects. The sonar sensor and the infraredsensor are range sensing sensors. To simplify thecomputation, the sonar sensor is modeled as a wedge. Itscross-section is designed as Figure 4-(b) based on the realsonar sensors (Figure 4-(a)[8]). The transducer and thereceiver are viewed as a same point (T/R). A bunch of raysis created in front of the T/R point to simulate the ultrasonicwave. When the robotic fish detects obstacle by sonar, itcomputes the crossing point of each ray with the obstacle inambient. The infrared sensor model is designed in a similarway except that the sensitivity region is narrower.

    The water wave in the simulator is viewed as the noisesource of fish movement. We only consider the noise in thehorizon plane paralleled with the water surface. It issupposed that the noise only affects the robotic fish positionwith no respect to the velocity and the acceleration. Thewater noise is decomposed into two sub-noises:

    and which are described by sine functions:xE yE

    )/2sin( xxx tAE = , (1))/2sin( yyy tAE =

    where the and are the amplitude and

    wavelength respectively.

    yx AA , yx ,

    The obstacle model is extracted as a solid column whichfloats on the water surface and is defined by twoparameters: height and radius. In contrast, the swimmingpool model is a transparent uncovered box.

    IV. KINEMATICS MODEL AND HYDRODYNAMIC MODELThis section presents three types of models we have

    built, namely the Joint Kinematics Model, theHydrodynamics Model, and the Kinematics Model.

    A. Joint Kinematics ModelThe control of robotic fish movement mainly depends

    on how the tail joints turn. The kinematics model of the tail

    joints decides if the robotic fish swims like a real fish, if the

    swimming is high efficient and how much propulsion forceacting on the robotic fish is generated.

    The motion of fish tail could be described by a travelingwave (2), which was originally suggested by Lighthill[7] Itsoriginal point is set at the conjunction point between fishhead and tail. The swimming of a fish could be viewed as

    the generation of the traveling wave. The parameter vector{ },,, 21 kcc= is the key element to determine the

    kinematics of fish tail.

    )sin()(),(2

    21 tkxxcxctxybody ++= (2)

    where is the transverse displacement of the tail unit;bodyy

    x is displacement along the main axis; 2=k is wave

    number; is wave length; is linear wave amplitude

    envelope; is quadratic wave amplitude

    envelope;

    1c

    2c

    f 2= is wave frequency; is oscillating

    frequency of tail,

    Tf /1=

    T is cyclic; t is time.

    For a real fish, it has tens of vertebras that could beviewed as tens of mini joints to approximate the wave. Sothe approximate result is very smooth. But for our roboticfish, it only has four joints, which is impossible to generateexactly fish-like smooth wave. How to use limited joints toapproximate the traveling wave in a real fish is one of majorchallenge problems for the robotic researchers. Yu [9]rewrote the Equation (2) and divided one cyclic to Mdivisions. A 4 look-up table is used to control themotors to approximate the traveling line. Each line of thelook-up table consists of 4 turning angles for 4 tail motors.When the data in the table is output to the four servo motorssequentially, the robotic fish will swim like a real one.

    The joint kinematics model in the simulator is the samewith the above model except the virtual servo motor insteadof the real ones. A 4 servo look-up table is saved in thesimulator and could be directly used for the real robotic fishcontrol after tested.

    When the robotic fish turns, a deflected angle d (see

    C. The Kinematics Model for details) acts on the first jointand the second joint as an offset angle. So, the real controldata on the fish joints is the sum of deflected angle and thecontrol data saved in a servo look-up table. If we define a

    vector },,,{ 4321 = as the joints status, then:

    211 dT += , 222 dT += , T33 = , T44 = (3)

    where { }TTTT 4321 ,,, are the data in the servo look-up table.

    B. The Hydrodynamics ModelThe forces acting on a swimming robotic fish are

    weight, buoyancy and hydrodynamic lift in the verticaldirection. In the horizontal heading direction, thrust, frictionand inertia drag are found.

    In the classification of fish swimming modes [1], therobotic fish used as the prototype in this paper falls betweenthe sub-carangiform mode and the carangiform mode (Bothmodes are sorted as BCF locomotion modes.) For such two

    swimming modes, the hydrodynamic model which is related

    T/R

    (b)

    Sensitivity

    region

    Virtual sonar sensor

    Sensitivity

    region

    02

    Line-of-sight

    T/R

    Real sonar sensor

    (a)

    Fi ure 4 The sonar sensor model

    615

  • 7/30/2019 IROS04-15

    4/6

    with the way thrust is generated has long been associatedwith the added-mass method [12]. As the propulsive wavepasses backward along the fish, the momentum of the waterpassing backward is changed by the movement of the fish

    tail, which causes a reaction force from water to fish.

    is decomposed into a lateral and a thrust

    component which contributes to overall forwardpropulsion for fish.

    RF

    RF LF

    TF

    In the simulator, the added-mass method is too complexto be applied for the real-time computation. So, we assumetwo pre-conditions (see Section II) to simplify thehydrodynamic model. The swimming friction drag issupposed as the only resistance against thrust, which is onlydetermined by the travelling wave parameter vector

    { },,, 21 kcc= . The longer and faster the fish, the moreresistance it would be encountered. So, in case of a given ,

    there must be a maximum robotic fish velocity to

    make the friction drag equal to the thrust. At the same time,

    the robotic fish will keep a constant swimming velocity.

    maxU

    The friction drag could be calculated using the standardNewtonian equation

    2

    5.0 SUCD fv = (4)

    where is the drag coefficient which depends on the

    Reynolds number, S is the wetted surface area, U is the

    forward velocity of the robotic fish and

    fC

    is the water

    density. The Reynolds number is defined as

    LU=Re (5)

    where is the tail length and v is the kinematics viscosity

    of water (1.12mm

    L2/s, fresh water in 60F). The laminar and

    the turbulent drag coefficients are and

    respectively [13]. In this paper, the drag

    coefficients is set as the sum of two drag coefficients.

    5.0Re328.1 2.0Re074.0

    fC

    There is a stabile prominent parameter named Strouhalnumber for BCF movement[1]:

    UfASt= (6)

    where taillengthxxcxcA =+= )(22

    21 is the tail-beat peak-to-

    peak amplitude and is the oscillating frequency. The St

    lies in a specific range (namely 0.25<

  • 7/30/2019 IROS04-15

    5/6

    Second, the Detect Obstacle Model and Pre-procession Model are called to sample the environmentinformation by the sensor models and process it to getthe direction and range to an obstacle in front of therobotic fish.

    Third, in the Make Decision Model the robotic fishmakes decisions depending on obstacle information andthe result of task compare model. The decision is limitedin the scope of Fish Behaviors Library which stores allpossible fish-like behaviors.

    Fourth, the robotic fish transforms the decision into theexpected linear acceleration and the expected

    angular velocity

    1 +itA

    1+itV

    )

    for the next period.

    Fifth, in the Kinematics and Hydrodynamic Model(see Figure 7), the oscillating frequency , the

    deflected angle and the thrust force are

    computed in the Hydrodynamic Model from

    . Parameters of

    the robotic fish are calculated from the Robotic FishKinematics Model and the joints status

    1+if

    1+id

    1+ithrustF

    111,,

    +++ i

    thrust

    i

    d

    iFf

    11111,,,, +++++ iii

    r

    i

    t

    i

    tPHVVA

    14

    13

    12

    11

    1,,, +++++ = iiiii is obtained from the Joints

    Kinematics Model. Here, are

    viewed as the final or real i+1 status for the robotic

    fish but the position

    1111 ,,, ++++ iiri

    tit HVVA

    1+iP is imported into the Noise

    Model for noise computation.

    Finally, the Noise Model adds virtual water noise intothe expected 1+iP and generates the real 1+iP for thefish status i+1.

    One of big problems in building our 3D simulator is thecollision detection between fishes or between fish and otherobjects because the shape of the robotic fish is changing inswimming. If we adopt the robotic fish model described insection IV for collision detection, the computation cost willbe huge due to so many key points in it. We solved it bysimplifying the fish mode as two convex boxes as shown in

    Figure 8.Note that Hr

    is the heading vector which is equal

    to iH and Tr

    is the combined fish joints vector which is

    calculated from . The Fast Collision Detection of

    Moving Convex Polyhedra [15] method is adopted here.

    i

    VI. EXPERIMENTAL RESULTSA. The Reality of the Simulator

    Figure 9 shows the relationship between the oscillatingfrequency and the max linear velocity of the robotic fish forsome given parameters. One curve is drawn from the realexperiment [9] and another is sampled from the simulator.

    Figure 9 Deflected angle vs. angular velocity

    z

    y

    x

    Hr

    Tr

    Figure 8 Simplified robotic fish mode

    Expected 11 , ++ irit VA

    Fish Status i

    Joints Status i Joints Status i+1

    11,

    ++ id

    if

    111,,

    +++ ithrust

    id

    i Ff

    Robotic fishKinematics model

    Hydrodynamic

    Model

    Joints Kinematics

    Model

    11111,,,,

    +++++ iiir

    it

    it PHVVA

    14

    13

    12

    11

    1 ,,,+++++

    =iiiii

    Figure 7 Details of Kinematics& Hydrodynamics Model in

    the Update Cycle

    Figure 6 Update Cycle for fish and joints

    Note: Task is the

    difference between current

    position and expected task

    Expected11 ,++ i

    rit VA

    TaskSensor Data

    Fish & Joint Status i

    Fish & Joint Status i+1

    Obstacle

    Data

    Behavior

    Task

    Detect Obstacle bysensors

    Task Compare Model

    Decision Explain Model

    Kinematics and

    Hydrodynamic Model

    Fish Behaviors

    Library

    Pre-procession on

    sensor data

    Make Decision Model

    Real1+iP

    Noise Model

    Expected1+i

    P

    Real

    1

    11

    11

    ,

    ,,

    +

    ++

    ++

    i

    iir

    it

    it

    HV

    VA

    617

  • 7/30/2019 IROS04-15

    6/6

    Figure 10 reveals the relationship between the deflectedangle and the angular velocity. The curves in such twofigures show that the simulator has high reality and couldbe viewed as a recurrence of the robotic fish.

    B. Autonomous Motion Control AlgorithmThere are three types of tasks in the simulator: free

    swimming, static trajectory and dynamic trajectory. In thispaper, the experiment is limited in the free swimming task.Its aim is to test the ability of avoiding obstacle and poolborder. The sonar sensor and the bumper sensor are used todetect obstacles and the image sequence at the robotic fisheye viewpoint (i.e. camera model) is generated for futureimage processing. For example, Figure 11 is the images thatfish C could see in frame (a) of Figure 12 at the left eyeviewpoint and right eye viewpoint respectively.

    Figure 11 Two pictures at the robotic fish eye viewpoint

    (a) (b)

    Figure 12 An experiment of free swimming

    Figure 12 is two frames of a free swimming experiment.Three robotic fishes (A,B,C) wander in a swimming poolwith two static obstacles (1,2). They tried to finish a FreeSwimming task to test a simple motion control algorithm.

    When the virtual fish swims, its joint data is recorded forfuture analysis. The arrow near each robotic fish indicatesthe heading direction of swimming.

    VII. CONCLUSION AND FUTURE WORKIn this paper, a 3D simulator is designed for the

    autonomous motion control based on a four-joint roboticfish. The complex hydrodynamic model of fish is simplifiedfor the real-time computation of the simulator. For theconvenient and quick applica ethodfrom the sgen

    TS

    Thanks to L support.

    Our

    [4] http://www.dac.ne

    tion of the control m

    imulator to the real world, a servo look-up table iserated for the motion control of the robotic fish. The

    experiment results have shown that the simulator is of highreality and is a useful platform for robotic fish research. Ourfuture research will focus on the kinematics model of theup-down swimming and the motion control algorithm forthe autonomous navigation task of robotic fishes.

    ACKNOWLEDGEMEN

    ondon Aquarium for their financial

    thanks also go to Prof. M. Tan, Dr. S. Wang and Dr.J.Z. Yu at IACAS and Ian Dukes and Rob Knight at Essexfor many useful discussions.

    REFERENCES

    [1] M. Sfakiotakis, etc., Review of Fish Swimming Modes forAquatic Locomotion. Journal of Oceanic Engineering, 1999,24(2), pp. 237-252

    [2] K. Streitlien, G. S. Triantafyllou, M. S. Triantafyllou,Efficient foil propulsion through vortex control, AIAAJournal, Vol. 34, 1996, pp. 23152319.

    [3] N. Kato. Control performance in the horizontal plane of afish robot with mechanical pectoral fins,. IEEE J. OceanicEngr 2000 25(1), pp. 121-129

    u.edu/msc/burp.html

    ukuda, Norihiko KATO, K[5] S. Guo, T. F eisuke OGURO.

    p. 305317.[8] B. Ayrulu and B. Bars lity measure assignment

    to sonar forro bust target differentiation. Pattern

    [9]

    [10]and Behavior. New

    [11]arrett, and M. S.

    [13] ion of large amplitudeming power in fish,

    Development of Underwater Microrobot Using ICPFActuator. ICRA 2002, pp. 1829-1834.

    [6] http://www.nmri.go.jp/eng/khirata/fish[7] M. J. Lighthill, Note on the swimming of slender fish, J.

    Fluid Mech., vol. 9, 1960, phan. Reliabi

    Recognition 35, 2002, pp. 14031419.J.Z. Yu, S. Wang and M. Tan, A simplified PropulsiveModel of Biomimetic Robot Fish and Its Realization.Accepted by IEEE Transactions on SMC Part C, 2003.X. Tu. Artificial Animals for Computer Animation:Biomechanics, Locomotion, PerceptionYork Springer, 1999.W. F. Gates. Animation of Fish Swimming. U of BritishColumbia, 2001

    [12] J. M. Anderson, K. Streitlien, D. S. BTriantafyllou, Form and function in fish swimming, Sci.Amri., vol. 251, 1984, pp. 58-68.C. S. Wardle and A. Reid, The applicatelongated body theory to measure swimFisheries Mathematics, J. E. Steele, Ed., New York:Academic, 1977, pp. 171191.

    [14] http://robotics.ee.uwa.edu.au/mobs/[15] Rich Rabbitz, Fast Collision Detection of Moving Convex

    Polyhedra, Graphics Gems IV, Academic Press, 1994[16] http://www.mhi.co.jp/enews/e_0898.html

    Figure 10 Frequency vs. max linear velocity

    618