跳转到正文

查看机器人和摄像头资源

使用机器人或摄像头前,需要依次确认三件事:设备所在的计算节点、创建任务时要申请的设备资源,以及 Worker 实际能够访问的设备 ID 和状态。三类信息分别用于查找节点、申请调度资源和定位实际设备。

下表用于判断应在控制台的哪个位置查找所需信息。

在哪里查看或填写这项信息表示什么用于完成什么操作
节点页面中的端真机、型号和资源摘要管理员为 Node 设置的类别,以及 Node 已上报的资源概况找到可能承载设备任务的节点
创建任务时的设备资源,例如 rlinf.io/device-franka调度器可以分配的设备资源类型和数量让每个 Worker 申请相应资源
Worker 中显示的机器人或摄像头 ID,例如 franka-robot-1video0设备运行时在该 Worker 可访问范围内识别到的设备让 RLinf 配置或设备程序引用实际设备

Step 1 查找可用节点

  1. 在左侧导航中选择节点
  2. 选择端真机,找到机器人所在的 Node。摄像头或其他外设也可能接在端算力节点上;请按当前环境提供的节点类型和名称查找。
  3. 核对 Node 的所属集群、在线状态、型号和资源摘要。
  4. 打开 Node 详情,确认 Node 处于在线可调度状态,并记录任务需要使用的节点标签。

端真机用于查找管理员归为机器人节点的 Node。找到候选 Node 后,还需核对设备连接、具体设备清单和当前任务要求的安全条件。

如果页面没有显示设备资源名称和数量,或者显示为 暂无设备空闲未知,请向平台管理员确认该 Node 是否已经接入设备运行时,以及创建任务时应使用的设备资源名称和数量。不要根据机器人型号自行拼写资源名称。

查找节点和理解资源字段的方法参见查找并筛选节点查看节点资源

Step 2 在任务中申请设备资源

  1. 创建 Job 时,在该角色的节点选择中使用已确认的节点标签。
  2. 设备资源中选择当前集群提供的资源名称,并填写单个 Worker 需要的数量。
  3. 核对已选节点数。每个匹配到的 Node 都会为该角色产生一个 Worker,因此每个匹配节点都必须具备对应设备和运行条件。
  4. 提交前完成使用真实设备前的安全要求中与当前任务有关的审批和现场检查。

区分设备资源名称和设备 ID

rlinf.io/device-franka 这类名称告诉调度器要为 Worker 分配哪一类资源;franka-robot-1video0 这类 ID 由设备运行时报告,供 Worker 中的程序引用。

创建 Job 时,在设备资源中填写当前环境提供的资源名称;Worker 启动后,再把查询到的设备 ID 用于 RLinf 配置或设备程序。两类值都应从当前环境取得。

设备数量按单个 Worker 计算。如果一个角色创建 3 个 Worker,并且每个 Worker 申请 1 个 rlinf.io/device-franka,该角色总共会申请 3 份设备资源。物理设备映射和设备独占需要由目标环境的设备管理流程确认。

完整字段说明参见创建训练任务中的“填写 GPU 和设备资源”

Step 3 在 Worker 中查看实际设备

只有同时满足以下条件时,才在 WebTerminal 中执行本节的只读命令:

  • Job 已申请正确的设备资源,Worker 也已经运行在预期 Node 上;
  • 当前环境通过设备控制器接入机器人或摄像头,并向 Worker 提供 rosctrcamctr
  • 你已获准打开该 Worker 的 WebTerminal,并且真实设备处于允许查看状态的安全条件下。

打开目标 Worker 的 WebTerminal,按设备类型执行相应命令:

bash
# 列出该 Worker 所连接控制器能够看到的机器人,并查看指定机器人的状态。
/opt/rlinf/bin/rosctr list
/opt/rlinf/bin/rosctr status <robot-id>

# 列出该 Worker 所连接控制器能够看到的摄像头,并查看指定摄像头的信息。
/opt/rlinf/bin/camctr list
/opt/rlinf/bin/camctr info <camera-id>

先从 list 的结果中取得 ID,再把 <robot-id><camera-id> 替换为实际值。命令返回的清单来自该 Worker 所连接的设备控制器,查询范围通常是 Worker 所在节点。

需要查看其他查询参数、输出格式或状态字段时,请打开与目标环境版本一致的 embodied-runtime CLI 用法(简体中文),再进入 rosctrcamctr 小节。链接指向 main 分支;查看已部署环境时,请先在 GitHub 中切换到对应的 Git tag 或 commit。

有些环境会把 /dev/video*、串口或其他宿主设备直接挂载到 Worker,不提供 rosctrcamctr。遇到这种情况,请使用当前环境为该设备提供的访问方式,不要在 Worker 中临时安装或启动设备控制器。

操作设备前完成安全确认

liststatus 用于读取当前 Worker 所连接控制器中的设备信息。执行设备动作前,还需确认设备独占、上电或 arming、操作授权、急停、断连保护和现场操作安排。

本页只使用不会改变设备状态的查询命令。需要启动、停止、复位、切换模式、采集画面或持续读取视频时,请先取得相应授权,并使用目标环境同一版本的设备运行手册。

处理设备无法查看的问题

按页面和命令中最早出现的问题继续检查。

看到的情况先检查什么下一步
Worker 长时间处于 PendingJob YAML 中的设备资源名称和数量、Node 的可调度状态,以及该 Node 是否仍有可分配资源保存 Job、角色、资源名称和目标 Node 信息,请平台管理员检查调度事件
Worker 已运行,但命令或 /opt/rlinf/bin 不存在当前环境是否通过设备控制器接入设备,以及任务是否申请了正确资源不要在 Worker 中临时安装 CLI;确认该设备应使用控制器还是直接设备挂载
list 返回空结果或 socket 连接错误Worker 的实际 Node、设备资源请求,以及该节点的设备控制器是否已经发现设备记录脱敏后的命令输出、Worker 和 Node 名称,请设备运行时维护人员检查
能看到设备,但 ID、型号或状态不符合预期资源类型到物理设备的映射、设备独占关系和本次任务允许使用的设备 ID停止继续操作,不要尝试切换或复位设备;请现场人员和平台管理员核对映射

更多任务状态和日志检查方法见训练任务与 Worker 排障

查看设备运行时资料

设备运行时的部署和接入方式由目标环境决定。需要使用源码仓库中的 CLI 或接入示例时,按以下顺序确认:

  1. 向平台管理员确认目标环境使用的 RLark 版本,以及设备采用控制器还是直接挂载方式。
  2. 确认目标 Worker 已取得相应设备资源,并且当前环境已经向 Worker 提供所需 CLI 和 socket。直接挂载的设备不一定使用 rosctrcamctr
  3. 确认你拥有该 Job 和 WebTerminal 的访问权限,以及当前设备允许执行的命令范围。
  4. 在 GitHub 中切换到与目标环境相同的 Git tag 或 commit,再使用对应版本的中文资料。下面的链接默认指向 main,只用于进入最新源码资料。

执行设备命令前确认操作范围

CLI 同时提供设备状态查询和设备操作命令。在 Worker 中查询设备状态前,请确认你可以访问该 Job 和 WebTerminal,并已获准查询目标设备。

启动、停止、复位或切换机器人状态,以及打开摄像头、采集画面或持续读取视频,可能影响设备和现场环境。执行这些操作前,还需确认允许使用的设备 ID、现场操作安排和安全停止方案。条件不明确时,请仅使用当前环境已批准的查询方式,并联系平台管理员或现场操作人员。