Skip to content

Instantly share code, notes, and snippets.

@youtalk
Last active June 20, 2017 02:31
Show Gist options
  • Save youtalk/2839f931b265c89860159d93c2cea079 to your computer and use it in GitHub Desktop.
Save youtalk/2839f931b265c89860159d93c2cea079 to your computer and use it in GitHub Desktop.
ROS 2 Parameter Test
int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
auto node = rclcpp::Node::make_shared("get_parameters");
auto parameter_service = std::make_shared<rclcpp::parameter_service::ParameterService>(node);
auto parameters_client = std::make_shared<rclcpp::parameter_client::SyncParametersClient>(node);
// パラメータの設定
auto set_parameters_results = parameters_client->set_parameters({
rclcpp::parameter::ParameterVariant("parameter_number", 1),
rclcpp::parameter::ParameterVariant("parameter_string", "hello"),
rclcpp::parameter::ParameterVariant("parameter_boolean", true),
});
for (auto & result : set_parameters_results) {
if (!result.successful) {
std::cerr << "Failed to set parameter: " << result.reason << std::endl;
return -1;
}
}
// パラメータの取得
for (auto & parameter : parameters_client->get_parameters({"parameter_number", "parameter_string", "parameter_boolean"})) {
std::cout << "Parameter name: " << parameter.get_name() << std::endl;
std::cout << "Parameter value (" << parameter.get_type_name() << "): " <<
parameter.value_to_string() << std::endl;
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment