-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Accessing waypoints inside a controller plugin #4347
Comments
You could have your BT that takes in the set of Basically all you need to do is make a ~20 line BT node, add it to your BT XML right before sending the path to the controller, and then make a service/subscription in the MPC plugin that stores that information. Then you should be good to go 😄 |
Thank you for this solution. I tried to implement such a BT node and ran into the problem, that cmake doesn't find the package behaviortree_cpp. If you need more details: I used remove_passed_goals_action.hpp and remove_passed_goals_action.cpp as a starting point to copy and modify it to what I need. For the CMakeList, I used this for guidance. My whole CMakeList.txt now looks like this:
|
I know it sounds like a dumb question, but is it installed? Also its Make sure to reference the right branch for your distribution :-) Closing since I think this is answered, but feel free to comment back if you need anything else! I'd love to see a link to your MPC controller / BT use once its ready (if its open-source)! We definitely need more controller options in the ROS 2 ecosystem :-) |
ros-distro: humble
Feature request
I am currently writing an MPC-based controller plugin and sending waypoints to the action server navigate_through_poses. It would be beneficial to know the waypoints inside the method computeVelocityCommands (of the controller plugin) to increase the weight on driving through them precisely. Currently, the MPC plans a path, that is close to the reference path, but rounded. Therefore the MPC’s plan doesn’t go through the corners of the path, where the waypoints are (see blue line in image). Then the current_goal_checker won’t recognize it as close enough.
I don’t know a way to access the waypoints inside computeVelocityCommands, because the inputs only include PoseStamped, Twist and GoalChecker. Would you consider adding the waypoints as an additional input?
The text was updated successfully, but these errors were encountered: