-
Notifications
You must be signed in to change notification settings - Fork 794
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
[ROS2] port grid_map_ros #242
Conversation
CI expected to fail initially due to dependency on |
And CI is not showing up again... Am I doing something wrong?? This is branched off ros2. Could that be because I am running CI on my fork? CI from my fork: https://app.circleci.com/pipelines/github/Marwan99/grid_map/67/workflows/081cb8cc-f361-40ee-95be-3e4f63c07439/jobs/61/steps |
I think you really want to be using occupancy_grid rather than costmap message. The nav2_msgs/Costmap is really only used in 1 place for the costmap subscriber for the recovery server. The occupancy grid is the generic message published of the occupancy information and what rviz is displaying. I could see an argument for supporting both though |
I thought
Doesn't apply anymore atm, dependency on
Removing circleci from my fork fixed the above ^. |
No, nav_msgs is still very much so used. nav2_msgs are an extension. I think supporting both would be fine - you already did the work for nav2_msgs/Costmap so may as well keep it, it could come in handy. If someone subscribes to this other than the recovery server and wants to use some grid-maps-tooling then that would be valued so it doesn't have to be converted again into a occ grid first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I am struggling atm with getting rosbag2 to work, specifically unable to create a bag file. However I suspect there might be a bug in the rosbag2 API so I submitted an issue ros2/rosbag2#448, but I am might be just doing something wrong. Anyhow, I should hopefully get some help from them on this issue soon. |
@SteveMacenski How long do you think we should wait for the rosbag2 issue to be fixed? Should we comment out the rosbag sections and move on for now? |
is there any movement on it? |
CI is failing with Also we might need to add robag2 master branch as a dependency (the bug fix is on master and foxy is using the foxy branch), but lets wait till we get a CI run first. |
@Marwan99 I re-ran the job |
Sorry @SteveMacenski same error happening again. Am I doing something wrong? |
No, I think the server is just down for a little while. I looked and seems fine now, retriggered |
Cool! now running, just actual errors now :-) |
The Since we will also need to add rosbag2 (as we now need the master branch for the bug fix) as a dependency and build it as part of the UNDERLAY_WS, why don't we just move to a ros2 rolling/nighlty image instead of foxy? I think it will make things simpler and potentially smoother in the long run. |
What is
Please be more specific here. What are you doing where and why. Are you saying that the foxy released versions aren't correct or the master ones have changed? |
I am referring to the rcpputils package. For example on this line in rcpputils::fs::remove_all was recently added to both the master and foxy branches (~ 9 days ago) and is not part of the foxy released version AFAIK. Please let me know if you need more info. |
huh, haven't run into that before, I thought you mean rclutils.
Thanks, that's a problem statement I can help with. I see you added to the repos file, good, but it should be master branch if we're going to have to make things build from source to be up to date. For sourcing, source just the underlay, your issue is using the local setup bash files. Remove all local files and source the normal setup.bash so you get the full path of packages available. If you source /opt/ before building the underlay, then that's in the underlay path. If you then source the underlay, you'll get the opt stuff too if you do the full setup.bash. In general, I never use local_setup.bash for that reason. I want everything. |
Thanks for the help @SteveMacenski :) Ready for review, to save you some time grid_map_ros/src/GridMapRosConverter.cpp is the file with the most significant changes. |
cd $OVERLAY_WS && rosdep install -y --ignore-src --from-paths src | ||
- run: | ||
name: Debug Build | ||
command: | | ||
source `find $ROS_WS -maxdepth 2 -name local_setup.bash | sort | head -1` | ||
source $UNDERLAY_WS/install/local_setup.bash | ||
source $UNDERLAY_WS/install/setup.bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this line redundant? underlay_ws
is already being sourced above. Same potential duplication with the sourcing in "Run Tests" below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maximilianwulf please review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, LGTM. Thanks a lot.
} | ||
} | ||
|
||
TEST(CostmapConversion, withMove) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these new unit tests?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, he added both nav_msgs/occupancygrid and nav2_msgs/costmap conversions. We use nav2_msgs/costmap in a couple places to publish raw costmaps for other processes to use (primarily for recovery actions that need some view of the world but aren't in the same process as the local costmap / controller).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is very cool, thanks that you added them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, LGTM. Thanks a lot for the effort.
@Marwan99 this OK to go in? |
Yeah lets merge! |
grid_map_msgs::msg::GridMap
to the updated message definition.nav_msgs::OccupancyGrid
tonav2_msgs::msg::Costmap
, consequently updated the API method function names.