Error advertising topic [/arm/joint_cmd]. Did you forget to start the discovery service
时间: 2024-05-01 10:23:54 浏览: 127
这个错误通常是因为你没有正确启动 ROS 的发现服务(discovery service)。发现服务是 ROS 中的一个核心组件,用于自动发现和连接 ROS 节点和话题。你需要在启动任何 ROS 节点之前先启动发现服务,可以通过在终端中运行以下命令来启动发现服务:
```
roscore
```
如果你已经启动了 `roscore`,但仍然遇到这个错误,那么可能是因为你的节点或话题没有成功注册到发现服务中。你可以尝试使用 `rostopic list` 命令来查看当前注册的话题列表,确保你的话题已经注册成功了。
相关问题
CMake Error at /root/ros_catkin_ws/build_isolated/actionlib_msgs/cmake/actionlib_msgs-genmsg.cmake:3 (message): Could not find messages which '/root/ros_catkin_ws/src/common_msgs/actionlib_msgs/msg/GoalStatusArray.msg' depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?
这个错误可能是由于你没有在 `CMakeLists.txt` 文件中正确地指定 `generate_messages()` 函数的依赖项所致。你需要确保在 `CMakeLists.txt` 中为 `actionlib_msgs` 包中的每个消息都指定了正确的依赖项。
你可以在 `CMakeLists.txt` 中添加以下行:
```
find_package(catkin REQUIRED COMPONENTS message_generation std_msgs)
add_message_files(FILES GoalStatusArray.msg)
generate_messages(DEPENDENCIES std_msgs)
```
确保将 `GoalStatusArray.msg` 替换为你要生成的消息文件的名称。如果你的消息依赖于其他消息,你需要在 `generate_messages()` 函数中指定这些依赖项。
如果你已经正确地指定了依赖项,但仍然遇到此错误,则可能是由于你的消息文件路径不正确所致。请确保消息文件的路径与 `CMakeLists.txt` 文件中指定的路径匹配。
CMake Error at /home/kali/car_test/build_isolated/hmi_msgs/cmake/hmi_msgs-genmsg.cmake:3 (message): Could not find messages which '/home/kali/car_test/src/simulation/shaver/msgs/hmi_msgs/msg/Fixed_point.msg' depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?
这个错误是由于在生成 `Fixed_point.msg` 消息时,没有指定该消息依赖的其他消息,导致找不到依赖的消息而报错。可以在 `CMakeLists.txt` 文件中的 `generate_messages` 函数中加入 `DEPENDENCIES` 参数,指定该消息依赖的其他消息,示例代码如下:
```
add_message_files(
FILES
Fixed_point.msg
)
generate_messages(
DEPENDENCIES
std_msgs
)
```
其中,`std_msgs` 为 `Fixed_point.msg` 消息所依赖的消息包。