1 new parameter in nav2_bringup/.
- Added 1 flag:
route_server.smooth_corners(default on). - Most activity in
nav2_bringup/(+1/−0).
Full analysis → Summary: automatic analysis
route_server.smooth_corners (default on).nav2_bringup/ (+1/−0).Full analysis → Summary: automatic analysis
None.
| Name | Value | Type | File |
|---|---|---|---|
route_server.smooth_corners | true | bool | nav2_bringup/params/nav2_params.yaml |
188/280 weighted chars
| Module | Added | Modified | Removed | Lines + | Lines − |
|---|---|---|---|---|---|
nav2_bringup | 0 | 1 | 0 | +1 | −0 |
| Path | Lines | Note | |
|---|---|---|---|
| M | nav2_bringup/params/nav2_params.yaml | +1/−0 |
Route server corner smoothing (#5226) * added edge length method Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * Added corner arc class Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * replaced double vectors with Coordinates, added methods to return start and end coordinates Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * using Coordinates, fixed direction of tangents Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added corner arc in header, added logger in protected variable Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * first pass of corner smoothing algorithm Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * reassigning next edge to have a different start, if a corner occurs before it Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * using unique pointer instead of raw pointers for new edges and nodes Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added smoothing parameter Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * made angle of interpolation a parameter Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * const for return methods, added flag for smoothing corners Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * moved getEdgeLength() into the Directional Edge struct Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * using float instead of double Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * smoothing radius is float, couple methods moved to protected Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * removed signed_angle_ as a member variable Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * removed unnecessary member variables Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * removed angle of interpolation and inferring it from path density and radius instead Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * consolidated corner arc into one header function Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * readded newline Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * changed corner arc to corner smoothing Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * replaced the use of edges with coordinates to generate smoothing arc, removed storage of nodes and edges Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * linting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * fixing cpplint Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * linting for headers Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * cpplinting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * fixed divide by zeros and accessing empty route.edges Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * uncrustify linting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * cpp linting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * path converter linting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * changed all doubles to floats Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added check for edges that are colinear to avoid divide by 0, fixed final edge interpolation Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * linting Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * added doxygen for corner arc class Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added warning message if corner can't be smoothed Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added smooth_corners to the nav2 params file Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added smoothing flag and radius parameter to README.md' Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * typo in README Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * added testing for corner smoothing Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Alexander Yuen <alex@polymathrobotics.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>