1) It is very easy to make a new SensorBase class that emulates a
flash lidar. You can do it if you want by looking at the current laser
examples, but I could also do it if you tell me the specifications of
the LIDAR. Maybe we could meet in person..
2) try orBodyEnable(bodyid,0) that should make it invisible
3) Yes there is, if you look inside the basesensors plugin,
EnvironmentBase::CheckCollision is called for every laser point. Just
pass in a COLLISIONREPORT structure and out will come the body it
collided with. But if you want to pass this information to matlab,
you'll have to make your own SensorBase class derving from the laser
to get the extra functionality.
4) Please send all future inquiries in the openrave-users list
> I've got a couple of questions for you:
> 1) We are wanting to make a sensor like a flash lidar, which gets 3D data
> all at once. Would there be any benefit to making a model for this over just
> putting 60 or so 2D lasers at varying angles?
> 2) Should orBodyEnable be able to prevent a laser from seeing a body? I
> tried using orBodyEnable(bodyid,'disable') on the shelf in the
> testlasersensor example, but the lasers could still see the shelf. I had
> thought that this shouldn't be the case. Either way, It would be nice to
> have a function that would make a body invisible to the lasers.
> 3) Is there a way to check what body a laser point is colliding with? For
> example, sometimes we are only interested in the laser hits on the human
> model, and it would be nice to be able to sort out points based on what
> object they hit.