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] Use tf2_transform data to get current robot pose in NavFn #618

Closed
wants to merge 4 commits into from

Conversation

crdelsey
Copy link
Contributor

@crdelsey crdelsey commented Mar 22, 2019

Basic Info

Info Please fill out this column
Ticket(s) this addresses fixes #595
Primary OS tested on Ubuntu
Robotic platform tested on Turtlebot 3

Description of contribution in a few bullet points

  • I piggy-backed the current pose from costmap onto the GetCostmap service request in World Model
  • I changed timeout values to be in nanoseconds. std::chrono will let you auto-convert from larger time intervals to smaller, but not the other way
  • I added a timeout on the GetCostmap service call that NavFn makes

Rationale

I tried to make a standalone version of the getCurrentPose function, but it had so many dependencies, that it seemed the wrong approach to solving the problem. All those dependencies were already available in costmap, and it seems reasonable to ask the world model/costmap where the robot is; it's sort of the equivalent of a "You are here" indicator on a real map.

I was going to add a separate service call to World Model to get the robot pose, but we currently have latency issues with service calls. Instead, I added the pose to the GetCostmap service call. It seems unlikely you will get the costmap without also needing to know where you are on the map at the same time, so it seemed reasonable to combine them until our service call latency issues can be fixed.

NOTE
Updated to use a separate service to get the pose. Need to target this to the lifecycle branch still.

Copy link
Collaborator

@mkhansenbot mkhansenbot left a comment

Choose a reason for hiding this comment

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

I don't agree with adding the pose to the existing GetCostmap service. I think it would be better to add a "GetPose" service instead. I realize that services are somewhat flaky but I don't want to combine two data structures into one without being clear. I guess the other option would be to add a new service "GetLocation" which returns both. I realize that may be semantics, but "GetCostmap" should only return a costmap object.

@crdelsey
Copy link
Contributor Author

I'll try adding another service to world model to get current pose, and see how it goes. If it hurts the user experience too much, I'll go back to this version and rename it.

@crdelsey crdelsey changed the title Use tf2_transform data to get current robot pose in NavFn [WIP] Use tf2_transform data to get current robot pose in NavFn May 29, 2019
@crdelsey
Copy link
Contributor Author

crdelsey commented Jun 4, 2019

Superceeded by #793

@crdelsey crdelsey closed this Jun 4, 2019
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.

Nav2 should work with Cartographer, other SLAM packages
2 participants