Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_component_interface_utils at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.46.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-07-31 |
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
- Takagi, Isamu
- Yukihiro Saito
Authors
autoware_component_interface_utils
Features
This is a utility package that provides the following features:
- Instantiation of the wrapper class
- Logging for service and client
- Service exception for response
- Relays for topic and service
Design
This package provides the wrappers for the interface classes of rclcpp. The wrappers limit the usage of the original class to enforce the processing recommended by the component interface. Do not inherit the class of rclcpp, and forward or wrap the member function that is allowed to be used.
Instantiation of the wrapper class
The wrapper class requires interface information in this format.
struct SampleService
{
using Service = sample_msgs::srv::ServiceType;
static constexpr char name[] = "/sample/service";
};
struct SampleMessage
{
using Message = sample_msgs::msg::MessageType;
static constexpr char name[] = "/sample/message";
static constexpr size_t depth = 1;
static constexpr auto reliability = RMW_QOS_POLICY_RELIABILITY_RELIABLE;
static constexpr auto durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
};
Create the wrapper using the above definition as follows.
// header file
autoware::component_interface_utils::Service<SampleService>::SharedPtr srv_;
autoware::component_interface_utils::Client<SampleService>::SharedPtr cli_;
autoware::component_interface_utils::Publisher<SampleMessage>::SharedPtr pub_;
autoware::component_interface_utils::Subscription<SampleMessage>::SharedPtr sub_;
// source file
const auto node = autoware::component_interface_utils::NodeAdaptor(this);
node.init_srv(srv_, callback);
node.init_cli(cli_);
node.init_pub(pub_);
node.init_sub(sub_, callback);
Logging for service and client
If the wrapper class is used, logging is automatically enabled. The log level is RCLCPP_INFO
.
Service exception for response
If the wrapper class is used and the service response has status, throwing ServiceException
will automatically catch and set it to status.
This is useful when returning an error from a function called from the service callback.
void service_callback(Request req, Response res)
{
function();
res->status.success = true;
}
void function()
{
throw ServiceException(ERROR_CODE, "message");
}
If the wrapper class is not used or the service response has no status, manually catch the ServiceException
as follows.
void service_callback(Request req, Response res)
{
try {
function();
res->status.success = true;
} catch (const ServiceException & error) {
res->status = error.status();
}
}
Relays for topic and service
There are utilities for relaying services and messages of the same type.
```cpp const auto node = autoware::component_interface_utils::NodeAdaptor(this); service_callback_group_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); node.relay_message(pub_, sub_); node.relay_service(cli_, srv_, service_callback_group_); // group is for avoiding deadlocks
File truncated at 100 lines see the full file
Changelog for package autoware_component_interface_utils
0.46.0 (2025-06-20)
- Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
- feat(default_adapi): add vehicle command api (#10764)
- Contributors: TaikiYamada4, Takagi, Isamu
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
0.40.0 (2024-12-12)
-
Merge branch 'main' into release-0.40.0
-
Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
chore(package.xml): bump version to 0.39.0 (#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
-
fix: fix ticket links in CHANGELOG.rst (#9588)
-
fix(cpplint): include what you use - common (#9564)
-
fix: fix package names in changelog files (#9500)
-
0.39.0
-
update changelog
-
Merge commit '6a1ddbd08bd' into release-0.39.0
-
fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
-
chore(package.xml): bump version to 0.38.0 (#9266) (#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
-
refactor(component_interface_utils): prefix package and namespace with autoware (#9092)
-
Contributors: Esteve Fernandez, Fumiya Watanabe, M. Fatih Cırıt, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- Merge commit '6a1ddbd08bd' into release-0.39.0
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
tier4_system_msgs | |
ament_cmake_auto | |
autoware_cmake | |
ament_cmake_ros | |
ament_lint_auto | |
autoware_lint_common | |
autoware_adapi_v1_msgs | |
rclcpp | |
rclcpp_components |