Skip to content

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_robotnaviai_chassisnaviai_navbrain_rosnaviai_rosbridge机器人状态、底盘桥接、任务流程服务、WebSocket 接入
感知 / 传感器 / 地图naviai_sensornaviai_sensor_lidarnaviai_perceptionnaviai_map_server相机/雷达接入、感知处理、地图服务
可视化 / 远程界面naviai_nviznaviai_novncnaviai_robot_viewer可视化、远程图形界面、Web 查看器
开发 / 演示入口naviai_demos容器开发路线的示例容器

开发从哪里开始

通常只有两条路线。

路线适合什么入口
rosbridge WebSocket在非 ROS 环境中开发:宿主机、网络中其他主机,前端/业务系统rosbridge WebSocket 开发
Docker ROS 原生容器基于现有镜像创建单独开发容器:写 rospy / roscpp 节点、使用 ROS CLI、自定义 msg/srvDocker ROS 原生开发容器

在宿主机或网络中其他主机上开发前端、状态面板、业务系统时,优先走 rosbridge。
需要原生 ROS 环境、ROS CLI 或自定义消息类型时,使用单独的 Docker ROS 开发容器。

关键地址

地址
Orin192.168.217.100
ROS master192.168.217.1:11311
rosbridgews://192.168.217.100:9090
底盘/导航侧jzrobot-a / 192.168.217.1
上肢/手/屏幕侧pico.zjrx.com / 192.168.217.66
217 网段其他地址192.168.217.50192.168.217.107192.168.217.254,暂时未知

继续阅读

想了解看这里
快速建立整体印象整体架构
Orin 里的 Docker 容器怎么分工Docker 服务构成与运行架构
常用 topic / service 怎么接主要 ROS 话题/服务
怎么开始开发开发接入指南
按容器、topic、设备、任务查资料开发查询索引