Society of Robots - Robot Forum

Software => Software => Topic started by: nrox on September 03, 2013, 02:02:39 PM

Title: Robot design software
Post by: nrox on September 03, 2013, 02:02:39 PM
Hi,
I released an online software to model, simulate and program robots. This is the link:
https://assemblino.com/
It's on an early stage, so all the feedback is welcome.
Best,
Nuno
Title: Re: Robot design software
Post by: mugur on September 12, 2013, 09:56:47 AM
Very nice work!!!!!  :)
Title: Re: Robot design software
Post by: nrox on September 14, 2013, 09:50:27 AM
How should it be better?
Title: Re: Robot design software
Post by: nrox on September 21, 2013, 08:16:34 AM
A recent example:
https://assemblino.com/show/Playground22760352.html

Though the graphics look crappy, its a matter only of how components are programmed.
In this early stage not much of effort is done on the looks, just on basic functions.
Title: Re: Robot design software
Post by: jwatte on September 21, 2013, 02:08:37 PM
I find that the hard parts are not the general "here's a servo and here's a lever" but the specifics of how thin/thick the connection brackets should be, what the hole patterns are, whether a particular joint will move into interference with another part, how to properly run the cables, etc.

Thus, a robot simulator that removes all of those restrictions doesn't tell me anything more than pen and paper would.

There is one other area where robot simulators can be useful, even if they do not use detailed mechanical measurements: When trying to build control software such as walk-and-stay-upright algorithms for bipeds, or detect-world-and-plan-paths for navigating robots, it's useful to be able to throw a number of different test cases at the algorithm without needing to build them in real life.
However, to support that, you have to have good models of the sensors (distance, ultrasound, gyro, etc) with their limitations and latencies, and a decent model of how the robot actuators move (I think you could get this in your program,) AND the ability to pipe those virtual sensors into the actual algorithm being run. If the actual algorithm is being run in a microcontroller or embedded computer, doing that from a web page seems hard.
Title: Re: Robot design software
Post by: nrox on September 24, 2013, 11:54:09 AM
I actually thought about adding wiring to elements. That's not so much of a difficulty to implement. Then one could play a bit with the places cables pass...

The joints interference you can actually see them, as you can control each joint with sliders in the Interaction » Controllers menu. The quality of the simulation has some problems still.

I agree that robot simulators can be precious to help implementing control algorithms, try several possibilities and scenarios, teach the robot, as in this experiment https://assemblino.com/assemblino.html?id=20123372 (requires WebGL and Chrome). The model is rough, and the neural network is trained with a relatively small set of examples, but the point is just to show, give an example, of how a simulator can be used for training.

This project follows some ideas that have been around since Node.js appeared. Node.js allows to do system programming with Javascript. Some people are controlling their arduinos from the browser, trough node.js and firmata.js. Others are controlling their homes from abroad, with a browser. I also did some experiences using an assemblino model to control the arduino based model. It works! In this way you can have the same code running you simulation model controlling you arduino model (https://assemblino.com/assemblino.html?id=20689749).

The online tool, in the website is useful mainly to share components and show ideas, access them anywhere, let others tweak and play with it. Nonetheless you can use your own IDE to program components and make assembles locally and interface assemblino in a local port with arduino boards. This is documented.

As this is an open source, free software (MIT license, do whatever with it), you can follow the development on GitHub. Meanwhile I will make improvements on some aspects during the following months. At this stage what you see is just a bit more than the backbone, which actually gave a lot of work. Most of the work further on is to program components, like sensors and actuators, maybe some already built assembles, and some controllers or intelligent algorithms.

Thanks for your feedback. I appreciate it very much! I will try to blog a bit around this.



 

Title: Re: Robot design software
Post by: jwatte on September 24, 2013, 10:43:52 PM
The joints interference you can actually see them, as you can control each joint with sliders in the Interaction » Controllers menu. The quality of the simulation has some problems still.

I agree that would work for obvious "foot up the belly" problems.

Here's a recent problem I had: I had a bracket at 3mm thickness, but there was only about 2.5mm clearance when the screws from the horn were calculated in. Solution: Chamfer the edges of the bracket so they just cleared the screw heads.
Autodesk Inventor could have told me that, had I modeled it out in detail. But I didn't :-)
Title: Re: Robot design software
Post by: nrox on September 28, 2013, 05:26:57 AM
For that kind of precision, if the robot construction is sensitive to rigorous dimensions,  I would not recommend assemblino.js. It's purpose is to have an idea of how the configuration works, and how the programming or training should be, simply playing around with different combinations. It would be useful at early stages of development and for prototyping.