Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_predicted_path_postprocessor at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-10-21 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_predicted_path_postprocessor
Purpose
The autoware_predicted_path_postprocessor
performs post-processing on predicted paths.
Inner-workings / Algorithms
The following processors are supported:
-
RefineBySpeed
- Refine the paths of objects based on their current speed.
Inputs / Outputs
Input
Name | Type | Description |
---|---|---|
~/input/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted objects |
~/input/lanelet_map |
autoware_msgs::msg::LaneletMapBin |
[OPTIONAL] Lanelet map |
Output
Name | Type | Description |
---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Processed objects |
How to Add New Processor
Processors in this package should follow a structured naming convention as below:
Class Name | String Identifier | Roles |
---|---|---|
RefineBy** |
refine_by_** |
Modify or improve existing paths based on specific criteria |
FilterBy** |
filter_by_** |
Remove or exclude paths that don’t meet specific criteria |
As an example, let’s see how to add a new processor by using a processor called FilterBySomething
.
- Create a new processor class that inherits from
ProcessorInterface
:
class FilterBySomething final : public ProcessorInterface
{
public:
FilterBySomething(rclcpp::Node * node_ptr, const std::string & processor_name)
: ProcessorInterface(processor_name)
{
// Load parameters
double_param_ = node_ptr->declare_parameter<double>(processor_name + ".double_param");
string_param_ = node_ptr->declare_parameter<std::string>(processor_name + ".string_param");
}
private:
result_type check_context(const Context & context)
{
// ...Check context if it contains the required information
return make_ok<error_type>();
}
result_type process(target_type & target, const Context & context) override
{
// ...Execute processor specific logic
return make_ok<error_type>();
}
private:
double double_param_;
std::string string_param_;
};
- Register the new processor in
build_processors(...)
function:
std::vector<ProcessorInterface::UniquePtr> build_processors(rclcpp::Node * node_ptr, const std::string & processor_name)
{
std::vector<ProcessorInterface::UniquePtr> outputs;
for (const auto & name : processor_names) {
if ( /* ... */) {
// ...
} else if (name == "filter_by_something") {
outputs.push_back(std::make_unique<FilterBySomething>(node_ptr, name));
}
}
return outputs;
}
-
Add parameter to the
config/predicted_path_postprocessor.param.yaml
:The parameters must be grouped under the processor’s string identifier. The processors specified in the
processors
array are launched in runtime.
```yaml:config/predicted_path_postprocessor.param.yaml /**: ros__parameters: processors: [filter_by_something] # — FilterBySomething — filter_by_something:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/predicted_path_postprocessor.launch.xml
-
- input/objects [default: /input/objects]
- input/lanelet_map [default: /input/lanelet_map]
- output/objects [default: /output/objects]
- file/parameter [default: $(find-pkg-share autoware_predicted_path_postprocessor)/config/predicted_path_postprocessor.param.yaml]
- debug [default: false]