具身智能(1):Docker、nvidia-ctk、OpenExplorer环境搭建

前言:

现在具身智能领域最近蓬勃发展,从2025年春节宇树机器人上春晚到今年2026年松延动力、宇树科技《武 BOT》、魔法原子、银河通用等4家机器人再上春晚,而且宇树机器人1年内展现了非常高的迭代效率。而机器人大脑芯片方面,除了英伟达,现在就是地瓜机器人的RDK S100(800/128TOPS(int8))。那么如何搭个环境来开发机器人呢?这里有一个基础的环境搭建。

Docker容器部署基础步骤:

1、Docker安装

1.1 如没有使用 GNOME,必须安装以启用从 Docker Desktop 访问终端:

复制代码
sudo apt install gnome-terminal

1.2在Ubuntu上安装Docker Desktop

Ubuntu |Docker 文档

复制代码
 sudo apt-get update
 sudo apt install ./docker-desktop-amd64.deb(提前下载)

Docker Desktop默认安装于:/opt/docker-desktop

Docker Desktop 安装程序还安装了一个包含云集成功能的 Docker CLI 二进制文件,本质上是 Compose CLI 的封装器。符号链接确保包装器能够访问经典的Docker CLI。 /usr/local/bin/com.docker.cli ``/usr/bin/docker ``/usr/bin/docker ``/usr/local/bin/com.docker.cli

启动 Linux Docker Desktopke可打开terminal终端并运行:

复制代码
 systemctl --user start docker-desktop

Docker Desktop 启动后,其内嵌的 Docker Engine 会在 docker version 的 Server 段明确标注版本号。

复制代码
docker version

若需确认已安装的 .deb 包版本:

复制代码
dpkg -l | grep docker-desktop

若执行 docker version 提示无法连接守护进程,需先启动 Docker Desktop(图形界面启动或运行 systemctl --user start docker-desktop)。docker --version 仅显示 Docker CLI 版本,不包含 Docker Desktop 版本,需以 docker version 的 Server 段为准。

以下面指令进行测试,注意nvdia-smi是否可用

复制代码
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

2、Ubuntu下安装 NVIDIA 容器工具包

复制代码
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
   ca-certificates \
   curl \
   gnupg2

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update

export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.2-1
  sudo apt-get install -y \
      nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
      nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
      libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
      libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}

配置方法1:通过以下命令配置容器运行时:

复制代码
sudo nvidia-ctk runtime configure --runtime=docker

重启 Docker 守护进程

复制代码
sudo systemctl restart docker

配置方法2:以无根模式运行的 Docker 容器运行时:

复制代码
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json

重启无根 Docker 守护进程:

复制代码
systemctl --user restart docker

通过以下命令进行配置:

复制代码
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place

配置方法3:配置containerd,通过以下命令配置容器运行时

复制代码
sudo nvidia-ctk runtime configure --runtime=containerd

重启容器:

复制代码
sudo systemctl restart containerd

3、Docker用户组

完成Docker基础环境安装后,还需将无root权限的用户添加到Docker用户组中:

复制代码
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart

4、Docker离线镜像加载

先下载离线镜像(区分CPU和GPU版本,gpu就是带3090等nvdia网卡,地瓜算法工具链OpenExplore包Docker等发布下载 - 应用开发 / 算法工具链 - 地瓜机器人论坛https://forum.d-robotics.cc/t/topic/28035),并使用命令将镜像加载到本地。这个提供了包含完整开发环境的Docker镜像,大大简化了开发环境的部署过程。

复制代码
docker load -i ai_toolchain_ubuntu_22_s100_xxx.tar
如
docker load -i ai_toolchain_ubuntu_22_s100_gpu_v3.2.0.tar

5、OE包下载启动及启动

接下来,可在OE包一级目录下直接运行以下脚本启动当前OE版本所对应的Docker容器(data 为评测数据集文件夹路径,需提前创建好后再运行命令,数据集可从如下链接下载:

数据集下载 - OpenExplorerhttps://toolchain.d-robotics.cc/guide/appendix/dataset_link.html

复制代码
sh run_docker.sh data/

问题:

没能找到英伟达驱动

  • 如用vmware虚拟机,默认不直通物理 GPU,上述 GPU 配置无法生效。需要修改驱动参数解除虚拟化限制:
复制代码
  # 编辑 grub 配置
  sudo nano /etc/default/grub
  # 将 GRUB_CMDLINE_LINUX_DEFAULT 改为:
  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
  # 保存后更新 grub 并重启
  sudo update-grub && sudo reboot

或者在原生ubuntu下使用gpu版本的。

6、模型量化

推荐在浮点模型训练完成后优先选择简单易用的PTQ量化方案,只在精度问题确实无法解决时再切换到QAT量化方案。

7、模型部署

当模型完成量化转换后,即可将编译好的模型部署在开发板环境推理运行。

hrt_model_exec成功编译后,将生成的output_shared_s100_aarch64拷贝到开发板的可写路径,运行如下script中的脚本即可使用该工具。

相关推荐
九尾狐ai2 小时前
从九尾狐AI案例看AI数字人矩阵的技术架构与实现方案
人工智能
芝士爱知识a2 小时前
2026年 AI 期权工具全维度测评与推荐榜单:AlphaGBM 领跑,量化交易新范式
大数据·人工智能·python·ai量化·alphagbm·ai期权工具·ai期权工具推荐
电子科技圈2 小时前
SmartDV首次以“全栈IP解决方案提供商”身份亮相Embedded World 2026
服务器·网络·人工智能
一叶萩Charles2 小时前
MCP 实战:国家统计局数据查询 Server 从开发到发布
javascript·人工智能·python·node.js
开开心心就好2 小时前
Word批量转PDF工具,仅转换不合并很实用
java·前端·人工智能·edge·pdf·语音识别·模块测试
arvin_xiaoting2 小时前
OpenClaw 完全指南(03):飞书集成——打造团队 AI 助手
人工智能·飞书
美狐美颜sdk2 小时前
实时美颜滤镜卡顿怎么办?美颜sdk滤镜特效开发优化方案
人工智能·深度学习·计算机视觉·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
Data_Journal2 小时前
如何将网站数据抓取到 Excel:一步步指南
大数据·开发语言·数据库·人工智能·php
HelloWorld1024!2 小时前
Pytorch1 PyTorch 官方 QuickStart 超详细笔记|
人工智能·pytorch·笔记