-
Notifications
You must be signed in to change notification settings - Fork 550
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
Support orientation on custom via points #102
Comments
Hi, Change the edge to a 2 dimensional error and to accept a PoseSE2 as via-point: class EdgeViaPointSE2 : public BaseTebUnaryEdge<2, const PoseSE2*, VertexPose> {...} The error might then be computed using the following distance metric: _error[0] = (bandpt->position() - _measurement->position()).norm(); // as in EdgeViaPoint
_error[1] = g2o::normalize_theta(bandpt->theta() - _measurement->theta()); Afterward, you must add this particular edge creation case to optimal_planner.cpp. If you need further hints, let me know. |
Thanks for the pointers. I will try to have a look at it in the following weeks. |
Before modifying the present implementation I am trying to understand how it works. What is suppose to be the workflow for sending a robot to custom waypoints?
Maybe I miss something? |
according to your animation, you probably have the use case to provide via-points using an external script. In your animation, we can see, that the planner does not take the via-points into account correctly. Currently, I ignore via-points behind the start or beyond the goal to avoid such situations. |
Hello, Has there been any progress on this enhancement? Best regards |
hi @croesmann @doisyg However, when i try this in gazebo, the teb_local_planner's global plan(not waypoint path given by myself,but teb_local_planner generated to let local plan follow) will never change and always following my waypoints global path. is there any suggestion for my problem?? here is my teb_planner.yamls: TebLocalPlannerROS: odom_topic: /GTR/odom Trajectoryteb_autosize: True global_plan_viapoint_sep: 1 Robotmax_vel_x: 1.5 ********************** Carlike robot parameters ********************min_turning_radius: 0.1 # Min turning radius of the carlike robot (compute value using a model or adjust with rqt_reconfigure manually) ********************************************************************footprint_model: # types: "point", "circular", "two_circles", "line", "polygon" GoalTolerancexy_goal_tolerance: 0.2 Obstaclesmin_obstacle_dist: 4 # default=0.27 This value must also include our robot's expansion, since footprint_model is set to "line". Optimizationno_inner_iterations: 5 Homotopy Class Plannerenable_homotopy_class_planning: true Thanks |
@guochence I can't immediately see the issue with your settings, other than the difference that I do not use a costmap converter... I can tell you that in my case, even with global paths through obstacles, it is possible for my TEB local path to avoid the obstacles (if they are sufficiently small) |
@zerodamage thanks for you patient. |
@guochence
|
Hello,
The ability to send custom via points is great to force a robot to pass through predefined set of points.
Via points are currently defined only by their x and y. It would be great to able to constraints the robot to pass through these points with a specific orientation.
How hard that would be to implement this behavior in teb_local_planner? Any pointers. I may try.
Best
The text was updated successfully, but these errors were encountered: