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 BT nodes to adjust replanning rate according to speed #1740

Closed
naiveHobo opened this issue May 15, 2020 · 3 comments
Closed

Add BT nodes to adjust replanning rate according to speed #1740

naiveHobo opened this issue May 15, 2020 · 3 comments

Comments

@naiveHobo
Copy link
Contributor

naiveHobo commented May 15, 2020

Feature request

Feature description

A SpeedController node (analog to RateController and DistanceController) should be added which would allow adjusting the replanning rate based on the current speed. RateController and DistanceController nodes have some drawbacks when used individually (#1701). Speed based rate of replanning seems like the natural solution to these drawbacks. Also makes for a good option for default behavior tree.

Implementation considerations

The SpeedController node can be implemented as an extension to RateController where the rate is scaled according to the current speed.

  • By setting limits on the rate, it ensures the replanning happens even if the robot is not moving, offering a solution for the drawback of the DistanceController.
  • When the robot is moving at high speeds, the rate is increased accordingly and replanning is done more frequently, thus retaining the benefit of using the DistanceController.
  • When at a constant speed, the SpeedController boils down to a RateController.
@naiveHobo
Copy link
Contributor Author

I have an initial implementation for the node proposed. Here's how the replanning rate scales according to the current speed:

speed

The robot is stuck towards the end so the rate of replanning in that case is held at 0.1hz.

@SteveMacenski
Copy link
Member

SteveMacenski commented May 15, 2020

Can you link a PR to this? I assume the scale dials are moveable. What are the default lower and upper bounds you chose?

@naiveHobo
Copy link
Contributor Author

Yup, the scales can be set as node parameters. The replanning rate is in the range [0.1, 1.0] hz scaled to according to speed in the range [0, 0.25] m/s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants