Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Real-Time Simulation of a Space Robotic Arm

Gianni Ferretti, Member, IEEE, Gianantonio Magnani, Senior member, IEEE, Paolo Porrati, Gianpaolo Rizzi, Paolo Rocco, Member, IEEE, and Andrea Rusconi
Gi

AbstractThe paper presents the DEXARM Real-Time Simulation (DRTS) tool conceived to support the design and development of the controller of the Dexterous Robot Arm (DEXARM), a lightweight 7-d.o.f. space robotic arm currently under development. The assembly of the robot model relies on existing Modelica model libraries, whereas the controller can be described as a regular Matlab/Simulink model. Model and controller tasks run under Linux-RTAI real-time kernel, together with a third task providing interface functions and animation of a 3D geometric and kinematic model of the arm. A novelty of the paper concerns the simulation of friction: the adoption of a closed form solution of the friction model equations allows simulating both sliding and pre-sliding regimes with a fixed-step algorithm.

I. INTRODUCTION

simulation systems are mainly used for testing and check out of control electronics and other components of complex systems (hardware-in-the-loop simulation), like power plants, aircrafts, vehicles, as well as for training of plant operators, aircraft pilots, and astronauts. In real-time simulators, the inputs to the model are obtained from external devices each sampling time. Model equations must then be solved within prescribed time intervals: this way a selected subset of variables can be computed and presented as outputs at the next sampling time. In order to implement real-time communication with external world and to schedule model execution exactly each sampling time, the simulation software relies on real-time kernels, through calls to system primitives included in the numerical solution code. Usually, an effort is also necessary to simplify those model equations that entail a significant computational burden. Commercial tools exist that adapt offline models to realtime simulations on dedicated hardware. A typical situation consists in porting Simulink models to dedicated hardware

EAL-time

Manuscript received June 27, 2008. This work was supported in part by the Lombardy Region within the ICT Metadistrict Project Si Parte! G. Ferretti is with Politecnico di Milano, Milano, Italy (phone: +39 0223993682; fax: +39 02-23993412; e-mail: ferretti@elet.polimi.it). G. Magnani is with Politecnico di Milano, Milano, Italy (phone: +39 0223993673; fax: +39 02-23993412; e-mail: magnani@elet.polimi.it). P. Porrati is a former student at Politecnico di Milano, Milano, Italy G. Rizzi is with IIS Jean Monnet, Mariano Comense, Italy (e-mail: gprizzi@tin.it) P. Rocco is with Politecnico di Milano, Milano, Italy (phone: +39 0223993685; fax: +39 02-23993412; (e-mail: rocco@ elet.polimi.it). A. Rusconi is with Selex Galileo, Via Montefeltro 8, 20156 Milano, Italy (e-mail: andrea.rusconi@selexgalileo.com).

using the Matlab Real-Time Workshop [1] or the dSPACE TargetLink [2]. Simulink as well as Dymola [3] models can be interfaced to dSPACE hardware in order to execute hardware in the loop simulations. Real-time tasks can be also derived [4] from a standard Modelica model compiled in Dymola. Simulink based simulators are described in [5], [6], whereas the simulator proposed in [7] is based on VR software. There is also research on porting the simulators obtained with open-source modelling tools like MBDyn [8] onto realtime, possibly distributed, platforms, like RTnet [9]. Generation of parallel code from Modelica models is also investigated [10]. This paper contributes to this research on real-time simulation of mechanical system presenting the DEXARM Real Time Simulator (DRTS), a tool conceived and realized as an aid to the design of the controller of a new space robotic arm. DEXARM is a 7-d.o.f. lightweight space manipulator arm currently under development on behalf of the European Space Agency (ESA). DRTS has several distinctive features: The real-time simulation code is obtained directly from offline developed Modelica models. All the powerful Modelica libraries as well as the features and tools of a Modelica editor/compiler, like Dymola, can be exploited for the development of new models; The controller model can be either a regular Matab/Simulink model (internal controller), or a special purpose hardware software controller to be tuned and tested (external controller); A detailed and validated model of the arm joint is included, featuring friction model, torsional flexibility, and torque ripple in the brushless motors. In particular, sliding and pre-sliding regimes of friction have been modeled, even if a fixed-step numerical integration algorithm has to be used, to comply with the real time simulation constraint. This result has been obtained thanks to the adoption of the Single State Integral Friction Model (SSIFM) [11]. SSIFM gives results that are very close to the output of the Lugre model [12], adopting however a closed form solution of the differential and discontinuous friction model equations. The interactive human-machine interface supports the motion command input, the introduction of force disturbances through a joystick, and the 3D visualization of the arm motion; The simulator tasks run under the Linux operating

system. Their real time scheduling, synchronization and communication are provided by the open source Real Time Application Interface (RTAI) [13]; Overall, the adopted approach provides flexible, powerful and standard solutions to the arm and controller modelling tasks, as well as a straightforward and low cost implementation of the software simulator architecture. The paper is organized as follows. Section 2 describes the DEXARM space robot, Section 3 and 4 discuss the simulator functional and software architectures, respectively. Section 5 deals with the DEXARM model and controller while Section 6 with the human-machine interface. II. THE ESA SPACE DEXTEROUS ROBOTICS ARM (DEXARM) The Dexterous Robot Arm (DEXARM) [14], [15] (see Fig. 1), is an ESA manipulator arm currently under design and development by a consortium led by Galileo Avionica (Milano, Italy), a Finmeccanica company. DEXARM is a small size (about one meter in length), lightweight, 7-d.o.f. manipulator. While its target mass is just 20 Kg, it is expected to carry a payload mass ranging from 0 to 500 Kg, in the absence of gravity. This makes the controller design and development quite a difficult problem, and emphasises the need of a detailed mathematical model of the robot to support the design the control system, predicting its behavior in the space 0-g environment.

implementations of the output (or link side) position control: one is the cascaded link position and motor velocity classical scheme, the other is the cascaded link position and torque control scheme. In addition, a simple output torque control is provided. Besides the joint servo-loops, the DEXARM controller includes the impedance control strategy, and basic robot trajectory generation functions.. III. FUNCTIONAL ARCHITECTURE The main requirement for the DEXARM real-time simulator is supporting the tuning of an interactive impedance control strategy. The impedance behavior cannot be implemented exactly in a real arm, with flexible joints, and therefore a tool supporting the understanding and tuning of the real behavior of the arm when closely interacting with a human operator is needed. To comply with the above stated requirement, the RTS shall allow the following operations: Accurate enough modeling and simulation of the arm, including its joints. The model shall be able to predict the overall arm behavior under impedance control, as well as to give correct responses to the inputs coming from the real controller; Careful functional simulation of the joint control algorithms, as well as of higher control functions; Interactive issuing of motion commands and force disturbances, and visualization of the simulated motion by animation of a 3D model of the arm. The functional architecture of the simulator is shown in Fig. 2. Motor and link positions and setpoints, as well as joint output torques, are vectors of seven elements, whereas the Cartesian setpoints consist of three positions and three orientations. The force disturbances, that the user introduces manipulating a commercial joystick, are vectors of three elements plus an additional element expressing the number of the link the force applies to.
Motor and link positions Controller model Joint output torque DEXARM model

Current setpoints

Fig. 1 European Space Agencys DEXARM (Dexterous Robot Arm) pictorial view

Each DEXARM joint consists of a brushless motor, with an encoder measuring its angular position, a harmonic drive gearbox, a resolver measuring the output shaft angular position, an output torque sensor, and the control and power electronics. The latter implements the three-phase PWM amplifier, whereas the DSP-based control unit is in charge of the current space vector control, and of the joint position and torque control. The joint features two alternative

Joint/Cart. position setpoints

Joint positions Force disturbances 3D visualization Joystick interface

Motion commands setpoints

Fig. 2 RTS functional architecture

The controller model replicates the control algorithms as implemented in the real hardware and developed and tuned

within an offline simulation model. The DEXARM model includes descriptions of the dynamics of the current control electronics, the motors, and the gearboxes, as well as of the arm mechanical chain model. The 3D visualization of the robot motion, the handling of the joystick, and the interactive input of motion commands are the functions implemented by the human-machine interface. To keep the picture readable, the offline data analysis functions are not shown in Fig. 2. Actually the user of the simulator is allowed to select a set of model variables to be recorded for an offline analysis. Data are saved by the DEXARM model task during simulation and can be easily analyzed, once the real-time session has been terminated. IV. SOFTWARE ARCHITECTURE The real-time software runs under the Linux operating system with the Real Time Application Interface (RTAI) extension. RTAI is a hard real time extension of Linux, which makes it capable of handling time critical tasks in a predictable way. It provides task scheduling and synchronization, and inter-task communication services, among others. The DRTS environment (see Fig. 3) consists of three major Linux-RTAI tasks: the CONTROLLER, the MODEL, and the HMI tasks. The CONTROLLER is a periodic task scheduled according to the servo-loop sampling time (either 0.4 or 1 ms) that runs in kernel space. The MODEL and the HMI tasks run in user space under the RTAI module LXRT. LXRT [16] supports the development and execution of soft and hard real-time in user space, giving access to both Linux (for instance to operate the TCP/IP communications) and RTAI services symmetrically. LXRT hard real-time in user space allows full kernel pre-emption, with the only penalty of a very slight increase in overhead, whereas jitter and latency remain very close to those measurable for the same applications implemented in kernel space. The only constraint is that Linux kernel services cannot be used directly. To access RTAI services from LXRT, a Linux process has to create a real-time kernel task, called the buddy/proxy. This task is in charge of the execution of realtime services, in particular inter-task mailbox based communication services. While the execution in user space is rather natural for the low priority HMI task, for the highly demanding, in terms of CPU time, MODEL task it is motivated by the aim of avoiding critical CPU blocks. Inter-task communication is obtained using the remote mailboxes provided by RTAI. In this way the controller and the simulator may run on different machines, if necessary. As no direct communication between tasks in user space and in kernel space is allowed, the communication between the MODEL and CONTROLLER tasks, as well as between the HMI and the CONTROLLER tasks, occurs through buddy/proxies, created by a proper LXRT function, that directly handle the communication mailboxes.

0.4-1ms periodic task Force disturbances Dexarm Current Controller setpoints Force distur bances

0.4-1ms periodic task Joint torques Motor & Joint positions


Dexarm Model

Model variable samples

Joystick

Motion commands

Joint coordinates Offline analysis

Human-Machine Interface Asinchronous / periodic task

Fig. 3 DRTS software architecture

A. Task Scheduling and Synchronization While the CONTROLLER task execution is scheduled periodically by a RTAI primitive, the synchronous execution of MODEL with CONTROLLER is achieved by a blocking inter-task communication mailbox. The MODEL executes, and advances the simulation time of a single sampling period, only after the CONTROLLER task has written the new set of current setpoints (the inputs to the model). The HMI task implements the periodically executed 3D animation function and asynchronous input functions supporting the input of motion commands. Further details on the HMI operations are given in the specific Section. B. CONTROLLER Task The CONTROLLER task is obtained from a regular Simulink model, developed in a Matlab environment running either under Linux or MS-Windows, and converted into C programs by the Real Time Workshop Matlab toolbox. Relying on the approach and software tools provided by RTAI-Lab ([17], [18]), a special Simulink block (actually an Sfunction) has been developed. Once included within the model, this block provides the inter-task communication required to match the hard real-time execution of the CONTROLLER with the execution of the Modelica model. A similar second block implements the communication with the HMI task. The CONTROLLER task handles the joystick interface too: being a real-time high priority task with high scheduling frequency it ensures a fast and predictable response to the joystick commands. Nevertheless the more natural alternative of handling the joystick through the HMI task is under evaluation at present. The CONTROLLER task is also used to interface a physical external controller. In this case it reduces to a pure interface task. The real time execution of the RTW model can be slowed down (or time scaled) if needed, for debugging purposes.

C. MODEL Task The arm model is developed offline within the standard Dymola environment. A special purpose block (ModRTAI, Modelica code which relies on a library of C subroutines [4]) has been created. Once included in the model, this block creates the buddy/proxy, selects the input and output model variables, and implements the communication and synchronization functions by invoking the proper RTAI primitives. In this way, the C file generated by the compilation of the model can easily become a RTAI executable task. At every wakeup, it reads the inputs from the CONTROLLER task, evaluates the new model state and outputs, and writes the latter to the output mailboxes. Similar to the CONTROLLER task, ModRTAI supports the execution of the DEXARM model at a speed slower than the real time one. As far as the numerical solution algorithm of the model is concerned, the Dymola Inline Integration method, applied to the implicit Euler algorithm, has been selected in order to obtain the fastest simulation speed. The DRTS is currently running in real time in a dual core PC with the operating system Kubuntu Linux 7.10, kernel 2.6.22-15, and RTAI 3.6.
Axis7 Link7 a 0....b Axis6 r={0.21... Shape1 box Shape2 box Joint7 n={1,0,0} b a

major components: the Servo model, instantiated seven times, and the Mechanical chain model. The latter (see Fig. 4) is built using the ActuatedRevolute model (seven instantiations) and the BodyShape (eight instantiations) of the Modelica Mechanics MultiBody Library. The Servo model includes the current servoloop, the three phase AC brushless motor, and harmonic drive gear models. A. Current servoloop model This component models the field oriented control of the motor currents. The current sensor biases have been simulated, as they are responsible of torque pulsation harmonics (ripple) which are visibly detrimental for the quality of the motion of the arm. B. AC brushless motor model The torque generation in a brushless motor is modelled as shown in Fig. 5. For each phase of the motor the current and the back-emf are computed, which jointly contribute to generate the torque. The nominal torque is given by m = Kt Iref, where Kt is a constant characteristic of the motor and Iref the setpoint of the amplitude of each phase current. A fast enough current controller is assumed. However, higher order harmonics in both the current and the back-emf shapes cause additional undesired torque pulsations [18], in turn causing visible oscillations of the arm, especially at low and intermediate velocities. Non-sinusoidal back-emf profiles have been therefore simulated, and the oscillations obtained from experiments have been predicted by the model [20].

Payload
a 300 b r={0,0,0}

Link6 b 5.... a r={0,0,0} n={0,1,0} Joint6 b a b Link1 a

Axis5

Axis4

Link4 a 1... b n={0,1,0} Joint4 b r={0.26... Link3 b4.... a r={0,0.... a b

Link5 a 1....b r={0,0,0} Link2 b 1... a r={0.29...

n={1,0,0} Joint5 Joint3 n={1,0,0} b a

Axis3

Axis2 n={0,1,0} Joint2

Axis1

a 1... b a Ground b r={0.23...

Fig. 5 Brushless motor model

n={1,0,0} Joint1

Fig. 4 Mechanical chain model

V. DEXARM MODEL AND CONTROLLER The DEXARM model comprises the arm mechanical chain, the joints, the motors, and the current control electronics. The Dymola implementation consists of two

C. Harmonic drive model Transmission chains and gearboxes are major sources of friction and torsional flexibility in position servomechanisms. Friction non linear effects and discontinuities manifest and dominate the arm behavior at very low speed and especially around velocity zero crossing. As these conditions frequently occur in compliant motion, special care has been given to friction modeling and simulation. Several friction models have been checked, with respect to modeling accuracy and computational burden,

including the well known LuGre [12] model, which describes both the pre-sliding and sliding regimes, and ensures a continuous transition between them. Unfortunately, if the LuGre friction model is adopted the numerical integration of the arm model with a fixed step of 1 ms is no longer feasible. To comply with this constraint the Single State Integral friction model [11] has been selected. The SSIFM is based on slightly different assumptions (but not necessarily less accurate) with respect to LuGre, which allows obtaining a closed form solution of the friction model differential equations and avoiding troubles with the numerical integration of the very fast pre-sliding dynamics.

disturbance which, in some low velocity range, is poorly counteracted by the velocity control loop and causes troublesome oscillations [20]. To capture this behavior, the Coulomb and viscous friction coefficients have been expressed as the sum of two harmonics, added to their average values, whose frequencies are one and two times the angular position, respectively [20]. The joint torsional flexibility has been modelled according to the well known two-mass model [22]. The graphical form of the joint model is shown in Fig. 8.

Fig. 8 Joint model

Fig. 6 Joint position, velocity, current and velocity components simulated with LuGre model and DASSL (time in seconds)

Several versions of the controller can be selected according to the specific goals pursued with the DRTS usage. Simulink executable descriptions of any control strategy can be simulated, in principle. For instance, the Simulink description of the joint position control loops has been used for tuning and testing of the servo level control strategies. As an illustrative example, Fig. 9 shows the Simulink description of the velocity loop digital regulation and filtering functions.
PVdig 1 qdm_ref G1 Sum2 Gain2 DVdig ToWs1 C_VEL KD_VEL G2 Sum1 Gain4 num(z) 1-A11_VELz-1 Discrete Filter -KGain5 KI_VEL 2 qdm Sum4 Gain3 K Ts z-1 Switch Discrete-Time Integrator Sum3 0 Constant IVdig ToWs2 |u| Abs1 |u| Abs Saturation num(z) den(z) Discrete Filter1 1 Iref B_VEL KP_VEL ToWs

Fig. 6 shows the transient behaviors of position, velocity and current of a joint obtained by solving the joint and arm model equations, including the LuGre friction model, with DASSL, a variable step solver. In Fig. 7 the behaviors of the same variables are shown for the same transient, obtained by modeling friction with the SSIFM model and solving equations with a 1 ms explicit (forward) Euler fixed-step solution algorithm. The behaviors are quite similar, the main difference being in a larger noise affecting the velocity and current plots.

sum4

Fig. 9 PI controller and filter

Fig. 7 Joint position, velocity, current and velocity components simulated with SSIFM and a fixed-step forward Euler algorithm (time in seconds)

Friction in harmonic drives is dependent on joint angular position [21], [20], to some extent. When the joint rotates, for instance at constant velocity, this produces a torque

Fig. 10 HMI drawing menus and 3D visualization of the DEXARM motion

Higher level control functions (e.g., kinematic inversion, trajectory generation) can easily be added to the servo level controller to simulate operational space control operation. Finally, the CONTROLLER task can be used to interface the real arm control unit to the simulation model and HMI tasks. VI. HUMAN-MACHINE INTERFACE The human-machine interface supports the definition of the arm 3D model, the 3D real time animation of such model according to the computed robot motion, and the interactive assignments of trajectories and of their via points. Fig. 10 shows a snapshot of the interface, where the drawing tools are visible and a 3D model of the whole arm has been composed. This 3D model can either be obtained using a built-in CAD tool or it can be imported from an Open Inventor [23] or a Virtual Reality Model Language (VRML) model. Using the link models, the kinematic structure of the arm is defined interactively to be used for 3D animation of the arm motion and interaction with the environment. Animation is driven by the joint coordinates read either from file, as it is in the offline simulation, or from a mailbox in real time simulation. The software architecture of the HMI is shown in Fig. 11.
HMI main modules

periodic events that are generated repeatedly based on a specified time period. A periodic event is used to periodically update the 3D model of the arm, according to the joint coordinates computed by the simulator. The event triggers the execution of the associated call back function which reads from the input mailbox the last set of joint coordinates written by the simulator and updates the matrices defining positions and orientations of the arm links. This in turn generates an asynchronous event which, through the event handler, starts the Open Inventor functions which update the 3D scene. Thus the scene rendering and animation process is not strictly real time, and few frames may also go lost, but without degrading the visual feedback. The fast graphic rendering capability is obtained by the OpenGL functions, which exploit the performance of available, even low cost, graphic accelerators. VII. CONCLUSIONS An approach has been proposed to develop real-time simulators of complex electromechanical systems by exploiting the most powerful non real-time modeling and control design tools. An open source general purpose operating system like Linux is used, still assuring the satisfaction of the most critical time deadlines thanks to the RTAI extension. This approach relies on standard and commercial tools and on open source packages, and required the development of few interface blocks to be included within the Simulink and Dymola models, respectively. The modeling and validation work carried out on a joint prototype in the early phase of the arm development process could be fully included in the real-time simulation model, achieving quite accurate and reliable results almost effortlessly. The Simulink arm controller description can also be easily tested in an incremental way. At the end the real DEXARM controller can be interfaced to drive the arm real-time model for tuning, testing and checkout purpose. A significant effort has been devoted to create a human machine interface able to support the input of motion commands and force disturbances, together with the 3D visualization of the arm motion, relying on a powerful open source package. ACKNOWLEDGEMENT Contributions are acknowledged from William Spinelli, to the software architecture design and development, and from Luca Vigan and Dario Camorali, to the Dexarm model development. REFERENCES
[1] [2] Real-Time Workshop: Generate C code from Simulink models and MATLAB code [Online]. Available: http://www.mathworks.com/products/rtw/ dSPACE - Solutions for Control [Online]. Available: http://www.dspaceinc.com/

Link definition

Kinematic structure definition

Scene rendering

Motion commands

Animation

Controller model

Open Inventor

Open Inventor Component Libray

File

Node Kits Open Iventor 3D Interchange File Format

Manipulators

Scene Data base

Open Inventor 3D toolkit

DEXARM model

OpenGL library Event driven

LINUX/RTAI

Time driven (periodic)

Mail box

Fig. 11 HMI major software modules and external interfaces

The Open Inventor package, released by Silicon Graphics as open source software, is based on the objects/events paradigm. The user describes the objects in a 3D scene as a graph, defines a set of events and writes the call back routines associated to each event. The event handler of the library will start the execution of the corresponding call back routine whenever an event occurs. Examples of events are the selection of an object by the mouse, the displacement of an object, or an object reaching a predefined position. In addition to the asynchronous events, the library supports

[3] [4] [5]

[6] [7]

[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]

Dymola Multi-Engineering Modeling and Simulation [Online]. Available: http://www.dynasim.se/ G. Ferretti, M. Gritti, G. Magnani, G. Rizzi and P. Rocco, Real-time simulation of Modelica models under Linux/RTAI, Proc. 4th Int. Modelica Conf., 2005, pp. 359365. S. S. Ge, T.H. Lee, D.L. Gu, and L.C. Woon, OpenRob: An open_archtecture platform for model building, controller design and numerical simulation, IEEE Rob. Aut. Mag., Vol. 7, No. 3, pp. 4254, 2000 W.E. Dixon, D. Moses, I. D. Walker, D. M. Dawson, A Simulinkbased robotic toolkit for simulation and control of the Puma 560 robot manipulator, Proc. Int. Conf. Intell. Rob. Syst., 2001, pp. 22022207 F. Isnard, G Dodds, C Valle, and D Fortun, Real-time dynamics simulation of a closed-chain robot within a virtual reality environment, Proc. Inst. Mech Eng., Part K, Vol. 214, No. 4, pp. 219232, 2000. M. Attolico and P. Masarati, A multibody user-space hard real-time environment for the simulation of space robots, Proc. Real-Time Linux Workshop, 2003. RTnet Hard real-time networking for Linux/RTAI [Online]. Available: http://www.rts.uni-hannover.de/rtnet/ P. Aronsson, P. Fritzson, Multiprocessor scheduling of simulation code from Modelica models, Proc. 2nd Int. Modelica Conf., 2002, pp. 331338. G. Ferretti, G. Magnani, P. Rocco, An Integral Friction Model, Proc. Int. Conf. Rob. Autom.., 2004, pp. 1809 1813. C. C. de Wit, H. Olsson, K. J. strm and P. Lischinsky, A new model for control of systems with friction,, IEEE Trans. Aut. Contr., Vol. 40, No. 3, pp. 419425, 1995. D. Beal, E. Bianchi, L. Dozio, S. Hughes, P. Mantegazza, and S. Papacharalambous, RTAI: Real time application interface, Linux Journal, April 2000. A. Rusconi, P. Magnani, T. Grasso, G. Rossi, J.F. Gonzalez Lodoso and G. Magnani, DEXARM - a dexterous robot arm for space applications, Proc. ASTRA 2004 Workshop, 2004. A. Rusconi, P. Magnani, J.F. Gonzalez Lodoso, P. Campo, R. Chomicz and G. Magnani, Design and development of an integrated joint for the dexterous robot arm, Proc. ASTRA 2004 Workshop, 2006 G. Quaranta and P. Mantegazza, Using Matlab-Simulink RTW to build real time control applications in user space with RTAI-LXRT, Proc. Real Time Linux Workshop, 2001 R. Bucher and L. Dozio, CACSD with Linux RTAI and RTAI-Lab, in Proc. Real Time Linux Workshop, 2003. E. Bianchi and L. Dozio, Some experience in fast hard real-time control in user space with RTAI-LXRT, Proc. Real Time Linux Workshop, 2000. G. Ferretti, G. Magnani and P. Rocco, Modelling, identification and compensation of pulsating torque in permanent magnet AC motors, IEEE Trans. on Ind. Electr., Vol. 45, No. 6, pp. 912-920, 1998. G. Magnani, P. Rocco and A. Rusconi, Modeling and position control of a joint prototype of DEXARM, Proc. Int. Work. Adv. Mot. Contr., 2008, pp. 562-567 H.D. Taghirad and P. R. Belanger, An experimental study on modelling and identification of harmonic drive systems, Proc. Int. Conf. Dec. Contr., 1996, pp. 4725 4730 M. Spong, Modeling and control of elastic joint robots, ASME Journ. Dyn. Syst., Meas. Contr., Vol. 109, pp. 310-319, 1987. Open Inventor [Online]. Available: http://www.oss.sgi.com/projects/inventor/

You might also like