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

Add support for docking at a charging station #1225

Closed
crdelsey opened this issue Oct 11, 2019 · 8 comments
Closed

Add support for docking at a charging station #1225

crdelsey opened this issue Oct 11, 2019 · 8 comments

Comments

@crdelsey
Copy link
Contributor

Add support for getting a turtlebot 2 to dock at the Turtlebot 2 charging station. The turtlebot should monitor it's charge level, navigate to the docking station when the charge is low, dock, wait till it's recharged, and then resume its original mission

This serves as an example of how to use the nav2 stack in a larger use case, and also showcases how to swap out the NavFn planner and DWB controller for use-case specific components at run-time.

@crdelsey crdelsey mentioned this issue Oct 11, 2019
16 tasks
@SteveMacenski
Copy link
Member

@crdelsey, I like this in concept, but don’t you think this is a little too specific to go in the stack? This supports the turtlebot but not any other robot that doesn’t share the same dock/charging mechanisms.

For example uses of it, I’d think the ticket for waypoint following would accomplish that. I agree for examples of swapping out controller / planners it would be a good example but I think we could find another sample that could have wider re-use

@mkhansenbot
Copy link
Collaborator

I think we can make a generic "dock" action interface with a plug-in that allows for the implementation to be robot dependent if needed. We could implement the first one as a Turtlebot2 plugin, and others could use as an example.

@crdelsey
Copy link
Contributor Author

I like this in concept, but don’t you think this is a little too specific to go in the stack?

Yes. I'm not quite sure what to do with it. Probably it should go in the turtlebot 2 repo or a separate repo. I want the capability, though, so we can do the "robot marathon" test at some point. I want to try to get our turtlebot 2 to drive around the office randomly, and recharge as needed for a day or two or more.

@SteveMacenski
Copy link
Member

SteveMacenski commented Oct 21, 2019

If you read the PR2 paper, they plugged in by hand on request. Not saying don’t do it, just an observation

Getting docking to work reliably is a less trivial task than it sounds, especially if working with a cheap lidar and without direct visual coverage

@crdelsey
Copy link
Contributor Author

Good to know. I was considering sticking a QR code on the base and then docking using the realsense camera if the built in docking wasn't very good. But, I'll admit, I don't know how hard this will be. Plugging it in by hand would be my second choice.

@SteveMacenski
Copy link
Member

SteveMacenski commented Oct 22, 2019

built in docking

There’s built in docking? If so, why’s this a ticket here?

Also on the marathon thing, super support. I’ve been thinking about what a Marathon paper for nav2 might look like that has enough new/novel/unique application to justify peer review. I think BT + multiplanner/controller context switching would be enough if we had a unique narrative

@crdelsey
Copy link
Contributor Author

If the built-in docking works, then all that's required here is to create a behavior tree node that triggers the behavior.

I probably shouldn't have created this issue; it could have just been a note in #929. I'm a bit reluctant to remove it now though since it has several thumbs up from the community. Let's leave it alone for now and see where it ends up on the priority list. We can close it in a month if there isn't much demand for this.

@mkhansenbot mkhansenbot added this to Incoming Issues in Navigation 2 Kanban via automation Dec 6, 2019
@mkhansenbot mkhansenbot added this to the F Turtle Release milestone Dec 6, 2019
@SteveMacenski
Copy link
Member

This was a particular demo for Intel - closing since I don't have that hardware and the docking controller by all accounts already exists in the turtlebot codebase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Navigation 2 Kanban
  
Incoming Issues
Development

No branches or pull requests

3 participants