One of the most complex areas in robotics and animation is Inverse Kinematics. It is fairly easy to do a forward solution, when movements of the machine elements are known and the final result should be found. More complex task is to specify the final result and find movements of the machine to achieve this result. What is machine? In fact, it can be a robot, a car, a human body, an animal, a game avatar, a prosthesis etc. Anything that requires complex trajectories and precise control.
The applications are wide. Some of them are:
- Manufacturing - CNC machining, welding, 3D printing... It is guiding industrial machines to perform specified tasks.
- Game and movie industry - moving characters not by predefined scripts, but by specified targets, laws and trajectories.
- Robotics - handling complex machines with many flexible joints in real time.
- Factory design. Synchronization and optimization of multiple moving objects.
- Medicine. Prosthetics.
The problem is, that there is no known approach, which can handle arbitrary machine configuration and do it fast. Either it is a special configuration of the machine like wrist configuration, which has inverse analytical solution, simplifications like in this article or very intensive computations, which take a lot of time.
TIME TO MOVE FORWARD!
This project is about writing the software that can solve theoretically arbitrary complex machines and do it fast.
If you want to understand better what it will be, take a look at the project video. The video shows 2 stages of the work in progress. The first part is a working prototype for the 7-axis industrial robot, written in HTML, Javascript and using a three.js library for rendering. It shows a standard Kuka 7-axis robot. The first part shows forward kinematics, then inverse. In the last part of the video the work in progress is shown over production version of the software, which will allow to create complex machine, calculate their movements based on paths, directions, optimizations, etc. As graphics system Ogre3D project was selected, which is well known in the game industry for its advanced rendering capabilities. Video here shows commercial implementation of the similar algorithm, but with less capabilities and speed than is under development in the proposed project. In fact, the algorithm was successfully tested and used on 12+ axis of Fanuc robot configurations.
And you can use this example to test the early prototype.
Backers of the proposed project will have a chance to make the impossible possible. New amazing games, machines, which cannot be controlled yet, agile robots, sophisticated prosthetics! Don't miss a chance!
More information on the elements used in the project, project progress will be available on the MeerCAD site. Project backers and all interested are encouraged to register at this site. Alpha and beta releases will be available there for download, bug reporting and feature request tools. The features will be enabled depending on the supporter level as described in the Rewards section of the project.
Features:
For the minimal level of funding the following features will be included:
- Robot configurator, which will build standard kinematic chains from the standard components like the elements of robot arms, linear axes, pivot joints, tripod machines, hexapod machines and combinations of the elements connected in the chains.
- Check that element movements are within limits.
- Collision check between elements.
- Inverse solution of the built machines.
- Import of the machine element geometries using open standards like STL, STEP.
- Import of trajectories using open standards like ISO 3592-1978 and ISO 4343-1978
Future development will include features like:
- Advanced machine control and simulation.
- Simultaneous work of multiple machines.
- Advanced optimizations.
The main challenge of the project is a sheer amount of work to be done. That's why the author is looking for your support to concentrate on the project. All main components are known and well working. For new advanced algorithms critical prototyping had been done and things are working. It is necessary now to combine the pieces together, build commercial grade software, build proper website. All this require time and resources. The target stated in the project is enough for the author to complete it within one year alone. The more pledges made, the quicker results will be available, more advanced features included and there are many of them on track.