In the past I built some simple robot arms at home, using RC servo motors or stepper motors (till 3dof). I would like to build a new arm with 4dof or 5dof with the steppers. Until now I used Arduino and A4988 stepper drivers and Gcode. For calculating inverse kinematics in real time for a 4dof or 5dof I think the Arduino is not enough powerful. So I'm searching for a new tool-chain Gcode Interpreter + inverse kinematics calculation + stepper controller. I see LinuxCNC + beaglebone black + cnc cape. Not too expensive for an hobbyist. But this is the only possibility I found. There are other possibilities for an hobbyist to implement a 4dof or 5dof robot arm working with the stepper motors?

  • $\begingroup$ You could also ask yourself whether you really need to calculate inverse kinematics in real time. For most applications, e.g. trajectory following, it is not at all necessary. $\endgroup$ – JJM Driessen Oct 11 '15 at 13:54
  • $\begingroup$ I would build a drawing robot arm. I think the real time inverse kinematics is necessary. $\endgroup$ – Alessandro Oct 12 '15 at 18:47

Yes, I doubt you will be able to do much inverse kinematics on an Arduino. You will probably want a 32 bit processor that can handle floating point math a little easier.

As JJM pointed out, depending on what you are doing, you might not need IK. Nevertheless, for a fast IK library, check out ikfast.

  • $\begingroup$ Floating point is not mandatory. You could use hard coded tables for sine or other functions and put the table in the flash of the micro controller. $\endgroup$ – nFu9DT Dec 16 '15 at 23:45
  • $\begingroup$ True. I found this fixed point math library (libfixmath) a while ago. I have never had cause to use it yet, but it might be worth checking out. $\endgroup$ – Ben Dec 17 '15 at 18:18

You could use the Arduino for the input/output to your motors and sensors, but do the actual calculation on a raspberry pi. They can communicate trough the I2C bus.

For the raspberry pi this I2C bus is implementend on the gpio pins. How to communicate trough this bus from the os i do not know (I haven't tried) but I am sure that others have, so you should be able to find resources for that. This will give you the extra computer power you need to do your IK calculations.

Or do you really want to keep your calculations on your arduino?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.