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

This project is a great starter project for a programmer trying to get into robotics because it doesn't require a lot of knowledge or experience. Though it does require a small investment. The arm itself is one of the LynxMotion Arms though I don't remember precisely which. An SSC-32 was used to interface the arm with the controlling computer. The SSC-32 ...


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

This sounds like a classic case for a PID controller. The "derivative" part of this controller will help prevent the arm from oscillating as you move to a new angle, and the "integral" part will help counteract the force of gravity acting on the arm.


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


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


7

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


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


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

If I understood correctly, you are referring to robotic tendons. There is a lot of material on the subject if you search google.


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

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

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