Skip to content
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

[WIP] World Model refactor and new features #516

Closed
wants to merge 65 commits into from

Conversation

orduno
Copy link
Contributor

@orduno orduno commented Jan 8, 2019


Basic Info

Info
Ticket(s) this addresses #379
Primary OS tested on Ubuntu 16.04
Robotic platform tested on Gazeobo simulation of turtlebot

Description of contribution

  • Refactored nav2_world_model. Defined an interface for specifying different world representations (WorldRepresentation) and moved current functionality to a CostmapRepresentation.
  • Added service for checking if a region is free of obstacles.
  • Added a RegionVisualizer for displaying regions in RVIZ that get processed by the world model.
  • Defined a World Model client class.
  • Modified the Global Planner Navfn and the Backup motion primitive to use the new world model client interface.
  • Added a new method in the MotionPrimitive class called pathIsClear() that motion primitives can implement for checking if there is enough space for execution.
  • Modified Backup so it checks if there is enough space for backing up before executing.
  • Added a new nav2 service description for specifying a rectangular region.
  • Added a robot_centric_costmap with only the obstacle layer enabled and centered on the robot.

Future work

@crdelsey
Copy link
Contributor

crdelsey commented Jan 8, 2019

@orduno Can you fix the linter failures before we start reviewing?

Navigation 2 Kanban automation moved this from In progress to Needs review Jan 8, 2019
@crdelsey
Copy link
Contributor

crdelsey commented Jan 9, 2019

@orduno Two things:

  1. Smaller PRs please, or make the commit history clean and show the logically separate changes.
  2. Can you put together a doc or presentation on the problem you are trying to solve, and the design you'd like to see? It seems like it is something that would be helpful to discuss in the working group meeting.

Copy link
Contributor

@crdelsey crdelsey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments so far. Still working on it.

nav2_dwb_controller/dwb_controller/src/dwb_controller.cpp Outdated Show resolved Hide resolved
nav2_motion_primitives/src/back_up.cpp Outdated Show resolved Hide resolved
nav2_util/include/nav2_util/point.hpp Outdated Show resolved Hide resolved
nav2_msgs/srv/ProcessRegion.srv Outdated Show resolved Hide resolved
nav2_util/include/nav2_util/point.hpp Outdated Show resolved Hide resolved
@orduno orduno changed the base branch from master to world_model_refactor January 11, 2019 17:41
@orduno
Copy link
Contributor Author

orduno commented Jan 12, 2019

@crdelsey

Can you put together a doc or presentation on the problem you are trying to solve, and the design you'd like to see? It seems like it is something that would be helpful to discuss in the working group meeting.

I can put together some slides based on the discussion we had and share it on the working group.

@orduno
Copy link
Contributor Author

orduno commented Jan 12, 2019

@crdelsey @SteveMacenski I think I've addressed all your feedback. Comments that have been resolved should be hidden, the ones still showing might require your response.

This PR will get pushed to the world_model_refactor branch. There we can work on addressing #517 before merging to master, this is mainly needed because auto-localization need to check for open space even when the robot is not localized.

If everything looks good please approve so I can proceed with merging.

nav2_motion_primitives/src/back_up.cpp Show resolved Hide resolved
nav2_motion_primitives/src/back_up.cpp Outdated Show resolved Hide resolved
nav2_motion_primitives/src/back_up.cpp Outdated Show resolved Hide resolved
nav2_motion_primitives/src/back_up.cpp Outdated Show resolved Hide resolved
nav2_motion_primitives/src/spin.cpp Show resolved Hide resolved
@orduno orduno changed the title [WIP] World Model refactor and new features World Model refactor and new features Mar 6, 2019
@orduno orduno changed the title World Model refactor and new features [WIP] World Model refactor and new features May 9, 2019
@orduno
Copy link
Contributor Author

orduno commented Jul 11, 2019

Closing the PR as the main features provided have been incorporated (for example, collision checking, odom/robot centric costmap, etc.) we can continue our design discussion on #565.

@orduno orduno closed this Jul 11, 2019
Navigation 2 Kanban automation moved this from Needs review to Done Jul 11, 2019
@orduno orduno removed this from Done in Navigation 2 Kanban Jul 11, 2019
@orduno orduno deleted the 379_check_free_space branch October 1, 2019 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants