Import of Robot models and objects from X3D format

Request and discuss missing features here.
mallwright
Posts: 35
Joined: Tue Apr 17, 2012 11:15 am

Import of Robot models and objects from X3D format

Postby mallwright » Tue Apr 24, 2012 12:22 pm

At the current development stage, it appears that the only way to add robots to the simulator is to described them visually using the OpenGL library functions. I believe it would be better if this could be done using a format that could be imported, as this would be more 'pluggable' like the rest of the simulator.

One format that would be particularly useful is X3D (http://en.wikipedia.org/wiki/X3D). This is nice as it describes the 3D bodies in XML, which is already supported by ARGoS through the tinyXML utility. It is also supported by the opensource modelling software Blender and would support most 3D software packages via conversion utilities.

Thoughts?

pincy
Site Admin
Posts: 632
Joined: Thu Mar 08, 2012 8:04 pm
Location: Boston, MA
Contact:

Re: Import of Robot models and objects from X3D format

Postby pincy » Tue Apr 24, 2012 2:48 pm

I think this is a really good idea. Do you know any freely available C/C++ library to manage X3D files? As an alternative, one could see if the Blender implementation itself is usable in some way.
I made ARGoS.

mallwright
Posts: 35
Joined: Tue Apr 17, 2012 11:15 am

Re: Import of Robot models and objects from X3D format

Postby mallwright » Tue Apr 24, 2012 3:08 pm

There are two libraries that I have initially found on Sourceforge, although more searching may reveal some better alternatives....

OpenVRML
http://sourceforge.net/projects/openvrml/

CyberX3D for C++
http://sourceforge.net/projects/cx3dcc/

The first project appears considerably more active than the second...

pincy
Site Admin
Posts: 632
Joined: Thu Mar 08, 2012 8:04 pm
Location: Boston, MA
Contact:

Re: Import of Robot models and objects from X3D format

Postby pincy » Tue Apr 24, 2012 3:39 pm

The last release of OpenVRML dates back to one year ago. That of CyberX3D is in 2004. I guess I'll have a look at the first.

Usually, in ARGoS I follow one of these approaches:

1. if a library is widely used and available as a package in many distributions, I just use the library and mark it as installation dependency;
2. if there's no package and the library is small in size and well done, I embed it in the ARGoS sources;
3. if there's nothing good out there, I write my own library.

For what I see, both libraries are not good for option 1. I'll see what I can do for option 2.
I made ARGoS.

mallwright
Posts: 35
Joined: Tue Apr 17, 2012 11:15 am

Re: Import of Robot models and objects from X3D format

Postby mallwright » Tue Apr 24, 2012 11:28 pm

Hi pincy,

Also note that the OpenVRML project has had 300 downloads in the past week, indicating that some people must be using it for something... I suppose the reason why the last update dates back to last year could be because the developers feel that the library implements all the desired features and has been verified through testing. Although this seems strange from the perspective of most software projects, for a library with a very specific function, it is possible that this project is considered complete by the developers...

I had a look at how Blender handles the task of converting models into that X3D format. It appears to be done using a python script which recursively traverses the model adding the XML nodes as it goes. So unfortunately there is no package in blender that we can add as a dependency.

Furthermore, note that the Blender script(s) only allow the export of X3D, not import. So while this doesn't affect the goal of importing models from Blender to ARGoS, it does mean that the Blender components can't directly be used as a guide to writing an importer for the ARGoS system...

pincy
Site Admin
Posts: 632
Joined: Thu Mar 08, 2012 8:04 pm
Location: Boston, MA
Contact:

Re: Import of Robot models and objects from X3D format

Postby pincy » Wed May 02, 2012 1:24 am

Randomly wandering across the net I found this library: http://www.horde3d.org/. It looks really cool and supports the inclusion of 3D models. Checking the forum, it seems that it is possible to combine this library with the Qt graphics context. If this is the case, we may have a winner. I'll look into it further and report.
I made ARGoS.

mallwright
Posts: 35
Joined: Tue Apr 17, 2012 11:15 am

Re: Import of Robot models and objects from X3D format

Postby mallwright » Wed May 02, 2012 10:19 am

That does seem like a good library! Also COLLADA format support seems to be growing with native viewing in OS X and being the main format in Google Earth and Google SketchUp

Solidworks also seems to have an exporter for it =D (http://labs.solidworks.com/products/pro ... ladaexport)

Elendurwen
Posts: 41
Joined: Sat Aug 24, 2013 5:08 pm
Contact:

Re: Import of Robot models and objects from X3D format

Postby Elendurwen » Wed Oct 25, 2017 12:37 pm

Hi, I was hoping to get an update on this thread, as it was started 5 years ago.

Is there a good way of importing 3D models and making them collide and otherwise interact with other objects in an ARGoS scene? I have a project where we have detailed 3D models of buildings and of robots that are done by different people who are not necessarily programmers so coding models by hand is not an option for us.

I currently have models in AutoDesk format, e.g. .obj

Lenka


Return to “Feature Requests”