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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged obstacle_cruise_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
- Satoshi Ota
Authors
- Takayuki Murooka
- Yutaka Shimizu
Obstacle Cruise Planner
Overview
The obstacle_cruise_planner
package has following modules.
- Stop planning
- stop when there is a static obstacle near the trajectory.
- Cruise planning
- cruise a dynamic obstacle in front of the ego.
- Slow down planning
- slow down when there is a static/dynamic obstacle near the trajectory.
Interfaces
Input topics
Name | Type | Description |
---|---|---|
~/input/trajectory |
autoware_auto_planning_msgs::Trajectory | input trajectory |
~/input/objects |
autoware_auto_perception_msgs::PredictedObjects | dynamic objects |
~/input/odometry |
nav_msgs::msg::Odometry | ego odometry |
Output topics
Name | Type | Description |
---|---|---|
~/output/trajectory |
autoware_auto_planning_msgs::Trajectory | output trajectory |
~/output/velocity_limit |
tier4_planning_msgs::VelocityLimit | velocity limit for cruising |
~/output/clear_velocity_limit |
tier4_planning_msgs::VelocityLimitClearCommand | clear command for velocity limit |
~/output/stop_reasons |
tier4_planning_msgs::StopReasonArray | reasons that make the vehicle to stop |
Design
Design for the following functions is defined here.
- Behavior determination against obstacles
- Stop planning
- Cruise planning
- Slow down planning
A data structure for cruise and stop planning is as follows. This planner data is created first, and then sent to the planning algorithm.
struct PlannerData
{
rclcpp::Time current_time;
autoware_auto_planning_msgs::msg::Trajectory traj;
geometry_msgs::msg::Pose current_pose;
double ego_vel;
double current_acc;
std::vector<Obstacle> target_obstacles;
};
struct Obstacle
{
rclcpp::Time stamp; // This is not the current stamp, but when the object was observed.
geometry_msgs::msg::Pose pose; // interpolated with the current stamp
bool orientation_reliable;
Twist twist;
bool twist_reliable;
ObjectClassification classification;
std::string uuid;
Shape shape;
std::vector<PredictedPath> predicted_paths;
};
Behavior determination against obstacles
Obstacles for cruising, stopping and slowing down are selected in this order based on their pose and velocity. The obstacles not in front of the ego will be ignored.
Determine cruise vehicles
The obstacles meeting the following condition are determined as obstacles for cruising.
-
The lateral distance from the object to the ego’s trajectory is smaller than
behavior_determination.cruise.max_lat_margin
. - The object type is for cruising according to
common.cruise_obstacle_type.*
. - The object is not crossing the ego’s trajectory (*1).
- If the object is inside the trajectory.
- The object type is for inside cruising according to
common.cruise_obstacle_type.inside.*
. - The object velocity is larger than
behavior_determination.obstacle_velocity_threshold_from_cruise_to_stop
.
- The object type is for inside cruising according to
- If the object is outside the trajectory.
- The object type is for outside cruising according to
common.cruise_obstacle_type.outside.*
. - The object velocity is larger than
behavior_determination.cruise.outside_obstacle.obstacle_velocity_threshold
. - The highest confident predicted path collides with the ego’s trajectory.
- Its collision’s period is larger than
behavior_determination.cruise.outside_obstacle.ego_obstacle_overlap_time_threshold
.
- The object type is for outside cruising according to
Parameter | Type | Description |
---|---|---|
common.cruise_obstacle_type.inside.unknown |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.car |
bool | flag to consider unknown objects for cruising |
common.cruise_obstacle_type.inside.truck |
bool | flag to consider unknown objects for cruising |
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/obstacle_cruise_planner.launch.xml
-
- obstacle_cruise_planner_param_path [default: $(find-pkg-share obstacle_cruise_planner)/config/obstacle_cruise_planner.param.yaml]
- vehicle_info_param_path [default: $(find-pkg-share vehicle_info_util)/config/vehicle_info.param.yaml]
- input_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- input_odometry [default: /localization/kinematic_state]
- input_map [default: /map/vector_map]
- input_objects [default: /perception/object_recognition/objects]
- output_trajectory [default: /planning/scenario_planning/lane_driving/trajectory]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_clear_velocity_limit [default: /planning/scenario_planning/clear_velocity_limit]