1
$\begingroup$

I have been reading this paper (https://arxiv.org/pdf/1509.06113.pdf), which is about control of a robotic arm. They learn a mapping from robot state to robot control, where the state is the positions and velocities of the arm's joints, and the control is the joint torques.

One passage I am struggling to understand is:

Since we use torque control, the robot and its environment form a second-order dynamical system, and we must include both the joint positions and their velocities.

(I've edited this slightly for readability, but effectively it is the same).

Please can somebody explain what this means? What is a second-order dynamical system? And why does this mean that velocities are required as part of the state?

Thanks!

$\endgroup$

3 Answers 3

2
$\begingroup$

Dynamical system

What is a second-order dynamical system?

Let's firstly clear up some confusion about the term dynamical system.

The term in your document refers to the mathematical definition, where a function describes the time dependency of a point (or multiple points) in space.

A first-order dynamical system involves one derivative. It can be described by one characteristic. An example of such a system is the current-voltage relation of a capacitor in electronics.

A second-order dynamical system involves two derivatives. It can be described by two characteristics. An example is a mass-spring-damper system, which is a mechanical system.

In mechanics, we refer to dynamic (not dynamical) systems more specifically when we describe time-dependent movement of mass in space. According to Newton's law, we can instantaneously apply finite acceleration by applying finite force. We are eventually interested in position, which is two derivatives apart from acceleration. Every mechanical dynamic system is thus at least a second-order dynamical system. In fact, a mechanical system with $n$ degrees of freedom is a $2n$th-order dymamical system: the state of every degree of freedom can be described by a position and velocity, as both variables cannot be changed instantaneously.

It is possible to express a $2n$th-order dymamical system as a set of $n$ second-order dynamical systems or a set of $2n$ first-order dynamical systems, but it is incorrect to say that a (mechanical) dynamic system with multiple degrees of freedom is a second-order dynamical system. The "robot and environment" in your example however can be correct if they refer only to the robot-environment interface, described by a single position and velocity variable.

Control

For purposes of control, it is thus useful to have both position and velocity as feedback because neither of them can be changed instantaneously: they essentially define the (instantaneous) state of the dynamic system, i.e. they are used as state variables.

Example - If you're the driver of a car and $100~\mathrm{m}$ from your target, then what are you (the controller) going to do: accelerate or decelerate? This question is difficult to answer unless you know your current velocity. If your velocity is zero, then obviously you want to accelerate or you're not getting anywhere. If your velocity is $200~\mathrm{km/h}$, then, well... good luck finding that brake pedal.

All nice and dandy, but you might have found in literature that some mechanical systems are controlled by using only position variables. This is reasonable if you can assume that velocity can be changed instantaneously, which is a valid assumption if systems are to be operating excruciatingly slow, where maximum velocity is simply capped or if the system suffers from enormous amounts of viscous friction (where force is essentially proportional to velocity instead of acceleration).

Example - If you're the driver of a car and $100~\mathrm{m}$ from your target, and if you know that the maximum velocity of the car is $5~\mathrm{km/h}$, then what are you (the controller) going to do: accelerate or decelerate? You will obviously accelerate, if not already driving at the excruciatingly slow $5~\mathrm{km/h}$...

Trivia: In the realm of mechanics, for systems that are modelled to not or partially include velocity related terms, the term pseudo-dynamic system has been coined.

$\endgroup$
0
$\begingroup$

Some systems are just linear (input and output are bound with something like O=a+bI) and it is simple to regulate, some systems are more like quadratic (O=a+bI+cI^2) and there is problem, that when you reach some point, they may start to repond reversly. Some systems are even more complicated.

If you have just linear system, it is easy to regulate it, as you need to know only "how far" are you from wanted point and you can simply calculete "how much" you need to add to reach it.

On higher order systems you need also know "where are you", as the response would not be linear and you need more knowledge to reach your destination.

If you have system, where you can controll only torque (so the force you are using) and want to reach some target point, then you need to know not only how far are you, but also how fast you are moving.

Imagine you are liting a weight to the table. If you are moving too fast, you need to brake (otherwise you overshoot), if you are moving too slow, you need to accelerate (otherwise it would stop before reaching target). If you are moving just right, you need not apply any force.

If you know your position, but not your velocity, you cannot decide, whether apply positive force, negative force or no force at all. To know, whether (or when) to push and when to brake (and how much) you need to know your velocity too, not only position.

$\endgroup$
4
  • $\begingroup$ Thanks for your help! So, I understand that for something like a robot arm, the position of the arm is not sufficient to decide how much torque to apply, and you also need the velocities.However, what I don't understand is what makes a robot arm a second-order system. Is it actually a second-order system, or is it just that we approximate it as a second-order system? $\endgroup$ Apr 27, 2017 at 1:15
  • 1
    $\begingroup$ Usually it is just approximation, as there is already more non-linear characteristics, as any material is not really infinitely strong, heat resistent etc, but usually we can ignore those characteristics, as they play a way less important part of problem. But even in ideal model we cannot rule out the position and velocity, if we want it somehow look like the real thing. We usually can ignore elasticity of steel and get result corret to fraction of milimeter. Until mentioned arm is couple of meteres long and should be manipulated to submilimeter acurracy ... $\endgroup$
    – gilhad
    Apr 27, 2017 at 9:22
  • $\begingroup$ On higher order systems you need also know "where are you", as the response would not be linear and you need more knowledge to reach your destination. This response is incorrect--order and linearity are not coupled in this way, e.g. $$\ddot x+\dot x+u=0$$ is a second-order linear system. $\endgroup$
    – JSycamore
    Apr 27, 2017 at 20:32
  • $\begingroup$ On stack exchange, it is better to edit your answer than add more comments. Comments are for helping to improve questions and answers, and are distracting, so we try to keep them to a minimum. If all of the information needed to answer the question is contained within it, the comments can be tidied up (deleted). $\endgroup$
    – Mark Booth
    May 1, 2017 at 10:03
0
$\begingroup$

The angular acceleration of a joint of the robot should be (when neglecting friction, external forces and finite structural stiffness for now) roughly proportional to the torque applied. Since angular acceleration is the time derivate of angular velocity, which is the time derivate of the joint angle, therefore a robot arm is second order system.

Another way of formulating the definition of the order of a system is how often you need to differentiate the outputs (in this case the joints angles) until you see the input signal back.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.