Three-axis Motion Compensated Crane Head Control*

Three-axis Motion Compensated Crane Head Control*

10th IFAC Conference on Control Applications in Marine Systems 10th Control in September 13-16, 2016.on Trondheim, Norway 10th IFAC IFAC Conference Co...

1MB Sizes 0 Downloads 40 Views

10th IFAC Conference on Control Applications in Marine Systems 10th Control in September 13-16, 2016.on Trondheim, Norway 10th IFAC IFAC Conference Conference on Control Applications Applications in Marine Marine Systems Systems 10th IFAC Conference on Control Applications in Marine Systems September 13-16, 2016. Trondheim, Norway Available online at www.sciencedirect.com September 13-16, 2016. Trondheim, Norway September 13-16, 2016. Trondheim, Norway

ScienceDirect IFAC-PapersOnLine 49-23 (2016) 159–166

Three-axis Three-axis Three-axis Three-axis

Motion Compensated Motion Compensated Motion Compensated  Motion Compensated Head Control Head Control Head Control Control  Head

Crane Crane Crane Crane

Vegard Wie Henriksen ∗∗ Audun Gerhardsen Røine ∗∗ ∗ Audun Gerhardsen Røine ∗ Vegard Wie Henriksen ∗,∗∗, ∗ ∗ Audun ∗ Vegard Wie Henriksen Gerhardsen Espen Tor Arne JohansenRøine Vegard Wie Skjong Henriksen Gerhardsen Røine ∗,∗∗,Audun ∗ ∗,∗∗, Tor Arne Johansen ∗ Espen Skjong ∗,∗∗, Tor Arne Johansen ∗ Espen Skjong Espen Skjong Tor Arne Johansen ∗ ∗ Centre for Autonomous Marine Operations and Systems, Department ∗ Centre for Autonomous Marine Operations and Systems, Department ∗ Centre for Marine Operations and Department of Engineering Cybernetics, Norwegian University of Science and Centre for Autonomous Autonomous Marine Operations and Systems, Systems, Department of Norwegian of Engineering Engineering Cybernetics, Cybernetics, Norwegian University University of Science Science and and Technology, Trondheim, Norway. of of Engineering Cybernetics, Norwegian University of Science and Norway. ∗∗ Technology, Technology, Trondheim, Norway. PowerTrondheim, & Control AS, Norway. Technology, Trondheim, Norway. ∗∗ Ulstein ∗∗ Ulstein Power & Control AS, Norway. ∗∗ Ulstein Power & Control AS, Norway. Ulstein Power & Control AS, Norway. Abstract: Offshore operations can be harsh and demanding and set personnel and equipment at Abstract: Offshore operations be harsh and demanding and set personnel and equipment at Abstract: Offshore operations can be and and set personnel and at risk. Ships will be exposed to thecan elemental forces of wind, waves which will influence Abstract: Offshore operations can be harsh harsh and demanding demanding andand set current, personnel and equipment equipment at risk. Ships will be exposed to the elemental forces of wind, waves and current, which will influence risk. Ships Ships willoperations be exposed exposedconsiderably. to the the elemental elemental forces ofaddresses wind, waves waves and current, which will influence offshore crane Thisforces paperof the and use of a cranewhich head,will constructed risk. will be to wind, current, influence offshore crane operations considerably. This paper addresses the use of a crane head, constructed offshore crane operations This addresses aa three crane head, constructed as a Delta parallel robot, considerably. to compensate forpaper the motions of the shipof type of offshore crane operations considerably. This paper addresses the use use ofin crane axes. head,This constructed as a Delta parallel robot, to compensate for the motions of the ship in three axes. This type of as a Delta parallel robot, to compensate for the motions of the ship in three axes. This type robot has a rigid and accurate structure, but because of its highly nonlinear nature, advanced as a Delta parallel robot, to compensate for the motions of the ship in three axes. This type of of robot has a rigid and accurate structure, but because of its highly nonlinear nature, advanced robot has a rigid and accurate structure, but because its highly nature, advanced control algorithms must be derived. This paper includesof both forwardnonlinear and inverse kinematics for robot has a rigid and accurate structure, but because of its highly nonlinear nature, advanced control algorithms must be This paper includes forward inverse for control algorithms must be derived. derived. This and paper includes both both forward and inverse kinematics kinematics for the robot, as well as velocity kinematics workspace analysis. The and kinematics of a full crane control algorithms must be derived. This paper includes both forward and inverse kinematics for the robot, as well as velocity kinematics and workspace analysis. The kinematics of a full crane the robot, as well as velocity kinematics and workspace analysis. The kinematics of a full crane system, with the robot as its kinematics head, has been modelled, and a simulator which includes a model the robot, as well as velocity and workspace analysis. The kinematics of a full crane system, with the robot as its The head, has been modelled, and a simulator which includes aa model system, with the as head, has and which of a supply is created. on the system from the elements are translated system, withvessel the robot robot as its its The head,disturbances has been been modelled, modelled, and aa simulator simulator which includes includes a model model of a supply vessel is created. disturbances on the system from the elements are translated of a supply vessel is created. The disturbances on the system from the elements are translated and rotated to the crane head frame of reference for use in the compensation procedure. PID of a supply vessel is created. The disturbances on the system from the elements are translated and rotated rotatedare to used the crane crane headthe frame of head, reference for use in in the theare compensation procedure. PID and to the head frame of reference use compensation controllers to control crane and for simulations conducted toprocedure. verify thatPID the and rotated to the crane head frame of reference for use in the compensation procedure. PID controllers are used to control the crane head, and simulations are conducted to verify that the controllers are used to control the crane head, and simulations are conducted to verify that the crane head is able to compensate for the motions created by waves. controllers are used to control the crane head, and simulations are conducted to verify that the crane head is able to compensate for the motions created by waves. crane head is able to compensate for the motions created by waves. crane head is able to compensate for the motions created by waves. © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Keywords: Motion compensation, Nonlinear control, Robotics, Ship dynamics, Cranes Keywords: Motion Motion compensation, Nonlinear Nonlinear control, Robotics, Robotics, Ship dynamics, dynamics, Cranes Keywords: Keywords: Motion compensation, compensation, Nonlinear control, control, Robotics, Ship Ship dynamics, Cranes Cranes 1. INTRODUCTION stay in parallel with each other (Codourey, 1988). It is 1. stay incommonly parallel with other (Codourey, 1988). It is 1. INTRODUCTION INTRODUCTION stay parallel each other 1988). It most used each for precise and stationary actions 1. INTRODUCTION stay in incommonly parallel with with each other (Codourey, (Codourey, 1988). It is is most used for precise and stationary actions most commonly used for precise and stationary actions such as item picking 3Dprecise printingand (Williams, 2015), but Offshore crane operations in harsh environments are chal- most commonly usedor for stationary actions such as item picking or 3D printing (Williams, 2015), but Offshore crane operations in harsh environments are chalsuch as item or 2015), Offshoreand crane operations in harsh environments environments are comchal- in this it will be seenprinting that it (Williams, can also be used but for lenging putoperations crew and in equipment at risk. Heave such as paper item picking picking or 3D 3D printing (Williams, 2015), but Offshore crane harsh are chalin this paper it will be seen that it can also be used for lenging and put crew and equipment at risk. Heave comin this paper it will be seen that it can also be used for lenging and put crew and equipment at risk. Heave commotion compensation of crane operations on ships, which pensated crane systems in marine vessels have been extenthis paper it will beof seen that it can also be used for lenging and putsystems crew and equipment at risk. Heave com- in motion compensation crane operations on ships, which pensated crane in marine vessels have been extenmotion compensation of crane operations on ships, which pensated crane systems in marine vessels have been extenis a novel application. sively used to cultivate easier and safer offshore operations. motion compensation of crane operations on ships, which pensated crane systems in marine vessels have been extenis a novel application. sively to cultivate easier offshore a novel application. sively used usedof tosuch cultivate easier and and safer offshore operations. Examples operations are safer surface crane operations. operations is is novel sively used to cultivate easier and safer offshore operations. It awill be application. discussed how to use the TAC to compensate Examples of such operations are surface crane operations Examples of such operations are surface crane operations for installing equipment on the seafloor, launching and It be discussed how to TAC to Examples of such operations are surface crane operations It will will be discussed how suspended to use use the the in TAC to compensate compensate for the motion of a load a crane on a ship for installing equipment on the seafloor, launching and It will be discussed how to use the TAC to compensate for installing installing equipment on and the delivering seafloor, launching launching and for the motion retrieving systems (LARS) supplies from of a load suspended in a crane on a ship for equipment on the seafloor, and for the motion of a load suspended in a crane on a at sea. First a mathematical model of the crane head will retrieving systems (LARS) and delivering supplies from for the motion of a load suspended in a crane on a ship ship retrieving systems (LARS) and delivering supplies from vessels to platforms. Motion compensation in such systems at sea. First a mathematical model of the crane head will retrieving systems (LARS) and deliveringinsupplies from be at sea. First aaSection mathematical model the crane head will provided. 2 deduces the of crane head geometry vessels to platforms. Motion compensation such systems at sea. First mathematical model of the crane head will vessels to platforms. Motion compensation in such systems are generally limitedMotion to onecompensation axis, i.e theinvertical heave be provided. Section 2 deduces the crane head geometry vessels to platforms. such systems be provided. Section 2 deduces the crane head geometry which is used in Sections 3, 4 and 5 to find the inverse, are generally limited to one axis, i.e the vertical heave be provided. Section 2 deduces the crane head geometry are generally limited to one axis, i.e the vertical heave motion, (Fang et al., 2014; K¨ u chler et al., 2011; Messineo used in 3, 55 to find the are generally limited to one uaxis, i.e the vertical heave which which is is and usedvelocity in Sections Sections 3, 444 and and toTAC, find respectively. the inverse, inverse, forward kinematics of the motion, (Fang et 2014; et is used in Sections 3, and 5 to find the inverse, motion, (Fang2009; et al., al., 2014; K¨ K¨ uetchler chler et al., al., 2011; 2011; Messineo Messineo which and Serrano, Johansen al., 2003). forward and velocity kinematics of the TAC, respectively. motion, (Fang et al., 2014; K¨ u chler et al., 2011; Messineo forward and velocity kinematics of the TAC, respectively. The workspace limits of the TAC are explored in Section 6. and Serrano, 2009; Johansen et al., 2003). forward and velocity kinematics of the TAC, respectively. and Serrano, Serrano, 2009; 2009; Johansen Johansen et et al., al., 2003). 2003). workspace the TAC are explored in Section 6. and workspace limits of the TAC are explored in Section 6. The kinematicslimits of theof full crane system, including how the This paper considers the development of a crane head The The workspace limits of the TAC are explored in Section 6. The kinematics of the full crane system, including how the This paper considers the development of a crane head The kinematics of the full crane system, including how the This paper considers the development of a crane head measurements from the Inertial Measurement Unit (IMU) control designed for motion compensation in all three axes. The kinematics of the full crane system, including how the This paper considers the development of a crane head measurements from the of Inertial Measurement Unit (IMU) control designed motion three from the Inertial Measurement Unit (IMU) control designed forCompensator motion compensation compensation in aall allDelta three axes. axes. are related to the states the system is detailed in Section This Three Axisfor (TAC) isin type measurements measurements from the of Inertial Measurement Unit (IMU) control designed for motion compensation in all three axes. are related to the states the system is detailed in Section This Three Axis Compensator (TAC) is a Delta type are related to the states of the system is detailed in Section This Three Axis Compensator (TAC) is a Delta type 7, whereas Section 8 will tie together all the different parts parallel robotAxis (Clavel, 1988). A parallel robot consists of are related to the states of the system is detailed in Section This Three Compensator (TAC) is a Delta type 7, whereas Section 88 the will tie together all the different parts parallel robot (Clavel, 1988). A parallel robot consists of 7, whereas Section will tie together all the different parts parallel robot (Clavel, 1988). A parallel robot consists of required to control TAC. The simulation setup and two or more closed kinematic chains linking the base to whereastoSection 8 the will TAC. tie together all the different parts parallel robotclosed (Clavel, 1988). Achains parallel robotthe consists of 7, required control The simulation setup and two or more kinematic linking base to required to control the TAC. The simulation setup two or more closed kinematic chains linking the base to results are presented in Sections 9 and 10. the end effector, whereas a serial robot arm consists of just topresented control the TAC. The simulation setup and and two or more closed kinematic chains linking the base to required results are in Sections 9 and 10. the end effector, whereas a serial robot arm consists of just results are presented in Sections 9 and 10. the end end effector, whereas serial robot armThe consists of just just results are presented in Sections 9 and 10. one kinematic chain (Spong et al., 2005). advantages the effector, whereas aa serial robot arm consists of one kinematic chain (Spong et al., 2005). The advantages onea kinematic kinematic chain (Spong (Spong ethigh al., 2005). 2005). The advantages of parallel structure are itset rigidityThe andadvantages accuracy, 2. TAC GEOMETRY one chain al., of aa parallel structure are its high rigidity and accuracy, 2. of parallel structure are its high rigidity and accuracy, making it very attractive for crane operations, whereas the 2. TAC TAC GEOMETRY GEOMETRY of a parallel structure are its high rigidity and accuracy, 2. TAC GEOMETRY making it very attractive for crane operations, whereas the making it very attractive for crane operations, whereas the disadvantages are narrower workspace and more difficult making it very attractive for crane operations, whereas the To fully understand how the TAC can be used for motion disadvantages narrower workspace more difficult fully understand the TAC can be used for motion disadvantages are narrower workspace and more difficult control than itsare serial counterpart (Laribiand et al., 2008). The To To fully understand how the TAC can be for motion disadvantages are narrower workspace and more difficult compensation, it is how imperative that TAC’s To fully understand how the TAC canthe be used used forconfigumotion control than its serial counterpart (Laribi et al., 2008). The compensation, it is imperative that the TAC’s configucontrol than its serial counterpart (Laribi et al., 2008). The Delta robot consists of three kinematic chains connected compensation, it is imperative that the TAC’s configucontrol than its serial counterpart (Laribi et al., 2008). The ration can be explained and designed precisely. Fig. 1 compensation, it is imperative that the TAC’s configuDelta robot consists of three kinematic chains connected can be explained and designed precisely. Fig. 1 Delta robot consists ofand three kinematic chains connected on either endconsists at a top-of bottom plate,chains and these plates ration ration can be explained and designed precisely. Fig. 1 Delta robot three kinematic connected shows a geometrical representation of the TAC with ration can be explained and designed precisely. Fig.the 1 on either end at aa topand bottom plate, and these plates shows a geometrical representation of the TAC with the on either end at topand bottom plate, and these plates  shows aa parameters geometrical further representation ofinthe the TAC withTool the onThis either end atbeen a topand out bottom plate, and these plates shows different explained Table 1. The work has carried at the Centre for Autonomous geometrical representation of TAC with the  different parameters further explained in Table 1. The Tool This has out at Centre  different parameters explained Table 1. Marine Operations andcarried Systems TheAutonomous Norwegian This work work has been been carried out(NTNU at the the AMOS). Centre for for Autonomous Center Point (TCP)further is where the loadin suspended, and  This different parameters further explained inis Table 1. The The Tool Tool work has been carried out at the Centre for Autonomous Marine Operations and Systems (NTNU AMOS). The Norwegian Center Point (TCP) is where the load is suspended, and Research Council is acknowledged as the main sponsor of NTNU Marine Operations and Systems (NTNU AMOS). The Norwegian Center Point (TCP) is where the load is suspended, and . its position is denoted p c Marine Operations and Systems (NTNU AMOS). The Norwegian Center Point (TCP) is where the load is suspended, and ResearchThis Council iswas acknowledged as Ulstein the main main sponsor of NTNU NTNU . its position is denoted p c AMOS. work supported by Power & Control AS Research Council is acknowledged as the sponsor of . its position is denoted p c Research Council is acknowledged as the main sponsor of NTNU . its position is denoted p AMOS. This work was supported by Ulstein Power & Control AS c The main frame of orientation, denoted {t} with coorand the Research of Norway, AMOS. This was by Ulstein Power Control AMOS. This work workCouncil was supported supported by Project Ulstein number Power & &241205. Control AS AS The main orientation, denoted {t} with coorand the Research Council of Norway, Project number 241205.  The main frame of orientation, denoted {t} coorCorresponding author: [email protected] , yt , zt ),of shown in Fig. 2, with the x-axis dinates (xtframe and the Research Council of Norway, Project number 241205. The main frame of is orientation, denoted {t} with with coor and the Research Council of Norway, Project number 241205. Corresponding author: [email protected] , y , z ), is shown in Fig. 2, with the x-axis dinates (x  t t t author: [email protected] , y , z ), is shown in Fig. 2, with the x-axis dinates (x Corresponding t t t Corresponding author: [email protected] dinates (xt , yt , zt ), is shown in Fig. 2, with the x-axis Copyright © 2016, 2016 IFAC 159Hosting by Elsevier Ltd. All rights reserved. 2405-8963 © IFAC (International Federation of Automatic Control) Copyright © 2016 IFAC 159 Copyright 2016 IFAC 159 Peer review© of International Federation of Automatic Copyright ©under 2016 responsibility IFAC 159Control. 10.1016/j.ifacol.2016.10.337

2016 IFAC CAMS 160 Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

Fig. 1. TAC Geometry. Fig. 3. TAC arm i seen from one of the sides, frame {ti }.

Table 1. TAC parameters. Notation lk

Unit m

la lr lp

m m m

αi

rad

ui ki ci pi pc

rad -

i

-

The position of the TCP in the different frames is denoted as T ptc = [xc yc zc ] and ptci = (Rtti )T ptc = [xci yci zci ]T . (2) Each of the three kinematic chains consists of an arm and a rod, connected by a knee joint. The position of the knee, ki , can be derived, when knowing the corresponding angle αi , as

Description Length from center of the bottom plate to the arm Length of the arm Length of the rod Length from the center of the top plate to the rod Angle between bottom plate and arm i input to DC-motors Knee-point between arm and rod i Indented Knee-point i Point connecting rod and top plate Center-point of the top plate, position of the TCP Jointed-arm number, i ∈ {1, 2, 3}.

kti = Rtti [la cos αi , −lk − la sin αi , 0]

T

∀i ∈ {1, 2, 3}, (3) whereas the position of the top plate cannot be found without knowing all three angles. The length of the rod, lr , is constant, a fact that can be exploited to derive the relation between all angles and the TCP. By placing an indented knee-point, ci , a distance of lp in the yti -direction in the {ti }-frame yields a point which will be at a constant distance of lr from pc . ci can be described as cti = Rtti [la sin αi ,

a − la cos αi ,

T

0] ,

∀i ∈ {1, 2, 3}, (4)

where a = lp − lk . The vector sti is defined as the vector from cti to ptc , i.e. ptc

sti ≡ ptc − cti

∀i ∈ {1, 2, 3}.

(5)

can be seen as the crossing point of three spheres with radius lr and center in each indented knee point cti , as presented in Fig. 4. With this information, the vector-loop closure equation can be found as (6) sti 22 = lr2 ∀i ∈ {1, 2, 3}, Eq. (6) is a useful tool for describing the system dynamics (Codourey (1988); Williams (2015); Andrioaia et al. (2012)). 3. INVERSE POSITION KINEMATICS

Fig. 2. TAC top plate seen from above, frame {t}. pointing out of the paper plane, z-axis up and the yaxis to the right. In Fig. 3 the individual frame for any joint is shown, denoted {ti }= (xti , yti , zti ) for i ∈ {1, 2, 3}, where the y-axis points from the knee into the center. Both {t}- and {ti }-frame have the same origin, ot , thus transforming between these frames is done by rotations, with the rotation matrices Rtt1 = Rx, 5π , 6

Rtt2 = Rx, 3π , 2

Rtt3 = Rx, π6 .

(1) 160

The Inverse Position Kinematics (IPK) solution of the sysT tem is a way of finding the joint angles, α = [α1 α2 α3 ] , t given the Cartesian coordinates of the TCP, pc (Williams, 2015). This is done in the {ti }-frame, where ctii = [xi Eq. (6) can be expanded,

yi

zi ] T .

ptci 22 + ctii 22 − lr2 − 2(xci xi + yci yi + zci zi ) = 0,

(7)

(8)

2016 IFAC CAMS Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

161

the workspace, the solutions are well-defined and real. When the solutions are different this will in total yield eight different configurations for the TAC, but the solution chosen should be the one with all knees pointing outward, i.e. satisfying |αi | < π2 . The IPK solution can be formed into a function such that (16) α = IP K(ptc ). 4. FORWARD POSITION KINEMATICS The Forward Position Kinematics (FPK) solution is the inverse of the IPK as it yields ptc given α. It can be solved analytically with Gaussian Elimination (Coope, 2000). Eq. (6) can be rewritten as (ptc )T ptc − 2(ptc )T cti + (cti )T cti = lr2 . Fig. 4. Tool Center Point ptc described by three spheres. where ctii 22 = la2 + a2 − 2ala cos αi . (9) Eq. (8) is then expanded for all three joints in the individual {ti }-frames ptc1 22 + ct11 22 − lr2 − 2xc1 la sin α1 √ + ( 3yc1 − zc1 )(a − la cos α1 ) = 0, ptc2 22 + ct22 22 − lr2 − 2xc2 la sin α2 + 2zc2 (a − la cos α2 ) = 0,

(10)

ptc3 22 + ct33 22 − lr2 − 2xc3 la sin α3 √ − ( 3yc3 + zc3 )(a − la cos α3 ) = 0, where the three equations are of the form ei cos αi + fi sin αi + gi = 0 ∀i ∈ {1, 2, 3}, (11) with f1 = f2 = f3 = −2xci la , √ e1 = (− 3yc1 + zc1 − 2a)la , e2 = −2(zc2 + a)la , √ e3 = ( 3yc3 + zc3 + 2a)la , (12) √ 2 2 2 t1 2 g1 = pc 2 + la + a − lr + ( 3yc1 − zc1 )a, g2 = ptc2 22 + la2 + a2 − lr2 + 2zc2 a, √ g3 = ptc3 22 + la2 + a2 − lr2 − ( 3yc3 + zc3 )a. Tangent Half-Angle Substitution (Williams, 2015) is a method that can be used to solve (11). By defining a variable γi ≡ tan( α2i ), cos αi and sin αi can be substituted with 1 − γi2 2γi , sin αi = . (13) cos αi = 2 1 + γi 1 + γi2 Inserting (13) into (11) leads to (gi − ei )γi2 + (2fi )γi + (gi + ei ) = 0. (14) One can recognize (14) as a second order polynomial which can be solved with the quadratic formula  −fi ± e2i + fi2 − gi2 γi1,2 = (15) g i − ei This yields two solutions for γi , and two solutions for αi since αi = 2 arctan(γi ). One solution has the knees pointing outwards, αi < π/2 and the other has the knees pointing inwards, αi > π/2. As long as the TCP is inside 161

(17)

One want to reformulate the quadratic parts of the equation to make it easier to solve. This can be done by introducing the variables (18) r = (ptc )T ptc , bi = (cti )T cti − lr2 , which gives (ptc )T cti = (r + bi )/2, ∀i ∈ {1, 2, 3}. (19) By changing the notation to   T T C = ct1 ct2 ct3 , 1 = [1 1 1] , b = [b1 b2 b3 ] , (20) and introduce the substitution variables u = C−T 1, v = C−T b, (21) t a solution for pc can be found as (22) ptc = (ru + v)/2. t A solution for pc is now presented, but r is still unknown. r can be obtained by inserting (22) into (18) 1 r = (ptc )T ptc = (ru + v)T (ru + v). (23) 4 This can again be rewritten to (24) (uT u)r2 + (2uT v − 4)r + vT v = 0, which can be recognized as a second order polynomial. This can be solved for  r as 2 − uT v ± (2 − uT v)2 − (uT u)(vT v) (25) r= uT u If the solution from (25) is inserted in (22) two analytical solution for ptc given α appears. To understand why two solutions appears one can look back at Fig. 4 where it can be observed that the three spheres intersect in two points. One solution is the intersection above the TAC base plate, the other is beneath. The valid solution for the crane head is the one over the TAC base plate i.e satisfying xtc > xti ∀i ∈ {1, 2, 3}. 5. KINEMATIC JACOBIAN The relationship between the velocity of the TCP, p˙ c , ˙ can be useful for designing and the joint velocities, α, a control system (Codourey (1988); Spong et al. (2005)). This kinematic relationship can be found by differentiating (6) as (26) (sti )T s˙ ti = 0 where s˙ i can be found as s˙t = p˙ t − dt α˙ i , (27) i

c

i

2016 IFAC CAMS 162 Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

with

T

dti = Rtti [la cos αi la sin αi 0] . Inserting (26) into (27) yields

(28)

(sti )T (p˙ tc − dti α˙ i ) = 0. Expanding (29) for i ∈ {1, 2, 3} gives   t T t  t T (s1 ) d1 0 0 (s1 ) (st2 )T  p˙ c −  0 ˙ = 0, (st2 )T dt2 0 α t T 0 0 (st3 )T dt3 (s3 ) which finally becomes ˙ p˙ tc = J(ptc , α)α, where   t T −1  t T t (s1 ) d1 (s1 ) 0 0 J(ptc , α) = (st2 )T   0 (st2 )T dt2 0  t T 0 0 (st3 )T dt3 (s3 ) is the Jacobian of the system.

(29)

(30)

(31)

load. The plausible coordinates on the outskirts of the workspace will serve as the edges, and by finding the convex hull of all the allowed coordinates, the limits of the workspace is found. With the limits found, it is possible to check if the desired position is outside the limits while the TAC is running. Appropriate actions for transgressing the limits can be moving the set point back towards the limits (saturation), involving the rest of the crane in the compensation action, or aborting the operation, among other alternatives. This paper will not consider the actions for transgressing the limits further. As it is a cumbersome process to find the limits it should be done as an initializing process, or even done separately and merely entering the limits as parameters to the TAC’s controller.

(32)

6. WORKSPACE The IPK solution described in Section 3 will meet difficulties if the position is outside the reachable area of the TAC, i.e. the workspace. To this end, a check to see if the desired position is inside the workspace is necessary. Since the TAC is to be used for motion compensation, it is imperative that it is reliable. If a desired position is found to be outside of the workspace, additional crane joints (if available) must be utilized, operations must be aborted, or reduced accuracy of the motion compensation must be accepted. A method for finding the workspace can be found with the help of Andrioaia et al. (2012). It is possible to design a TAC based on workspace requirements (Stan et al., 2011) but this will not be treated in this paper. The first step in finding the workspace is to make a cube containing the limits of the maximum reach of the TCP. The approximated limits stay true to the notion that the top plate can not go through the bottom plate, nor that it can be flipped. Hence, the limits are found to be Xmax = la + lr Xmin = 0 (33) Ymax ∼ = Zmax = lr + lp − lk Ymin ∼ = Zmin = −(lr + lp − lk ). The limits can be combined to form the intervals that contain both feasible and infeasible solutions for ptc . These intervals are then split into individual points in three dimensions that can be tested as candidate positions for the TCP. The number of points selected will depend on the spatial discretization distance h, which acts as the distance between points in one dimensions. This yields the arrays xw = [xw1 , xw2 , ..., xwn ] yw = [yw1 , yw2 , ..., ywn ] (34) zw = [zw1 , zw2 , ..., zwn ] where xw1 = Xmin , xwn = Xmax , yw1 = Ymin , ywn = Ymax , zw1 = Zmin and zwn = Zmax with fixed step size h. All the different positions found in these arrays are then checked by testing if the IPK solution is real, and joint angles are inside the design range. The positions that are deemed plausible are kept and serves as the basis for the approximated workspace. The smaller h, the higher the resolution of the workspace and the cost of computational 162

7. FULL CRANE KINEMATICS This section will describe the forward and velocity kinematics of a full crane system, from the Center of Origin (CO) to the TAC. Two more coordinate reference frames are described. The North-East-Down (NED) coordinate system, {n} =(xn , yn , zn ) with origin on , is defined relative to the Earth’s reference ellipsoid, and stays fixed as the ship moves. The body-fixed reference frame, {b} = (xb , yb , zb ) with origin ob (CO), is a moving coordinate frame that is fixed to the craft (Fossen, 2011). Table 2. Notation for marine vessels (SNAME, 1950). DOF 1 2 3 4 5 6

motions motions motions rotation rotation rotation

x dir (surge) y dir (sway) z dir (heave) x axis (roll) y axis (pitch) z axis (yaw)

Linear and angular velocities u v w p q r

Positions and Euler angles x y z φ θ ψ

Marine vessels are affected by forces and moments in six Degrees Of Freedom (DOF), which are further described in Table 2. The IMU normally consists of accelerometers and gyroscopes, among other sensors, used to estimate the ship’s position and attitude, and the velocities of these, as T

η = [x y z φ θ ψ] , T

ν = [u v w p q r] .

(35)

The IMU measures accelerations, which are integrated to get velocities ν and position η. Sensor biases, misalignments and noise will cause drift, especially in the position estimations. To obtain measurements of higher quality the IMU has to be combined with other systems. Combining the IMU with the kinematic equations for the ship results in an inertial navigation system (INS), but the measurements still drifts. By including Global Navigation Satellite System (GNSS) measurements in the computations, the INS drift can be removed. Obviously the acceleration measurement quality depends on the IMU quality while the velocity and position measurement quality depends on the GNSS quality (Fossen, 2011). The transformation from {b}-frame to {n}-frame can be found as

2016 IFAC CAMS Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

The two separate solutions for β2 give elbow-down or elbow-up configuration of the manipulator, as the positive or negative square root, respectively. For this example elbow-up is desired, as seen in Fig. 5.

Table 3. DH table for a typical crane configuration. Link 1 2 3 4

aj Lsx 0 L1 L2

T nb = where

αj π π 2

0 − π2



dj −Lsz L0 0 0

 Rnb onb , 0 1

163

θj 0 β0∗ β1∗ β2∗

(36)

Rnb = Rx,φ Ry,θ Rz,ψ ,

(37) T onb = [x y z] . The forward kinematics of the full crane system can be found by using the DH-convention, with the knowledge of the crane’s dimensions and configuration (Spong et al., 2005). The following example, seen in Fig. 5, is considering the transformation from ob inside the ship, along a threejoint crane system to ot . With the information available in Fig. 5, a DH-table can be made, see Table 3. βj∗ are controllable angles. Each row in the DH-table is inserted into (38) to garner the transformation matrix Aj from link j − 1 to link j, and in this example j = 1, 2, 3, 4. Aj = Rotz,θj T ransz,dj T ransx,aj Rotz,α   cθj −sθj cαj sθj sαj aj cθj (38) c c −cθj sαj aj sθj  s =  θj θj α j 0 s αj c αj dj  0 0 0 1 The notation for sin(·) and cos(·) in (38) is sx ≡ sin x and cx ≡ cos x. The transformation matrix between frames can be found as T0n = A0 · · · An (39) where n is the number of joints. The transformation matrix can be further broken  0 down  as 0 0 0 0  x y z o Rn o0n 0 (40) = n n n n , Tn = 0 0 0 1 0 1

where R0n is a rotation matrix consisting of the three vectors x0n , y 0n and z 0n , and o0n is the translation vector.  b  Rt obt b 1 . (41) T t = T 4 = A1 A2 A3 A4 = 0 1 The inverse kinematics for the full crane is the method of finding the joint angles, β, knowing the position of the end-effector, obt . By transforming this to the position of the first joint, o0t can be found as   (42) o0t = R0b obt + o0b = x0b yb0 zb0 . From the first joint and up, the crane can be recognized as the elbow manipulator from (Spong et al., 2005). The angles of this configuration can be found as   √  0 yb ± 1 − δ2 , β2 = arctan , β0 = arctan x0b δ   zb0 − L0 (43) β1 = arctan  0 (xb )2 + (yb0 )2   L2 sin β2 − arctan , L1 + L2 cos β2 where (x0 )2 + (yb0 )2 + (zb0 − L0 )2 − L21 − L22 δ= b . (44) 2L1 L2

163

The Jacobian matrix, Jβ , determines the velocity relationship between the end effector, ξ, and the joints, β˙ =  T β˙0 β˙1 β˙2 . The velocity kinematics can be found as  b v b (45) ξ t = tb = Jβ β˙ ωt where     Jv1 ...Jvn Jv Jβ = (46) = Jω1 ...Jωn Jω in which Jv is the Linear Velocity Jacobian and Jω is the Angular Velocity Jacobian, where both have a column for every link in Table 3 (Spong et al., 2005). For revolute joints, as in this example, the ith column can be found as     J vi zi−1 × (on − oi−1 ), = , (47) zi−1 . Jωi

and since the first link in Table 3 is not movable, this is skipped and the Jacobian matrix can be found as   0 z1 × (o04 − o01 ) z02 × (o04 − o02 ) z03 × (o04 − o03 ) Jβ = , z01 z02 z03 (48) where all vectors can be found from (39) after calculating the transformation matrices for each link. 8. SYSTEM CONTROLLER The desired position of the TCP, pnd , can be given by the crane operator, and should be a position that is not affected by the waves. The desired configuration of the TAC should be such that the TCP has the largest freedom of movement in all directions, i.e. in the middle of the workspace, which gives a desired position in the {t}-frame of ptd = [xd 0 0]T , where xd can be found by analyzing the workspace area. The crane joints angle can be found by substituting L2 in (43) and (44) with L2d = L2 + xd , as ptd only has value along the x-axis. The position of the TAC changed by the disturbances of the sea, ont , can be found as ont = Rnb obt + onb . (49) To compensate for the vessel’s motion, the TCP should be moved equally in the opposite direction of the disturbance, thus the positional reference should be a vector from ont to pnd in the {t}-frame, found as ptref = Rtn pnref ,

Rtn

(Rbt )T (Rnb )T

pnref

(50)

pnd

ont .

where = − After and = checking if ptref is inside the workspace, the reference angles, αref , can be found with the use of the IPK function found in Section 3, such that (51) αref = IP K(ptref ). The velocity reference can be found by differentiating (50) t ˙ t pn + Rt p˙ n , (52) vref = p˙ tref = R n ref n ref where ˙ b )T (Rn )T + (Rb )T (R ˙ n )T ˙ t = (R R b t t b n (53) = −(S(ω bt )(Rbt )T + (Rbt )T S(ω nb ))(Rnb )T

2016 IFAC CAMS 164 Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

Fig. 5. Ship with full crane system: An elbow manipulator (Spong et al., 2005) and the TAC. and ˙ b pt + o˙ b − R ˙ n ob − Rn o˙ b − o˙ n p˙ nref = R t d t b t b t b

= S(ω bt )Rbt ptd − S(ω nb )Rnb obt + (I − Rnb )vtb − vbn (54)

with T

vbn = [u v w] , T

ω nb = [p q r] .

(55)

ω bt and vtb are found from (45). The TCP positional velocity is translated to the joints angular velocity by use of the Jacobian matrix from Section 5, t ˙ ref = J−1 (ptref , αref )vref . (56) α ˜ ≡ αref − α and α ˙ ref − α, ˙ With error dynamics as α ˜˙ ≡ α the input to the DC-motors, uα = [u1 u2 u3 ], can be chosen with the use of a PID controller,  ˜ ˜ + Ki α(t)dt ˜˙ , (57) u α = Kp α + Kd α

where the controller gains are chosen from regulator tuning. 9. SIMULATION SETUP The simulation setup consists of the controller described in Section 8, a TAC simulator and a simulated supply vessel with an IMU. An illustration of this is provided in Figure 6.

In the simulator the DC motors used to manipulate α are modeled as the first order system α KDC , (58) (s) = uα TDC s + 1 where values for the motor constants KDC and TDC can be found in Table 4. Inverse Laplace transformation and inserting this equation into (31) yields 1 KDC α+ uα ), (59) p˙ tc = J(ptc , α)(− TDC TDC which partially represents the TAC system dynamics. When designing the ship and simulating the IMU data used in this simulator, the MSS toolbox (Fossen, 2011) proved very useful. A supply ship model that takes a controllable wave spectrum as input, and outputs η and ν was created from the MSS toolbox. In the simulations measurement noise was neglected as it is not the focus of this paper, but in (Henriksen and Røine, 2016) it 164

was included in the experiments done on a small-scale prototype of the TAC. Essential parameter values used in the experimental setup can be found in Table 4. The Table 4. Parameter values used in simulations. Parameter lk la lr lp αmin αmax TDC KDC Kp Ki Kd Lsx Lsz L0 L1 L2

Value 2.00 3.25 7.00 1.25 -40 70 0.2 1 10 60 1 -20.70 3.00 3.00 19.20 9.60

Unit m m m m deg deg s m m m m m

simulator also includes the motion of the full crane, where a path could be generated for the TCP in a pattern such as loading or offloading, and then finding the joint angles through inverse kinematics. 10. SIMULATION RESULTS The conducted experiment used compensation action with only the TAC, with positive results for significant wave height, Hs , up to and including 3.0 meters. This corresponds to sea state 5 (rough sea) (Fossen, 2011). As the focus of this paper is the TAC, the crane is in this simulation placed in a stationary configuration, with π π π β0 = − rad, β1 == rad, and β2 = − rad, (60) 2 4 4 such that the crane points to the starboard side of the ship, with the TAC in parallel with the ship deck, as seen in Fig. 7. The figure also demonstrates the dimensions of the system. In Fig. 8 the 6 DOF’s simulated by the ship simulator can be seen. Fig. 9 shows the how the control loop works with ptc and ptref , whereas Fig. 10 shows this in {n}-frame, and compares pnc to the uncompensated TCP position pns . Fig. 11 shows the length position error of the compensation,

2016 IFAC CAMS Sept 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166

165

Fig. 6. Block diagram representation of the experimental setup. 10 xc

40

x

ref

8

y

c

30

y

ref

20

zc

6

z

10

ref

m

z

0

4

-10 -20

2

-30 0

-40 -40

-20

0

20

x

40

-40

20

0

-20

40 -2 0

y

5

10

15

20

25

30

time[s]

Fig. 9. Simulated TCP position ptc .

Fig. 7. 3D rendering ship, crane and TAC.

30 x

3

c

x y z

m

2 1

x

ref

20

x

s

yc yref

10 0

y

s

0

5

10

15

20

25

m

-1 30

zc

0

zref

time[s]

zs

4

-10 φ θ ψ

deg

2

-20

0 -30 0

-2 0

5

10

15

20

25

30

5

10

15

20

25

30

time[s]

time[s]

Fig. 8. Simulated vessel position and orientation η in {n}frame. ec , compared to the error of the uncompensated case, es , calculated as ec = pnd − pnc 2 ,

es = pnd − pns 2 .

(61)

Fig. 12 shows the inputs uα along with the corresponding α. The controller has been tuned such that the position follows the reference closely, as can be seen in Fig. 9. 165

Fig. 10. Simulated TCP position pnc . 11. DISCUSSION AND CONCLUSION The goal of this paper is to study how the TAC can be used for motion compensation, and to derive the equations and algorithms needed. Because of the TAC’s highly nonlinear nature, this is not a straightforward task, and the solution requires several steps. Controllers for the compensation using merely the TAC has been developed, and shown to be successful in simulations for rough sea. With Hs higher than 3.0 meters the workspace limits were reached,

2016 IFAC CAMS 166 13-16, 2016. Trondheim, Norway Vegard Wie Henriksen et al. / IFAC-PapersOnLine 49-23 (2016) 159–166 Sept

REFERENCES 3.5 e e

3

c s

2.5

m

2

1.5

1

0.5

0 0

5

10

15

20

25

30

time[s]

Fig. 11. Error compensated versus uncompensated.

deg

50 α1

0

u1

-50 0

5

10

15

20

25

30

time[s]

100

deg

α2

0

u2

-100 0

5

10

deg

15

20

25

30

time[s]

50

α3

0

u

3

-50 0

5

10

15

20

25

30

time[s]

Fig. 12. Simulated angles α and input uα . which reduces the compensation’s efficiency. The TAC provides fast and accurate motion compensation inside its workspace limits. It is reasonable to expect good motion compensation in higher sea if the rest of the crane is also included in the control loop. The maximum sea state, where the crane can have full mobility, should be determined if it is to be the only compensating force on the cargo. Since the crane’s job ultimately is to move its cargo safely to its destination, and not necessarily to keep the TCP still, the workspace requirements might differ and the model must be upgraded to include the suspended load.

166

Andrioaia, D., Pascu, M., Mihaila, L., and Obrea, C.F. (2012). Determining the workspace in case of the robots with parallel structure delta 3dof. In Annals & Proceedings of DAAAM International 2012, volume 23. DAAAM International. Clavel, R. (1988). Delta, a fast robot with parallel geometry. In 1988 18th International Symposium on Industrial Robots (ISIR) in Lausanne, Switzerland, 91– 100. Berlin: Springer-Verlag. Codourey, A. (1988). Dynamic modeling of parallel robots for computed-torque control implementation. The International Journal of Robotics Research, 17, 1325–1336. Coope, I.D. (2000). Reliable computation of the points of intersection of n spheres in Rn . ANZIAM Journal, 461–477. Fang, Y., Wang, P., Sun, N., and Zhang, Y. (2014). Dynamics analysis and nonlinear control of an offshore boom crane. IEEE Transactions on Industrial Electronics, 61(1), 414–427. Fossen, T.I. (2011). Handbook of Marine Craft Hydrodynamics and Motion Control. Wiley. Henriksen, V. and Røine, A. (2016). Three-Axis Motion Compensated Crane Head Control. Master’s thesis, Norwegian University of Science and Technology. Johansen, T.A., Fossen, T.I., Sagatun, S.I., and Nielsen, F.G. (2003). Wave synchronizing crane control during water entry in offshore moonpool operations - experimental results. IEEE Journal of Oceanic Engineering, 28(4), 720–728. K¨ uchler, S., Mahl, T., Neupert, J., Schneider, K., and Sawodny, O. (2011). Active control for an offshore crane using prediction of the vessel’s motion. IEEE/ASME Transactions on Mechatronics, 16(2), 297–309. Laribi, M.A., Romdhane, L., and Zeghloul, S. (2008). Advanced Synthesis of the DELTA Parallel Robot for a Specified Workspace. Parallel Manipulators Towards New Applications, 207–210. Messineo, S. and Serrano, A. (2009). Offshore crane control based on adaptive external models. Automatica, 45(11), 2546 – 2556. SNAME (1950). The society of naval architects and marine engineers. nomenclature for treating the motion of a submerged body through a fluid. Technical and Research Bulletin No. 15. Spong, M.W., Hutchinson, S., and Vidyasagar, M. (2005). Robot Modeling and Control. John Wiley & Sons. Stan, S.D., Manic, M., Szep, C., and Balan, R. (2011). Performance analysis of 3 dof delta parallel robot. In 2011 4th International Conference on Human System Interactions (HSI), 215–220. IEEE. Williams, R.L. (2015). The delta parallel robot: Kinematics solutions. Internet publication. Www.ohio.edu/people/williar4/html/pdf/DeltaKin.pdf.