0
$\begingroup$

Rosanswers logo

Hi,

I've started using octomap. Basically I've been working with octomap_server and it's octomap_mapping.launch file. I'm basically transforming my laser scan data into pointcloud2 and then publishing it on topic which is used by octoma_server.

What I've found is that when there is some obstacle, it really determines it as obstacle. But when that same obstacle disappears, those occupied probabilities don't change and free space is considered as occupied forever.

I want to update all voxels probabilities before the end of laser beam so that after few cycles free space is considered as free space again. Because right now I think that with pointcloud voxels are just updated right in the place where given pointcloud is, but not in space between my robot and point.

Do I have to implement it on my own and where should I start? Or is there some other way of doing this? Or is my expectation about how this works wrong?

Thank you for advice.


Originally posted by l4ncelot on ROS Answers with karma: 826 on 2016-01-19

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

So I finally figured it out. My expectation about how scan beams were added into OcTree was wrong. And I did also set frame_id to world instead of actual sensor frame. So basically when was my quadrotor flying up in the air, octomap was thinking that sensor is still on the ground on position [0,0,0] which lead to beam from position [0,0,0] to end of the beam instead of position of my robot to end of beam...


Originally posted by l4ncelot with karma: 826 on 2016-01-21

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.