Implementation of a Ground Sensing Sensor
Hi Guys,
i have a complex geometric file, exported as Collada. The building consists of several layers, such as a multi-layered houses with bumpy levels, I want to create a plugin (for example a sensor plugin), which is able to perceive or calculate the following information, which could be called a Ground Sensing Sensor. The following information shall be derived and calculated:
- project the sensor position on the nearest layer of the building (corresponds to a ray casting with a plumb vector with z=(0,0,1)
- Then, the z-coordinate and the normal vector of this projected point shall be printed.
I checked the ContactManager class, which is used in the Contact Sensor Plugin, but i think this is only applicable for contacts, which already have been occurred. I also would like to work with the collision data structures, because i think this is much cheaper than working with a sensor based on depth sensor for example.
Do you have any ideas?
Best regards!
Asked by Illuminatur on 2016-08-12 07:50:36 UTC
Answers
You could create a laser sensor with a single beam. Then orient the sensor to face down. The laser will return the distance from the sensor to the nearest contact.
Asked by nkoenig on 2016-08-12 10:23:18 UTC
Comments
Hi,
thanks for your quick response. I think, using a sensor this way, would cause wrong results, since i need an exact projection on the ground plane of the current level. A sensor's pitching movement would then also result in a wrong distance value. Is it possible to access the geometric collision model of a dae inside gazebo's data structure?
Asked by Illuminatur on 2016-08-12 11:15:13 UTC
How does Gazebo handle the collada-based collision models? In which data structures are they stored and can these structures be accessed within a sensor or model plugin? I think such an approach would be the most elegant.
Best regards and thanks a lot!
Asked by Illuminatur on 2016-08-15 02:49:00 UTC
Comments