User Tools

Site Tools


Upload failed. Maybe wrong permissions?
adrl:education:completed_projects:mrasmussen2016

<latex>{\fontsize{16pt}\selectfont \textbf{Acceleration-based Transparency Control for Articulated Robots}} </latex>

<latex>{\fontsize{12pt}\selectfont \textbf{[Maria Rasmussen]}} </latex>
<latex>{\fontsize{10pt}\selectfont \textit{[Master Project ME]}} </latex>

<latex> {\fontsize{12pt}\selectfont \textbf{Abstract} </latex>
Rendering an exoskeleton imperceptible (i.e. transparent) is very challenging due to the intrinsic interaction between human and robot as well as the unpredictable human motion. In this thesis we aim at implementing and testing a novel acceleration-based transparency control framework1) both in simulation and on hardware.
The key idea of the framework is to mimic the human movement with the exoskeleton and thereby reduce the interaction forces. For this purpose, the human acceleration is measured. These measurements are exploited to generate the torques required to reproduce the desired human motion with the exoskeleton. Inverse dynamics and a rigid body model of the robot allow to compute the torques. To enhance the performance, an acceleration feedback controller and a Kalman filter state estimator are included in the framework.
We implemented the acceleration-based transparency control framework for a simple one degree of freedom fixed base exoskeleton as well as for a complex lower body exoskeleton. Before we tested the algorithm for the simple robot on hardware, a realistic simulation setup containing the human/robot attachment and hardware limitations enabled us to evaluate the performance of the control algorithm in simulation. The control algorithm for the complex exoskeleton was only tested in simulation.
The control algorithm for the simple robot showed both in simulation and on hardware good transparency. In contrast, the control algorithm for the complex robot indicated only limited transparency for motions that violate contact constraints. However, for constraint consistent movements the performance of the control algorithm for the complex robot was promising.

<latex> {\fontsize{12pt}\selectfont \textbf{Acceleration-based Transparency Control Framework} </latex>
The key idea of the acceleration-based control framework is to mimic the human motion with the exoskeleton and thereby reduce the interaction forces.
The framework consists of three main parts, as shown in the figure below:

  1. an inverse dynamics block which generates control torques based on the acceleration of the human limbs $\ddot{\bm{q}}_h$, an interaction force estimation $\hat{\bm{f}}_i$ and the feedback states of the robot $\ddot{\bm{q}}_r$
  2. a state feedback block where the human acceleration $\ddot{\bm{q}}_h$ is the target value for the robot acceleration $\ddot{\bm{q}}_r$ and
  3. a Kalman filter to estimate the interaction force based on the feedback states of the robot and human.

The inverse dynamics block can be separated into two parts: partial inverse dynamics controller (IDp) which generates the torques due to the desired movement not considering the interaction forces $\bm{f}_i$ and interaction force controller (Fi) which generates the torques due to only the interaction forces $\bm{f}_i$. The resulting control torque of the transparency control algorithm is then given by the sum of the three control blocks: IDp, Fi and acceleration feedback controller (FBa): \begin{equation*}

\bm{\tau}= \bm{\tau}_{IDp} + \bm{\tau}_{FBa} + \bm{\tau}_{Fi}

\end{equation*} as shown in the figure below.

<latex> {\fontsize{10pt}\selectfont \textbf{Partial Inverse Dynamics Control} </latex>
The acceleration of the human limbs is measured with inertia measurement units. A rigid body model of the robot and inverse dynamics allow to generate the required torques to achieve the desired of motion of the human limbs2).
The dynamics of the floating base rigid body robot in contract with the environment with respect to an inertial frame is given by: \begin{equation*}

\bm{M} \ddot{\bm{q}}_{des} + \bm{h} = \bm{S}^T \bm{\tau} + \bm{J}_C^T \bm{\lambda}

\end{equation*} under $k$ constraints: \begin{equation*}

\dot{\bm{x}}_C = \bm{J}_C \dot{\bm{q}} = 0, \qquad \ddot{\bm{x}}_C = \bm{J}_C \ddot{\bm{q}} + \dot{\bm{J}}_C \dot{\bm{q}}= 0

\end{equation*} where $\bm{M}$ is the floating base inertia matrix, $\bm{h}$ is the floating base centripetal, Coriolis and gravity forces, $\bm{S}$ is the joint selection matrix that reflects underactuation, $\bm{\tau}$ is the vector of actuated joint torques, $\bm{J}_C$ is the Jacobian of the constraints, $\bm{\lambda}$ is the Lagrange multipliers that correspond to the constraint forces, $\bm{q}$ is the joint space position and $\bm{x}_C$ are the positions and orientations of constraints3).
If we assume that the desired movement plan for the robot is constraint consistent, we can project the equation of dynamics into the null-space of constraints and thereby eliminate the Lagrage multipliers that correspond to the constraint forces 4). The orthogonal projection can be compute with the Jacobian of constraints: \begin{equation*}

\bm{P} = \bm{I} - \bm{J}_C^+ \bm{J}_C

\end{equation*} where $\bm{I}$ is the identity matrix and $\bm{J}_C^+$ is the Moore-Penrose pseudo inverse of $\bm{J}_C$.
This allows to solve for the control torques: \begin{equation*}

\bm{\tau}_{IDp} = (\bm{P} \bm{S}^T)^+ \bm{P} (\bm{M} \ddot{\bm{q}}_{des} + \bm{h})

\end{equation*}

<latex> {\fontsize{10pt}\selectfont \textbf{Acceleration Based Feedback Control} </latex>
Due to model uncertainties, external disturbances, or parameter estimation errors, the robots motion might not exactly resemble the desired human movement. Hence, the control framework is extended by a state feedback in which the human acceleration is the target value of the robots acceleration: \begin{equation*}

\bm{\tau}_{FBa} = k_P (\ddot{\bm{q}}_h -\ddot{\bm{q}}_r) + k_I (\dot{\bm{q}}_h - \dot{\bm{q}}_r)

\end{equation*} where $k_P$ and $k_I$ refer to the proportional and integral gains, $\ddot{\bm{q}}_h$ and $\ddot{\bm{q}}_r$ to the human and robot joint acceleration and $\dot{\bm{q}}_h$ and $\dot{\bm{q}}_r$ to the human and robot joint velocity.

<latex> {\fontsize{10pt}\selectfont \textbf{Interaction Force Control} </latex>
The interaction force depends not only on the human and robot movement but also on the relative position between the two. Thus, even when the exoskeleton mimics the human movement perfectly, it does not imply the interaction force being zero. Measuring or estimating the interaction force (e.g. with a Kalman filter) has the advantage of using the interaction force in inverse dynamics and thereby drive the interaction force to zero: \begin{equation*}

\bm{\tau}_{Fi} = -\bm{J}^T \bm{f}_i

\end{equation*} where $\bm{J}$ is the Jacobian of the attachment point and $\bm{f}_i$ is the interaction force.

<latex> {\fontsize{12pt}\selectfont \textbf{Implementation} </latex>
All simulation and high level control (i.e. transparency control) were carried out with the simulation laboratory (SL), which is a simulation and real-time software package 5). The robot specific source code for coordinate transformations and Jacobian matrices was generated using the Robotics Code Generator (RobCoGen) 6). RobCoGen is an open source program that generates automatic code for rigid body dynamics and kinematics which can be used in simulation and control applications 7). The control algorithm was implemented in C++ for a simple one one degree of freedom (EMY-Leg) and a lower body robot model (EMY-Dev), as shown in the figure below.

With EMY-Leg we emulated the human/robot attachment as well as hardware limitations in simulation to test the control algorithm in a realistic setup. We considered:

  • IMU position error
  • measurement delay
  • measurement noise
  • robot model error
  • actuator dynamics
  • estimate of the interaction force instead of measuring the interaction force directly.

Further, with EMY-Leg we tested the control algorithm on hardware comparing the performance of the control algorithm to zero joint torque control.
With EMY-Dev we tested the performance of the control algorithm in simulation by following a desired reference trajectory with the robot. We took two different motions into account: a constraint consistent movement and a constraint violating movement, as shown in the figure below.

Due to simplification we considered only partial inverse dynamics control for EMY-Dev. In addition, a impedance feedback control was applied.

<latex> {\fontsize{12pt}\selectfont \textbf{Results} </latex>
In simulation with EMY-Leg the absolute mean of the interaction force of the emulated human/robot attachment allowed us to evaluate the performance of the control algorithm using the different control setups: IDp, IDp and FBa, IDp and Fi and using all three IDp, FBa and Fi, as shown in the figure below.

The control algorithm showed good transparency for both a human robot attachment as well as for hardware limitations. The results indicated that using only partial inverse dynamics control (IDp) was least sensitive to hardware limitations. Hence, using only IDp might show the best transparency performance. Still, depending on the actual hardware limitations it might be favourable to use IDp and FBa. Furthermore, the results suggested that going trough the cumbersome implementation of a Kalman filter to estimate the interaction force did not improve the control performance, even when a profound knowledge of the attachment dynamics was available.
Preliminary experiments on hardware with EMY-Leg suggested a good transparency performance of the control algorithm. Unfortunately no force measurements at the human attachment point were accessible, and hence, only qualitatively results were obtained which need to be confirmed with further tests.
In simulation with EMY-Dev comparing the control torques coming from the control algorithm (doted) to the overall torques (solid) required to follow the reference trajectory allowed us to evaluate the performance of the control algorithm, as shown in the figure below.

The control algorithm for EMY-Dev showed good transparency in simulation for a constraint consistent movement. In contrast for a movement that violates the constraints, the performance of the control algorithm was limited, as expected. We assumed that the desired movement is constraint consistent when we derived the control torques. The control algorithm generates the control torques such that the contact constraints will not be violated, even for a movement which violates the constraints.

<latex> {\fontsize{12pt}\selectfont \textbf{Conclusion} </latex>
The control algorithm for the simple EMY-Leg showed both in simulation and on hardware good transparency. In contrast, the control algorithm for the complex EMY-Dev indicated only limited transparency for motions that violate contact constraints. However, for constraint consistent movements the performance of the control algorithm for the complex EMY-Dev was promising.
Further tests are required to confirm the promising performance of the control algorithm. Measure the interaction force at the attachment point would allow to evaluate the performance quantitatively.
Furthermore, the control algorithm could still be improved, e.g. trigger the change of constraints to avoid movements that violate the constraints.

1)
Thiago Boaventura and Jonas Buchli. Acceleration-based transparency control framework for exoskeletons. (in press), 2016.
2)
Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Robotics: modelling, planning and control. Springer Science & Business Media, 2010.
3)
Michael Mistry, Jonas Buchli, and Stefan Schaal. Inverse dynamics control of floating base systems using orthogonal decomposition. In ICRA, pages 3406โ€“3412. Citeseer, 2010.
4)
Ludovic Righetti, Jonas Buchli, Michael Mistry, and Stefan Schaal. Inverse dynamics control of floating-base robots with external constraints: A unified view. In Robotics and Automation (ICRA), 2011 IEEE International Conference on, pages 1085โ€“1090. IEEE, 2011.
5)
Stefan Schaal. The SL simulation and real-time control software package. University of Southern California, 2009.
6)
Marco Frigerio. Robotics code generator. https://bitbucket.org/mfrigerio17/roboticscodegenerator. [Accessed on September 07, 2016].
7)
Marco Frigerio, Jonas Buchli, Darwin G. Caldwell, and Claudio Semini. RobCoGen: a code generator for efficient kinematics and dynamics of articulated robots, based on Domain Specific Languages. Journal of Software Engineering for Robotics (JOSER), 7(1):36โ€“54, 2016.
adrl/education/completed_projects/mrasmussen2016.txt ยท Last modified: 2016/11/14 08:03 (external edit)