c++ - ros:控制台输出
问题描述
我是 ROS 的初学者,开始学习基础知识。所以我已经安装了 ROS,并且正在学习一些教程。我创建了两个节点(发布者和订阅者)。实际上我正在做这个ROS.org 教程
1:在第 3 步。构建节点时,如果我输入catkin_make
. 一切都像教程中一样设置,但它不起作用。错误是:
add_message_files() directory not found
和
Makefile:710: recipe for target 'cmake_check_build_system' failed
我不知道在这里做什么。
2:是否有可能在不使用启动文件的情况下进行输出?我查了一下,发现只有当你想运行多个节点时才必须使用启动文件。在这个Youtube 教程 6:06 min 中,这个人在他的回调函数中使用了一个 cout。我也像他一样尝试过,我也像他一样更改了我的 cmakelists,但我的终端没有得到输出。他是这样的。在下一部分中,这个人正在更改他的 cmakelists 中的某些部分,但这无助于在终端中获得输出。
所以我总结的问题是:我如何正确使用cout
和ROS_INFO
或ROS_DEBUG
?
解决方案
- 您的 CMakeLists.txt 文件包含
add_message_files
没有 .msg 文件的路径(或语法错误) - 如果您需要进一步的帮助,请发布您的 CMakeLists.txt。
- 启动文件只是 .xml 文件,它告诉 ROS 系统运行特定节点并使其更容易将
params
变量env
传递给节点。您可以使用命令运行单个节点,rosrun
甚至可以找到它的二进制文件(无论您在哪里编译或安装它)
当然,你cout
毕竟可以是 C++。
此外,如果您需要帮助,ROS_<log_level>
可以查看rosccp logging overview
推荐阅读
- php - 如何使 GET 从 "field=foo&field=bar" 到 "field=foo,bar"
- git - 恢复了我在分支上的所有提交,但在变基上仍然存在冲突
- javascript - 如何在其他两个组件中从 App.js 调用事件处理函数
- apache-camel -
不能在 apache 骆驼中工作 - ruby-on-rails - 为 2-3 个特定模型甚至单个模型生成 ER 需要传递哪些标志?
- angular - CKEditor 气球块工具栏不起作用
- php - 按钮重复但操作有效
- go - 如何从golang中的unicode字符串发送击键
- java - JNI中如何释放返回的对象?
- angularjs - 谷歌标签管理器不听 dataLayer.push 的问题