-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make the voxel map's default values for occupied, unknown and free voxels as parameters in VoxelMap.msg #149
Comments
Hey! I am trying to work on this issue and I was wondering if you can answer some doubts that I have. Thank you in advance.
|
Hi Ankit, please see below for my explanation:
You will need to add extra parameters to describe the occupancy conditions of each voxel in the voxel map. You will need to at least add the following 2 parameters:
You need to find all of them, remove the hard coding, and load them from the VoxelMap.msg. Feel free to follow up if there's still any confusion! |
Hey! So I added the parameters to the message file and it successfully build. But when I try to use the VoxelMap.h file in map_utils.h ( CMakeLists.txt of jps3d
packages.xml of jps3d
|
Hi Ankit, would you mind pasting your error message here? Also, did you make sure that you include the folder of VoxelMap.msg for all targets that use the VoxelMap message? |
Above is the error that happen when I try to build the workspace. Also I don't understand what it means to "include the folder" of VoxelMap.msg. Thanks. |
One suggestion is to make sure that for all the targets that use the voxelmap message, you are linking the planning_ros_msgs library correctly. Check the documentation below: target_include_directories https://cmake.org/cmake/help/latest/command/target_include_directories.html and target_link_libraries |
Thanks for the information! I was able to build successfully now with having removed hardcodings from the two map_utils.h files and one voxel_mapper.h file. I also checked to make sure no other files had the hard-codings for the said variables. I then ran the gazebo simulator to make sure everything was working properly and the quadrotor was able to navigate the forest map properly as before. Is there any other way to make sure I have done things properly? |
Great job! Could you please create a Pull Request for this? After you create that, I will take a look. Thanks! |
Yes I will do it asap! I just need to lookup the proper way to do this. |
Hey! I just created a PR with the latest changes. As instructed, I also added the val_add and val_default parameters to the msg file and replaced the hardcodings. |
UPDATE: Changing label to hard, we need to further improve this according to Chao's suggestion here: |
Ok! I will look into making this improvement! |
Currently, the default values for occupied, even, unknown and free voxels are hard-coded, respectively, as val_occ, val_even, val_unkonwn, and val_free. The planner and mapper have a consensus on the hard-coded values. This may cause problems, e.g., when someone wants to use different planners.
A better way to do this is to, in the VoxelMap.msg, add parameters describing those default values that describe the occupancy status.
(val_even is a value between val_free and val_unkonwn, and when the mapper decay is turned on, it is used as a threshold for determining the occupancy status).
The text was updated successfully, but these errors were encountered: