跳到主要内容

clear_composite_map

服务类型: map_manager/srv/ClearCompositeMap

服务名: /clear_composite_map

描述​

清空当前运行时地图。此操作不删除磁盘上的已保存归档;如需删除归档,请调用 DeleteMapArchive。

请求 (Request)​

字段类型描述
dummybool接口兼容字段;当前实现不读取其值

响应 (Response)​

字段类型描述
successbool操作是否成功
messagestring结果消息或错误信息

使用示例​

运行前请先完成环境准备:命令行示例需设置 ROBOT_NAMESPACE;Python/C++ 示例使用相对服务名,运行时追加 --ros-args -r __ns:=$ROBOT_NAMESPACE。

命令行调用​

Bash
ros2 service call $ROBOT_NAMESPACE/clear_composite_map map_manager/srv/ClearCompositeMap \
"{dummy: false}"

Python 示例​

Python
import rclpy
from rclpy.node import Node
from map_manager.srv import ClearCompositeMap


rclpy.init()
node = Node('map_clearer')
client = node.create_client(ClearCompositeMap, 'clear_composite_map')
client.wait_for_service()
request = ClearCompositeMap.Request()
request.dummy = False
future = client.call_async(request)
rclpy.spin_until_future_complete(node, future)
print(future.result().message)
node.destroy_node()
rclpy.shutdown()

C++ 示例​

C++
#include <memory>
#include <rclcpp/rclcpp.hpp>
#include <map_manager/srv/clear_composite_map.hpp>

auto node = std::make_shared<rclcpp::Node>("map_clearer");
auto client = node->create_client<map_manager::srv::ClearCompositeMap>(
"clear_composite_map");
client->wait_for_service();

auto request = std::make_shared<map_manager::srv::ClearCompositeMap::Request>();
request->dummy = false;
auto future = client->async_send_request(request);
if (rclcpp::spin_until_future_complete(node, future) ==
rclcpp::FutureReturnCode::SUCCESS) {
RCLCPP_INFO(node->get_logger(), "%s", future.get()->message.c_str());
}

相关接口​