基础服务:包含提供节点功能管理、文件及代码管理、终端及日志管理等服务。
基础功能:机器人基础功能包含机器视觉、机器人控制、语音识别、激光雷达等单一功能。
综合应用: 使用基础功能搭建复杂应用,降低实际应用开发难度,类似搭建积木,利用简单模块构建复杂应用项目。
平台可视化:提供人性化的管理界面,让开发和调试变得更加简单。
1. 充分利用已有基础功能,搭建复杂应用。
2. 尽量设计基础功能节点,单一功能,让更多应用使用,避免重复造轮子。
下面介绍两款应用,看如何使用基础功能搭建个性化的高级应用。
人脸识别功能:通过face_recognition库实现人脸识别节点,依赖视频采集节点,将新识别的人脸保存在特定文件夹中。
视频采集节点用于采集摄像头原始数据,发布图像数据供人脸识别节点使用,不同ROS产品摄像头硬件可能不同,视频采集功能有所差异,只要发布数据相同,人脸识别节点无需修改。
足球射门功能:通过YOLO训练足球和球门模型,将模型输入给物体识别节点,获取识别结果,判断球门和足球位置,调整机器人状态,将足球射入球门。
该功能依赖视频采集、物体识别、运动控制模块,各个模块可独立运行,通过足球射门程序调整参数完成功能。