UPDATE: I am scrapping all of my controller and software interface. I am doing this because I learned how to do this the hard way. Looking back, starting from scratch on such an ambitious project was crazy.
In this remake I am going to use a completely different approach to the controller, leaving it expandable and affordable.
Here is what I propose:
- GPL licence for all code. Completely open from the start.
- base the robot on RTAI realtime linux.
- Use the OROCOS robot control framework to develop the control mechanisms
- Develop a method of multiplatform usage of controller. Make it high level interface not needing CPU power
- Design cheap, reusable modular motor interface and driver chips.
I am currently writing a wrapper for COMEDI that will access the controller components using I2C. This will be used with OROCOS.
This is the Robot arm that I have developed over that last couple of years. It is still not complete, due to the complesity of interfacing, but we have movement and sensor feedback finally.
The inspiration for the design was taken from a robot I saw at University. It was a TQ MA2000 robot arm. All of my design is based around this simple robot.
I even managed to get some of the same components as this Robot. (At least they look identical)
The robot is a 6Axis with each joing able to do 350 degrees of freedom. This is what I have so far:- an ARM 710 embedded processor running at 200MHZ. This controls the movement of the robot, calculating all of the trajectory and euclidian space transformations.
8MB RAM, 2MB ROM.
An A/D controller 10bit resolution. This samples the data coming in from the robot about each rotation axis angle. A motor controller for each of the six motors. Each one can handle a current of up to 6A
A fully function interface for KDE on linux (I don't know if i'm even going to bother porting it to windows). The interface can calculate trajectory information, perfrom calibration and monitor all of the sensors. It is now possible to play chess with the Robot using the interface.
Full step sequence programming.
I sequence of events can be programmed into the onboard eesom. These events can be 1000 steps in length, and can do single shot, or repeat looping. Interuptable programming with flow diagram decisions. Lets the robot choose an action based on the sensor input. I.E colour sorting.
Full Inverse Kinematic calculation (IK). Lets the robot go to any cartesian co-ordinates. This functionality is replicated on the embedded board
A full 3D simulation of the Robot written in OpenGL. Can control the robot position with the window in full 3D