This requirement is for a charitable organization engaged in providing funding for high schooling to deserving candidates in third-world countries specially India. They are working towards getting students from 5th grade onwards more interested in science and technology fields. To this end they are sponsoring a proposal of creating a virtual robot modelling environment.
As a phase 1 deliverable, we are looking for a web-based software platform where students can virtually put together 3 dimensional pieces of a robot kit and build something in virtual space. The model of choice for this assignment will be the Mindstorms NXT. For Phase 1, gear movement or motor working functionality is out of scope but the software needs to factor in such a future requirement and be compatible with that.
As phase 1, it is required that the student is able to login and save their work. They have a 3-d modelling space where they can pick items from their pallette and put them together based on the joints on each piece, students are able to move them on their axis of movement as constrained by the joint on each piece and laws of physics (like usual stretch in the soft-rubber components of the kit). Students should also able to rotate the entire model on any axis plug pieces on another end.
The software needs to be flexible enough to allow new pieces to be uploaded in the software and join points/movement axis/stretch/strength of the pieces be specified. Scanning all the pieces of the Mindstorms NXT kit and putting them in a 3-D model and/or recommending an automated solution for the same will be a part of this project.
Our legal team is working on licensing requirements for such an effort with any toolkit we use. In the extreme scenario that we are unable to get the required licensing from Mindstorms on the NXT kit, the software should be flexible enough to accomodate another robot development kit.
Phase 2 functionality as currently outlined requires feedback motor and sensor functionality. At this stage this will be very close to a virtual physics engine simulation environment currently used for development of robotics. It will just be less accurate and web-based. Identifying technologies and creating a road map for phase 2 will be part of this project.
The software needs to be based on free and open source technologies.