Putting objects into openrave

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Putting objects into openrave

garratt
Hi all,

I'm trying to display objects in openrave in response to object
detections in ROS (I have my own object detector).

it seems like I should be using orrosplanning, and define a sensorsystem
in my environment, however I can't find any examples of this.

Does anyone do this? I'm unclear on how objects get defined, what
messages are needed, and what parameters I put in the environment file.

Thanks
Garratt




------------------------------------------------------------------------------
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Putting objects into openrave

Huan Liu
Hi Garratt,
The way I did it was to generate an XML file for the object and load
the file in openrave. Openrave recently supported the <vertices> tag
in XML to let you define a trimesh.
Huan

On Tue, Apr 20, 2010 at 5:15 PM, garratt <[hidden email]> wrote:

> Hi all,
>
> I'm trying to display objects in openrave in response to object
> detections in ROS (I have my own object detector).
>
> it seems like I should be using orrosplanning, and define a sensorsystem
> in my environment, however I can't find any examples of this.
>
> Does anyone do this? I'm unclear on how objects get defined, what
> messages are needed, and what parameters I put in the environment file.
>
> Thanks
> Garratt
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users
>

------------------------------------------------------------------------------
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Putting objects into openrave

Rosen Diankov
Administrator
hi garratt,

This is an excellent question, perhaps it deserves a wiki entry.

i recommend the orrosplanning ros package, inside you will find the
ObjectTransform sensor system, which excepts messages of
checkerboard_detector::ObjectDetection

ObjectDetection holds a set of objects with their poses and
corresponding 'types'

the 'type' actually contains the filename of the object to open into
openrave. You can easily start the sensor system from the openrave
environment xml file by adding:

<sensorsystem type="ObjectTransform expirationtime 2.0 topic
/objectdetection/topic thresh 0.05 robot NAME">
</sensorsystem>

The parameters should be self-explanatory. Also for "type" you can
directly specify a ROS-relative path by using the package://
convention. For example, if your openrave model lies inside a mypkg
ros package, then you can use:

package://mypkg/myopenravemodel.kinbody.xml

openrave will display any number of objects (and types) publishes on
this topic and will handle tracking them.

hope this helps!
rosen,

2010/4/21 Huan Liu <[hidden email]>:

> Hi Garratt,
> The way I did it was to generate an XML file for the object and load
> the file in openrave. Openrave recently supported the <vertices> tag
> in XML to let you define a trimesh.
> Huan
>
> On Tue, Apr 20, 2010 at 5:15 PM, garratt <[hidden email]> wrote:
>> Hi all,
>>
>> I'm trying to display objects in openrave in response to object
>> detections in ROS (I have my own object detector).
>>
>> it seems like I should be using orrosplanning, and define a sensorsystem
>> in my environment, however I can't find any examples of this.
>>
>> Does anyone do this? I'm unclear on how objects get defined, what
>> messages are needed, and what parameters I put in the environment file.
>>
>> Thanks
>> Garratt
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Openrave-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users
>

------------------------------------------------------------------------------
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Putting objects into openrave

Rosen Diankov
Administrator
In addition to the last email:

the sensor system will also allow you to 'lock' objects from receiving
updates, so you can guarantee they are not deleted. This is a really
useful feature if you are not using cloning environments. If you are
cloning (which is the recommended way of working with real, dynamic
systems), then perhaps it isn't necessary.....

either way, some of you might have noticed that kinbodies can now have
a "Manager" object dictating which module has exclusive access to
controlling their state... in the future this will play a key role in
sensor fusion.

rosen,

2010/4/21 Rosen Diankov <[hidden email]>:

> hi garratt,
>
> This is an excellent question, perhaps it deserves a wiki entry.
>
> i recommend the orrosplanning ros package, inside you will find the
> ObjectTransform sensor system, which excepts messages of
> checkerboard_detector::ObjectDetection
>
> ObjectDetection holds a set of objects with their poses and
> corresponding 'types'
>
> the 'type' actually contains the filename of the object to open into
> openrave. You can easily start the sensor system from the openrave
> environment xml file by adding:
>
> <sensorsystem type="ObjectTransform expirationtime 2.0 topic
> /objectdetection/topic thresh 0.05 robot NAME">
> </sensorsystem>
>
> The parameters should be self-explanatory. Also for "type" you can
> directly specify a ROS-relative path by using the package://
> convention. For example, if your openrave model lies inside a mypkg
> ros package, then you can use:
>
> package://mypkg/myopenravemodel.kinbody.xml
>
> openrave will display any number of objects (and types) publishes on
> this topic and will handle tracking them.
>
> hope this helps!
> rosen,
>
> 2010/4/21 Huan Liu <[hidden email]>:
>> Hi Garratt,
>> The way I did it was to generate an XML file for the object and load
>> the file in openrave. Openrave recently supported the <vertices> tag
>> in XML to let you define a trimesh.
>> Huan
>>
>> On Tue, Apr 20, 2010 at 5:15 PM, garratt <[hidden email]> wrote:
>>> Hi all,
>>>
>>> I'm trying to display objects in openrave in response to object
>>> detections in ROS (I have my own object detector).
>>>
>>> it seems like I should be using orrosplanning, and define a sensorsystem
>>> in my environment, however I can't find any examples of this.
>>>
>>> Does anyone do this? I'm unclear on how objects get defined, what
>>> messages are needed, and what parameters I put in the environment file.
>>>
>>> Thanks
>>> Garratt
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Openrave-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Openrave-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>
>

------------------------------------------------------------------------------
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users