具身智能(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中的脚本即可使用该工具。

相关推荐
Georgeviewer5 分钟前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
GuWenyue34 分钟前
分不清AI Workflow与Agent?3个实战案例彻底讲透,做AI应用不再踩选型坑
人工智能
彩讯股份3006341 小时前
彩讯股份与心洲科技签署战略合作协议,共建企业级模型后训练能力
人工智能·科技
迅易科技2 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
PNP Robotics2 小时前
多伦多大学机器人峰会|物理AI与具身智能落地新趋势
人工智能·深度学习·机器学习·机器人
GIR1232 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
绿算技术2 小时前
绿算技术亮相第十八届HPC AI中国年会,擘画AI基础设施全栈协同新图景
人工智能
Litluecat2 小时前
2026年7月22日科技热点新闻
人工智能·科技·新闻·每日·速览
To_OC2 小时前
别再傻傻分不清:Workflow 和 Agent 到底不是一回事
人工智能·agent·workflow
触底反弹3 小时前
🔥 2026 大模型选择指南:别再只看 Benchmark 了,这些维度才是关键!
人工智能·面试