[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