Torque-Position Transformer for Task Control of Position Controlled Robots

Similar documents
Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

13. Learning Ballistic Movementsof a Robot Arm 212

AMR 2011/2012: Final Projects

Singularity Handling on Puma in Operational Space Formulation

Assist System for Carrying a Long Object with a Human - Analysis of a Human Cooperative Behavior in the Vertical Direction -

Development of a Joint Torque Sensor Fully Integrated with an Actuator

Towards A Human-Centered Intrinsically-Safe Robotic Manipulator

Improving Trajectory Tracking Performance of Robotic Manipulator Using Neural Online Torque Compensator

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Dynamic Characterization of KUKA Light-Weight Robot Manipulators

Motion Planning for Dynamic Knotting of a Flexible Rope with a High-speed Robot Arm

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Design and Development of Cartesian Robot for Machining with Error Compensation and Chatter Reduction

Robotics 2 Information

Dynamic Modeling of the 4 DoF BioRob Series Elastic Robot Arm for Simulation and Control

INSTITUTE OF AERONAUTICAL ENGINEERING

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

Automatic Control Industrial robotics

Development of a Master Slave System with Force Sensing Using Pneumatic Servo System for Laparoscopic Surgery

Robust and Adaptive Teleoperation for Compliant Motion Tasks

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Intermediate Desired Value Approach for Continuous Transition among Multiple Tasks of Robots

Robot multiple contact control Jaeheung Park and Oussama Khatib

Written exams of Robotics 2

Robot programming by demonstration

Mobile Robots Locomotion

REDUCED END-EFFECTOR MOTION AND DISCONTINUITY IN SINGULARITY HANDLING TECHNIQUES WITH WORKSPACE DIVISION

Design & Kinematic Analysis of an Articulated Robotic Manipulator

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Built-in Cable Type Welding Robot "ARCMAN TM -GS"

TRAJECTORY PLANNING OF FIVE DOF MANIPULATOR: DYNAMIC FEED FORWARD CONTROLLER OVER COMPUTED TORQUE CONTROLLER

Inverse Kinematics Software Design and Trajectory Control Programming of SCARA Manipulator robot

DARPA Investments in GEO Robotics

FORCE CONTROL OF LINK SYSTEMS USING THE PARALLEL SOLUTION SCHEME

Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically Redundant Manipulators

Manipulator Performance Constraints in Cartesian Admittance Control for Human-Robot Cooperation

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Developing a Robot Model using System-Level Design

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Assignment 3: Robot Design and Dynamics ME 328: Medical Robotics Stanford University w Autumn 2016

Probabilistic Estimation of Whole Body Contacts for Multi-Contact Robot Control

Stable Grasp and Manipulation in 3D Space with 2-Soft-Fingered Robot Hand

AC : ADAPTIVE ROBOT MANIPULATORS IN GLOBAL TECHNOLOGY

Lecture 2: Kinematics of medical robotics

A New Algorithm for Measuring and Optimizing the Manipulability Index

Dual-loop Control for Backlash Correction in Trajectory-tracking of a Planar 3-RRR Manipulator

On-line Dynamic Model Learning for Manipulator Control

Mechanical Design Challenges for Collaborative Robots

Planar Robot Kinematics

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Robotics kinematics and Dynamics

IVR: Open- and Closed-Loop Control. M. Herrmann

Dynamics modeling of structure-varying kinematic chains for free-flying robots

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

ANALYTICAL MODEL OF THE CUTTING PROCESS WITH SCISSORS-ROBOT FOR HAPTIC SIMULATION

Using Redundancy in Serial Planar Mechanisms to Improve Output-Space Tracking Accuracy

Control of a Robot Manipulator for Aerospace Applications

Lab Exercise 07 DC motor PI velocity control

Trajectory planning of 2 DOF planar space robot without attitude controller

Prototyping a Three-link Robot Manipulator

Structural Configurations of Manipulators

Design of Direct-Drive Mechanical Arms. Haruhiko Asada and Takeo Kanade CMURITR814

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

Investigation and Evaluation of Embedded Controller Nodes of the Robotic Arm for Industrial Automation 1

Abstract. 1 Introduction. 2 Concept of the mobile experimental

Objectives. Part 1: Implement Friction Compensation.

Exercise 2b: Model-based control of the ABB IRB 120

Estimation and modeling of the harmonic drive transmission in the Mitsubishi PA-10 robot arm*

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

A Cost Oriented Humanoid Robot Motion Control System

Fuzzy Logic Approach for Hybrid Position/Force Control on Underwater Manipulator

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

Simulink Based Robot Arm Control Workstation. Figure 1-1 High Level Block Diagram

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Kinematics and dynamics analysis of micro-robot for surgical applications

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Visual Tracking of a Hand-eye Robot for a Moving Target Object with Multiple Feature Points: Translational Motion Compensation Approach

Robot Excitation Trajectories for Dynamic Parameter Estimation using Optimized B-Splines

Human Motion Reconstruction by Direct Control of Marker Trajectories

Control of Walking Robot by Inverse Dynamics of Link Mechanisms Using FEM

PPGEE Robot Dynamics I

Robot mechanics and kinematics

Kinematic Control Algorithms for On-Line Obstacle Avoidance for Redundant Manipulators

Lecture 2: Kinesthetic haptic devices: design, kinematics and dynamics

Force control of redundant industrial robots with an approach for singularity avoidance using extended task space formulation (ETSF)

Control 2. Keypoints: Given desired behaviour, determine control signals Inverse models:

Modeling of Humanoid Systems Using Deductive Approach

Lecture «Robot Dynamics»: Kinematic Control

Rotational3D Efficient modelling of 3D effects in rotational mechanics

Neuro-adaptive Formation Maintenance and Control of Nonholonomic Mobile Robots

VIBRATION ISOLATION USING A MULTI-AXIS ROBOTIC PLATFORM G.

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Real-Time Implementation of a Dynamic Fuzzy Neural Controller for a SCARA Robot

Robot mechanics and kinematics

Transcription:

28 IEEE International Conference on Robotics and Automation Pasadena, CA, USA, May 19-23, 28 Torque-Position Transformer for Task Control of Position Controlled Robots Oussama Khatib, 1 Peter Thaulad, 1 Taizo Yoshikawa, 1,2 and Jaeheung Park 1 1 Stanford Artificial Intelligence Laboratory 2 Honda Research Institute USA, Inc. Abstract Joint position control is a dominant paradigm in industrial robots. While it has been successful in various industrial tasks, joint position control is severely limited in performing advanced robotic tasks, especially in unstructured dynamic environments. This paper presents the concept of torqueto-position transformer designed to allow the implementation of joint torque control techniques on joint position-controlled robots. Robot torque control is essentially accomplished by converting desired joint torques into instantaneous increments of joint position inputs. For each joint, the transformer is based on the knowledge of the joint position servo controller and the closed-loop frequency response of that joint. This transformer can be implemented as a software unit and applied to any conventional position-controlled robot so that torque command to the robot becomes available. This approach has been experimentally implemented on the Honda ASIMO robot arm. The paper presents the results of this implementation which demonstrate the effectiveness of this approach. I. INTRODUCTION Robots are multi-body systems whose dynamics is nonlinear and highly coupled. Robotic control is most frequently accomplished with a position control system. This position control is realized at the joint level, where each joint is treated independently and coupled dynamic effects between joints are ignored [1]. Fig. 1. Industrial robots in factory A typical position controller at each joint is implemented using PD control with high gains. Since this position controller Fig. 2. Honda ASIMO Humanoid robot cannot account for the dynamics of the system, the dynamic coupling effects are treated as a disturbance. This approach has been well suited in factory automation (Figure 1); thus, industrial robots use embedded position controllers. However, this approach limits the performance that can be achieved by the system in the case of high speed precise trajectory tracking and compliant motion of the whole body. One approach for addressing this problem is to provide a torque controlled robot. The input torques for this system can be designed to accomplish the robot desired task as well as to compensate for nonlinear dynamic coupling of the system [7]. This provides the robot with higher performance in position tracking as well as in compliant motion. Therefore, the capability of commanding torques to the joints are critical from industrial robots to humanoid robots (Figure 2) for the implementation of advanced performance and complex behaviors. Although torque controlled robots are preferred to achieve high performance control, there are few robots developed with torque control capability [2]. Since providing direct torque control for robots tends to be difficult, methods to provide advantages of the torque controlled to position controlled robots robot have been investigated. For example, Yasui and Oto [8] consider a robot having a disturbance detector which detects a disturbance 978-1-4244-1647-9/8/$25. 28 IEEE. 1729

torque, where the disturbance torque is used to correct a position input. Kato and Tsuchida [3] considers a method for floating a robot by compensating for static external forces (e.g., gravity). Improved control of a position controlled robot is also considered in [6]. It would be an advance in the art to provide improved control of position controlled robots to more closely approach the desirable performance provided by closed loop control of both position and torque. In particular, it would be an advance to provide dynamic (i.e., time varying) torque control of a position-controlled robot. desired Σ + - II. TORQUE-POSITION TRANSFORMER Actual Servo D τ s Physical Joint G Fig. 3. A block diagram of a position controlled robot. The physical joint including joint motor is represented as G and the corresponding actual servo is denoted as D. The terms, τ s,, and desired are the input joint torque, joint angle, and desired joint angle, respectively. Figure 3 shows a block diagram of a feedback servo loop for control of a position controlled robot. In this description, position controlled robot refers to a robot having closed loop position control, but incapable of having true closed loop torque control (e.g., if the robot has no force/torque sensors to provide torque/force feedback signals). Here a joint of the robot is regarded as a motor-gear-link system. The input joint torque command, τ s, to output joint position,, relationship is denoted by G. A servo controller, D, is placed before the joint, which is typically designed to compensate for the linear dynamics of the joint as well as to address any nonlinear effects that may be associated with the joint. As shown on Figure 3, a negative feedback loop is closed around the series combination of D and G and acts to drive the position error, desired to zero. The full dynamics of the joint (i.e., G) is given by: I eff + beff + n(, ) = τs, (1) where I eff is the effective moment of inertia seen at the joint output and b eff is the effective linear friction coefficient at the joint output. These effective values combine the properties of both the motor and the link and gear ratio and are calculated by using the mechanical properties of the system. The term, n(, ), captures the nonlinear effects that may be present in the joint dynamics, including friction. The relationship between the commanded input position, desired, and resulting position,, in the feedback controller of Figure 3 can be represented by a closed loop transfer function T(s) = (s)/ desired (s). In cases where nonlinear effects at the joint are negligible, it is sufficient, in terms of model accuracy, to represent D and G as linear transfer functions D(s) and G(s). The input joint torque command τ s (s) is then given by τ s (s) = D(s)( desired (s) (s)) = D(s) desired (s)(1 T(s)). From Equation (2), we can determine the position input, desired, corresponding to a desired dynamic torque τ des (s) as follows: desired (s) = τ des(s) D(s) + (s) = (2) (3) τ des (s) D(s)(1 T(s)). Equation (3) provides one of the key results, since it shows how a dynamic position input, desired (s), corresponds to a desired dynamic torque, τ des (s), for a position controlled robot. In cases where nonlinear effects are too large to be neglected, the effective torque at the joint, τ eff, differs from the torque, τ s, at the output of the controller, D. This torque, τ eff, is precisely the torque that we are interested in controlling. In that case, T(s) cannot be computed analytically because of the nonlinear nature of the joint. However, it can be experimentally identified from frequency analysis of the response of the closed loop system. The torque, τ eff, can be viewed as the torque associated with the linear portion of the dynamic system described in Equation (1). τ s = τ eff + n(, ). (4) Then, the transfer function from τ eff to of an ideal system can be represented by G (s) = 1 I eff s 2 + b eff s. (5) Given the identified closed loop transfer function T(s) and the ideal system model G (s), the effective controller, as illustrated in Figure 4, can be computed as: D (s) = T(s) G (s) T(s)G (s) where D (s) provides the relationship between the torque, τ eff and the position error, desired : (6) τ eff = D (s)( desired ) (7) In order to produce a desired torque, τ des, on the joint, the position input, desired, is set to: desired = τ des D (s) + τ des = D (s)(1 T(s)). (8) The transfer function, D (s), provides control of the effective torque of the joint that is controlled by a position based servoloop. In more general terms, the preceding approaches can be regarded as including the following steps: 173

desired Σ + - Effective Servo D (s) τ eff Ideal Joint G (s) Fig. 4. A block diagram of an effective servo loop. The effective servo and ideal joint are denoted as D and G, respectively. The term, τ eff is the effective torque at the joint, which can differ from the input joint torque, τ s in Figure 3. 1) determining a closed loop position transfer function, T(s), of a selected joint of the robot relating a commanded input joint position, desired (s), to an actual joint position, (s), via (s) = T(s) desired (s); 2) selecting a dynamic open loop joint torque to position transfer function, H(s), relating to the selected joint; 3) determining a corresponding effective servo transfer function, E(s) of the selected joint according to E(s) = T(s)/(H(s) T(s)H(s)); 4) providing a desired dynamic torque τ des (s) of the selected joint; and 5) determining desired (s) of the selected joint corresponding to τ des (s) via desired (s) = τ des (s)/(e(s)(1 T(s)). In this framework, the approach of Figure 3 (and Equation (8)) corresponds to selecting H(s) to be the physical joint transfer function, G(s), and the corresponding servo E(s) = D(s). Similarly, the approach of Figure 4 (and Equation (8)) corresponds to selecting H(s) to be the idealized joint transfer function, G (s), given by Equation (5), and the corresponding servo E(s) = D (s). Thus there are various ways H(s) can relate to the selected joint (Figure 5). τ des 1/E(s) + desired τ eff Σ Σ Servo Joint Model + + - E(s) H(s) Fig. 5. A block diagram of the implementation of the transformer for the position-controlled robot. The joint model, H, and servo, E, can be either G and D, or G and D. The term 1/E(s) denotes the inverse transfer function of E(s). Torque to position conversion is based on inversion of a dynamical model of each joint and position controller in the position controlled robot, as described above in connection with Figures 3-5. The transformer is for each individual joint and it requires to be developed and implemented for each joint due to the different characterstics of the joints. Such inversion can transform a torque input to a corresponding position input that will tend to result in an actual torque at the robot that is a good approximation of the initial torque input. Torque to position conversion can be provided by any combination of hardware and/or software, although software implementation is often preferred for flexibility and ease of modification. III. EXPERIMENTAL VALIDATION The torque-to-position transformer has been implemented on an Honda ASIMO arm (Figure 6). The ASIMO arm was the position-controlled robot. Given the experimental setup, the transformer was implemented using D(s) in Equation (3). The information about D(s) was provided by Honda. The transformer with D(s) is supposed to produce the desired torque at the joint motor; thus, the desired and motor torque (obtained from current measurement) values were compared for evaluation. JR3 Force Sensor EL1 Joint SH1, SH2 Joints SH3 Joint Fig. 6. Experimental setup of ASIMO arm. There are three joints on the shoulder and one elbow joint. JR3 force sensor was used to measure contact force at the end-effector. The joint controller at the ASIMO arm uses two feedback loops: one for position and one for velocity (Figure 7). Dealing with this type of cascaded feedback loops, the transformer from position to torque can be developed by having two consecutive transformers. The first transformer, corresponding the inner velocity feedback loop, relates the desired velocity (v d ) to the command torque (τ s ) and the next one, corresponding the outer position loop, relates the desired position ( d ) to the desired velocity (v d ). These two consecutive transformers provide the transformer from the desired position ( d ) to the command torque (τ s ). More specifically in the ASIMO arm, D p was a proportional gain, k p, and D v was also a proportional gain, k v. Therefore, the overall controller can be expressed as τ s = k v [k p (q desired q) q] (9) where τ is the commanding torque to the motor, q is the joint angle, k p is the proportional position gain, and k v is the velocity gain. The transformer of this joint position controller can be obtained by using two consecutive transformers as q desired = k 1 p (k 1 v τ s + q) + q (1) 1731

d Σ Position Servo v d Velocity Servo τ s Σ + + - D p - D v Physical Joint G Fig. 7. A block diagram of the joint position controller on the ASIMO arm. There are two feedback loops for the velocity and position. The joint is denoted as G and the corresponding velocity servo and position servo are denoted as D v and D p. The terms, τ s, v d, and d are the joint torque input command, desired velocity, and desired angle, respectively. SH1 Joint Torque Data 5 SH2 Joint Torque Data torque Measured torque Desired 2 4 6 8 2 4 6 8 5 2 4 6 8 6 4 2 2 SH3 Joint Torque Data 4 4 5 6 7 8 9 Time (s) 3 2 1 1 2 3 4 EL1 Joint Torque Data 5 2 4 6 8 Time (s) Fig. 8. The plots from gravity compensation experiments. The joint torques were computed to compensate for the gravity and commanded to the robot through the transformer. The plots compare the measured joint motor torque with the desired torque (command torque) at four joints. In Equation (1), τ s was computed as a sum of the desired effective torque (τ eff ) and an estimate of the nonlinear term (ˆn(, )). The nonlinear term was estimated as static and viscous friction based on the velocity of the corresponding joint. τ s = τ eff + ˆn(, ) (11) Using this transformer, the motor torque can be exactly controlled as desired. However, as most industrial robot controllers, the ASIMO joint controller runs at the faster servo rate than its interface to the desired joint angles. That is, the desired joint angle cannot be commanded to the joint controller at the same rate as the servo rate. Therefore, the exact cancellation cannot be provided. The ratio between the interface and servo rate was 1:5 for the ASIMO arm. In addition, the measurement of joint angle is accessible at the rate of the interface. This limitation causes an additional complication in the computation of velocity term in the transformer in Equation (1) since the joint angle measurement is available at a slower rate. In our experiments, the velocity was estimated with the available data and then filtered with a low pass filter. Fig. 9. Trajectory tracking of the end-effector (Figure 11). The measured and desired torques are also compared at two shoulder and elbow joints. As shown in the following experimental data, the measured joint motor torque differ from the commanding torque mainly due to this limitation. Gravity compensation was implemented through the torqueto-position transformer. This is one specific example that the conventional position controlled robot cannot achieve. Commanding gravity torque makes the robot compliant to any external force. Figure 8 show the desired torque and measured torque during gravity compensation. The robot was moved quite randomly in many directions by hands. The plot demonstrates close match between the desired and measured torques during the experiments. The desired torque was computed to compensate for the gravity torque using the dynamic model of the ASIMO arm. This desired torque was the input to the transformer. We recall here that the measured torque was computed by the current at each joint motor and their torqueto-current constant. More control tasks were implemented to demonstrate the possibility and performance of the transformer: joint angle tracking, trajectory tracking in Cartesian space, and compliant motion. The operational space framework [4] was used in the computation of the control torques for the these demonstrations. In Figure 9, the Cartesian space motion tracking is shown 1732

Fig. 11. The Cartesian coordinates of the end-effector. The x direction was chosen to be compliant in the compliant motion experiments. Fig. 12. Measured torque compared with desired torque in the experiment of compliant motion (Figure 1). Fig. 1. The experimental results of compliant motion. The x direction was chosen as a compliant axis (Figure 11). The human operator interacted at the end-effector, which can be observed from the measurement of the forces (using JR3 force sensor). The x direction motion was compliant to the external force from the human but the motion in the other directions were controlled to maintain its starting position. along with the torque measurement data. The axes with respect to the robot is referred to the definition in Figure 11. This demonstrates the application of a torque control based algorithm into a position controlled robot, in this case, the operational space control framework. Due to the nature of the control framework, the Cartesian space control do not require inverse kinematics and the stiffness of the end-effector can be controlled consistently at any configuration of the robot [4]. The position controlled robots can take advantage of these torque control based algorithms through the implementation of the transformer. The last experiments were conducted for compliant behavior at the end-effector. The two axes (y and z directions) were controlled to maintain its position while the motion in the x direction was controlled to be compliant to the external force. That is, the force control was implemented in this direction such that it always tries to maintain zero contact force. The Cartesian coordinates with respect to the robot are illustrated in Figure 11. The detailed experimental data are plotted in Figure 1. The force measurement in all direction indicates how much force was exerted from the person to move the end-effector of the robot. The motion data shows the compliant motion in the x direction and controlled motion in the other directions. The desired and measured torque at the joints are also plotted to show the performance of the transformer when executing the compliant motion (Figure 12). 1733

IV. CONCLUSION In this paper we have presented the concept of torque-toposition transformer to allow torque-control based algorithms to be applied to robots with conventional joint position controllers. With this simple software unit, position-controlled robots are augmented with ability to receive torque command input, which allows the implementation of dynamic control, compliant motion and force control, and other torque-based control strategies. The transformer concept was experimentally validated on the ASIMO arm. Several tasks involving torque inputs were successfully demonstrated. These include gravity compensation, task-oriented dynamic control of the end effector motions, compliant motion and force control of the end effector, and haptic teleoperation. These results, which are also illustrated in accompanying video, show the effectiveness of the torque-toposition transformer to provide advanced control capabilities to position-controlled robots and its potential application to various industrial robots. ACKNOWLEDGMENT This material is based on the US patent (Patent No. 7211979) [5]. The authors gratefully acknowledge Honda R&D Japan for the hardware and financial support. REFERENCES [1] John J. Craig. Introduction to Robotics: Mechanics and Control (3rd Edition). Prentice Hall, 23. [2] G. Hirzinger, N. Sporer, A. Albu-Schaffer, M. Hahnle, R. Krenn, A. Pascucci, and M. Schedl. Dlr s torque-controlled light weight robot iii - are we reaching the technological limits now? In Proc. of the Int. Conf. on Robotics and Automation, Washington, DC, U.S.A., 22. [3] Tetsuaki Kato and Yukinobu Tsuchida. Control method for servo system with adjustable softness in rectangular coordinate system. US patent 5,742,138, 1998. [4] O. Khatib. A unified approach for motion and force control of robot manipulators: The operational space formulation. Int. J. on Robotics and Automation, 3(1):43 53, February 1987. [5] O. Khatib, P. Thaulad, and J. Park. Torque-position tranformer for task control of position controlled robots. US patent, No. 7211979, 27. [6] Hideo Nagata, Kenichi Yasuda, and Yasuyuki Inoue. Robot control apparatus and method. US patent application 241283, 24. [7] Lorenzo Sciavicco and Bruno Siciliano. Modelling and Control of Robot Manipulators (2nd Edition). Springer, 21. [8] Keiji Yasui and Masahiro Oto. Robot controller. US patent 5,843,917, 1998. 1734