节点管理

ROS机器人系统中每个功能以节点形式存在,节点之间可以相互通信。

平台集成丰富的功能节点案例,包括人脸识别、车牌识别、视频监控、手势识别、姿态识别、物体识别、离线语音指令识别等。

采用ROS系统的通信设计,可在已有功能基础上进行二次开发或集成,快速实现高级功能。

ROS机器人连接成功后,进入节点管理页签。

节点列表

列出ROS系统中注册的节点,以及绑定的节点。

注意:未注册的节点无法显示,为了便于管理,可在src/pycodebot.env加入第三方开发应用的环境变量。

平台内置的节点功能并且预先绑定,方便大家学习。

命令终端

在终端中执行系统命令,类似shell终端命令,可执行任何系统命令,请勿进行危险操作。

快捷键: 使用 ↑↓ 箭头键浏览命令历史,Ctrl+L(清空终端) Ctrl+I(清空输入) Ctrl+K(杀死进程)

终端启动节点命令示例:

shell
# 前台启动节点,: ros2 run mycodebot hello_service # 后台启动节点 : nohup ros2 run mycodebot hello_service >/dev/null 2>&1 &

前台执行:可看到执行过程中的输出结果,终端被挂起等待程序执行结束。但可以使用Ctrl+K 快捷键强制结束。

后台执行:无法看到输出结果,终端不会挂起。调试过程中不建议使用。

启动节点

点击节点卡片右上角菜单按钮,弹出菜单项选择“启动节点” 。

节点启动后,卡片状态变为“运行中” 。

卡片信息中显示节点订阅主题、发布主题、服务和动作通信的数量。

停止节点

点击节点卡片右上角菜单按钮,弹出菜单项选择“停止节点” 。

节点停止后,卡片状态变为“未运行” 。

注意:未绑定的节点停止后刷新后不再显示。

重启节点

点击节点卡片右上角菜单按钮,弹出菜单项选择“重启节点” 。

当修改节点代码,编译后需要重启节点才能生效。

绑定节点

节点列表中仅显示运行中的节点,以及绑定过的节点。

ROS系统中未启动并且未绑定的节点无法看到,为了能够便捷的对节点进行管理,建议绑定节点。

在终端先输入命令启动节点,节点列表自动刷新显示新启动的节点。

点击节点卡片右上角菜单按钮,弹出菜单项选择“绑定节点” 。

节点启动命令自动采用后台执行,无需添加nohup执行。

常用节点建议绑定,方便进行管理。

解除绑定

点击节点卡片右上角菜单按钮,弹出菜单项选择“解除绑定”。

解除绑定不影响节点的运行状态。

解除绑定后如果停止节点运行,在节点列表中无法再显示该节点。

重新绑定

点击节点卡片右上角菜单按钮,弹出菜单项选择“重新绑定”。

重新设置节点别名或启动命令。

修改启动命令前建议先停止节点, 然后在终端输入命令测试是否可以正常启动节点。