TogetheROS.Bot 简介
TogetheROS.Bot 是 D-Robotics 面向机器人厂商和生态开发者推出的机器人操作系统,旨在释放机器人场景的智能潜能,助力生态开发者和商业客户能够高效、便捷的进行机器人开发,打造具有竞争力的智能机器人产品。
TogetheROS.Bot 支持在 RDK 平台上运行,同时提供模拟器版本在 X86 平台上运行。RDK 平台涵盖下图所示的全部功能,X86 平台支持以图片回灌方式体验部分功能,提高用户算法开发和验证效率,并能够快速迁移到 RDK 平台。
TogetheROS.Bot 源码托管在 GitHub D-Robotics 组织。
Communication 通信组件
Communication 是在 ROS2 Foxy/Humble/Jazzy 版本通信核心组件基础上进行的功能优化和扩展。
主要特性如下:
其中蓝色部分为优化、新增模块,TogetheROS.Bot 主要特性如下:
- 提供 “hobot_sensor” 适配机器人常用传感器,节省开发时间,聚焦核心竞争力
- 提供 “hobot_dnn” 简化板端算法模型推理与部署,释放 BPU 算力,降低智能算法使用门槛
- 提供 “hobot_codec” 软硬结合加速视频编解码,节省 CPU 资源,提升并行处理能力
- 提供 “hobot_cv” 软硬结合提升常见 CV 算子性能,节省 CPU 资源,提升运行效率
- 提供 “hobot Render” Web 端和 HDMI 动态可视化功能,实时渲染算法结果(仅限 Web 端),便于展示与调试
- 增加 “zero-copy” 进程间零拷贝通信机制,降低数据传输时延,减少系统资源消耗
- 丰富中间件软件调试以及性能调优工具,提升问题定位效率,方便系统性能优化
- 与 ROS2 Foxy/Humble/Jazzy 版本接口保持完全兼容,便于复用 ROS 丰富工具包,加快原型验证
- 支持最小化和模块化剪裁,方便根据需要部署在资源受限的嵌入式产品中
Boxs 算法仓库
Boxs 是 D-Robotics 面向机器人厂商和生态开发者推出的基于 TogetheROS.Bot 的智能算法包,旨在提升基于 D-Robotics RDK 机器人操作系统进行机器人智能算法集成和落地的效率。
- 图像检测算法如 FCOS、YOLO、FasterRCNN、Efficientdet、Mobilenet_ssd;
- 图像分类模型如 Mobilenet
- 语义分割模型如 Unet
- 应用算法模型如人体检测与跟踪、手势识别、人手关键点检测、单目高程网络、单目 3D 检测、语音处理等
Apps 应用示例
Apps 是基于 D-Robotics RDK 机器人操作系统 Communication 和 Boxs 开发的算法应用示例,旨在打通图像输入、感知、策略等完整链路,展示应用效果,加速客户 demo 开发效率。
常见名词解释
| 名词 | 含义 |
|---|---|
| zero-copy | 进程间零拷贝通信方式 |
| hobot dnn | 基于 BPU 的模型推理功能封装 |
| SLAM | 定位与地图构建 |
| DOA | 声源定位 |
| ASR | 自动语音识别 |
| TogetheROS.Bot | TogetheROS.Bot 机器人操作系统 |
| tros.b | TogetheROS.Bot 缩写 |
功能支持列表
| 功能 | RDK X3 |
|---|---|
| 数据采集 hobot_sensor | ✔ |
| 数据展示 hobot_render | ✔ |
| 图像编解码 hobot_codec | ✔ |
| 图像处理加速 hobot_cv | ✔ |
| 数据通信 zero-copy | ✔ |
| 模型推理 hobot_dnn | ✔ |
| 图像发布工具 hobot_image_publisher | ✔ |
| 文本转语音 hobot_tts | ✔ |
| 目标检测 | YOLO: v2 v3 v5 v8 v10 FCOS MobileNet_SSD EfficientNet_Det |
| 图像分类 mobilenetv2 | ✔ |
| 图像分割 mobilenet_unet YOLOv8-Seg | ✔ |
| 人体检测 | mono2d_body_detection |
| 人手关键点 | hand_lmk_detection |
| 手势识别 | hand_gesture_detection |
| 人脸年龄检测以及对应 APP 示例 | ✔ |
| 人脸 106 关键点检测,以及对应 APP 示例 | ✔ |
| 视觉惯性里程计 hobot_vio | ✔ |
| 智能语音 hobot_audio以及语音相关示例 | ✔ |
| SLAM 建图 | ✔ |
| Navigation2 | ✔ |
| 智能盒子 | ✔ |
| 功能 | RDK X5 |
|---|---|
| 数据采集 hobot_sensor | ✔ |
| 数据展示 hobot_render | ✔ |
| 图像编解码 hobot_codec | ✔ |
| 图像处理加速 hobot_cv | ✔ |
| 数据通信 zero-copy | ✔ |
| 模型推理 hobot_dnn | ✔ |
| 图像发布工具 hobot_image_publisher | ✔ |
| 文本转语音 hobot_tts | ✔ |
| 目标检测 | YOLO: v2 v3 v5 v8 v10 FCOS MobileNet_SSD EfficientNet_Det |
| 开放词汇目标检测 YOLO-World | ✔ |
| 开放词汇目标检测 DOSOD | ✔ |
| 图像分类 mobilenetv2 | ✔ |
| 图像分割 mobilenet_unet YOLOv8-Seg | ✔ |
| 分割一切 mono_edgesam | ✔ |
| 分割一切 mono_mobilesam | ✔ |
| 人体检测 | mono2d_body_detection |
| 人手关键点 | hand_lmk_detection |
| 手势识别 | hand_gesture_detection |
| 人脸年龄检测以及对应 APP 示例 | ✔ |
| 人脸 106 关键点检测,以及对应 APP 示例 | ✔ |
| 人体跟随 | ✔ |
| 双目深度算法 | ✔ |
| 双目 OCC 算法 | ✔ |
| 视觉惯性里程计 hobot_vio | ✔ |
| 智能语音 hobot_audio以及语音相关示例 | ✔ |
| 智能语音 Sensevoice | ✔ |
| 视觉语言模型 hobot_llamacpp | ✔ |
| 文本图片特征检索 hobot_clip | ✔ |
| 光流估计 mono_pwcnet | ✔ |
| SLAM 建图 | ✔ |
| Navigation2 | ✔ |
| 智能盒子 | ✔ |
| 视觉语音盒子 | ✔ |
| 功能 | RDK S100 |
|---|---|
| 数据采集 hobot_sensor | ✔ |
| 数据展示 hobot_render | ✔ |
| 图像编解码 hobot_codec | ✔ |
| 图像处理加速 hobot_cv | ✔ |
| 数据通信 zero-copy | ✔ |
| 模型推理 hobot_dnn | ✔ |
| 图像发布工具 hobot_image_publisher | ✔ |
| 文本转语音 hobot_tts | ✔ |
| 目标检测 | YOLO: v2 v3 v5 v8 v10 |
| 开放词汇目标检测 DOSOD | ✔ |
| 图像分类 mobilenetv2 | ✔ |
| 图像分割 mobilenet_unet YOLOv8-Seg | ✔ |
| 分割一切 mono_edgesam | ✔ |
| 人体检测 | mono2d_yolo_pose |
| 人手关键点 | hand_lmk_gesture_mediapipe |
| 手势识别 | hand_lmk_gesture_mediapipe |
| 人体跟随 | ✔ |
| BEV | ✔ |
| 激光雷达目标检测算法CenterPoint | ✔ |
| 双目深度算法 | ✔ |
| 双目 OCC 算法 | ✔ |
| 智能语音 Sensevoice | ✔ |
| 视觉语言模型 hobot_llamacpp | ✔ |
| DeepSeek 大语言模型 hobot_xlm | ✔ |
| 文本图片特征检索 hobot_clip | ✔ |
| SLAM 建图 | ✔ |
| Navigation2 | ✔ |
| 智能盒子 | ✔ |
| 视觉语音盒子 | ✔ |
| 功能 | RDK S600 |
|---|---|
| 数据采集 hobot_sensor | ✔ |
| 数据展示 hobot_render | ✔ |
| 图像编解码 hobot_codec | ✔ |
| 图像处理加速 hobot_cv | ✔ |
| 数据通信 zero-copy | ✔ |
| 图像发布工具 hobot_image_publisher | ✔ |
| 文本转语音 hobot_tts | ✔ |
| 目标检测 | YOLO: v2 v3 v5 |
| 开放词汇目 标检测 DOSOD | ✔ |
| 图像分类 mobilenetv2 | ✔ |
| 图像分割 mobilenet_unet YOLOv8-Seg | mobilenet_unet |
| 分割一切 mono_edgesam | ✔ |
| 人体检测 | mono2d_yolo_pose |
| 人体跟随 | ✔ |
| 智能语音 Sensevoice | ✔ |
| SLAM 建图 | ✔ |
| 智能盒子 | ✔ |