New Sensor Functionality and other Features

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

New Sensor Functionality and other Features

Rosen Diankov-2
One of the newest features of OpenRAVE is the addition of a Sensor
interface and the capability to attach these sensors to any link in a
robot. The attached sensors can be specified in XML robot files just
as manipulators. There's an implementation of a 2D laser called
BaseLaser2D, which serves as a great starting point for anyone wanting
to implement other sensors like cameras or 3D lasers. You can check
out a simple tutorial here on how to combine all this:

Another new feature is the addition of many plotting modes for
OpenRAVE. They can be accessed through the EnvironmentBase class or
orEnvPlot. orEnvPlot should now be able to draw points, lines,
triangles, and spheres. It is designed to be similar to how the Matlab
plot3 function works. Note that each plot call returns a handle. To
close that particular plot call orEnvClose on the handle. Calling
orEnvClose() will close all plots every started by Octave/Matlab.

There were some comments recently on the default plugins directory
that OpenRAVE reads from at startup. Although it isn't necessary to
put your plugin there, it makes it very convenient. To increase this
convenience when configuring a project, all plugins now by default
will install to that directory without needing --prefix specified. Use
`rave-config --plugin-prefix` to get the correct plugins directory.

There were also some changes in the way simulations are handled. It is
important to note that the simulation loop and physics are two
different things. The simulation loop is meant for anything that gets
information from the openrave world or acts on the openrave world.
Stopping the simulation means SimulationStep won't be called anymore,
and objects will stop moving/updating. By default, the simulation is
started. By default, the physics engine is set to NULL, to set to ODE
(or any other engine) check out the example at

You can temporarily disable the GUI from updating any new OpenRAVE
scenes using orRender. This is useful when initially setting up a
scene and many objects have to be loaded.

Finally, if anyone is looking at a great starting point, I recommend
looking at the logging plugin.


laser_range_finder.png (109K) Download Attachment
openrave_plotting.png (8K) Download Attachment