外观
教程raw.githubusercontent.com6 天前
乐聚 Kuavo:kuavo-ros-opensource 编译、仿真与真机启动实操
> 本文依据以下官方文档整理:raw.githubusercontent.com/LejuRobotics/kuavo-ros-opensource/。命令与版本以文档当前版本为准。
前置条件
- 已确认使用 GitCode、Gitee 或 SSH 拉取 kuavo-ros-opensource 仓库
- 已确认机器人版本通过环境变量 $ROBOT_VERSION 设置,且需要和自己的机器人匹配
- 已确认机器人总质量写入 ~/.config/lejuconfig/TotalMassV$
- 无机器人运行环境时,可使用 docker 环境进行编译和仿真使用
- kuavo 实机镜像如果较旧,需要手动安装一些依赖项
- 真机运行前需修改 src/kuavo_assets/config/kuavo_v$ROBOT_VERSION/kuavo.json 中 EndEffectorType
1. 1. 拉取 kuavo-ros-opensource 开源仓库
先获取源码。文档说明拉取开源仓库时默认为 master 分支;GitCode 为推荐方式,Gitee 和 SSH 为备用方式。按你的网络与权限选择其中一种即可。
bash
## GitCode(推荐)
git clone https://gitcode.com/OpenLET/kuavo-ros-opensource.git
## Gitee(备用)
git clone https://gitee.com/leju-robot/kuavo-ros-opensource.git
## SSH
git clone git@gitee.com:leju-robot/kuavo-ros-opensource.git2. 2. 确认 ROBOT_VERSION 与机器人总质量
机器人版本通过环境变量 $ROBOT_VERSION 设置,版本号涉及不同机器人模型、硬件设置等,需要和自己的机器人匹配。未设置时,可临时设置或写入终端配置文件。
bash
echo $ROBOT_VERSION
export ROBOT_VERSION=45
echo 'export ROBOT_VERSION=45' >> ~/.bashrc3. 3. 在 Docker 环境中编译
没有机器人运行环境时,可使用 docker 环境进行编译和仿真。可下载已编译镜像并导入,或使用脚本进入容器;容器默认在 /root/kuavo_ws,内部默认使用 zsh。
bash
wget https://kuavo.lejurobot.com/kuavo_research_editiion/docker_images/kuavo_opensource_mpc_wbc_img_v1.3.0.tar.gzbash
docker load -i kuavo_opensource_mpc_wbc_img_v1.3.0.tar.gzbash
./docker/run.shbash
catkin config -DCMAKE_ASM_COMPILER=/usr/bin/as -DCMAKE_BUILD_TYPE=Release # Important!
## -DCMAKE_ASM_COMPILER=/usr/bin/as 为配置了ccache必要操作,否则可能出现找不到编译器的情况
source installed/setup.zsh # 加载一些已经安装的ROS包依赖环境,包括硬件包等
catkin build humanoid_controllers #会编译所有依赖项4. 4. 在实机环境中编译
kuavo 实机镜像如果较旧,先用文档提供的脚本安装依赖项。随后进入仓库目录,配置 Release 编译参数,加载已安装 ROS 包依赖环境,再编译控制器及依赖项。
bash
## 提供了一个脚本用于快速在旧的kuavo实机镜像进行安装依赖
./docker/install_env_in_kuavoimg.shbash
cd kuavo-ros-control #仓库目录
catkin config -DCMAKE_ASM_COMPILER=/usr/bin/as -DCMAKE_BUILD_TYPE=Release # Important!
source installed/setup.bash # 加载一些已经安装的ROS包依赖环境,包括硬件包等
catkin build humanoid_controllers5. 5. 启动仿真运行
文档提供 mujoco、gazebo、isaac-sim 三类仿真启动方式。Docker 环境使用 source devel/setup.zsh,其他环境使用 source devel/setup.bash;轮臂机器人使用对应 wheel launch。
bash
source devel/setup.bash # 如果使用docker环境,则使用source devel/setup.zsh
roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch # 启动控制器、mpc、wbc、mujoco仿真器
## 注:轮臂机器人请使用
roslaunch humanoid_controllers load_kuavo_mujoco_sim_wheel.launchbash
catkin build humanoid_controllers gazebo_sim # 需要编译gazebo_sim包
source devel/setup.bash # 如果使用docker环境,则使用source devel/setup.zsh
roslaunch humanoid_controllers load_kuavo_gazebo_sim.launch # 启动控制器、mpc、wbc、gazebo仿真器
## 注:轮臂机器人请使用
roslaunch humanoid_controllers load_kuavo_gazebo_sim_wheel.launchbash
catkin build humanoid_controllers isaac_sim # 需要编译isaac_sim包
source devel/setup.bash # 如果使用docker环境,则使用source devel/setup.zsh
roslaunch humanoid_controllers load_kuavo_isaac_sim.launch # 启动控制器、mpc、wbc、isaac_sim仿真器6. 6. 配置并启动真机
运行实物前,修改 src/kuavo_assets/config/kuavo_v$ROBOT_VERSION/kuavo.json 中 EndEffectorType 为实物执行器类型。开机第一次需先在 cali 模式下运行一次,确认机器人姿态和位置正确。
bash
source devel/setup.bash
roslaunch humanoid_controllers load_kuavo_real.launch cali:=true # 以校准模式启动之后直接按 o 启动机器人,后续正常运行即可。
bash
source devel/setup.bash
roslaunch humanoid_controllers load_kuavo_real.launch验证是否跑通
仿真运行时,相应 launch 会启动控制器、mpc、wbc 和 mujoco、gazebo 或 isaac_sim 仿真器。实物运行时,程序启动后机器人进入待站立阶段;确认无误并扶住机器人后按 o,机器人开始运动到站立状态,并开启反馈控制。
文档里点名的注意事项
- 机器人版本需要通过环境变量
$ROBOT_VERSION设置,版本号涉及不同机器人模型、硬件设置等,需要和自己的机器人匹配。 - 机器人总质量存储于
~/.config/lejuconfig/TotalMassV${ROBOT_VERSION};每次修改总质量文件时,会自动删除缓存目录/var/ocs2/biped_v${ROBOT_VERSION},下一次运行时会自动重新编译 cppad 模型,大概 4 分钟。 -DCMAKE_ASM_COMPILER=/usr/bin/as为配置了 ccache 必要操作,否则可能出现找不到编译器的情况。- 容器镜像内部默认使用 zsh,因此 Docker 环境加载时使用
source installed/setup.zsh或source devel/setup.zsh。 - 在运行实物之前,需要先修改
src/kuavo_assets/config/kuavo_v$ROBOT_VERSION/kuavo.json中 EndEffectorType 为实物机器人的执行器类型。 - 没有多圈编码器记忆功能的版本,电机断电之后,开机都需要手动校准一次。
- 辅助校准中按
w和s键时,请仔细确认运动方向正确,不要反方向调节,否则会触发电机的限位保护,程序退出。
相关 SDK 条目
来源
本页事实对应的公开页面,以原文为准。