本项目基于AmazingHand官方初始项目. https://github.com/pollen-robotics/AmazingHand/tree/Amazing-Hand-Enhanced代码下载克隆官方开源代码仓库https://github.com/pollen-robotics/AmazingHand.git官方开源代码或有错漏请务必注意。git clone https://github.com/pollen-robotics/AmazingHand.git环境安装根据系统自行安装Rust、uv、dora-rs安装 Rusthttps://www.rust-lang.org/tools/installwindows端 Rust环境变量设置重点 参考https://zhuanlan.zhihu.com/p/1958936613276087180Linux端环境变量设置首次安装可能需要Visual Studio Installer配置 Cargo 镜像源在.cargo文件夹中创建config.toml配置文件, 配置清华crates.io-index镜像这样Cargo 将会使用清华大学的镜像源来下载 crate。[source.crates-io]replace-withtuna[source.tuna]registryhttps://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git安装 uvhttps://docs.astral.sh/uv/getting-started/installation/windows端打开Powershell终端复制后输入此命令进行安装Linux端环境变量设置安装 dora-rs请参考https://dora-rs.ai/docs/guides/Installation/installinglinux端环境变量设置接线方式电源要求至少5V3A外接 舵机驱动板通过USB连接到电脑端示例演示查看舵机驱动板端口号windows系统一般为COM11可通过 设备管理器 或者 飞特舵机上位机 找到 舵机驱动板 的端口号Ubuntu、Linux系统一般为/dev/ttyACM0通过命令行查看舵机驱动板的端口ls/dev/ttyUSB*/dev/ttyACM*sudo chmod666/dev/ttyACM*sudo usermod-aG dialout $USER若是在虚拟机里 ls /dev/ttyUSB* /dev/ttyACM*找不到目录请检查虚拟机右下角是否将灵巧手连接到电脑若是请选择断开并连接到虚拟机里修改代码中的端口号①找到AmazingHand-main\Demo\AHControl\src目录下的main.rs代码文件文本打开修改为自身主机查找到的端口号windows为COM*ubuntu、linux系统一般为/dev/ttyACM*②找到对应的实例文件右灵巧手 找到AmazingHand-main\Demo目录下的dataflow_tracking_real_right.yml左灵巧手 找到AmazingHand-main\Demo目录下的dataflow_tracking_real_left.yml双灵巧手 找到AmazingHand-main\Demo目录下的dataflow_tracking_real_2hands.yml文本格式打开修改为自身主机查找到的端口号windows为COM*ubuntu、linux系统一般为/dev/ttyACM*代码部署打开Demo文件夹Windows系统 在目录中输入Powershell 回车打开启动守护进程每次都要Linux系统 直接使用控制台打开启动守护进程每次都要dora up然后在控制台中从该目录运行搭建环境时曾经运行过一次即可再此运行会覆盖掉虚拟环境创建虚拟环境uv venv--python3.12激活虚拟环境每次都要请根据 系统 输入并运行#Windows端Set-ExecutionPolicy-ExecutionPolicyBypass-ScopeProcess.venv\Scripts\activate#Linux端 source.venv/bin/activate确保控制台已经激活虚拟环境执行依赖同步进入到AHControl文件夹cdAHControlcargo build--release然后 输入cd ..并回车返回Demo目录下进入到AHSimulation文件夹# 同步 uv 环境中的依赖 cdAHSimulationuvsync然后输入cd ..并回车返回Demo目录下进入到HandTracking文件夹cdHandTrackinguvsync运行结果打开Demo文件夹在目录中输入Powershell回车打开启动守护进程每次都要dora up激活虚拟环境每次都要请根据 系统 输入并运行Windows端激活虚拟环境的命令Set-ExecutionPolicy-ExecutionPolicyBypass-ScopeProcess.venv\Scripts\activateLinux端激活虚拟环境的命令source.venv/bin/activate模拟环境仅在模拟环境下运行网络摄像头手部追踪演示dora build dataflow_tracking_simu.yml--uv #只需执行一次dora run dataflow_tracking_simu.yml--uv真实硬件运行手部追踪使用真实硬件运行网络摄像头手部追踪演示右灵巧手dora build dataflow_tracking_real_right.yml--uv #只需执行一次dora run dataflow_tracking_real_right.yml--uv左灵巧手dora build dataflow_tracking_real_left.yml--uv #只需执行一次dora run dataflow_tracking_real_left.yml--uv双灵巧手注意都连接到一个舵机驱动板上dora build dataflow_tracking_real_2hands.yml--uv #只需执行一次dora run dataflow_tracking_real_2hands.yml--uv简单示例控制仿真手指角度运行一个简单的示例来控制仿真中的手指角度dora build dataflow_angle_simu.yml--uv #只需执行一次dora run dataflow_angle_simu.yml--uv描述说明AHControl包含一个dora-rs节点来控制电机以及一些用于配置电机的实用工具。AHSimulation包含一个dora-rs节点用于模拟手部运动并获得逆运动学。HandTracking包含一个dora-rs节点用于从网络摄像头跟踪手部并将其用作控制 AH! 的目标。注意事项1、mediapipe版本问题pyproject.toml中配置mediapipe0.10.14但安装后的mediapipe包缺少solutions子模块大概率是mediapipe版本与Python 3.12不兼容高版本mediapipe对Python 3.12的支持存在问题或安装过程中包文件损坏。uv pip uninstall mediapipeuv pip install mediapipe0.10.142、Dora 版本不兼容消息格式v0.7.0 vs v0.8.0答①先在C盘用户目录下的.cargo/registry/src/github.xxxxxxxx/下只删除对应的依赖包!dora-message-0.7.0核心这是旧版消息格式文件夹必须删 dora-core-0.4.1dora-node-api-0.4.1dora-arrow-convert-0.4.1dora-metrics-0.4.1dora-tracing-0.4.1const-random-macro-0.1.16Dora依赖的辅助库随旧版一起删②打开Demo/AHControl文件夹修改Cargo.toml里的dora-node-api0.5.0 dora-message0.8.0③控制台进入到AHControl目录下重新运行cargo build --release④在重新跟着“真实硬件运行”重新进行build根据实际报错情况修改对应的版本例如dora-message需要0.6.0的修改成dora-node-api0.4.0 dora-message0.6.03、没有openCV依赖库在HandTracking目录下输入以下命令python-m pip install opencv-contrib-python numpy mediapipe-i https://mirrors.aliyun.com/pypi/simple/4、相机权限开启电脑端5、虚拟机22.04调用摄像头参考https://blog.csdn.net/qq_19731521/article/details/124954288