17 votes

Position Control vs Velocity Control vs Torque Control

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 ...
Mark Booth's user avatar
  • 4,243
16 votes

Position Control vs Velocity Control vs Torque Control

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 ...
Chuck's user avatar
  • 16k
10 votes
Accepted

Holonomics Movement vs Holonomics Constraint

You can look at degrees of freedom as if they were the number of variables that you need to use to describe your system. So, for a robot moving in a 2D plane, its state would be represented by: $$ s=\...
Chi's user avatar
  • 224
9 votes
Accepted

Understanding the Robot Jacobian

Let's start from the forward kinematics equation $$x = f(q),$$ where $x \in \mathbf{R}^6$ is the end-effector position, $q$ is the joint angles, and $f$ is a (usually highly nonlinear) forward ...
Petch Puttichai's user avatar
8 votes
Accepted

Wrong forward-kinematic after calculating from DH-parameters

Your professor has made an error, but he or she is only human. The upper-left 3x3 matrix must be an orthonormal rotation matrix. Every column of that must have a unit norm. The second column $[0, 1,...
Peter Corke's user avatar
  • 1,692
8 votes
Accepted

Cartesian Velocity Control between Two 3D Poses

You essentially want to find the time derivative of a linear interpolation between two rotations. The easiest way to obtain this would probably to convert the rotation matrix between the two ...
fibonatic's user avatar
  • 941
7 votes

Computing the Jacobian Matrix -- chain rule?

Writing the equations by hand and deriving them is certainly the best way to understand what is happening "in the background". Generating the equations and deriving them using a syombolics engine, ...
50k4's user avatar
  • 6,652
7 votes

What is the best SE3 library for python?

Writing your own package is always the best way to learn. If you want to try something premade here are a few packages to choose from: Spatial Math Toolbox for Python Python3+numpy+scipy, also ...
Peter Corke's user avatar
  • 1,692
6 votes
Accepted

inverse kinematics for 6 jointed robots

I would recommend changing the naming convention since it is a bit misleading. In robotics the world Coordinate system (CS) is usually your fixed, absolute coordinate system. Lets call the ...
50k4's user avatar
  • 6,652
6 votes
Accepted

Difference between an underactuated system, and a nonholonomic system

They are different things. An underactuated system does mean that the number of independent control inputs is fewer than the number of degrees of freedom you are trying to command. This can happen ...
SteveO's user avatar
  • 4,386
6 votes

Is there any robot stability control equation that describes the relation between velocity of the robot and its orientation?

That's not obvious. If I'm in a tank, going 0.5 km/h, I don't need to slow down at all. If I'm in a bobsled going 100km/h and the track banks, I don't need to slow down at all. When you steer, you ...
Chuck's user avatar
  • 16k
6 votes
Accepted

Extended Kalman Filter in robotics - Worth it?

The Kalman filter is an optimal linear filter in the presence of Gaussian noise. It is optimal in the sense that it minimizes the mean-squared error. This means that the covariance of the estimated ...
Parker Lusk's user avatar
6 votes
Accepted

Using pre multiply or post multipy for rotational matrix to get a new homogenous transformation matrix?

When working with rigid-body transformations, it is crucial to understand which coordinate frame the transformation is defined in. Further, there are different notations for this, so it is important ...
Parker Lusk's user avatar
6 votes
Accepted

question about spatial velocity in the book <modern robotics>

A coordinate transformation of a point P from Frame 1 to Frame 0 is given by: $$ \mathbf{p}^0=\mathbf{o}^0_1+\mathbf{R}^0_1\mathbf{p}^1. $$ Differentiating with respect to time gives: $$ \dot{\mathbf{...
Ugo Pattacini's user avatar
6 votes
Accepted

Why with the pseudo-inverse it is possible to invert the Jacobian matrix even in a singular configuration?

The pseudoinverse gives a “least squared error, minimum-norm” solution: Out of all $\dot{q}$ vectors at your current $q$, the vector $$\dot{q}_{s} = J^{+}(q)\dot{p}_{\text{in}}$$ satisfies two ...
RLH's user avatar
  • 619
5 votes
Accepted

Does Inverse Kinematics need the current joint angles?

It depends on the method that you use for computing an IK solution. If you have an analytic formula for IK solutions then you do not need the current joint values of the robot. You just plug in the ...
Petch Puttichai's user avatar
5 votes

How do CAD programs solve for Inverse/Forward Kinematics problem in Assembly?

EDIT: Improved based on the comments below. If you have a CAD assembled, that means that you have one valid configuration given. You move the TCP (Tool Center Point) only a small amount, since your ...
50k4's user avatar
  • 6,652
5 votes
Accepted

Confusion in fixing DH frames

The updated image solves the problem. You did not consider the end-effector coordinate frame earlier. Also, the crosses (going into) in the diagrams should be replaced by dots(coming out), because the ...
Aniket Sharma's user avatar
5 votes
Accepted

How can serial manipulator have unique condition number for given end effector position?

Condition number and manipulability are measured at a specific joint configuration, not end-effector location. You already understand it correctly that the values change according to the robot ...
Petch Puttichai's user avatar
5 votes

Inverse Kinematics problem formulation (optimization)

The formulation is typical for redundant robots, in which there are an infinite number of joint velocity vectors that could satisfy the $\dot{r}_{t}$ goal. In the version you cite, the $Q$ matrix ...
SteveO's user avatar
  • 4,386
5 votes

Screw based Jacobian

The geometric Jacobian provides all the information you need for singularity or manipulability analysis. Linearly dependent columns correspond to joints with parallel axes. More information about ...
Peter Corke's user avatar
  • 1,692
5 votes
Accepted

What is the best SE3 library for python?

ROS's tf.transformations.py has self-contained code for doing these functions and can be used without installing ros. In fact, the python code only depends on numpy! transformations.py
Ari Onasafari's user avatar
5 votes

Struggling to understand Jacobian Inverse Kinematics

You will find it helpful to keep the physical robot and the math separate. The kinematics equations map joint parameters (which are often grouped as a vector $q$) to Cartesian coordinates ($x$,$y$,$z$...
hauptmech's user avatar
  • 4,415
5 votes
Accepted

How do I find the inverse kinematics of a 5-DOF manipulator having the following DH parameters?

A general IK solution is not possible for an arm with less than 6 joints. You can move the gripper to any point (within reach) but you can't completely control the orientation. If you fix the ...
Peter Corke's user avatar
  • 1,692
5 votes

State Space model for bouncing ball

Matrix notation in general is nice because of how compactly you're able to write and especially read everything, similar to using descriptive variable names in programming or performing algebra with ...
Chuck's user avatar
  • 16k
5 votes
Accepted

How can Denavit-Hartenberg representation with only 4 variables describe rototranslations with 6 DOF?

In general you need 6 parameters to describe the position and orientation of any joint with respect to a link coordinate frame. The DH parameterisation includes 2 constraints so only 4 parameters ...
Peter Corke's user avatar
  • 1,692
5 votes
Accepted

How do I compute the derivative of the Jacobian with Matlab?

To answer your solution, specifically, all you need to do is: ...
Spaceman's user avatar
  • 344
5 votes
Accepted

Chebychev–Grübler–Kutzbach Formula of Degree of Freedom

You can check here how to apply the formula to a parallel robot. For a 6DOF Stewart platform $$d = 6\,n - \sum_{i= 1}^{m}\left( 6 - f_i\right)$$ $n = 13$ links, $m = 18$ joints, six of which with ...
50k4's user avatar
  • 6,652
5 votes
Accepted

Redundancy and Null space projection

If you multiply both members of the equation (3.9) by $J$, you'll get: $$ J\dot{q} = JJ^+v + \left( J -JJ^+J \right)\dot{q_0}. $$ Then, we can exploit that $JJ^+=I$, obtaining: $$ J\dot{q}=v, $$ which ...
Ugo Pattacini's user avatar
5 votes
Accepted

cartesian velocity control loop implementation

The orientation error is not simply subtraction of your current pose and the desired pose. Given $\mathbf{R}_{a}, \ \mathbf{R}_{d} \in \text{SO}(3) $, where $\mathbf{R}_{d}$ is your desired ...
domo_arigato's user avatar

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