13

After solving the problem, I created a keynote presentation explaining many details about hand eye calibration for those that are interested. Practical code and instructions to calibrate your robot can be found at handeye-calib-camodocal. I've directly reproduced some key aspects answering the question here. Camodocal Camodocal is the library I'm using to ...


9

It's called compliance. Gravity compensation by itself is not enough to achieve this, as well it is not mandatory. For example, if reducers with high reduction ratios are used, robot arm will be very stiff to move around. One way to make robotic arm compliant is to have torque sensors that can measure the differences in expected load (i.e. weight of the arm)...


9

Industrial robots (e.g. Kuka, ABB, Fanuc) use a control cabinet which has the following main components: Drive amplifiers (controllers): The drive amplifiers are responsible for the closed loop control of the motors in the structure of the robot (and the external axes, if present). The number of drive amplifiers usually matches the number of motors. Their ...


8

Both the forward kinematics and inverse kinematics aren't too difficult, but always a little tricky for parallel manipulators like this one. Consider the configuration in this diagram. The forward kinematics first involve solving for the position of the joint where you hold the pen from each motor joint separately and then equating the two. $\begin{bmatrix}...


8

The reason the robotic arm that you linked to does not move smoothly is that the commands given to it are not smooth. That type of actuator does not have any internal logic to generate a smooth motion from one point to another. Instead it tries it's hardest to go to the angle commanded using position control. Hobby servos use PID control and this control ...


8

In classical position control, the feedback controller only cares about the position error and is tuned to minimize it. This is done by using very high gains, i.e. if there is even a small position error, the controller counteracts by applying very high torques to the joints. It does not matter if there is a person or a concrete wall in its path; just ...


7

Your calculation of about 80 N⋅m torque for lifting 8 kg with a 1 m lever arm is ok; more precisely, the number is 8 kg ⋅ 9.81 m/s² ⋅ 1 m = 78.48 N⋅m. As mentioned in other answers, you will need to scale up to account for gear inefficiency. A simple calculation based on work shows that the Banebots RS-550 DC motor mentioned in the question is not powerful ...


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

In velocity kinematic, you can establish a relationship between the velocity of the end-effector and the joint velocities, $$ \begin{align} x_{2}(t) &= a_{1} \cos\theta_{1}(t) + a_{2} \cos(\theta_{1}(t)+\theta_{2}(t)) \\ y_{2}(t) &= a_{1} \sin\theta_{1}(t) + a_{2} \sin(\theta_{1}(t)+\theta_{2}(t)) \end{align} $$ where $a_{1}$ and $a_{2}$ are the ...


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


7

The core reason for choosing harmonic drives is desire for zero backlash. Moreover, regarding mass and size, they become more beneficial for higher gear ratios as their size and mass do not scale for higher ratios. More specifically, they take up very little axial space and use only one stage of reduction. They are beneficial for high precision tasks and ...


7

The "pump-looking" things are either hydraulic cylinders, or mechanical dampers if the robot is electrically driven. EDIT: I'll accept @50k4's identification as hydraulic springs. In the "what's going on back here" department, the long thin member is a linkage. It is part of a 4-bar parallelogram linkage which allows the forearm to be driven using a ...


7

Your expectations are rather aggressive for a DC motor. First - 40Nm (350in-lbs) is A LOT of torque! Ex: A max rated torque for 1/4-20 bolt is only 75 in-lb (8.5Nm). Second - The mechanical power of a motor results from RPM*Torque. 40Nm*100rpm is 0.56hp (420W at 100% efficiency). That is A LOT, about 1/2 of what today's high end cordless drills can do. ...


6

Not by merely looking at Jacobian but by looking at the Singular Value Decomposition of the Jacobian, one can see the degrees of freedom that are lost, if lost. Of course it technically somehow turns up to finding the null space but yet I guess it is somewhat familiar and easier. For example let the Jacobian be: $$J = \begin{bmatrix} -50 &...


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

There are very few problems having both toolboxes installed. The biggest gotcha is the function angdiff() which is provided by both toolboxes but defined differently. If you want to stick with MATLAB 2014b you should use RTB9.10.


6

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


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}_{...


5

You might be able to speed up the arm's movement in a purely mechanical way -- non-invasively. For example, you could extend the arm and use the rotation of the base to ring the bell. Or, you could coordinate the movements of all the joints to make the gripper pass the bell at a maximum speed. Another way to do it could be to have the gripper pick up a ...


5

2 kgs is not very much, so i would probably consider arms that are slightly less industrial than Kuka, ABB, Fanuc, Denso and the like. However, 1.6m is pretty long and that may be hard to find in non-industrial arms. Keep in mind there are many other factors to consider when choosing a robot arm. human safety, accuracy, repeat-accuracy, speed, workspace ...


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

Universal states that they use brush-less DC motors with harmonic drives on their FAQ here http://cross-automation.com/blog/universal-robots-top-10-faqs Bigger ones like the KUKA KR5 uses AC servo motors. From the conversation here https://support.industry.siemens.com/tf/ww/en/posts/kuka-servo-motor/87265/?page=0&pageSize=10#post344333 it looks it is a ...


5

To answer your questions about the motors/gearing: To lift 5Kg at 1 metre distance - the "shoulder" torque needs to be 500 Kg.cm or about 5000 N.cm. This is far above the torque of most model servos, so forget them; robots of this sort of performance generally use a specialist motor, much more than 12V and a purpose built gearing arrangement that probably ...


5

If it's your first time, better off try with a simulator to check that your program doesn't break the robot's constraints or security configurations. The most powerful simulator I came across is "V-REP", which is free for educational purposes. V-REP is the Swiss army knife among robot simulators: you won't find a simulator with more functions, features,...


5

For example, how does price vary with precision, speed, reach and strength? The price vary a lot, from a couple of hundreds of bucks to hundreds of thousands of dollars ( Willow Garage's the one-armrobot PR2 costs \$285,000 and The two-armed costs \$400,000 ), it goes up- as you can guess- whenever the robot arm is precise, fast, long, strong, ...


5

There are 2 (or 3, depending on how the planned lifetime of the robot is) thing thats you have to consider. Static load: The motors stall (zero revolution) torques have to be able to hold the weight in the robots most unfavorable pose (usually the arm stretched out). You can determine this by static modelling, that involves only an equilibrium of forces for ...


5

If you have no possibility to detect the obstacle apriori (e.g. with cameras, vicinity sensors...) If you already hit an obstacle and your position error increases, you can only detect the problem by the increasing position error or indirect by the increasing motor current. Most of the motion controllers, I have seen, have tons of configuration parameters, ...


5

This is going to depend on the style of motor in the servo and the style of gearbox. If the servo can't be back-driven when unpowered, then it's likely some form of a worm gear assembly that will prevent static force transmission back to the motor. This means that you won't be able to tell weight by current draw for holding position because the holding ...


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


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