ROS机器人程序设计(原书第2版)3.3.1 检测节点、主题、服务和参数
3.3.1 检测节点、主题、服务和参数 坦白地讲,我们应该先回顾一下学习过的基本内容。如何获得正在运行的节点、主题、给定时间可用服务的清单,如下表所示。 获取所有列表 命令 运行的节点 rosnode list 所有节点运行的主题 rostopic list 所有节点运行的服务 rosservice list 服务器中的参数 rosparam lis...
ROS机器人程序设计(原书第2版)3.2.3 为特定节点配置调试信息级别
3.2.3 为特定节点配置调试信息级别 默认情况下,系统会显示INFO及更高级别的调试信息,并使用ROS默认级别来过滤特定节点输出的信息。要实现这一功能有很多方法。其中有些是在编译时设定,而其他的可以在执行前使用配置文件进行更改。另外,也可以动态地改变级别。下面将介绍使用rqt_console和rqt_logger_level来实现这一功能。 在编译源代码时可以设置日志级别,但不推荐这么做,这需....
ROS机器人程序设计(原书第2版)3.1.4 设置ROS节点core文件转储
3.1.4 设置ROS节点core文件转储 虽然ROS节点实际上就是一般的可执行文件,但在设置gdb的core文件转储(core dump)时仍有一些棘手的问题需要注意。首先要取消core文件大小限制,当前值可以通过ulimit -a查看。请注意这适用于任何可执行文件,不只是ROS节点: 然后,为了能够创建core文件转储,必须将core文件名设置为默认使用的进程pid,否则无法创建...
ROS机器人程序设计(原书第2版)3.1.2 ROS节点启动时调用gdb调试器
3.1.2 ROS节点启动时调用gdb调试器 我们需要一个启动文件(launch)去启动节点,如下: 想要在节点启动时调用gdb调试器,需要添加launch-prefix="xterm -e gdb --args",如下: 类似地,也可以添加output="screen",使节点在终端显示。这个启动前缀会创建一个调用gdb节点的新xterm终端。依据需要设置断点,按C键...
ROS机器人程序设计(原书第2版)3.1.3 ROS节点启动时调用valgrind分析节点
3.1.3 ROS节点启动时调用valgrind分析节点 此外,我们可以使用相同的属性把节点附加到诊断工具上。例如,可以启动valgrind来检测我们程序的内存泄漏情况,并执行性能分析。你可以访问http://valgrind.org获取详细信息。与调用gdb的方式相反,现在我们无需重新启动xterm,只需如下设置:
ROS机器人程序设计(原书第2版)3.1.1 使用gdb调试器调试ROS节点
3.1.1 使用gdb调试器调试ROS节点 为了使用gdb调试器调试一个C/C++节点,唯一要知道的是可执行节点的路径。在ROS hydro和catkin功能包中,节点的可执行文件在工作空间的devel/lib/<package>文件下。例如,为了在gdb中运行chapter3_tutorials功能包中的example1节点,我们需要按如下步骤进行,首先到工作空间文件夹下(~/de....
ROS机器人程序设计(原书第2版)3.1 调试ROS节点
3.1 调试ROS节点 ROS节点可以像正常程序一样调试。调试程序在系统中运行时有一个进程号(PID)。你可以用任何标准工具(如gdb)进行调试。同样可以用valgrind检查内存泄漏,或者用callgrind分析算法性能。请记住使用下面的命令运行一个节点: 很遗憾,你不能通过下面的方式启动命令: 在接下来的部分中,我们将解释如何调用这些工具调试ROS节点,以及如何在代...
ROS机器人程序设计(原书第2版)2.4.10 编译节点
2.4.10 编译节点 当使用chapter2_tutorials功能包时,需要自行编辑CMakeLists.txt文件。你可以使用你喜欢的编辑器或直接使用rosed工具。这里我们将会在Vim编辑器下打开这个文件: 将以下命令行复制到文件的末尾处: 现在我们使用catkin_make工具来编译功能包和全部的节点: 如果在你的电脑上还没有启动ROS,需要首先...
ROS机器人程序设计(原书第2版)2.4.9 创建节点
2.4.9 创建节点 在本节中,我们要学习如何创建两个节点:一个发布数据,另一个接收这些数据。这是两个节点之间最基本的通信方式,也就是操作数据并使用这些数据来做些工作。 使用以下命令返回chapter2_tutorials/src/文件夹: 创建两个文件并分别命名为example1_a.cpp和example1_b.cpp。example1_a.cpp文件将会发送带有节点名称的数据,...
ROS机器人程序设计(原书第2版)2.4.5 使用ROS节点
2.4.5 使用ROS节点 正如我们在2.2.1节中解释的,节点都是可执行程序,这些可执行文件位于开发空间中。要学习和了解有关节点的知识,我们要使用一个名为turtlesim的功能包进行练习。 如果你进行了ROS系统的完整安装,那么你已经有了turtlesim功能包。如果还没有,请使用以下命令安装: 在开始之前,必须使用如下命令启动roscore: 为了获得节点信息,可...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。