快速开始 (仿真)
本文将介绍使用fourier aurora sdk在仿真中控制机器人的快速流程。
环境依赖
仿真的开发实现可在外部PC中进行,我们的开发环境以docker镜像的形式提供,因此需要安装docker,如果未安装 Docker,请参考官方 Docker 安装指南:获取 Docker。
安装Aurora服务
首先需要在PC中安装Aurora服务,我们提供了一个docker镜像以便于安装,Aurora安装详见安装教程
下载Fourier Aurora SDK
运行以下指令:
git clone https://github.com/FFTAI/fourier_aurora_sdk.git
连接手柄
将您的手柄连接到计算机。Aurora 使用 Linux 内置驱动 joystick.h 读取用户的手柄数据。要验证设备是否已正确加载到系统中,请在终端运行以下命令:
ls /dev/input
您应能看到名为 js0 的设备文件。Aurora 就是通过该设备文件读取手柄数据的。
更多的手柄使用介绍请参考手柄使用教程
启动容器
您可以在仓库的根目录下的终端中运行以下命令来启动容器,如果有必要,请修改docker_run.bash中的docker镜像。您可能需要使用(sudo) docker images命令来检查系统上可用的docker镜像。
(sudo) bash docker_run.bash
注意:请确保您拥有正确的docker镜像,具体请参阅安装指南。
启动Mujoco仿真
对于仿真使用,需要启动另一个终端并使用以下命令进入刚刚启动的容器:
(sudo) docker exec -it fourier_aurora_server bash
然后,您需要通过运行以下命令启动仿真环境:
python3 sim/start_simulate_root.py
运行后,终端会出现操作提示,选择机器人序号以及地形序号,机器人序号输入“0”(FOURIER_N1),地形可指定,这里以FLAT为例,输入“0”,输入后,会弹出如下图的UI界面
启动Aurora
运行Aurora前,需要确定启动的配置项,配置文件位于config/config.yaml
Config:
RobotName: gr2 # gr1 / gr2 / gr3
HardwareType: null
RunType: 0 # 0 run simulator / 1 control real robot
UseJoyStick: true # use as default
DomainID: 123 # use as default
- RobotName: 机器人的机型,这里应选
fouriern1 - RunType: 运行模式,
0表示在仿真器中运行,1表示控制真实机器人。这里应选0 - UseJoyStick: 是否使用手柄控制,
true表示启用,false表示禁用。由于接下来需要进行手柄控制的展示,应选true - DomainID: DDS通信的域ID,用于在同一网络环境中区分不同的通信域。默认值为
123,多机协同时可修改为不同值避免冲突
确认好配置文件后,运行以下命令启动Aurora
AuroraCore --config <path_to_your_config_file>
如果程序运行成功,终端中将出现以下消息:
[info] FSM state run, enter "Default" mode by default
控制机器人
Aurora SDK 提供了两种机器人控制方式:手柄控制和客户端控制。本文将分别介绍如何通过这两种控制方式,在仿真环境中实现机器人站立和行走。
1. 使用手柄控制机器人
在启动Aurora以及仿真环境后,按手柄键位LB + B, 终端显示由“default”状态切换到“Pdstand”状态,悬挂状态下机器人双脚弯曲,进入站立的姿势。
将机器人从支架上竖直放置在地面上,机器人进入站立状态,终端显示机器人处Stance State
按手柄键位RB + A,终端显示由Pdstand状态切换到RLLocomotion状态,终端显示如下:
此时我们可以通过手柄的左右摇杆对机器人进行速度控制,向前推动左摇杆垂直轴,机器人开始向前行走
至此,您已经成功使用手柄控制机器人在仿真环境中站立和行走。本教程仅展示站立和行走状态的部分功能, 更多状态的功能介绍请参考开发者指南
2. 使用客户端控制机器人
您也可以使用sdk提供的python客户端来控制机器人,关于客户端的使用介绍,可参考客户端使用介绍
安装客户端
客户端的使用可以在镜像内或者本地python环境中进行。
另起一个终端,进入刚刚启动的镜像或者本地python环境,运行以下指令安装Aurora客户端
sudo apt install python3-pip
pip install fourier-aurora-client
⚠️ 注意:
如若使用python环境,python版本需要大于或等于3.9
运行demo_quick_start
进入装有fourier-aurora-client的镜像或者虚拟环境,进入fourier aurora sdk文件目录下,运行以下指令
python3 python/example/fouriern1/demo_quick_start.py
运行后,终端会显示如下通信匹配的提示,如下
根据客户端启动终端的提示 "Press Enter to switch to PdStand...",按下Enter键,Aurora启动终端显示由“default”状态切换到“Pdstand”状态,仿真中,由于进入“Pdstand”状态时机器人并不是处于稳定站立于地面的状态,因此机器人处于Hanging State,机器人躺在地面并开始调整关节姿态以准备站立。
点击Mujoco UI界面中的Reset后,机器人站立在地面,终端显示机器人处Stance State
根据客户端启动终端的提示 "Press Enter to enter walk task...", 按下Enter键,Aurora终端显示由“Pdstand”状态切换到“RLLocomotion”状态,
根据客户端启动终端的提示 "Press Enter to walk...",按下Enter键,调用set_velocity函数,给Aurora服务发送前进速度0.2m/s的指令,机器人开始行走
至此,您已经成功使用客户端控制机器人在仿真环境中站立和行走。本教程仅展示站立和行走状态的部分功能, 更多状态的功能介绍请参考开发者指南