Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]
Messages
Services
Plugins
Recent questions tagged obstacle_avoidance_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/ieiauto/autodrrt.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Obstacle Avoidance Planner
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
Name | Type | Description |
---|---|---|
~/input/path |
autoware_auto_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/obstacle_avoidance_planner.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share obstacle_avoidance_planner)/param/obstacle_avoidance_planner.param.yaml]