Development of the Upper Body of an Underwater...

6
Abstract—The primary objective of this study was to develop a robot for research of human swimming. In order to address this objective, we developed the upper body of an underwater humanoid robot and realized the human swimming stroke. The developed humanoid robot had the same body proportions and appearance at half the size of a real human. The upper limbs were actuated by 12 motors, and one motor was installed for the waist. The motor case and gear housing were newly designed for waterproofing and space saving. Each arm had six degrees of freedom; four were for the shoulder and two were for the elbow. On the shoulder, we installed additional joints imitating human’s scapular retraction to avoid singularities during the swimming stroke. We demonstrated the importance of an additional joint by realizing the crawl stroke arm motion, which is the most complicated of the four strokes. I. INTRODUCTION akashima [1] and his collogues developed the swimming human simulation model SWUM (SWimming hUman Model) [2], which can represent whole body dynamics and the unsteady fluid force and can be used as a tool to address the problems inherent in human swimming. SWUM has been updated through experiments of a limbs model [1], a robot arm [3], [4], and a swimmer mannequin [5] to make a more realistic fluid force model. However, previous experiments were conducted by single limb’s or immovable limbs’ models, so it was impossible to clarify the characteristics of the unsteady fluid force that was generated when the four limbs moved together. In order to analyze mutual influence between limbs, we developed the upper body of an underwater humanoid robot half the size of a real human. The robot provides reproducible and reliable results compared to a human swimmer. In addition, a swimming humanoid could be used in various fields such as swimming training, entertainment, welfare, underwater exploration and performing tasks. So far, very few swimming humanoid robots have been developed for underwater use. Oya and Suzuki proposed a small diver type humanoid robot to estimate water depth by robot’s behavior [6]. Li et al. developed a swimming robot using the flutter kick for underwater use [7]. Nakashima and Manuscript received January 31, 2012. Changhyun Chung is with the Department of Mechanical and Environmental Informatics, Tokyo Institute of Technology, Tokyo, Japan. (phone: +81-3-5734-2419; fax: +81-3-5734-2419; e-mail: [email protected]). Motomu Nakashima is with the Department of Mechanical and Control Engineering, Tokyo Institute of Technology, Tokyo, Japan. (e-mail: [email protected]). Kobayashi developed robots for research on human swimming [8]. They used commercial RC servo motors and covered the robot body with waterproof clothes. The former two robots could move in the water by the flutter kick only and the latter one could swim with upper limbs, but there were problems such that waterproofing and the motion being somewhat unnatural due to the limitation of the degrees of freedom and the range of the joint angles. We designed a new case and gear housing of a commercial motor for waterproofing and space saving. It provided convenience through its compact design and correct movement without hindrance of an outer cover. In addition, to realize a human like swimming motion with a robot, we developed a robot arm having six degrees of freedom; four for the shoulder and two for the elbow. To avoid singularities and realize natural swimming stroke motions, the number of the shoulder joints was increased to four. The additional joint imitated human scapular retraction and the usefulness of the joint was certified by realization of the crawl stroke motion which is the most complicated motion of the four swimming strokes. The paper is organized as follows. Section II describes the design of the upper body of the underwater humanoid robot. Section III describes the shoulder joints and the algorithm for solving the inverse kinematics. Section IV and Section V summarizes the results and conclude the paper, respectively II. DESIGN OF THE ROBOT A. Overview – Model Descriptions Fig. 1 shows that the features of a scanned body model of a real swimmer and the developed upper body of an underwater humanoid robot. To mimic the real human body, the outer cases of the humanoid robot were made from the scanned body data. Each case had half the length of real human body parts and a 2mm thickness. They were built by a 3D printer with ABS material. The printed parts were waterproofed by coating with a waterproofing material. Actuators were redesigned compactly to be installed inside of the narrow body parts. The controller and battery were also inside of the robot, so the humanoid did not have any cables from the ground. The upper body of the robot had total of 14 degrees of freedom (DOFs). Each shoulder had four-DOF, each elbow had two-DOF, and one DOF was at the waist to be connected with the lower body later. An additional DOF at the neck is a Development of the Upper Body of an Underwater Humanoid Robot for Research of Unsteady Fluid Forces Acting on a Swimmer Changhyun Chung and Motomu Nakashima N The Fourth IEEE RAS/EMBS International Conference on Biomedical Robotics and Biomechatronics Roma, Italy. June 24-27, 2012 978-1-4577-1198-5/12/$26.00 ©2012 IEEE 701

Transcript of Development of the Upper Body of an Underwater...

Page 1: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

Abstract—The primary objective of this study was to develop a robot for research of human swimming. In order to address this objective, we developed the upper body of an underwater humanoid robot and realized the human swimming stroke. The developed humanoid robot had the same body proportions and appearance at half the size of a real human. The upper limbs were actuated by 12 motors, and one motor was installed for the waist. The motor case and gear housing were newly designed for waterproofing and space saving. Each arm had six degrees of freedom; four were for the shoulder and two were for the elbow. On the shoulder, we installed additional joints imitating human’s scapular retraction to avoid singularities during the swimming stroke. We demonstrated the importance of an additional joint by realizing the crawl stroke arm motion, which is the most complicated of the four strokes.

I. INTRODUCTION akashima [1] and his collogues developed the swimming human simulation model SWUM (SWimming hUman

Model) [2], which can represent whole body dynamics and the unsteady fluid force and can be used as a tool to address the problems inherent in human swimming. SWUM has been updated through experiments of a limbs model [1], a robot arm [3], [4], and a swimmer mannequin [5] to make a more realistic fluid force model. However, previous experiments were conducted by single limb’s or immovable limbs’ models, so it was impossible to clarify the characteristics of the unsteady fluid force that was generated when the four limbs moved together. In order to analyze mutual influence between limbs, we developed the upper body of an underwater humanoid robot half the size of a real human. The robot provides reproducible and reliable results compared to a human swimmer. In addition, a swimming humanoid could be used in various fields such as swimming training, entertainment, welfare, underwater exploration and performing tasks.

So far, very few swimming humanoid robots have been developed for underwater use. Oya and Suzuki proposed a small diver type humanoid robot to estimate water depth by robot’s behavior [6]. Li et al. developed a swimming robot using the flutter kick for underwater use [7]. Nakashima and

Manuscript received January 31, 2012. Changhyun Chung is with the Department of Mechanical and

Environmental Informatics, Tokyo Institute of Technology, Tokyo, Japan. (phone: +81-3-5734-2419; fax: +81-3-5734-2419; e-mail: [email protected]).

Motomu Nakashima is with the Department of Mechanical and Control Engineering, Tokyo Institute of Technology, Tokyo, Japan. (e-mail: [email protected]).

Kobayashi developed robots for research on human swimming [8]. They used commercial RC servo motors and covered the robot body with waterproof clothes. The former two robots could move in the water by the flutter kick only and the latter one could swim with upper limbs, but there were problems such that waterproofing and the motion being somewhat unnatural due to the limitation of the degrees of freedom and the range of the joint angles.

We designed a new case and gear housing of a commercial motor for waterproofing and space saving. It provided convenience through its compact design and correct movement without hindrance of an outer cover. In addition, to realize a human like swimming motion with a robot, we developed a robot arm having six degrees of freedom; four for the shoulder and two for the elbow. To avoid singularities and realize natural swimming stroke motions, the number of the shoulder joints was increased to four. The additional joint imitated human scapular retraction and the usefulness of the joint was certified by realization of the crawl stroke motion which is the most complicated motion of the four swimming strokes. The paper is organized as follows. Section II describes the design of the upper body of the underwater humanoid robot. Section III describes the shoulder joints and the algorithm for solving the inverse kinematics. Section IV and Section V summarizes the results and conclude the paper, respectively

II. DESIGN OF THE ROBOT

A. Overview – Model Descriptions Fig. 1 shows that the features of a scanned body model of a

real swimmer and the developed upper body of an underwater humanoid robot. To mimic the real human body, the outer cases of the humanoid robot were made from the scanned body data. Each case had half the length of real human body parts and a 2mm thickness. They were built by a 3D printer with ABS material. The printed parts were waterproofed by coating with a waterproofing material. Actuators were redesigned compactly to be installed inside of the narrow body parts. The controller and battery were also inside of the robot, so the humanoid did not have any cables from the ground.

The upper body of the robot had total of 14 degrees of freedom (DOFs). Each shoulder had four-DOF, each elbow had two-DOF, and one DOF was at the waist to be connected with the lower body later. An additional DOF at the neck is a

Development of the Upper Body of an Underwater Humanoid Robot for Research of Unsteady Fluid Forces Acting on a Swimmer

Changhyun Chung and Motomu Nakashima

N

The Fourth IEEE RAS/EMBS International Conferenceon Biomedical Robotics and BiomechatronicsRoma, Italy. June 24-27, 2012

978-1-4577-1198-5/12/$26.00 ©2012 IEEE 701

Page 2: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

free joint in order to keep the head down during swimming motions.

B. Development of small size waterproof motor The upper body of the robot was driven by servo actuators

called ‘DYNAMIXEL.’ This is a high performance networked actuator for robots and is fully integrated with a feedback function and programmability. In addition, wiring is simple because it is linked by a daisy chain and we can save many steps in waterproofing the wires. However, it was not waterproofed itself, and was not suitable for robot’s longitudinal axes since the output axis was located not at the center of the motor housing. To compensate for these weaknesses, the commercial motor was modified as shown in Fig. 2. Gears and the potentiometer were relocated to make the system more compact and place the output axis on the center. The outer case and gear housing were newly designed to be compact and waterproof. The outer axis was sealed by a quad-ring and o-ring. The control board of the motor was

sealed by silicone in case of leakage from the outer case. The modified motors were installed in narrow parts successfully such as along the longitudinal axis of the forearm.

C. Center of gravity and specific gravity Each part’s weight and volume of the robot are listed in

Table II. The specific gravity of the forearm and upper arm is a smaller than that of a real human. The specific gravities of the head and body are small, but they can be adjusted by adding weights inside the robot. The robot’s head and body have sufficient space and operating covers. If the robot contains weights of about 1.8kg in the body and head parts, it can maintain proper buoyancy and balance without any other buoyancy equipment. This shows the possibility of an autonomous mobile robot that can swim with four limbs like a human.

III. HUMAN-LIKE ARM MOTION IN THE CRAWL STROKE

A. Base model of swimming stroke motion In this study, our goal was the realization of four swimming

strokes, i.e., crawl stroke, breaststroke, backstroke and butterfly, with a swimming humanoid robot. Among these 4 strokes, the crawl stroke is the most complicated fundamental stroke. Therefore, in this paper, we focused on realization of the crawl stroke. The robot’s swimming stroke motions were made from the simulation model in SWUM in order to make it easy to compare the experimental model and the simulation model in future research. Swimming motions of SWUM were determined based on movies of a model swimming which

TABLE I SPECIFICATION FOR THE DEVELOPED UPPER BODY

Items Specifications

Actuators Dynamixel RX-24F (ROBOTIS Corp.) Degree of freedom Total: 14 DOFs

Controller CM-700 (ROBOTIS Corp.)

Microprocessor ATmega 2561 (Atmel Corp.) Size Height: 385mm / Width: 270mm Battery Li-Po 4400 mhA

(a) 3D scanned model of Japanese swimmer and designed upper body

(b) Developed upper body of the humanoid robot

Fig. 1. The features of underwater humanoid robot

(a) Dynamixel RX-24F (b) Designed motor

(c) Developed motor (d) Forearm assembly

Fig. 2. The features of developed small size waterproof motor

TABLE II THE WEIGHT AND VOLUME OF EACH SEGMENT

Parts Weight(g) Volume(㎤) Specific gravity

Head 235 1000 0.24 Body 1200 2100 0.57

Upper arm 300*2 360*2 0.83 Forearm 125*2 140*2 0.89

Total 2285 4100 0.56

702

Page 3: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

were produced for educational purposes. In SWUM, the model of swimmer’s body was divided into 21 cylindrical segments, and one stroke cycle was divided into 18 motion frames. The desired positions and orientations of the robot arm were provided by SWUM by solving forward kinematics. Also, the joint angles of the robot arm were determined by applying the coordinate transformation and solving the inverse kinematics.

B. Singularities and retraction Each segment of SWUM has a virtual ball joint of three

degrees of freedom (DOFs) at each joint, but it’s difficult to realize every motion of a ball joint with serial links because of singularities. Fig. 3 shows the desired position of the wrist in the crawl stroke and the simulation result of a general five-DOF robot arm model (shoulder: three-DOF, elbow: two-DOF). The robot could make exactly the same pose at each motion frame, but the joint angles changed suddenly near singularities. To check the influence of the sudden changes in

the joints, we subdivided the wrist position according to the joint angles, as shown in Fig. 4. Here, the trajectory deviated from the desired path.

In the crawl stroke motion, singularities occured twice when the arms were stretched up and down. The shoulder joint angles and the position of the wrist changed rapidly near singularities. Singularities were near the starting and end points of the recovery stroke because at these points the arm was almost fully stretched up to the head or down to the leg. One approach to avoid this problem is to increase the number of joints. We added one more joint to realize scapular retraction, and the position of the joint was defined by the scapular’s movement. Fig. 5 shows the scapular retraction motion of the robot. We modified the recovery stroke using this retraction motion to avoid singularities. The underwater stroke was realized as shown in SWUM.

C. The kinematics model of the arm Fig. 6 shows the reference and link coordinate systems of

the six degree of freedom robot arm using the Denavit-Hartenberg convention. The values of the kinematic parameters are listed in Table III, where a, b and c are the lengths of between shoulder joints, and l1, l2 and l3 are the arm’s lengths. They correspond to the home position pictured in the link coordinate diagram of Fig. 6.

The Denavit-Hartenberg convention allows the construction of a forward kinematics function by composing the coordinate transformations into one homogeneous transformation matrix. The position and orientation of the wrist with respect to the base frame is expressed as:

=

⋅⋅⋅⋅⋅⋅=

1000333231

232221

131211

545

34

23

12

010

z

y

x

wb

wrist

prrrprrrprrr

TTTTTTTT

(1)

where, [r11 r21 r31]T, [r12 r22 r32]T and [r13, r23, r33]T are the unit vectors of the frame attached to the wrist, and [px py pz]T is the position vector of the origin of this frame with respect to the origin of the base frame (xb, yb, zb) (Fig. 6).

Fig. 3. Desired position of the wrist

Fig. 4. Wrist position and joint angles of 5-DOF robot arm

Fig. 5. Scapular retraction of the humanoid robot

703

Page 4: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

D. Determination of the elbow position and orientation The robot had a retraction joint to avoid singularities, but if

the robot arm’s retraction joint moves, the robot arm can’t follow the desired path because the simulation model in SWUM doesn’t have this joint. The upper arm joint in SWUM’s model is fixed to the body, but robot’s upper arm joint is not fixed on the body because of the retraction motion. To use SWUM’s motion data, we calculated θ0 first (see below), and determined the position of the shoulder joint moved by θ0 at each motion frame. The original desired position and orientation from SWUM were modified according to the movement of the robot’s shoulder position. Using the modified desired data, we determined the joint angles not only in the underwater stoke, but also in the recovery stroke with SWUM’s motion data. In order to get the modified desired frame, θ0 should be decided first. The angle of θ0 corresponds to the retraction motion, and retraction occured only in the overarm motions. Therefore, θ0 was obtainted from the upperarm’s angle with respect to the xy plane during the recovery stroke, as shown in Fig. 7. The upperarm’s angle was calculated from projection of unit vectors of the frame attached to the shoulder on the xy plane. Moving of θ0 alleviated movement of joint 1 and 2, and it helped to avoid approaching near sigularities.

Fig. 8 shows the base frame differences between SWUM and the robot. Frame {sb} is the base frame of SWUM’s arm

model, and frame {b} is the base frame of the robot’s arm model. The original desired frame was calculated from SWUM’s data and was derived from frame {sb}.

For the robot, the position of SWUM’s base frame is the same as frame {2} in Fig. 8, but the position is changed by θ0

at every motion frame. The difference between frame {sb} and frame {b} is given by equation (2). To simplify the notation, si and ci are sinθi and cosθi, respectively.

+−

+

=⋅⋅

10000***

**********

00

00

12

010

sacccasc

TTTb (2)

Considering the difference, the desired position and orientation are modified as follows in equation (3): TTTTT b

elbow23

12

010 ⋅⋅⋅=

+−

+

+=

10000000

**000**000

00

00

_

sacccasc

T SWUMelbow

′′′′′′′′′′′′

=

1000333231

232221

131211

z

y

x

prrrprrrprrr

(3)

Fig. 6. Coordinate system of the robot arm

TABLE III DENAVIT-HARTENBERGE PARAMETERS OF THE ARM

i αi-1 ai-1 di θi

0 0 0 0 θ0 1 -90° a b θ1-90° 2 -90° c 0 θ2-90° 3 -90° 0 l1 θ3 4 -90° 0 l2 θ4 5 90° 0 0 θ5 6 0° 0 l3 0

Fig. 7. Decision of angle of joint θ0

Fig. 8. Relationship of SWUM’s base frame and the robot’s base frame

704

Page 5: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

As a result, the shoulder’s position would have a small error because of the difference of the base frames. However the orientation of the shoulder was not changed. In the following section we describe how to select joint angles of the robot arm.

E. Solution of the inverse kinematics problem To determine the arm joint angles for a given position and

orientation of the wrist, we solved the inverse kinematics problems. The relationship between the elbow and the reference base frame is given by equation (3). The solution starts with the matrix equation (4):

TTTTT elbowb 2

312

01

10 ⋅⋅=⋅− (4)

L1 R1

The equations L1(1,3)=R1(1,3) and L1(3,3)=R1(3,3) of the elements of the matrices L1 and R1 can be used to solve for θ1. This yields:

),(2arctan90 230130331 rsrcr ′+′′−=− θ (5)

The equations L1(2,2)=R1(2,2) and L1(2,1)=R1(2,1) of the matrices L1 and R1 provide the solution for θ3:

),(2arctan 2201102201203 rcrsrcrs ′+′−−′=θ (6) The equation L1(2,1)=R1(2,1) and L1(2,3)=R1(2,3) of the

matrices L1 and R1 provide the solution for θ2: ))(,(2arctan90 32301302101102 crcrsrcrs ′−′′−′=− θ (7)

wristb TTTTT ⋅⋅⋅=′′ −−− 10

101

112

′′′′′′′′′′′′′′′′′′′′′′′′

=⋅⋅⋅=

1000333231

232221

131211

545

34

23

z

y

x

w prrrprrrprrr

TTTT (8)

TTTTT w54

534

123 ⋅⋅=′′⋅− (9)

L2 R2

The equations L2(1,3)=R2(1,3), L2(3,3)=R2(1,3) and L2(2,1)=R2(2,1) ), L2(2,2)=R2(2,2) of the matrices L2 and R2 provide the solution for θ4, and θ5:

)),((2arctan 233331334 rrsrc ′′−′=θ (10)

))(),((2arctan 3231233131135 rcrsrcrs ′−′−′−′−=θ (11)

IV. RESULTS The joint angles of the robot arm were determined

according to Section III, and the positions of the wrist were calculated, as shown in Fig. 9. The orientation and x position coincided with SWUM, but the y and z positions had small errors in the recovery stroke motions because of the joint angle, whereby θ0 made the retraction motion and it moved the reference base frame. In spite of the errors, the modified base frame was useful because errors occurred only during the

recovery stroke that did not affect the fluid force. In addition, various swimming motions can be simulated in SWUM and then can be translated to the joint angles of the robot to realize it with the robot. In the same manner, we can realize every swimming stroke motion using the simulation model in SWUM. The backstroke and butterfly’s arm motions are similar to that of crawl stroke. Also, the breaststroke’s arm motion is smaller than that of the crawl stroke.

The realization of the crawl stroke motions has been implemented and tested successfully by the developed humanoid robot. We realized crawl stroke motion in the air at 16 sec per cycle. The speed was quite slow and it was about 12% of our target speed. This is because the objective of this experiment was checking that the robot could realize the crawl stroke motion clearly. Fig. 10 shows an example of the desired and generated position trajectories in the Cartesian space during the execution of the crawl stroke motion. The commanded joint angles were derived from SWUM’s crawl stroke data through the proposed kinematics. Joint angle, θ0

made a relatively large error because it was located at the base of the arm and supported the total weight of the arm, but the overall tracking performance was satisfactory. Fig. 11 shows a series of images during the crawl stroke. It seems that arm

Fig. 9. Desired wrist positions and robot’s positions for one cycle

705

Page 6: Development of the Upper Body of an Underwater …vigir.missouri.edu/~gdesouza/Research/Conference_CDs/...Development of the Upper Body of an Underwater Humanoid Robot for Research

height is not sufficient in the recovery stroke. This is because there was no rolling motion. Although we couldn’t make the rolling motion in this experiment because of the experimental conditions, the rolling motion will be generated in underwater tests by the driving mechanism [5].

V. CONCLUSION AND FUTURE PLAN In this study, the upper body of an underwater humanoid

robot was developed and it was confirmed that it can realize the crawl stroke motion like a real human. The trajectory of

the swimming motion was generated from the simulation model of SWUM. We added a joint for scapular retraction to avoid singularities. We also developed an inverse kinematics model to determine the angle of the retraction joint, and this model can be used to determine the angle of other joints.

We are currently constructing the lower body of the robot. In the near future, the four swimming strokes will be conducted by the whole body robot and unsteady fluid force will be measured on individual cases. We also plan to test this robot as an autonomous underwater humanoid robot.

REFERENCES [1] M. Nakashima, K. Satou and Y. Miura, “Development of swimming

human simulation model considering rigid body dynamics and unsteady fluid force for whole body,” Journal of Fluids Science and Technology, Vol 2, No.1, 2007, pp. 56-67

[2] SWUM Developer Team, “Swimming Human Simulation Model SWUM,” SWUM Website. [Online]. Available: http://www.swum.org

[3] A. Takahashi and M. Nakashima, “Clarification of unsteady fluid forces acting on limbs in swimming using an underwater robot arm(Development of an underwater robot arm and measurement of fluid force),” Transactions of the Japan Society of Mechanical Engineers, Series B, Vol. 75, No. 750, (2009), pp. 284-293

[4] A. Takahashi and M. Nakashima, “Clarification of unsteady fluid force acting on limbs in swimming using an underwater robot arm (2nd report, Modeling of fluid force using experimental results),” Transactions of the Japan Society of Mechanical Engineers, Series B, Vol. 76, No. 761, (2010), pp. 66-75

[5] M. Nakashima and Y. Ejiri, “Measurement and modeling of unsteady fluid force acting on the trunk of a swimmer using a swimmer mannequin robot,” Journal of Fluids Science and Technology, Vol. 7, No. 1, 2012, pp. 11-24

[6] H. Oya and K. Suzuki, “Behavior Based Water Depth Estimation for Diver Type Small Humanoid Robot,” Proceedings of the 4th International Conference on Autonomous Robots and Agents, Feb 10-12, 2009, Wellington, New Zealand

[7] Y. Li, E. Shimizu and M. Ito, “Development of a humanoid robot for underwater use,” Journal of Artificial Life and Robotics, Vol. 15, Issue 4, December 2010

[8] M. Nakashima and H. Kobayashi, “Development of small-sized swimming humanoids,” in The Engineering of Sport 7(Eds. M. Estivalet and P. Brisson). Vol. 2. Paris: Springer-Verlag, 2008, pp. 303-309

(a) Angles of joint θ0

(b) Angles of joint θ1

(c) Angles of joint θ2

(d) Angles of joint θ3

Fig. 10. Angles of the shoulder joints of the developed humanoid robot

Fig. 11. Snap shots of crawl stroke motion by the developed robot

706