"It is good to see you are still active with robotics!
"
Yes, six years is a really long time in any technical field. I had originally gotten my old T-HEX running with a Pico-ITX board, but it sucked down power like crazy, and it lacked a lot of features I wanted it to have. That T-HEX is a really nice platform although the original SSC-32 is rather dated, it still runs like a champ. Really good kit, and I noticed you guys still sell it.
"Is the IOIO-OTG board you use the same as / similar to RB-Spa-1384?"
Yep, that is the board. Notice when you click on the link it says “IOIO-OTG by Sparkfun.” The version I use is actually this: sparkfun.com/products/13613 because it doesn’t come with the headers–which lowers the profile somewhat. The RB-Spa-1384 also doesn’t come with the USB dongle–the cable is convenient and saves you the trouble of having to build one yourself. For those that don’t know the RB-Spa-1384/IOIO is a really useful board. I’ve used it in other projects–I even fixed my grandson’s remote-controlled train (remote control broke), by replacing the train’s innards with an IOIO board and writing a quick android app to send signals to it.
Also, an alternative would be to use the RB-Lyn-851 (SSC-32U + Bluetooth module). **If you prefer using Bluetooth 4.0 BLE, you can instead get a SSC-32U by itself and combine it with a Bluetooth 4.0 BLE Bee device, such as the **RB-Dfr-546
I considered going down this route, but I really need more I/O pins. My goal is really to upgrade the T-HEX with a simpler/cheaper solution. Although the use of the Android eliminates the need of a separate GPS, compass, gyroscope/accelleration, Wifi, temperature, camera, vibration sensor, status display etc… I still need inputs for radiation, tactile pressure, LIDAR and FLiR, etc. So an SSC-32 solution would work great for the Arm, but would not necessarily give me a proof-of-concept for T-HEX.
I’ve noticed the source code includes 2D and 3D chain and joints files. Is your current app using a simpler 2D inverse kinematics or is it doing full 3D inverse kinematics (or something else?). I did not delve into the source too much yet.
FedUni’s Caliko library is pretty fabulous. It supports both 2D and 3D inverse kinematics. I originally tried using 3D (because it would’ve been cool) but quickly ran into two snags. The first is that Caliko would occasionally “snap” through the constraints (and I was never sure why, but it is documented in the Caliko project’s issues). And second, well manipulating a 3D representation of a robotic arm using a 2D smart device touch screen was… well, difficult and inaccurate. I will probably reapproach the 3D-input problem once I got Fluffy (my T-HEX robot) upgraded.
So my app uses simpler 2D inverse kinematics to control the two bones that make up the arm. Separate gestures control the base, wrist, and gripper.
The Caliko library, by the way, already solves the 3D kinematics problem. Pretty much, you construct a Fabrik3D chain by adding “bones” to it. Then tell the chain to solve for a target given X, Y, Z coordinates. And the library does the rest of the work for you. So my major problem with 3D wasn’t the inverse kinematics, it was how do you represent an exact 3D coordinate using 2D Android gestures? A very interesting user interface question whose solution, sadly, has absolutely no bearing on the T-HEX problem.
You can find out more about Caliko here: github.com/FedUni/caliko, and they have really nice video demonstration (the software is part of the project) here: youtube.com/watch?v=wEtp4P2ucYk .
For those wanting to use Caliko for their own Android projects: be aware that Caliko does not build or run in Java 1.7, and therefore will not run in Android. It’s the only reason why my project includes the Caliko source for now–and this is really worrisome for me because the Caliko team is frequently making updates to their code. I’ve corresponded with Alastair Lansley with the hope that at least the core jar file would be released with 1.7 compatibility.
Thanks for the comments and ideas. When my T-HEX (I call her “Fluffy”) is finished, I’ll post a video here.