Appearance
NAVIAI 开发信息初步总结
这台机器的主要服务运行在 Orin 上。与常见 ROS package 环境管理不同的是,Orin 将不同功能拆到不同 Docker 容器中运行;每个容器负责一类能力,容器内部再启动对应的 ROS 节点或服务。
开发接入分为两条路线:需要在非 ROS 环境中接入 ROS 话题或服务的应用,可以通过 rosbridge 接入;需要原生 ROS 环境的程序,基于现有镜像创建独立 Docker 容器进行开发。开发环境统一放在隔离容器里,宿主机和其他服务器保持无 ROS 开发环境,避免污染系统环境。
这台机器由什么组成
| 部分 | 作用 | 说明 |
|---|---|---|
| Orin 主机 | 当前主要计算与服务入口 | 大多数开发、查看、接入都先从 Orin 上的 Docker 容器开始 |
| Orin Docker 容器 | 按功能拆分机器人服务 | 用来理解 Orin 内部服务边界 |
jzrobot-a | 底盘、导航、定位、部分任务/示教控制侧 | 底盘和导航相关接口有不少来自这里 |
pico | 上肢、灵巧手、头顶屏、机器人状态 | 上肢、手、显示屏控制等服务主要看这里 |
| 传感器与外设 | 相机、雷达、IO 等数据或设备能力 | 原始数据细节放在接口章节,不在首页展开 |
Orin 里主要跑了什么
Orin 内部服务按 Docker 容器分组理解即可:
| 容器组 | 代表容器 | 负责什么 |
|---|---|---|
| 核心机器人 / ROS 接入 | naviai_robot、naviai_chassis、naviai_navbrain_ros、naviai_rosbridge | 机器人状态、底盘桥接、任务流程服务、WebSocket 接入 |
| 感知 / 传感器 / 地图 | naviai_sensor、naviai_sensor_lidar、naviai_perception、naviai_map_server | 相机/雷达接入、感知处理、地图服务 |
| 可视化 / 远程界面 | naviai_nviz、naviai_novnc、naviai_robot_viewer | 可视化、远程图形界面、Web 查看器 |
| 开发 / 演示入口 | naviai_demos | 容器开发路线的示例容器 |
开发从哪里开始
通常只有两条路线。
| 路线 | 适合什么 | 入口 |
|---|---|---|
| rosbridge WebSocket | 在非 ROS 环境中开发:宿主机、网络中其他主机,前端/业务系统 | rosbridge WebSocket 开发 |
| Docker ROS 原生容器 | 基于现有镜像创建单独开发容器:写 rospy / roscpp 节点、使用 ROS CLI、自定义 msg/srv | Docker ROS 原生开发容器 |
在宿主机或网络中其他主机上开发前端、状态面板、业务系统时,优先走 rosbridge。
需要原生 ROS 环境、ROS CLI 或自定义消息类型时,使用单独的 Docker ROS 开发容器。
关键地址
| 项 | 地址 |
|---|---|
| Orin | 192.168.217.100 |
| ROS master | 192.168.217.1:11311 |
| rosbridge | ws://192.168.217.100:9090 |
| 底盘/导航侧 | jzrobot-a / 192.168.217.1 |
| 上肢/手/屏幕侧 | pico.zjrx.com / 192.168.217.66 |
| 217 网段其他地址 | 192.168.217.50、192.168.217.107、192.168.217.254,暂时未知 |
继续阅读
| 想了解 | 看这里 |
|---|---|
| 快速建立整体印象 | 整体架构 |
| Orin 里的 Docker 容器怎么分工 | Docker 服务构成与运行架构 |
| 常用 topic / service 怎么接 | 主要 ROS 话题/服务 |
| 怎么开始开发 | 开发接入指南 |
| 按容器、topic、设备、任务查资料 | 开发查询索引 |