[Robotics] Robot and scene creation with ORS

Gilberto Echeverria gilberto.echeverria at laas.fr
Wed Jan 6 16:30:02 CET 2010


Greetings and happy new year to everyone!

I have just uploaded some videos showing how to use the Open Robots 
Simulator (ORS) in its current form.
The videos can be found in the Vimeo group:
http://www.vimeo.com/groups/blenderandrobotics/videos/8572903
http://www.vimeo.com/groups/blenderandrobotics/videos/8573292
or in YouTube (these include annotations and comments that explain what 
is going on)
http://www.youtube.com/watch?v=YfeWHlKBWIw
http://www.youtube.com/watch?v=LrgJNvNgYR8

Basically they show the process of building a robot, and a scene, using 
the components developed so far in the project.
It is all based on linking the components from other .blend files into 
the new scene. There is also a simple explanation of the process in the 
Wiki of Blender for Robotics: 
http://wiki.blender.org/index.php/Robotics:LinkComponents
The source files used for these examples can be found in the project's 
Launchpad site:
https://code.launchpad.net/~blender-for-robotics/openrobots-simulator/ors
Installation instructions can also be found here:
https://answers.launchpad.net/openrobots-simulator/+faq/844

This setup is now usable, however, the process of linking is very 
delicate and error prone. The main issues are:

- Linking a complex object from a .blend file means selecting all the 
objects needed from that file. This is a problem where there may be many 
objects in a blend file, but we only want to include some. It is 
possible to do Append of a Group of objects from another file, but for 
some reason, dong a Link of the same Group does nothing. Discussing 
among the members of the ORS project, we think the ideal solution would 
be to modify the linking mechanism so that it is possible to link an 
object, and have all its child objects automatically linked as well. 
This also ties in with another of the current problems...

- Using the files in the videos as an example, if I have already linked 
my robot in the scenario, and latter decide to add another camera to the 
robot, the linked copy in the scenario will not be updated, so it is 
necessary to add the camera in that file as well. This defeats the 
purpose of doing the links. Again, this could be solved if the linking 
could be done for an object and all of its children, and then 
recursively passing the same link information to other linked files.

- Linking objects from another blend file creates an object that can not 
be moved or parented in the current file. This linked object has a cyan 
outline when selected. The best way to make the object usable that we've 
found it to make a duplicate of it using Alt-D. This creates a copy of 
the object that can be modified in the current file, with a pink 
selection outline. Unfortunately, part of the link functionality is lost 
for this copy. Modifications in the original file will be reproduced in 
the cyan object, but not in the pink one, particularly in the case of 
changes to the logic bricks. And in any case, changes to the Game Logic 
Properties of an object are never replicated in linked copies. This is 
probably a problem only for this particular application of Blender, but 
would it be too disruptive to other users of Blender if linking gave you 
an editable copy of an object, instead of a the static cyan copy?

- Another issue with the logic bricks is the inability to copy them from 
one object to another. We've found many times that we want to reproduce 
the behaviour of an object into another, but there is no other option 
than to manually re-do all the logic bricks all over again.


In summary, for the ORS project, we would like to propose some changes 
to the link mechanism of Blender:
- Linking the children of an object automatically when it is linked in 
another file
- Make the linked copies of an object immediately parentable/movable in 
the new file
- Streamline the functionality of the logic bricks. Have them propagate 
well across multiple linked files, and add the possibility to copy and 
paste logic bricks between objects

Probably Benoit will be able to tell us if these requirements are 
possible. We think they would be useful not only for this project, but 
for Blender users in general. In any case, we would be willing to help 
in any way we can to improve this functionality.


Looking forward to hearing the feedback from the mailing list.
Best regards

Gilberto Echeverria




More information about the Robotics mailing list