logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Mechanical engineering - Robotic system design

Completed notes of the course

Complete course

Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna � Rettorato Mercoledì 27 maggio 2015 Robotic Systems Design Introduction Hermes Giberti Hermes Giberti Robotic Systems Design General information 2 Hermes Giberti [email protected] 02 -2399 -8452 Dipartimento di Meccanica , Politecnico di Milano Via Giuseppe La Masa, 1, 20156 Milano Building 23, first floor Meeting with professors by appointment only Hermes Giberti Robotic Systems Design Robotics 36 Generally, a robot has the following characteristics: versatility, capacity to adapt to different situations, autonomy and some ability to make decisions. A possible classification of the robot can be made according to the mechanical structure: Robot with fixed base (Manipulator) Robot with mobile base (Mobile Robot) Hermes Giberti Robotic Systems Design Robotics 37 Manipulator Mobile robot Hermes Giberti Robotic Systems Design Robotics 38 2UERWK� Note: a robot could also be a program! (in the context of computer science) Hermes Giberti Robotic Systems Design Mobile Robots 39 These have a mobile base and are mainly service robots. They can be divided into: Mobile robot with wheels : A rigid body (chassis) with a wheel system Mobile robot with legs : Multiple rigid bodies connected by means of joints (usually they belong to the biomimetic robotics) Hermes Giberti Robotic Systems Design Mobile Robots 44 Boston Dynamics was acquired by Google for $500 Million. SoftBank group acquired Boston Dynamics in June 2017 for an undisclosed amount On December 10, 2020, the company was acquired by Hyundai Motor Company for $917 million. Hermes Giberti Robotic Systems Design Manipulators 45 Another class of robot, very important from the industrial point of view, is the manipulator class (ABB robot family) Hermes Giberti Robotic Systems Design Manipulators 46 An industrial manipulator is made up of three elements: - Wrist - Arm - Base Every Robot is provided with its own control unit. Control unit Robot Hermes Giberti Robotic Systems Design Manipulators 47 On the wrist we have to mount the tool ( end effector ) that we want to use for our application (gripper, drilling system, spray paint gun, etc ). We need to know the position of our end effector. The tool center point ( TCP ) is the point in relation to which all robot positioning is defined. By default the TCP is the wrist center but we need to offset it depending on the tool used. Hermes Giberti Robotic Systems Design Manipulators 48 From a mechanical point of view a manipulator is a general purpose computer controlled device consisting of several links connected by revolute or prismatic joints . Hermes Giberti Robotic Systems Design Manipulators 49 An axis is the direction used to specify the robot motion in a linear or rotary mode (ISO 8373). Wrist Arm Primary axis Secondary axis Primary axis t Belonging to the arm (usually 3) Secondary axis t Belonging to the wrist (usually 2 or 3) The arm usually determines the position whereas the wrist the orientation of the end effector. The number of axes collaborates to define the number of degrees of freedom (DOF) of the robot. Hermes Giberti Robotic Systems Design Manipulators 50 The degree of freedom (DOF) of a mechanical system is the number of independent parameters that define its configuration. Hermes Giberti Robotic Systems Design Manipulators 51 Depending on the axis number we are faced with a 3dof Robot, 5dof Robot or a 6dof Robot. In some case there are more axes than robot DOFs that means we have a redundant robot (examples: ABB Yumi , KUKA lightweight robot). Hermes Giberti Robotic Systems Design Manipulators 52 According to the way in which links and joints are combined we can realize two different kinematic configurations: � Open kinematic chain ( Serial robot ): kinematic structure normally realized with rigid links connected in series by means of 1dof actuated articulations (rotation or translation). � Closed loop kinematic chain ( Parallel Robot ): several convergent kinematical chains. Not all the articulations are actuated. Base ( fixed o r mobile) 1 2 n Link End effector Manipulator Serial - Parallel Hermes Giberti Robotic Systems Design Manipulators 53 Example of Parallel robots Hermes Giberti Robotic Systems Design Manipulators 54 Principal kinematics structures of Serial robots Cartesian Cylindrical Spherical Gantry Anthropomorphic SCARA (Selective Compliance Assembly Robot Arm) Hermes Giberti Robotic Systems Design Manipulators 55 Principal kinematics structures of Parallel robots (PKM) Delta Steward platform Manipulator with parallelogram Hybrid parallel serial manipulator (ABB Tricept ) Hermes Giberti Robotic Systems Design Manipulators 56 As can be seen there are many robot configurations and robotic applications each one completely different from the other but in common they have definitions and problems . Hermes Giberti Robotic Systems Design Definitions 57 The E.E. pose is the position and orientation of the end effector: 3 position coordinates usually X, Y, Z and 3 orientation coordinates i.e. D , E , J. The workspace is the volume of the space within which the robot can perform a given task. Actually we must define several spaces! Hermes Giberti Robotic Systems Design Definitions 58 Workspace: � mathematical space describing the pose of the mechanical interface or of the end effector � geometrical space reachable by point of reference of the wrist. It depends on the kinematic structure and mechanical stops Space of movement : space achievable by every part of the robot Maximum space : movement space + space achievable by the end effector Operating space : portion of maximum space reached in a particular application Restricted space : portion of maximum space limited by mechanical stops (or equivalents) Safeguarded space : space delimited by mechanical protections or immaterial ( i.e. Photocells barriers) to limit dangers Collaborative workspace : workspace within the safeguarded space where the robot and a human can perform tasks simultaneously Hermes Giberti Robotic Systems Design Definitions 59 All these definitions are collected in a specific standard : ISO 8373 - Robots and robotic devices � Vocabulary This International Standard defines terms used in relation to robots and robotic devices operating in both industrial and non -industrial environments. Other standards are set to define how to evaluate safety, performance and the like. For example: � ISO 10218 - Robots and robotic devices � Safety requirements for industrial robots � ISO 9787 - Robots and robotic devices � Coordinate systems and motion nomenclatures � ISO 9409 - Manipulating industrial robots � Mechanical interfaces � ISO 9283 - Manipulating industrial robots � Performance criteria and related test methods � � Hermes Giberti Robotic Systems Design How does a robot work? 60 Why do we define all these spaces and all these things? %HFDXVHD5RERWLVDYHU\FRPSOH[V\VWHPFDSDEOHRIGRLQJ�ZKDWHYHU�ZH want and it is important to be clear about every single aspect. Moreover DURERWFDQGR�ZKDWHYHU�ZHZDQWEXWLWLVDPDFKLQH�QRWWRR LQWHOOLJHQW�RULQRWKHUZRUGV�LVDOLWWOHELW�VWXSLG� Intelligence is required for robots to be able to handle such tasks as object manipulation (Manipulator) and navigation (Mobile robot). In order to do that a robot must solve several problems : knowing where he is, or finding out where other things are ( localization ), learning what is around him and building a map of the environment ( mapping ), figuring out how to get there ( motion planning ) or going from one point in space to another point ( path planning ), maybe moving and maintaining physical contact with an object ( compliant motion ). Hermes Giberti Robotic Systems Design How does a robot work? 61 Note: for purchasable robot we cannot yet today talk about social intelligence, creativity and general intelligence . These fields are the long -term goals of Artificial intelligence . Hermes Giberti Robotic Systems Design How does a robot work? 62 Elements which characterize an automated system motors sensors electronics mech - anics external sensors YLVLRQIRUFHWRXFK� environment other systems position, velocity controller environment model strategies 4-9 mm ANT contains everything !!! Hermes Giberti Robotic Systems Design How does a robot work? 63 To command a robot we need actuators, sensor and a control unit that connects both: we want to obtain a certain task in the workspace (movement of the end effector ) but we move motors and we know the measurements of sensors that are located along the kinematics chain of the robot q1 q2 q3 X, Y, Z, D , E , J Coordinates: a) workspace: pose of the end effector (X, Y, Z, D , E , J) b) Joint coordinates ��U��UY qn Hermes Giberti Robotic Systems Design How does a robot work? 64 We must connect these two spaces, workspace and joint space, solving the, so called, direct or inverse kinematic problem. � Direct problem : computation of the end effector movement when movements of actuators are known (single solution). � Inverse problem : computation of movements of actuators starting from a known movement of the end effector ( multiple solutions). These problems are solved by the control unit that contains a basic set of instructions defining abilities and actions of the robot (Non editable by the user). Hermes Giberti Robotic Systems Design How does a robot work? 65 The Assignment program (user program) is written by the user to specify the assignment. It describes the robot movements and eventually auxiliary functions (synchronization with other systems, ,2PDQDJHPHQWRSHUDWRUFRPPXQLFDWLRQ� There are different way to create a user program: � Online : manual insertion using a keyboard � Learning (training): the robot is guided into the required poses that are recorded. By moving : � The hand of the robot manually � Simulation device � Pistol or joypad � Offline (explicit): i.e. CAD/CAM � Objective oriented : (in the future) only the final objective is specified LH�DVVHPEOHSDUW$ZLWK%�7KH robot decomposes the command into elementary actions. Hermes Giberti Robotic Systems Design What is a Robot used for? 68 What is a robot used for? The Industrial Robot is a typical element of a flexible production system and it has three main capabilities: � Transport : capacity to take an object and move it inside the production line � Manipulation : capacity to perform a task (working or assembly) necessary for manufacturing a product. � Measurement : capacity to explore a three -dimensional space Hermes Giberti Robotic Systems Design What is a Robot used for? 69 Transport : capacity to take an object and move it inside the production line - Palletizing - Warehouse loading and unloading - Loading and unloading operating machines - Selecting and sorting - Packaging Hermes Giberti Robotic Systems Design What is a Robot used for? 70 Manipulation : ability to perform a task (working or assembly) required to manufacture a product. - Arc and points welding - Painting and coating - Gluing and sealing - Screwing, wiring, fixing - Milling, drilling - Pressing, stamping - Deburring , grinding - Laser cutting - Assembling Hermes Giberti Robotic Systems Design What is a Robot used for? 71 Measurement : the capacity to explore three dimensional space and contextually have the position of the points reached. - Dimension testing - Profiling - Spotting manufacturing errors Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna � Rettorato Mercoledì 27 maggio 2015 Robotic Systems Design Kinematics Analysis Hermes Giberti Hermes Giberti Robotic Systems Design Notes 2 � Up to now 52 students have enrolled. � ,�PZDLWLQJ to define the groups. � I remind you to send me [email protected] an e -mail with the names of 3 students who would like to work together. � In each group one person should be nominated as head and (s)he must send me an email with the list of the students in his/her group and communicate with me for any future eventuality . � If you are alone and want take the exam through the project send me an email and I will help you to find other students. � Deadline for the definition of the groups � Monday 26/09 Hermes Giberti Robotic Systems Design Manipulators 3 The course focus is on manipulators Serials Parallels Hybrid End effector Link Base Hermes Giberti Robotic Systems Design Manipulators 4 The course topics are presented studying a simple manipulator based on a serial kinematic chain. This kinematic architecture is simple to solve and understand. This robot is called S.C.A.R.A. S elective C ompliance A ssembly R obot A rm, and is commercialised by approximately 30 robot manufacturers and used for assembly tasks in the industry. The first SCARA robot was manufactured in 1978 , by Professor Hiroshi Makino , at the University of Yamanashi in Japan. In 1981 this robot was launched into the market by a consortium of Japanese companies among which Sankyo Seiki, Pentel , Nitto Seiko e NEC and the University. Due to its simplicity and ability to carry out assembly tasks in a production line, it is one of the most widely used robots in the world. Hermes Giberti Robotic Systems Design SCARA robot 5 S.C.A.R.A. Selective Compliance Assembly Robot Arm This manipulator has a selective stiffness: in the horizontal plane the stiffness is less than that in the vertical plane. It is thus particularly suitable in an assembly line. The robot has a 4dof: xyz Rotation of the robotic wrist Hermes Giberti Robotic Systems Design SCARA robot 6 The kinematic structure is based on two links connected by rotational joints ( 2R): these allow the movement on the xy plane. A third element is connected through a prismatic joint ( 1P ) for movements along the z direction. One can add a robotic wrist able to rotate the gripper ( 1R ). Degrees of freedom Working volume : x,y,z  Joints space : q 1, q 2, q 3, q 4. Hermes Giberti Robotic Systems Design SCARA robot 7 Construction solutions for SCARA are quite standardized. Brushless motors � Ball screw spline � Pinion and rack � Pneumatic actuators Sensors to measure the axis positions (encoders) The gripper rotation is sometimes attained with a belt pulley transmission. Harmonic Drive reducers Hermes Giberti Robotic Systems Design SCARA robot 8 Take care in the assembly of the motor Motor Reducer Coupling Load Cross roller bearing Hermes Giberti Robotic Systems Design SCARA robot 9 Take care in the assembly aspects Cross roller bearing Hermes Giberti Robotic Systems Design SCARA robot 10 SCARA commercial exemplar: ADEPT COBRA s600 Hermes Giberti Robotic Systems Design SCARA robot 11 The pose accuracy is the difference between the required pose and the average pose obtained following a number of repetitions. (reaching the pose always in the same direction). � Systematic error . The pose repeatability measures the dispersion of the obtained pose compared to their average. � Accidental error. Hermes Giberti Robotic Systems Design SCARA robot 12 SCARA with different link mobility Hermes Giberti Robotic Systems Design SCARA robot 13 This is not a SCARA! Even if it is often called SCARA or double SCARA Hermes Giberti Robotic Systems Design Forward (direct) kinematics 14 With reference to the figure, the solution of the forward kinematic of the SCARA robot is quite simple. Forward kinematic = to determine the TCP position knowing the actuator positions Where: l1 = length of the first link l2 = length of the second link . UHODWLYHURWDWLRQVRIDOLQNZLWK reference to the previous link P( xp,y p) = TCP coordinates Hermes Giberti Robotic Systems Design Forward and inverse kinematics 15 A little nomenclature: � Working space coordinates: xp, yp :6 � Joint space coordinates: .:4 Note: The forward kinematic problem is usually easy to solve for serial robots while it is more complex for parallel kinematic robots. The inverse kinematic problem is usually difficult to solve for serial robots while it is simpler for parallel kinematic robots. 3 L M 5 M 6 L = > 5 L O 5 O 6 L T � U � Forward kinematics Inverse kinematics 5 L ( 3 3 L ( ? 5 5 Hermes Giberti Robotic Systems Design Inverse kinematics 16 To solve the inverse kinematics, one can apply the Carnot theorem on the triangle OPA: 12 6 L T � 6 E U � 6 L H 5 6 E H 6 6 E tH 5H 6?> > L G ������ T � 6 E U � 6 F H 5 6 F H 6 6 tH 5H 6 = L ������ 6 U ��T � F ������ 6 H 6O>�H 5 E H 6?> Note: � The solution of the inverse kinematics has two results. � Function atan2( a,b ) = arctan (a/b) ± N� with k=0,1 in function of the sign of a and b. It is not defined in (0,0) but allows one to distinguish between the first and third quadrants. Hermes Giberti Robotic Systems Design Working volume 17 The workspace (working volume) of a manipulator can be defined as the set of points that can be reached by the end �effector or in other terms the space in which the mechanism is capable of working. � This volume can be represented by the collection of the points for which the inverse kinematic is solvable. Having mapped the inverse kinematic solutions, one can obtain the working volume (or area). Hermes Giberti Robotic Systems Design Working volume 18 According to the joint configuration, one can obtain several working volumes. Having mapped the inverse kinematic solutions, one can obtain the working volume (or area). Hermes Giberti Robotic Systems Design Velocity and acceleration study 19 In the kinematics solution, one should also determine the relationship between the velocities in the working space and the relative ones in the joint space (the same should be done as regards the accelerations ). A way to solve this problem is to derive the equation F(Q) with respect to the time: 5 L ( 3 \ 65 L � ( � 3 6 3 L , 6 3 Hermes Giberti Robotic Systems Design Velocity and acceleration study 20 J=J(Q) is the Jacobian Matrix of the system. This matrix depends on the position of the robot and is therefore also called Geometrical Jacobian (even if, in math, the Jacobian is defined as the determinant of the Jacobian matrix). 5 L ( 3 \ 65 L �( �3 6 3 L , 6 3 \ , L �( �3 For the evaluation of the accelerations, one can derive the velocity equation: 75 L 6, 6 3 E , 7 3 One only needs to define the derivative of J � 6, L � , �= 6= E �, �> 6> ( 6, ) In other terms, the derivative of each element of J. Hermes Giberti Robotic Systems Design Velocity and acceleration study 21 The preceding evaluations should also be conduced for the solution of the inverse kinematics. If the J matrix is invertible , the inverse kinematics problem for the velocity and acceleration can be solved as follows: 6 3 L , ? 5 65 , ? 5 Inverse of J In the inverse kinematics the acceleration is given by: 7 3 L , ? 5 75 E @, ? 5 @P 65 ,, ? 5 L + @, @P , ? 5 E @, ? 5 @P , L r @, ? 5 @P L F , ? 5 @, @P , ? 5 7 3 L , ? 5 75 E F , ? 5 @, @P , ? 5 65 7 3 L , ? 5 75 E F , ? 5 @, @P 6 3 L , ? 5 75 F 6, 6 3 Hermes Giberti Robotic Systems Design Velocity and acceleration study 22 Let us calculate the Jacobian matrix and 6, for the SCARA. , L �( �3 Hermes Giberti Robotic Systems Design Velocity and acceleration study 23 Let us calculate the determinant of the Jacobian matrix for the SCARA. Remember some rules: / L = > ? @ \ / ? 5 L s =@ F >? @ F > F ? = L s @AP / @ F > F ? = The Jacobian matrix of the SCARA is: The determinant is: @AP , L F H 5O= F H 6O=> H 6?=> F F H 6O=> H 5?= E H 6?=> @AP , L H 5H 6O> The J matrix is not invertible when s  =0 i.e. when   �,180 � Hermes Giberti Robotic Systems Design Singularity 24 ,QWKHNLQHPDWLFLQYHUVHVROXWLRQZKHQ  �,180 �, one has WZRFRLQFLGHQWVROXWLRQV:,QWKLVVLWXDWLRQWKHSRVHVWDNHQ by the robot are called singularity configurations. In the singularity configuration or close to this, one has: � loss of mobility : one cannot impose any motion curve to the TCP � multiple solutions to the inverse kinematic problem � Low velocities in the working space that can be transformed into high velocities in the joint space. Note: � Singularities on the border of the working volume . Usually this is not a problem because one moves the TCP of the robot distant from this area. � Singularities within the reachable working volume . This is a problem and these positions must be avoided! Hermes Giberti Robotic Systems Design Singularity 25 One can study the velocity problem of a SCARA using the superposition of the effects. l1 l2 v 1 v2 R 5 L 1$ 6= R 6 L H 6 6> &R L R 5 E R 6 5 L ( 3 \ 65 L �( �3 6 3 L , 6 3 6T 6U L � � � � 6= 6> R 5 L 1$ 6= R 6 L H 6 6> O B Hermes Giberti Robotic Systems Design Singularity 26 At this point we can take a closer look at the concept of singularity . Let us hypothesise that we want to generate a generic velocity v to the end effector. Break down v along the direction of v1 and v2 DQGFDOFXODWHWKHYDOXHVRI.   If the directions of v1 and v2 are parallel, one can generally not find a value of .  FDSDEOHRIJHQHUDWLQJ v . 7KLVRFFXUVZKHQWKHWZROLQNVDUHDOLJQHGLHZKHQ  �, 180 �. ,QWKLVVLWXDWLRQWKH�GHWHUPLQDQW�RIWKH-DFRELDQPDWUL[LV nil. In these positions one cannot generate velocities at will (e.g. radial direction towards the centre). Note that when l 1 = l 2 and the two links are one on top of WKHRWKHUIRUDQ\YHORFLW\.� � one is not able to move the end effector. Hermes Giberti Robotic Systems Design �VXPPDUL]LQJ 28 Generalizing what we have seen on the SCARA robot Hermes Giberti Robotic Systems Design Kinetostatic 29 In singularity condition some movements of the robot are inhibited. In these conditions what happens when we apply a force in the direction in which the movement is inhibited? C 1 C 2 F Note: In order to bear this force it is not necessary that the motors generate torque! Hermes Giberti Robotic Systems Design Kinetostatic 30 To understand the phenomenon described above one must analyse the kinetostatics of the robot SCARA. F C 2 C 1 b 1 b 2 C 2 = b 2F C 1 = b 1F :ZHFDQIRUPDOL]HE\XVLQJWKHYLUWXDOZRUNSULQFLSOH �. L B �@T E B �@U E % 5@ = E % 6@ > L r ( � ��5 E ( � �� 3 L r ( � L B � B � �( � L % 5 % 6 �5 L ,�3 ( � �,� 3 E ( � �� 3 L r Hermes Giberti Robotic Systems Design Kinetostatic 31 Note that one cannot simplify dQ �DSULRUL�EHFDXVHRQHKDVWRGHDOZLWKPDWUL[HV but the virtual work principle states that the relationship dL =0 must be valid for any virtual displacement compliant with the constraints, thus one can simplify dQ and obtain: ( � �, E ( � � L r ( � L F , �( � 65 L , 6 3 Kinetostatic duality ( � �,�3 E ( � ��3 L r Hermes Giberti Robotic Systems Design Kinetostatic duality 32 � The Jacobian matrix describes the transmission ratio for forces and velocities between the joint space and the working one. In other words it carries out the same function that � does in one DoF mechanisms. � Studying J in function of the robot pose one can characterize the machine behaviour in terms of mobility along different directions or its capacity to carry a load. � We need a tool or index capable od describing the kinetostatic performance of a robot in particular for multi -degrees of freedom systems. Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 33 Trajectory planning is a very important subject in robotics, due to the fact that a robot is a machine capable of generating generic movements within the working volume. The EE trajectory is the result of the robot movement and this will be followed by different values of velocity and acceleration The figure shows elementary motion curves for one degree of freedom movement. Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 34 For instance, a motion curve can be defined through the use of a polynomial expression such as the following: ta t1 -ta t1 q0 Elementary motion curve diffused in automation. It is called motion curve with constant symmetric acceleration or S -shaped motion curve or trapezoidal speed motion curve. To define it, it is necessary to calculate the polynomial coefficients. Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 35 Boundary conditions: q(0)=q 0T�  T� W a)= T� v q(t a)=q(t a T� W a)= T� vT�� W a)=0 q(t 1)=q 1T� W 1-ta)= T� vT� W 1)=0; ta t1 -ta t1 q0 q1 q' v Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 36 Obviously it is necessary to impose some further constraints in order to define the motion curve unequivocally and to ensure its feasibility, for example : � ta cannot be greater that half of the time t1 to reach the total rise � Having imposed a certain value to the maximum velocity T� v one can verify that the motor is capable of generating the required acceleration to reach this value. � The total displacement is constrained by the times ta and t1 as well as the maximum values of velocity and acceleration. The trajectory planning of a manipulator takes into account these problems and also the ones related to the coordinating of the movements of every joint in order to obtain the desired EE movement within the working space. ta t1 -ta t1 q0 q1 q' v Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 37 Notes on the composition of two movements in the workspace X Y Inverse kinematics t q1 q2 t The movement can be planned within the working space or the joint one. Working space Joint space P0 P1 Forward Kinematics Hermes Giberti Robotic Systems Design Notes on the elementary motion curves 38 Introduction to the practice. Note : it is recommended to program functions that JHQHUDWHPRWLRQFXUYH�SRLQW E\SRLQW�7KHVHIXQFWLRQV have the time as input and their output return is position, velocity and acceleration. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Robotics Systems Design Kinematics Analysis - Ellipses Hermes Giberti Hermes Giberti Robotics Systems Design Kinetostatic duality 2 Summarizing the kinetostatic analisy and velocity analysis of a generic robot 6 � � � E 6 �� � L r \ 6 � L F � � 6 � ( � L F , � ( � 6 5 L , 6 3 Kinetostatic duality Motor � Load � � � � 6 � L F � 6 � � � L � � � v ↔ � Hermes Giberti Robotics Systems Design Kinetostatic duality 3 • The Jacobian matrix describes the transmission ratio for forces and velocities between the joint space and the working one. In other words it carries out the same function that � does in one DoF mechanisms. • Studying J in function of the robot pose one can characterize the machine behaviour in terms of mobility along different directions or its capacity to carry a load or generate a velocity. Q , 6M 6 6M 5 S 6O 6 6O 5 Hermes Giberti Robotics Systems Design Kinetostatic duality 4 In order to clarify the kinetostatic duality we analyse the end -effector velocity of some robotic architectures through the use of vectors. Let us consider a Cartesian Robot. The space described by the maximum velocity vectors is a rectangle. Motors with identical performance rectangle → square The same happens for the forces. Q 6M 6 6M 5 S 6O 6 6O 5 , L s r r s Hermes Giberti Robotics Systems Design Kinetostatic duality 5 Let us consider a polar robot. The space described by the maximum velocity vectors is a rectangle with sides parallel to the radial and tangent directions. Varying the value of ρ, the rectangle deforms. The same applies for the forces but inversely: = cost Hermes Giberti Robotics Systems Design Kinetostatic duality 6 Let us consider a SCARA Robot. Every motor generates a velocity component of the EE proportional to the distance PO i. These two components are generally not orthogonal and thus the description of the maximum velocity area is a parallelogram with sides proportional to: Hermes Giberti Robotics Systems Design Kinetostatic duality 7 As regards the forces that the EE can generate, these depend on the distances b i and the motor torques C i,max . Considering the torque to the maximum value, the parallelogram of the forces that can be generated is between two lines parallel to PO iand distant fifrom P: Cmax fi Fmax Hermes Giberti Robotics Systems Design Kinetostatic duality 8 In the case of multi -degree of freedom robot parallelograms are substituted by parallelepipeds . Simplifying the graphical representation and the calculation, these geometries are approximated by ellipses or ellipsoids : in the planar case the ellipses are inscribed into the parallelograms and tangent to their side in the centreline, in the spatial case the ellipsoids are used . → Ellipsoids of manipulability in velocity or in force Hermes Giberti Robotics Systems Design Kinetostatic duality 9 Note that when there are motors with “different nature”, one should normalize their performance in order to make them comparable . Let us consider the case in which the motors are equal (for instance the robot SCARA), in such case the calculus of the ellipsis is easy: Manipulability ellipses in force and velocity are orthogonal: → the eigenvalues of (JJ T) force and (JJ T)-1 velocity are inverse whilst their eigenvectors are coincident. Hermes Giberti Robotics Systems Design Kinetostatic duality 10 The use of the ellipses or ellipsoids, defined through the following expressions is equivalent taking into account the actuators as provided with a total certain velocity ( q’i) or force ( fqi) that they have to share with the constraint that the sum of the squared velocities or forces is constant (q’ 2i=k 2v=1 e f 2qi=k 2f=1). In other words, Q’ TQ’=1 describes the surface of a sphere in the joint velocity space and one can evaluate in which way this is transformed, by the robot kinematics, in the working space. Within the singularity configurations the robot shows the maximum asymmetric behaviour and ellipsis or ellipsoids degenerate in segments. Hermes Giberti Robotics Systems Design Kinetostatic duality 11 Let consider a set of joint velocities that have a magnitude of 1 → |( 6 M 5� 6 M 6)|=1 6O 6 6O 5 6M 6 6M 5 1 6� , |( 6 M 5� 6 M 6)|=1 6 3 � 63 L s 65 L , 6 3 → 6 3 L , ? 5 65 65 �:, ? �, ? 5; 65 L s This is an ellipse in the velocity space 6� 6} 6 Hermes Giberti Robotics Systems Design Kinetostatic duality 12 The shape of the resulting ellipse depends on J or in other terms it is a function of q. 6O 6 6O 5 6} 6M 6 6M 5 1 6� , 6 3 � 6 3 L s 65 �:, ? �, ? 5; 65 L s 6� In this way one can map the working space of a robot considering sets of joint velocities with magnitude of 1. 6} 6M 6 6M 5 1 6� Q M 6 M 5 6 6O 6 6O 5 6� S O 6 O 5 6 6O 6 6O 5 6� , 6 Hermes Giberti Robotics Systems Design Kinetostatic duality 13 • The way in which these characteristics of the robot are visualised and analysed is represented by the manipulability ellipses in velocity . • Due to the kinetostatic duality one can draw the manipulability ellipses in force. • The manipulability ellipses are synthetic instruments through which one can represent the Kinetostatic performance of the manipulators. 6 6O 6 6O 5 6� S O 6 O 5 6 6O 6 6O 5 6� ( � L F , � ( � 6 5 L , 6 3 Hermes Giberti Robotics Systems Design Kinetostatic duality 14 Within the singularity configurations the ellipsis or ellipsoids degenerate in segments. Hermes Giberti Robotics Systems Design Kinetostatic duality 15 Manipulability ellipses in FORCE and VELOCITY of a robot SCARA ( they are orthogonal ) Force Velocity Hermes Giberti Robotics Systems Design Kinetostatic duality 16 The manipulability ellipsoid in velocity also gives, if correctly scaled, information about position uncertainty of the robot . In fact the relationship that links velocities in the joint space with the ones in the working space is similar to the relationship between the infinitesimal displacement in the two spaces. The manipulability ellipsoid in force also describes, if properly scaled, the robot compliance or stiffness . An index of the robot manipulability could be the volume of the manipulability ellipsoid that is proportional to the determinant of J . In fact, one can demonstrate that the ellipsoid diameters are proportional to the singular values of J ( σ 1 and σ 2 where P � L �:,, �; and �:,, �; is the eigenvalue of JJ T). Knowing that the determinant of a matrix is equal to the product of its eigenvalues, one can state that the ellipsoid volume is proportional to the determinant of J . Note that when the robot is in a singularity condition, the determinant of J is nill . Hermes Giberti Robotics Systems Design Kinetostatic duality 17 However, the measure of the ellipsoid volume does not represent an absolute comparable (or reference) value in the area close to the singularity configuration because this depends on the machine size (dimensions). It is sufficient to consider two SCARA robots with identical arms, but one robot has links of 1 m and the other links of 1 cm. In the same pose, two different values of manipulability are obtained which differ by four orders of magnitude! To overcome this problem, it is preferable to use the ratio between the minimum and maximum singular value of the Jacobian matrix, in other words the inverse of the conditioning number of the J matrix. This ratio gives not only a measure of the distance from a singularity ( σ i= 0), but also a direct measure of eccentricity of the ellipsoid The disadvantage in utilizing this index is its computational complexity Hermes Giberti Robotics Systems Design Kinetostatic duality 18 Isotropy → ellipses become circles: in this case one can obtain homogeneity of behaviour. It is possible to have only one isotropic point, sometimes a locus of isotropic points. Rarely is the entire working volume made up of isotropic points. Cartesian Robot Polar Robot SCARA Hermes Giberti Robotics Systems Design Mechanical transmissions 19 The analysis done till now is based on the hypothesis that motors are directly connected to the links (actuated joint). Usually between motor and joint there are mechanical transmissions : they are used to modify the torque and velocity values or transform a rotational movement into a linear one and vice versa. Indicating with q ia generic joint coordinate and with qmj the motor one, one obtains: For n -DoFs robot: Where T matrix is the Jacobian matrix of the transmission. In simple cases in which every motor acts directly over a link, T matrix is diagonal . If qiand qmj are both rotational movements, the transmission ratio is a pure number (dimensionless) otherwise it has a dimension. Usually the T values are constants . Hermes Giberti Robotics Systems Design Mechanical transmissions 20 SCARA Robot example: • In the first case two motors are assembled over the robot links and move these independently through a gearbox. • In the second case two motors are installed on the ground. The first moves the first link through a gearbox while the second moves the last link through a belt pulley transmission. Note that the axes of the two pulleys are aligned with those of the rotational joints. Where the transmission ratio is constant: The robot kinematics becomes: Hermes Giberti Robotics Systems Design Mechanical transmissions 21 being the transmission ratio of the two gearboxes. One can obtain in both cases, the following relationships: Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Robotics Systems Design Dynamics Analysis Hermes Giberti Hermes Giberti Robotics Systems Design Dynamics 2 One can distinguish between: • Direct dynamic problem : computation of the robot movement under the action of the motor torques and applied forces. • Inverse dynamic problem : computation of the torque required by the motors in order to obtain a defined movement. Direct dynamic problem → means differential equations solution, complex problem (it is used to simulate the dynamic behaviour of a system) Inverse dynamic problem → means algebraic equations solution, simple to solve (“engineering problem”). A recommended and simple approach for the formalization of the dynamics problem is the generalization of the equations written for kinetostatic study. Hermes Giberti Robotics Systems Design Dynamics 3 The virtual work of all the forces acting on the system must be nil: If among the acting forces ( F s) one includes the inertial forces it is possible to write the “complete” dynamic equation. In order to do that one has to extend the coordinates vector [S ] and include all the positions in which the inertial forces are acting. Inertial forces and torques are collected in F si as follows: Where [ M ] is the mass diagonal matrix and [ S'' ] is the vector with double derivatives. � . L ( � � � 5 E ( � � � 3 L r Hermes Giberti Robotics Systems Design Dynamics 4 Note: • F S vector of generalized forces → indifferent of forces and torques • M matrix of mass → mass and inertia moments Thus the following forces will act on the robot: Remember that the relationship between forces acting on the joint space and the ones acting in the workspace is obtained through a kinetostatic analysis: Hermes Giberti Robotics Systems Design Dynamics 5 Substituting the expression S'' one obtains: Hermes Giberti Robotics Systems Design Dynamics 6 Introducing these terms, one obtains: • M is diagonal and constant whilst %/ :3 ; is symmetric, positive defined and depends on the robot pose. • $8 :3 � 6 3 ; is the matrix of the inertial forces (centrifugal and Coriolis forces) • G(Q,F) matrix of forces (external, driving, weight). Sometimes it is useful to separate the matrix of the forces into two: G= G 1 – F q (motor actions) Hermes Giberti Robotics Systems Design Dynamics 7 Remarks: • The accelerations 7 3 appear linearly in the equation • The term V(Q,Q') is squared in the velocities → (JTMJ')Q' • This dynamic equation is suitable not only for robots but also for mechanisms • This equation is also suitable for robots NOT in a plane . Bear in mind the gyroscopic terms that will appear in the expression of V(Q,Q') = (JTMJ')Q' The approach used to write the dynamics equation is called Newton -Euler (F=ma ). Alternatively, a Lagrangian approach can be used (energetic approach) in order to obtain the same results: Hermes Giberti Robotics Systems Design Dynamics 8 To solve the inverse dynamics means solving the equation: This is a non linear ordinary equation , where F q is the incognito. On the contrary to solve the direct dynamics means solving second order nonlinear differential equations . Usually, this problem cannot be solved in an analytic way but only through a numerical approach. Euler integration method Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 9 The external forces vector F se and the one of the motor actions F cq will be: F se = [ F x, F y, 0, 0, cp, 0, 0, 0] T F cq = [c q1 , c q2 ]T Let us apply this approach to the SCARA Robot . The working space coordinate vector is transformed from: S= [ xp, yp]T to S e=[ xp, y p, x G2 , y G2 , θ, x G1 , y G1 , α] T where θ=α+β Note that α,θ are the absolute angular position of the two links . Moreover α is both an input and output variable of this problem. Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 10 Thus one can write: S=F(Q) → S e=F(Q) where g 1and g 2are the distance between the centre of mass and the revolute joint of every link. Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 11 Let us calculate the extend Jacobian matrix: 5 � L ( 3 \ 6 5 � L @( @3 @3 @P \ , � L @( @3 where Q=[ α, β ]T Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 12 Knowing J e one can calculate J' e: Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 13 Remembering that -F s T S' = F q T Q' → -F s T J = F q T One can obtain in the “extended” case: F cq = -Je T (F se + F si) where F si= MS'' e → M mass matrix S'' e extended accelerations vector. S e=[ xp, yp, x G2 , y G2 , θ, xG1 , y G1 , α ]T → deriving twice → S'' e = J' e Q' + J e Q'' M = diag (m, m, m 2, m 2, J+J G2 , m 1, m 1, J G1 ) where m is the EE mass, J is the inertia moment of the EE, m 1 and m 2, JG1 and JG2 are respectively the masses and inertia moments of the links. Hermes Giberti Robotics Systems Design On the dynamics of SCARA robot 14 Rearranging everything, one obtains: F cq = Je TM J eQ '' + J e T M J' e Q' - J e TF se F cq = MQ'' + G(Q,Q') - J e TF se The S e coordinate vector can be chosen at will; obviously the vector of the external forces F se and the mass matrix M must be defined congruently to this. Note: If we had wanted to take into account the weight force (gravity oriented along y) it would have been enough to change the vector F se as follows: F se = [ F x, F y+mg , 0, m 2g , cp, 0, m 1g , 0] T Hermes Giberti Robotics Systems Design Dynamics 15 The proposed method for the formalization of the dynamics equations is suitable in plane cases and in some simple three -dimensional problems without having problems in defining M matrix . In general, in fact, for three - dimensional cases, the gyroscopic effects must be taken into account for the definition of the inertial torques: However, one can consider every link of a robot as being constituted by a set of point -like mass that together have the same mass properties of the distributed body . In this way, systems of “exact” or “approximate” equations can be obtained depending on the complexity of the system of point masses used. &% L �, 6 X E X H �,X Hermes Giberti Robotics Systems Design Dynamics 16 Let us consider for instance a beam (lengthened body → Jx= Jy= J g >> Jz) Two masses model (approximation) → a and b are the distances of the centre of mass between the ends, and l= a+b is the link length. Hermes Giberti Robotics Systems Design Dynamics 17 With the two masses model the inertia moment J g is not conserved (except by pure luck!). Hermes Giberti Robotics Systems Design Dynamics 18 Three masses model Hermes Giberti Robotics Systems Design Dynamics 19 As the number of masses increases, one can approximate a more complex body, for example 10 masses can be used in the following way : • 6 for inertia moment, 3 for the centre of mass position and 1 to conserve the entire mass. In the case of spatial robotic configurations that cannot be easily done and for the formalization of the dynamics equations different approaches are used. The solution of the dynamics of a robot is normally obtained through the multibody method and the use of commercial software. Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 20 Let us solve the kinematics of a polar robot The inverse kinematics seems to show 4 solutions, but actually only two are valid : having found the first solution ( α 1 p 1) the other one is obtained by rotating α 180 ° and moving back p until reaching the starting position. α 2 = α 1+ 180; p 2 = - p 1 (the above solutions can not be coupled differently ) Forward Kinematics Inverse kinematics Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 21 Let us solve the kinematics of a polar robot Forward kinematics Inverse kinematics To avoid problems in choosing the solution of the inverse kinematics, one must first calculate one joint variable and thereafter choose the other variable accordingly . One chooses α and Multiplies by cos(α) the 1eq kin dir sin(α) the 2eq kin dir Inverse kinematics One chooses p and Multiplies by p the 1eq kin dir p the 2eq kin dir (usually p>0 thus the sign minus ( – ) is removed from the previous equation) Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 22 Let us calculate the Jacobian While the determinant of the Jacobian is: When the robot is in a singular configuration, if one moves the TCP of a small quantity along the normal direction to the arm's sliding axis, the robot must first perform a 90 ° rotation of the angle α. Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 23 Let us calculate the derivate of the Jacobian 6, L F 6= O = F 6O O = F O 6= ? = 6= ? = 6O ? = F O 6= O = 7 5 L , 7 3 E 6, 6 3 All that remains thereafter is to calculate the dynamics Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 24 Let us calculate the dynamics using the extended quantities Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 25 In conclusion: ( � L F , � ( � � E ( � � L , � / 7 5 F , � ( � � ( � L , � / 6, 6 3 E , 7 3 F , � ( � � ( � L , � /, 7 3 E , � / 6, 6 3 F , � ( � � 6, L F 6= O = F 6O O = F O 6= ? = 6= ? = 6O ? = F O 6= O = 7 5 L , 7 3 E 6, 6 3 Error → Jeand J’e Hermes Giberti Robotics Systems Design An other example: the POLAR Robot 26 Example Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Robotics Systems Design Trajectory Planning for Manipulators Hermes Giberti Hermes Giberti Robotics Systems Design Introduction 2 The trajectory of the EE is not always completely defined , very often only some characteristic points are defined while the trajectory between such points is left open. Thus the choice of trajectory is not univocal and in general the following constraints should be respected: • Ascertain the presence of intermediate constrains (possible obstacles, …) • Ascertain the mechanical and electric physical limits, such as maximum velocity acceleration, torque, ...) • Ascertain the kinematics robot constrains (end of stroke, singularity,...) • Ascertain the dynamic response (control, vibrations, …) • Ascertain the performance of the control architecture Path (space), Kinematics constrains , Dynamic constrains, ... Trajectory planning algorithm EE trajectory, Joints trajectory Hermes Giberti Robotics Systems Design Introduction 3 The trajectory and/or the reference points are defined in the work space and through the inverse kinematics transformed in the joints space . → Planning the trajectory in the work space is somewhat complex and generally not necessarily useful → Planning the trajectory in the joints space is easier (It is easier to verify the actuation system constraints) but “there is no control” over what occurs in the work space. Often one designs the motion curve in the joints space and thereafter optimises it by taking into consideration all the degrees of freedom separately. The behaviour of the entire system is analysed only at the checking phase Hermes Giberti Robotics Systems Design General considerations 4 Hence it is reasonable to analyse the motion curves for a single dof in order to understand the problems related to the planning of the trajectory for multiple -dof systems. Elementary motion curves: → discontinuity analysis In general a motion curve allows one to realise a total rise h within a time ta. Hermes Giberti Robotics Systems Design “Scaling” the motion curves 5 To attain a stroke h in a time ta there are an infinite number of motion curves (not only polynomial ones). For the study of motion curves the common procedure is scaling them, for instance as follows: The dimensionless motion curve s( ξ) (displacement) leads to a unitary total rise in a unitary time . Functions v and a are the first and second derivative of s with respect to the variable ξ (velocity and acceleration). Hermes Giberti Robotics Systems Design “Scaling” the motion curves 6 Through the functions s( ξ), v( ξ) and a( ξ) it is possible to compare different motion curves and understand which of these have advantages in terms of maximum acceleration, velocity, power, and the like. The “ dimensionalisation ” of motion curve passes through the terms h and ta: y = h s( ξ) y' = h/t a v( ξ) y'' = h/t a 2 a( ξ) This means that the shape of the motion curves being equal, increasing the total rise increases linearly the value of velocity and acceleration whilst reducing the movement time increases linearly the velocity but the acceleration is squared . Hermes Giberti Robotics Systems Design “Scaling” the motion curves 7 Some specific values of the function s( ξ), v( ξ) and a( ξ) can be used to characterize the motion curves, e.g.: maximum velocity, maximum positive acceleration, maximum negative acceleration and the like. These specific values are called velocity coefficient c v, positive acceleration coefficient c a + negative acceleration coefficient c a -. Knowing such coefficients for a motion curve and given the displacement h and the time ta in which it must be performed, one can find the maximum velocity, maximum acceleration and maximum deceleration in the following way: V max = h/t a cv A max = h/t a 2 ca + D max = h/t a 2 ca - h ta Vmax A max D max Hermes Giberti Robotics Systems Design Criteria for robot trajectory planning 8 Several possibilities can be taken into account in the motion path planning of a robot: • Point -point movement (along free trajectory or with intermediate points) • Movement along assigned trajectory. Note that usually the movement is planned from one pose to another that is from an EE position generally defined by 6 coordinates to another pose defined by another 6 coordinates. Usually the choice or definition of the points or the trajectory can be obtained via a “ numerical approach ” or by means of a “ learning function ”. Hermes Giberti Robotics Systems Design Point -point movement 9 This is the simplest approach to move an EE and is used when it is required to move the EE from the pose S 1 to another pose S 2 without following a predefined trajectory. Hereafter are the main steps: 1. Having defined the S 1 and S 2 poses, the Q 1 and Q 2 values are calculated solving the inverse kinematics 2. Therefore one evaluates ΔQ=Q 2-Q 1 in other terms the vector with the variation of every joint coordinate. 3. One defines the motion curves to be assigned to every joint and the minimum times Δt ito reach the total rise are evaluated for every joint . 4. The attained motion curves are assigned: ● Each motor is moved with the maximum velocity and acceleration available (the movements of every link will finish in different times and result in having useless overload for the actuators ) ● One can calculate the minimum time of movement for the entire system through Ta=max ni=1 (Δt i) and each motion curve is scaled in order to obtain a synchronous movement . Note : each motion curve has its own kinematic characteristics Hermes Giberti Robotics Systems Design Point -point movement 10 The choice of the "motion curve shape" is an aspect to be treated with attention and depends on many factors related to the robot in use and to the product (object) to be moved. Simplifying one is faced with two scenarios: • Choosing a motion curve from a library • Choosing a motion curve with minimum actuation time Choosing of a motion curve from a library In this case a motion curve available within the robot controller is taken into account (cycloidal, polynomial, etc.). The maximum values ​​in terms of velocity, accelerations, etc of these motion curves are known. Given the maximum velocity and acceleration values ​​that each joint can reach, one can determine the values ​​of the minimum actuation time for each kinematic constraint and obtain the actuation time of the entire system for that particular movement . Hermes Giberti Robotics Systems Design Point -point movement 11 It is required to calculate the limit actuation time: - In the case of the motion curve chosen from library, given the nominal S rvalues (reference displacement), V max,r (reference max velocity), A a,r and A d,r (positive and negative maximum reference acceleration) one can state: T r= c 1 S r/ V max,r ; T 2 r= c 2 S r/ A a,r ; T 2 r= c 3 S r/ A d,r - Hence for the i-th joint with S idisplacement required and kinematics limits such as V max,i , A a,i and A d,i , one obtains: T 1,i = c 1 S i/ V max,i ; T 2 2,i = c 2 S i/ A a,i ; T 2 3,i = c 3 S i/ A d,i -From which: Hermes Giberti Robotics Systems Design Point -point movement 12 At this point, all that remains is to calculate : - The minimum actuation time for each joint : - The minimum actuation time for the entire system : → note: this is in the case of a 6DoFs system. Hermes Giberti Robotics Systems Design Point -point movement 13 Minimum time motion curve Very often it is required to decrease the length of the mission that the robot is supposed to do in order to increase its productivity. To reach this objective one has to find the motion curve that, taking into account the kinematic constraints such as the maximum velocity and acceleration of each link, is able to perform the total rise h in the minimum possible time. The solution to this problem is simple: the motion curve capable of reaching this goal has a constant acceleration value, with the following characteristics: • First part constant positive acceleration ( A a) until reaching the maximum speed vm • Second part with constant maximum speed vmax as long as possible • Third part with maximum negative acceleration ( A d) until the motor stops Where A (A a) and D (A d) are respectively the maximum positive and negative acceleration values, vm (vmax ) the maximum admissible speed and ΔS (S ) the displacement. Hermes Giberti Robotics Systems Design Point -point movement 14 Note: any other motion curve requires more time to finish the movement and reach ΔS . The area below the acceleration diagram represents the maximum velocity, thus: Whilst the displacement (total rise) is equal to the area below the speed diagram: Hermes Giberti Robotics Systems Design Point -point movement 15 Substituting: One obtains: Therefore, the total movement time is: Hermes Giberti Robotics Systems Design Point -point movement 16 In the case where the maximum acceleration is too low and/or the total rise is too short it might happen that it is impossible to reach the maximum speed. Hermes Giberti Robotics Systems Design Point -point movement 17 The intermediate situation is represented by the case where the maximum speed can be reached only for an instant Hermes Giberti Robotics Systems Design Point -point movement 18 A summary graph is shown in the figure below where on the abscissa there is the total rise while in the ordinate there is the minimum movement time. Any other motion curve (with the same constraints) requires more time to reach the same displacement. Having calculated the minimum movement time for each Dof of the robot, the minimum time of the entire system is the maximum value of the ones calculated Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 19 Sometimes it is required that the EE pass through some intermediate poses S j between the starting pose S 1 and the final one S n. This happens, for instance, when some obstacles on the path S 1 → S n must be avoided. Note that regarding the intermediate poses, often it is necessary that the robot passes only close to them without necessarily reaching them exactly. The path planning procedure can follow the strategy itemized hereafter: 1. Solving the inverse kinematics for each pose S 1,S 2...S n in order to obtain the joint coordinate for each of them. 2. Defining the time required to pass from S jto S j+1 for every j (for instance, using the minimum time motion curve) 3. Choosing a method to connect each movement/node (with/without approximation) 4. Calculating the motion curve for each joint (make sure you synchronize each intermediate rise for each joint → this allows one to reach each S jpose) Note: the first two steps are global while the last two are local and referred to the joints. Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 20 Lines and parabolas method In this method the points are blended using lines and parabolas: • The parabolas have a predefined curvature (or a predefined acceleration) • The parabolas do not pass through the required point (they approximate the required trajectory) Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 21 Along the linear path the motor will move at a constant speed: The blend between the linear paths must occur in a time tj(unknown) in order to avoid infinite accelerations θij‘’ but equal to |θij ''|chosen in the design phase. Knowing the acceleration one can calculate tjas follows: where Whilst the acceleration sign is given by: Knowing tjand t j+1 one can calculate the time Δ t used into the linear path: One can demonstrate that the time tjis automatically divided into two equal parts before and after the node. Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 22 The algorithm is slightly modified as regards the start and end points (these in fact must be reached in an exact manner). For this purpose one adds an auxiliary node with abscissa equal to t 1/2 and ordinate equal to θ i1*= θ i1. The calculations are identical to those shown above: One proceeds in the same manner as regards the final point, adding an auxiliary node (θin*) which precedes the final node ( θin): Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 23 If it is necessary to pass exactly in an intermediate pose, we can use the lines and parabola algorithm to plan the trajectory adding some auxiliary points (with the same approach used for the first and the last point). The goal is reached if the line that connected the auxiliary points passes through the required one. The design parameters added introducing two more nodes can also be used to impose a velocity in the node of interest (note that the velocity is the slope of the line that connects the three points). Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 24 The lines and parabolas method has the following pros and cons: Pros ● The θ(t) functions are simple from a computational point of view ● Moving from the point ( i) and (i+1) it is enough to know the position of the two adjoining point to the one under consideration. Cons ● Discontinuities in the acceleration diagram ● In order to reach a point exactly, one has to add another two points Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 25 Cubic splines method This method consists in connecting the nodes through a polynomial of adequate order and in providing boundary conditions in order to obtain continuity between adjoining polynomials . To this end usually cubic splines are used (functions made up of a set of polynomials): the acceleration is continuum and compared to a higher order polynomial one can decrease the maximum value of the acceleration Note : Polynomials with higher order could generate oscillations . Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 26 Boundary conditions Conditions for every intermediate point (n -2): Thus, in total one has: 4+ 4 (n -2) = 4 (n -1) conditions (equal to the equation number). One can calculate the coefficients aj,b j,c j,d jfor j = 1,..., n. Given n points, for every interval: One writes a polynomial such as: being 4 coefficients for interval and (n -1) intervals, the unknowns are 4(n -1) Double Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 27 From a computational point of view this method is quite expensive and it can be useful to write the splines in the following form: Note that imposing S j(tj)= θjone obtains dj=θjand moreover one has c1=θ 1’, in total n coefficients. Hence it is possible to reduce the order of the system that must be solved. Summarising, for each joint the equations that must be written in order to find the coefficients are: Thus, the 3n -4 unknowns are: Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 28 The use of the splines allows one to have a continuous acceleration profile in each point with the only exception in the start and end point: • To solve this issue, one can add an auxiliary point between the first and the second point and another auxiliary point between the second last and the last points. Hence one can impose a nil acceleration condition in the first and last points and leave the position in the auxiliary points open. • alternatively, two splines of order 4 (and not 3) can be used in the first and last sections. Pros : with this method it is possible to "touch" exactly the intermediate poses and the accelerations are continuous Cons : in addition to the high computational cost, the main con is that speeds and accelerations become higher compared to the motion curves with constant acceleration and therefore longer movement times are required. Hermes Giberti Robotics Systems Design Point -point movement with intermediate points 29 Summarizing: • the splines method requires more computational effort because it is always necessary to globally analyze all the points to be connected (the complexity is squared wi