Entertainment & Media

A novel framework for closed-loop robotic motion simulation - Part II: Motion cueing design and experimental validation

Description
A novel framework for closed-loop robotic motion simulation - Part II: Motion cueing design and experimental validation
Published
of 9
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/221068988 A Novel Framework for Closed-Loop RoboticMotion Simulation - Part I: Inverse KinematicsDesign CONFERENCE PAPER   in  PROCEEDINGS - IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION · MAY2010 DOI: 10.1109/ROBOT.2010.5509647 · Source: DBLP CITATIONS 12 READS 50 6 AUTHORS , INCLUDING:Paolo Robuffo GiordanoMax Planck Institute for Biological Cybernetics 105   PUBLICATIONS   1,064   CITATIONS   SEE PROFILE Lorenzo PolliniUniversità di Pisa 93   PUBLICATIONS   823   CITATIONS   SEE PROFILE Heinrich H Bülthoff Max Planck Institute for Biological Cybernetics 764   PUBLICATIONS   13,745   CITATIONS   SEE PROFILE Available from: Lorenzo PolliniRetrieved on: 03 February 2016  A Novel Framework for Closed-Loop Robotic Motion Simulation -Part I: Inverse Kinematics Design P. Robuffo Giordano, C. Masone, J. Tesch, M. Breidt, L. Pollini, and H. H. B¨ulthoff   Abstract —This paper considers the problem of realizing a 6 -DOF closed-loop motion simulator by exploiting an anthro-pomorphic serial manipulator as motion platform. Contraryto standard Stewart platforms, an industrial anthropomorphicmanipulator offers a considerably larger motion envelope andhigher dexterity that let envisage it as a viable and superioralternative. Our work is divided in two papers. In this  Part I  ,we discuss the main challenges in adopting a serial manipulatoras motion platform, and thoroughly analyze one key issue: thedesign of a suitable inverse kinematics scheme for online motionreproduction. Experimental results are proposed to analyze theeffectiveness of our approach.  Part II   [1] will address the designof a motion cueing algorithm tailored to the robot kinematics,and will provide an experimental evaluation on the chosenscenario: closed-loop simulation of a Formula  1  racing car. I. I NTRODUCTION Over the last decades, the realization of realistic immer-sions in virtual environments has been an active researchfield [2]. In this context, simulators of vehicle motion rep-resent one major application of interaction with a virtualenvironment for training purposes [3], but also for educatingand entertaining as reported in [4]. The big challenge, in thiscase, is to provide the user with all the sensory cues neededto reproduce a perfect illusion of   realism . While controllingthe simulated vehicle, the user should behave exactly as if he/she was interacting with the real one.When simulating interaction with a vehicle, visual cuesplay a major role in achieving good realism, also thanks tothe recent developments in 3D computer graphics. Visionalone, however, may not be enough to obtain a sufficientsimulation fidelity so that additional cues, such as motioncues, are also often considered. In this case, the user ex-periences motion by means of a suitably actuated motionplatform that tries to reproduce the linear accelerations andangular velocities that would have been felt on the vehicle.Most existing designs of motion simulators are basedon fully actuated hexapods (Stewart platforms). Althoughwith motion capabilities in  6  degrees of freedom (DOF),these platforms suffer from their limited workspace and the P. Robuffo Giordano, J. Tesch, and M. Breidt are with the Max Planck Institute for Biological Cybernetics, Spemannstraße 38, 72076 T¨ubingen,Germany  { paolo.robuffo-giordano@tuebingen.mpg.de } .C. Masone is with the Dipartimento di Informatica e Sistemistica,Universit`a di Roma “La Sapienza”, Via Ariosto 25, 00185 Roma, Italy.L. Pollini is with the Dipartimento di Sistemi Elettrici e Automazione,Universit`a di Pisa, Via Diotisalvi 2, 56126 Pisa, Italy.H. H. B¨ulthoff is with the Max Planck Institute for Biological Cy-bernetics, Spemannstraße 38, 72076 T¨ubingen, Germany, and with theDepartment of Brain and Cognitive Engineering, Korea University, Anam-dong, Seongbuk-gu, Seoul, 136-713 Korea. impossibility to achieve large linear and angular displace-ments and rates because of the the closed chain nature of their actuation system. As a possible improvement to thisdesign, the idea of exploiting industrial robot manipulatorsas motion platforms is drawing an increasing attention in thescientific community [5], [6], [7]. Indeed, a serial  6 -DOFindustrial manipulator offers higher dexterity, larger motionenvelope, the possibility to realize any end-effector posturewithin the workspace, and the ability to displace heavy loads(up to  1000 [kg] ) with large accelerations and velocities. Itis then possible to attach a cabin carrying the user to therobot end-effector. The large dexterity envelope of the robotmotions allows moving the cabin along complex coordinatedtrajectories and reaching any attitude: the cabin could evenbe placed upside down, thereby achieving sustained negativevertical accelerations.However, exploiting a serial manipulator as motion plat-form for closed-loop vehicle simulation involves also severalchallenges that will be extensively discussed in the rest of the paper and its companion  Part II  . In few words, there aretwo main issues: first, one must conceive a suitable inversekinematics scheme able to cope with an unpredictable andarbitrary desired cabin motion, generated online as a functionof the (unpredictable) user inputs to the simulated vehicle.Second, the design of washout filters, and in general of thewhole  motion cueing  block, must be tailored to the specificmotion envelope of a serial manipulator.In this paper, we address the closed-loop control for theCyberMotion Simulator, a  6 -DOF anthropomorphic robotarm based on the commercial KUKA Robocoaster [8]. Inprevious works, we already presented some results on sim-plified situations where only a small subset of robot DOFwere used to generate motion [9], [10], [11]. Goal and maincontribution of this paper and its companion  Part II   is to pro-pose a general and rigorous framework to exploit the  full  6 -DOF of the robot to realize closed-loop motion simulations.Although our approach can be seamlessly applied to simulateany vehicle dynamics, we selected a Formula  1  racing caras testing scenario for obtaining an experimental evaluation.This paper is structured as follows: after a description of the CyberMotion Simulator in Sect. II, Sect. III will illustratethe architecture of a typical motion simulation loop, andgive more details on the challenges inherent in adopting aserial manipulator as motion platform. Section IV will thentackle the core issue of this  Part I  , i.e., the design of theinverse kinematics algorithm whose effectiveness will thenbe discussed in Sect. V via experimental results. Section VIwill finally summarize the paper contributions, and indicate 2010 IEEE International Conference on Robotics and AutomationAnchorage Convention DistrictMay 3-8, 2010, Anchorage, Alaska, USA 978-1-4244-5040-4/10/$26.00 ©2010 IEEE3876  open points and future directions. Design of the motioncueing algorithm, details of the Formula  1  car model, andexperimental evaluation of the whole architecture are givenin  Part II  .II. D ESCRIPTION OF THE  C YBER M OTION  S IMULATOR The CyberMotion Simulator consists of a standard six- joint anthropomorphic robot arm, see Fig. 1(a). It is basedon the commercial KUKA Robocoaster [8] (a modified KR- 500  industrial robot with a  500 [Kg]  payload), which wasoriginally designed for use in amusement parks. A cabinwith an onboard projection system is rigidly attached to therobot end-effector, and can be equipped with different kindsof input devices. In the case under consideration, we mounteda force-feedback steering wheel and pedals, see Fig. 1(b–c).The robot is equipped with a low-level controller able torealize a given joint velocity command at a fast rate, so thatone can disregard any dynamical issue and consider jointvelocities as actual control inputs. In particular, by letting  q   ∈ R 6 be the joint configuration vector, the low-level controlleraccepts joint increment commands  ∆ q  k  =  q  ( t k +1 ) − q  ( t k ) as inputs, and returns the measured joint configuration  q  ( t k ) as output at a rate of   T  s  = 0 . 012 [s] . A structural delay of  0 . 04  [s] between the generation and actual execution of   ∆ q  k is also present in this control loop. We did not consider thepresence of this delay in the rest of the paper, and modeledthe joint motion as a pure integrator ˙ q   =  u,  (1)where  u  ∈  R 6 represents the commanded joint velocity —our control input. The effects of the delay, and possible waysto compensate for it in the control design, will be addressedin future studies. Therefore, all the following higher-levelcontrol schemes will be built upon the ideal model (1).The joint range is delimited by q  min  = [ − 130  − 128  − 30  − 180  − 58  − 180] T  [deg] and q  max  = [130  − 42 78 180 58 180] T  [deg] , and there exist constraints on the maximum joint velocities ˙ q  max  = [69 57 69 76 76 120] [deg / s]  and maximum jointacceleration  ¨ q  max  = [98 70 128 33 95 77] [deg / s 2 ] .III. P ROBLEM FORMULATION Figure 2 shows a block-scheme representation of a genericmotion simulation loop. Starting from the left side, the firstcomponent is a software block that implements the dynamicsof the simulated vehicle. This block accepts user’s commandsas inputs, and yields as outputs the rendered virtual sceneand the relevant Cartesian motion profiles. These consist of those linear acceleration and angular velocities that wouldbe experienced by a user onboard the vehicle.The virtual scene is typically displayed 1:1 on a projectionscreen or in a head mounted display worn by the user. Asfor the motion data, some pre-filtering is usually required tomake the ‘ideal’ vehicle motion compatible with the limitedworkspace of the chosen motion platform. Indeed, the motionrange of a platform fixed to the ground is in general toolimited to reproduce 1:1  any  vehicle trajectory as, e.g., acar or an airplane linearly accelerating over a long time.Therefore, a so-called  motion cueing  block is inserted intothe loop. Its purpose is to transform the input motion profileinto a Cartesian trajectory compatible with the platformworkspace, but still inducing a realistic motion perceptiononto the user. A classical example is the well-known tilt-coordination algorithm [12] that exploits the gravity vectorin the user’s body frame to simulate presence of a sustainedlinear acceleration. An overview of existing motion cueingalgorithms, as well as all the details of our implementation,are given in  Part II  .This filtered Cartesian trajectory must then, in our case,be fed to an  Inverse Kinematics  algorithm for its actualrealization on the robot. A proper design of this componentis a fundamental and nontrivial task, and is the main scopeof this  Part I  . The problem lies in the fact that the classicalstructure of a motion cueing algorithm does not allow to takeexplicitly into account all the robot constraints expressed atthe joint level. Therefore, one has to assume that the outputof the motion cueing block can in general violate any (or all)of the robot constraints over time. Moreover, such an outputtrajectory is completely arbitrary (in terms of geometric path)and unknown in advance — it eventually depends on theunpredictable inputs of the user to the vehicle. Hence, thesought inverse kinematics must be able to realize at best andin real-time a Cartesian trajectory that 1) is geometricallyunpredictable and unknown in advance, and 2) may violateany robot constraints over time.The main contribution of this  Part I   is to propose arigorous solution to this general problem. This solution willthen be exploited in  Part II   to realize our closed-loop motionsimulator.IV. D ESIGN OF THE  I NVERSE  K INEMATICS  A. Preliminary definitions With reference to Fig. 1(a) , let F  0  :  { O ;   X  0 ,  Y  0 ,  Z  0 } be aworld reference frame fixed to the robot base, with   Z  0  point-ing upwards and  (   X  0 ,  Y  0 )  spanning the horizontal plane.A moving reference frame  F  P   :  { O P  ;   X  P  ,  Y  P  ,  Z  P  }  isattached to the the pilot’s head (supposed fixed to the cabin)and has its axes aligned with the pilot’s forward/left/upwarddirection, respectively.Furthermore, let  R P   be the rotation matrix from frame F  0  to frame  F  P  , and  η  = [ ρ θ ψ ] T  ∈  R 3 the usual set of roll-pitch-yaw Euler angles parameterizing  R P  . Let also  p  =[ x y z ] T  ∈  R 3 represent the coordinates of   O P   in  F  0 . Withthese settings, we will call  J  CE  ( q  )  ∈  R 6 × 6 the Jacobianmatrix representing the mapping from joint velocities  ˙ q   toCartesian/Euler velocities   ˙  p ˙ η   =  J  CE  ( q  )˙ q.  (2)Derivation of   J  CE  ( q  )  follows from any standard roboticstextbook, see, e.g., [13]. 3877  X P Y P  Z P X 0 Y 0 Z 0 (a) (b) (c) Fig. 1:  A snapshot of the CyberMotion Simulator setup (a), and some details of the steering wheel and pedals mounted on the cabin(b–c) Fig. 2:  A block-scheme representation of the system architecture For reasons related to the design of the motion cueingalgorithm (see  Part II  ), we will transform the Cartesiancoordinates  p  into cylindrical ones  ξ   = [ R α z ]  definedas  R  =   x 2 +  y 2 α  = atan2( y, x ) z  =  z, and take  r  = [ ξ  T  η T  ] T  ∈  R 6 as  task variables  to becontrolled. Being  ˙ R  = ˙ x cos α + ˙ y sin α  and  ˙ α  = ( − ˙ x sin α +˙ y cos α ) /R , one can easily obtain the mapping between  ˙ q   and ˙ r ˙ r  =  cos α  sin α − sin αR cos αR 00  I    ˙  p ˙ η   =  T  ( ξ ( q  )) J  CE ( q  ) ˙ q   =  J  ( q  ) ˙ q. (3) Hereafter,  J  ( q  )  will be referred to as  task Jacobian  matrix.To simplify the notation, dependence on  q   will be droppedunless strictly necessary.  B. Differential Inverse Kinematics In this subsection we will consider the problem of real-izing a given reference task trajectory  r d ( t )  output of themotion cueing algorithm. Since the robot directly accepts joint velocities  ˙ q   as inputs, the problem can be naturallyformulated at the kinematic level, by exploiting the classicalconcepts of   kinematic inversion  and  kinematic control  see,e.g., [14]. The goal is to find a control law, or inversionscheme,  u  =  f  ( q, r d , r )  that guarantees realization of thetask   r d ( t ) . As explained before, the chosen inversion schememust also comply with all the robot constraints. Formally,  a)  ∀ i,  ∀ t  ≥  0 , q  i,min  ≤  q  i ( t )  ≤  q  i,max b)  ∀ i,  ∀ t  ≥  0 ,  | ˙ q  i ( t ) | ≤  ˙ q  i,max c)  ∀ i,  ∀ t  ≥  0 ,  | ¨ q  i ( t ) | ≤  ¨ q  i,max .  (4)Furthermore, the inversion scheme should avoid singularitiesor, when not possible, soften their negative effect by passingas ‘smoothly’ as possible through them.Many past works have addressed kinematic inversion bytaking into account these issues. Broadly speaking, twomain approaches do exist: online (local) and offline (global)algorithms. When the whole  r d ( t )  is known in advance, orat least the geometric path has a known structure, offlinemethods can be used to modify the path or the associatedtiming law so as to cope with the constraints. This is thecase, for instance, of the classical works of Slotine [15]and Shiller [16] where an offline optimization guaranteesfeasibility of the motion w.r.t. the actuator constraints.Local methods are widespread for avoiding joint limits andsingularities. Joint limits can be avoided by resorting tosimple parabolic potential fields [13], or more sophisticatedones [17]. The same applies to the avoidance of singularitieswhere suitable indexes, such as the manipulability mea-sure [18], can be optimized. Mixed solutions, i.e., concurrentavoidance of joint limits and singularities, have also beenexplored [19], as well as strategies to soften the effect of singularities when passing close to them [14], [20].In our case, offline methods are not a viable optionbecause, as explained in Sect. III,  r d ( t )  is both geometricallyarbitrary and completely unknown in advance. Therefore,we must design an online solution able to realize the  best  feasible motion . Whenever realization of   r d ( t )  is compatible 3878  with all the constraints, then the robot should track it exactly.For instance, proximity to a joint limit should not degradethe robot motion until strictly necessary (as opposite to theeffect of many potential field methods). On the other hand,whenever a constraint is violated, the robot should move asbest as it can, i.e., by minimizing the Euclidean norm of thetracking error   e ( t )   =   r ( t ) − r d ( t )  .To the best of our knowledge, no previous work has rig-orously considered the problem at hand in its completeness.The next sections will illustrate the solution adopted in thispaper. 1) Singularities:  singularities occur at those configura-tions  ¯ q   where the task Jacobian  J  (¯ q  )  loses rank, i.e., in ourcase when  rank J  (¯ q  )  <  6 . At a singular configuration it isimpossible to generate task velocities in certain directions,namely those directions associated to the zero singular valuesof   J  . It is also well-known that, apart from the loss of mo-bility, any method based on the (pseudo-)inversion of   J   willbecome numerically unstable close to a singularity, yieldingunbounded joint velocity commands as  q  ( t )  approaches  ¯ q  .In this respect, a convenient way to deal with the occur-rence of singularities is to resort to a Task Priority (TP)inversion scheme [20]. The idea is to divide the main task into several subtasks with different priorities. Away fromsingularities the whole task is realized whereas, whenever  J  is rank deficient, the lowest priority tasks are automaticallyrelaxed while still correctly executing those with highestpriority.The peculiar nature of our problem (reproducing thecorrect motion perception on the user) led us to partition themain task as  r  = [ r T A  r T B ] T  , with  r A  = [ ρ θ ] T  ∈  R 2 beingthe higher priority subtask, and  r B  = [ R α z ψ ] T  ∈  R 4 the lower priority one. In this way, close to singularities,realization of the correct orientation of gravity in  F  P   (re-sponsible for simulating sustained cues) is favored comparedto a correct execution of the other task variables (responsiblefor simulating onset cues).Among the different variants of the TP strategy, (see [20],[21] for a survey), we chose to implement the following law u  =  J  ∗ A w A  + ( J  B ( I   − J  ∗ A J  A )) ∗ ( w B  − J  B J  ∗ A w A ) .  (5)Here,  J  A  ∈  R 2 × 6 and  J  B  ∈  R 4 × 6 are the subJacobiansof   J   in (3) relative to the subtasks  r i ,  i  ∈ { A, B } , thesuperscript  ∗ denotes a matrix generalized inverse, and  w i  =˙ r d i  +  K  i ( r d i  −  r i ) , with  K  i  >  0  being a positive definitegain matrix of suitable dimensions. The choice of vectors w i  follows the well-known CLIK paradigm [14] that ensuresrecovery of numerical drifts or tracking errors during themotion.To avoid ill-conditioning when implementing (5), weresorted to a singularity-robust pseudoinversion based onnumerical filtering [22] and implemented as J  ◦ = s  i =1 σ i σ 2 i  +  λ 2 i v i u T i  ,  (6)where  J   =   si =1  σ i u i v T i  is the singular value decompositionof matrix  J  , and individual  λ i  affect each singular value. By B 1 B 2 q 2 . D q 1,max . q 1 . D q 2,max . q 1,max . q 2,max .  q k . q k+1 . q k+1 . ~ B 3 (a) B 1 B 2 q 2 . D q 1,max . q 1 . D q 2,max . q 1,max . q 2,max .  q k . q k+1 . ~ B 3  q k+1 . D q k+1 . (b) Fig. 3:  Details of the scaling procedure. Top: if the supportingline of the desired joint velocity vector  ˙ q  k +1  intersects the set of feasible velocities  B 3 , a uniform scaling solves the problem withoutchanging the direction of   ˙ q  k +1 . Bottom: when this is not the case,a change in the direction of   ˙ q  k +1  is necessarily needed choosing [23] λ 2 i  =  0 if   σ i  ≥  ǫ  1 −  σ i ǫ  2  λ 2max  if   σ i  < ǫ  (7)where  ǫ >  0  defines the size of the singular region, and λ 2max  >  0  sets the maximum damping value, one obtainsthe remarkable result of introducing a tracking error only onthe unfeasible task directions while keeping exact trackingon the feasible ones. Therefore, we chose to adopt (6–7) asgeneralized inverse to be used in the Task Priority law (5). 2) Maximum joint velocity and acceleration:  the jointvelocities computed from (5) have no guarantees to respectconstraints b) and c) in (4). As discussed at the beginning of this section, there exist several offline methods able to modifyor scale down the task reference motion  r d ( t )  so as to make itcompatible with the actuator constraints. Since, however, weassumed  r d ( t )  to be unknown in advance and geometricallyarbitrary, we chose to rely on a simpler online scaling of  u  with the aim of minimizing any Cartesian distortion.Figures 3(a–b) illustrate our approach in a two-dimensionalcase, the extension to six dimensions is straightforward. Wewill also reason in terms of discrete quantities sampled witha period of   T  s  [s] — the robot loop cycle, see Sect. II.Therefore,  ˙ q  k  = ˙ q  ( t k )  will denote the joint velocity sent 3879
Search
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks