15

Torque is analogous to force for rotating systems, in that: $$ F = m a \\ \tau = I \alpha \\ $$ Where $\alpha$ is angular acceleration and $I$ is moment of inertia. $m$ and $a$ are mass and linear acceleration, respectively. So, in a way, a position controller, a velocity controller, and an acceleration (torque) controller are all different ...


14

I'm going to take a slightly different tack to Chuck. What is Torque Control? For me, Torque Control is about performing a move with an explicitly defined torque, rather considering torque just the means to the end of Position or Velocity control. Normally when you move a robot, you specify position and speed, with the robot allowed to use any and all ...


12

For a nonholonomic system, you can at best determine a differential relationship between state and inputs. You cannot determine a closed-form geometric relationship. This means that the history of states is needed in order to determine the current state. Vehicles are a good example because you can intuitively see that turning the right wheel 100 ...


9

If you're only using proportional force, then at some point it will be balanced by the force of gravity -- your error will converge on that balance, not zero. To compensate for the mass of the arm, you'll need to add an integral force term. This will increase over time to counterbalance the constant force of gravity. See also: this answer on the integral ...


9

The two views are not contradictory; they apply to two different situations, which you are treating as a single one. Your personal experience about having a low center of mass applies to situations where there is a stable position -- a local minimum height for the center of mass. For example, if you have a vase on a shelf, the height of the vase's center ...


8

This is video is from an Edx course on Autonomous Quadcopters...It is 10 minutes and goes over the "Flying Principle" of quadrotors. But basically what you are missing is the reactions. The famous Newtown's third law says (paraphrasing) "for every action there is an equal and opposite reaction". So by spinning the clockwise blades faster, a counter-...


8

Disclaimer: I have never done this myself, but only have seen a description of it being done through Georgia Tech's "Control of Mobile Robotics" on Coursera. My knowledge of controls is spotty, too. Thus... take this with a grain of salt. :) To keep the robot upright (and still), you're trying to stabilize (send to $0$) the state $x$, where: $$x=\left[\...


8

Yes, a state matrix with zero rows and/or columns makes sense and is viable. It typically signify pure integrators in the system. In the example you give, $$ \dot{v} = -\frac{b}{m} v +\frac{1}{m} u $$ where $v$ is the speed, $u$ is the externally applied force, and $bv$ is some viscous damping force. Now if the viscous damping coefficient is zero (no ...


7

I would like to use P (proportional) controller for now. Just a proportional controller will never make your error stay at 0. Your system is not damped and a proportional controller acts like an undamped spring. Look at the controller equation that you wrote: τ=−K(θ−θd) and compare it to a spring equation: F=Kx or F=K(x1-x2) Your controller is acting ...


7

A force balance equation is typically written as: $$ m\ddot{x} + b\dot{x} + k{x} = F \\ $$ where $F$ is an applied force, $x$ is position, $\dot{x}$ is velocity (first derivative of position), and $\ddot{x}$ is acceleration (second derivative of position). $m$ is mass, $k$ is a spring constant, and $b$ is a viscous damping term. This force balance is one ...


5

This is a sweeping generalization that I'd be very cautious about. Engineering is about tradeoffs. But there are two things that I'd be comfortable generalizing, from my own personal biases. I'm 99% serious when I say robots become more effective as the amount of money you are willing to invest becomes higher. This is because you can eventually custom-make ...


5

A holonomic constraint is a constraint on configuration: it says there are places you cannot go. That is a reduction in freedoms. That’s (usually) bad. A nonholonomic constraint is a constraint on velocity: there are directions you cannot go. But you can still get wherever you want. That’s (usually) good! Ref: Mechanics of Manipulation by Mathew T. Mason


5

Series elastic actuators tend to have more stable force control because the spring filters out the high-frequency motion of the mechanism. A low frequency in the system dynamics means that you can use slower control techniques, which is important when using digital controllers with naive control implementations, and sensors with significant abbe error and ...


5

the Simulink diagram is straightforward. It is a matter of connecting blocks. For the differential equations provided in your post, the simulink is For $u_1$ and $u_2$, I've chosen the unit step. You can change that of course. For $L$, I've set it to 0.5 since you didn't provide the actual value. The result of the position of the vehicle is shown below:


5

In short answer: yes Kalman filter is a special case of an $H_2$ observer Yes Yes ... LQG is just Kalman filter + LQR controller, which are both special cases of $H_2$ Depends on use case. $H_2$ minimizes maximum error while $H_{\infty}$ minimizes error function 2-norm Very complicated The somewhat longer answer: $H_2$ and $H_{\infty}$ control are both ...


5

I think this is a matter of notations. In the given formula for $D(q)$, the matrices $J_{vi}$ and $J_{\omega i}$ are not simply the direct extraction of columns of the Jacobian of the system. $J_i$ is the matrix that relates $\dot{q}$ to the velocity (of the center of mass) of the link $i$. That is, if we write $v_1$ to denote the linear velocity of the ...


5

Short answer Robot Dynamics and Control by Spong et al. (especially Chapter 5) can definitely help you on this matter. Long answer First of all, you are partially correct about a Jacobian. It is indeed a function of joint values (say $q \in \mathbf{R}^n$). However, as a Jacobian maps a joint velocity to an end-effector velocity, its dimension is not ...


5

The workspace of a manipulator is strictly determined by its kinematics. Since kinematics only consider the geometry of motion, without regard to forces and torques needed to accomplish tasks, you need the dynamics (and controls) to determine what motion profiles are achievable within the workspace. But those dynamics do nothing to determine the workspace ...


5

A hint towards what the answer is given in the paper. Namely, one can use the generalized eigenvalue decomposition, which in this case can be formulated as finding eigenvalues $\lambda \in \mathbb{R}$ and eigenvectors $v \in \mathbb{R}^n$ such that $$ (\lambda\,\Lambda - K_d)\,v = 0. \tag{1} $$ Consider two distinct solutions $(\lambda_i,v_i)$ and $(\...


4

http://en.wikipedia.org/wiki/Square-cube_law The square-cube law essentially states that larger robots are more fragile. "You can drop a mouse down a thousand-yard mine shaft and, on arriving at the bottom, it gets a slight shock and walks away. A rat is killed, a man is broken, a horse splashes." — J.B.S. Haldane, biologist Note that this only ...


4

Controllers type A more mathematical approach to the error. Suppose you have a close loop system like above. The equation is: $\hspace{2.5em}$ $Y(s) = \frac{G(s)C(s)}{1+G(s)C(s)} R(s)$ The error equation is: $\hspace{2.5em}$ $E(s) = R(s) - Y(s)$ $\hspace{2.5em}$ $E(s) = \frac{1}{1+G(s)C(s)} R(s)$ $\hspace{2.5em}[1]$ The final value theorem states ...


4

I will try to make it as simple as possible. Imagine you have a SCREW, when you WRENCH it, it TWIST forward or backward. From your wiki link The components of the screw define the Plücker coordinates of a line in space and the magnitudes of the vector along the line and moment about this line. It means that any system can be described as those ...


4

You can use the 'simplify' command , e.g : a=simplify(A*B) .This command is calculating some trigonometric functions thus making your expression shorter .


4

Friction would be your standard "sliding friction", and exerts a force opposing the motion, proportional to the load (or the normal-force of the load, when talking about your classic sliding), but independent of velocity. I suspect that "damping" is referring to viscous friction, which is not independent of velocity. Viscous friction would exert a force ...


4

In that context, SE means "Special Euclidean" group, e.g. SE(3) which is shorthand for "the special Euclidean group of rigid body displacements in three-dimensions". This paper may explain more.


4

The author appears to be writting in a self promotional style, where the details listed about other work are simplified or ignored so that their claim, that their approach is better, can be established. I suspect the author is making the statement 'for good reasons' because they don't really know. I would ignore their claims and go read their calculations ...


4

About why screw axes: According to Kevin Lynch in his video of Twists, "just like the time-derivative of a rotation matrix is not equivalent to the angular velocity, the time-derivative of a transformation matrix is not equivalent to the rigid-body velocity" (linear and angular). Also he mentions that, instead, "any rigid-body velocity is ...


4

I will use Mr. Richard Feynman's quote to answer your first question: Finally, we make some remarks on why linear systems are so important. The answer is simple: because we can solve them! Yes. As simple as that. Dealing with linear systems is well-understood. We can generalize any notion about linear systems, however, this is not the case with ...


4

The inverse dynamics of a robot is given by the relationship $\tau = D^{-1}(q, \dot{q}, \ddot{q})$ where $\tau \in \mathbb{R}^N$ is a vector of the required torque per joint and $q \in \mathbb{R}^N$ is a vector of joint coordinates. The function is a complex mixture of trig terms and robot kinematic and inertial parameters. Over the years various ...


3

It really doesn't sound very unexpected for your equations to become this long. Something that might help a little, is using assumptions for defining symbolic variables. x = sym('x','real'); y = sym('y','positive'); z = sym('z','integer'); t = sym('t','rational');


Only top voted, non community-wiki answers of a minimum length are eligible