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 ...


13

You're trying to find a formula to convert a given $(r, \theta)$ to left and right thrust percentages, where $r$ represents your throttle percentage. The naive implementation is to base your function on 100% throttle: At $0 ^{\circ}$, left and right thrust are equal to $r$ At $\pm45 ^{\circ}$, one side's thrust equals $r$ and the other side's equals 0 At $\...


10

To answer your first question: if you really want to find the true kinematic equations for differential drive, I wouldn't start approximating by assuming that each wheel has moved in a straight line. Instead, find the turning radius, calculate the center point of the arc, and then calculate the robot's next point. The turning radius would be infinite if the ...


10

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=\begin{bmatrix} x \\ y \\ \theta \\ \end{bmatrix} $$ For a robot moving in a 2D plane to be holonomic, it must have the ability to change any state ...


9

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 kinematics mapping. Due to the nature of $f$, computing the image of $q$ under $f$ (i.e. $f(q)$) is not difficult but computing the preimage of $x$ under $f$ (i.e. $f^{...


7

In order to answer my own question Configuration space and Joint space must be defined. Configuration space of a rigid body is a minimum set of parameters that can determine position of each point in that body or Configuration space is set of all possible configurations of that body. Configuration space of the end-effector is set of all possible positions ...


7

Motion Profile Generation In the past, I've used a motion profile generator to solve this problem. To use it you would need the desired target position (set point), maximum velocity, and acceleration values that are associated with your motors. It works by integrating a trapezoidal velocity curve in order to get a smooth position profile. An S-curve can be ...


7

I have been doing a lot of reading up on kinematic calibration and here is what I found: From [1]: A kinematic model should meet three basic requirements for kinematic-parameter identification: 1) Completeness: A complete model must have enough parameters to describe any possible deviation of the actual kinematic parameters from the nominal values....


7

Start with coordinate systems. I've drawn one example. In my analysis, if all $q_i = 0$ then the manipulator would point straight up. You can choose other coordinate frames to get the same result. Build your rotation matrices from the coordinate systems you set up. The rotation matrix from coordinate system $0$ to coordinate system $1$ is $$_0^1R = \...


7

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 for holonomic systems when they encounter a singularity, or for nonholonomic systems when they are commanded to move in a direction they cannot achieve. The ...


7

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, -1]^T$ has a norm of $\sqrt{2}$ which makes the rotation matrix invalid.


6

Yes, the Jacobian relates the joint velocities to end-effector velocity through this equation: $$ \mathbf{v}_e = \mathbf{J}(\mathbf{q}) \dot{\mathbf{q}} $$ Where $\mathbf{q}$ is the joint angles, $\dot{\mathbf{q}}$ is the joint velocities, and $\mathbf{v}_e$ is the end-effector velocity. As you can see, the Jacobian, $\mathbf{J}$, is configuration ...


6

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 transformation matrix from your camera to your object $T_{Object,Tool}$ If it cannot include any rotation, then you are right is should have the form as you specified. You ...


6

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, like @SteveO suggested is essentially the same process but someone else, in this case a symbolic engine, is doing the work for you. There are however different ...


6

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 begin to move around a circle with a particular radius of curvature. This means you also begin to experience centrifugal force. $$ F_c = mv^2/r $$ where $F_c$ ...


6

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{p}}^0=\dot{\mathbf{o}}^0_1+\mathbf{R}^0_1\dot{\mathbf{p}}^1+\dot{\mathbf{R}}^0_1\mathbf{p}^1. $$ Considering that $\dot{\mathbf{p}}^1=0$ as $\mathbf{p}^1$ is ...


6

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 conditions: Least squared error: There is no $\dot{q}$ vector which will get closer to $\dot{p}$ when passed through $J(q)$. (I.e. for $\dot{p}_{s} = J(q)\dot{q}_{...


6

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 orientations to a axis-angle representation and the angular velocity would simply be the axis times the angle divided by $T$.


5

First, here's what you CAN do with those sensors. Assuming you are not constantly accelerating you can use the accelerometer to know which direction is "down" (the gyro can be used as well for faster updates). If there aren't any magnetic field disturbances, you can also use the compass to know which direction is forward. Usually this is done using either an ...


5

In robotics the configuration space is exactly the joint space of the manipulator. Differently, to indicate the space where the forward kinematic law maps the joints configuration into, we use the terms task space and operational space, equivalently.


5

Aside from getting the final result as a composition of matrix multiplication, which helps a lot indeed, one crucial aspect of DH convention is the possibility of describing a rototranslation in terms of 4 variables only for each link (namely, the link length, twist, offset, and the joint angle), in place of the canonical 6 (i.e. 3 for translation and 3 for ...


5

Here is the traditional way. I think this is the kinematics of your arm, but am not 100% sure. Here are the DH parameters and transformation matrix: DH Parameters for the anthropomorphic arm with spherical wrist $$ \begin{array}{c c c c c} \\\hline \text{Link} & a_i & \alpha_i & d_i & \vartheta_i \\\hline \\1 & 0 & \...


5

For these sorts of problems, I always like to attempt to solve them myself. And they're surprisingly simple when you think about them geometrically. Parallel mechanisms are especially easy because each part of the mechanism can be considered separately, and each part is very simple. The base part (at the top of the image) contains three servo motors. Think ...


5

You can calculate the moment of inertia of a pendulum by measuring the period of oscillation for small amplitudes. Suspend the quad by one arm and give it a little push and time the period. It does work better for larger aircraft, measuring the period of a quad-pendulum will be tricky. Maybe get a video of the aircraft with a high framerate so you can get a ...


5

The math required to deal with the orientation error (in terms of error with respect to both desired position and desired velocity) is well described in the book of Sciavicco-Siciliano. See section 3.7.3 starting from page 137. I'm personally employing the axis-angle notation, thus I coded the formula (3.89) given at page 139 with correct results. In short,...


5

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 translation and rotation of the end-effector to the formula and you get a solution (or a set of solutions). (Sometimes knowing the current joint angles is better, ...


5

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 mouse (which drags the mechanism) travels only a small amount between two update periods, that means that the two solutions are close to each other. Each refresh ...


5

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 crosses don't hold the right hand rule in case you are using a right hand coordinate system.


5

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 configuration as they are computed from the Jacobian. You may also want to check out Yoshikawa's original paper on manipulability.


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