
# 具身模型训练调优与真机推理
#### 概述
CloudRobo提供基于预置模型或自定义模型的训练与调优服务，开发者也可通过Notebook进行模型开发。模型开发完成后，可快速部署并将本体接入云端，在智能体中进行真机测试。
本实践案例是：训练模型用于SO-ARM101机械臂单臂把笔放入笔筒。
- 使用平台提供的模型：LeRobot_PI05-Base。
- 数据集：SO101_Place_Pen_Holder-SIM-DATASET。
 
#### 前提条件
- 已注册华为云账号，开通CloudRobo与相关服务。
- 已有一台适配CloudRobo的SO-ARM101。
 
#### 流程概览
经过以下步骤完成整个体验流程。
图1流程图   
![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002631194824.png "点击放大")
1. [登录CloudRobo控制台](https://console.huaweicloud.com/cloudrobo/)。
2. 创建模型训练作业。 
   1. 单击导航栏"模型开发-模型训练"，进入模型训练作业管理页面，单击右上角"创建训练作业"按钮，开始作业创建过程。根据[图2]和[图3]配置相关信息。
      图2创建训练作业1   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661578157.png "点击放大")
      图3创建训练作业2   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002716131597.png "点击放大")
      
      
   
   2. 单击"立即创建"之后，形成一条模型训练的任务，可查看训练状态，如有异常可查看异常事件，如[图4]。
      图4训练作业列表1   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661584833.png "点击放大") 
   
   
   
   
3. 创建模型部署作业。 
   ![](https://support.huaweicloud.com/bestpractice-cloudrobo/public_sys-resources/note_3.0-zh-cn.png)
   客户部署模型之前，需检查模型训练作业是否已正常完成。
   1. 模型训练结束后，本地创建一个r2c.json文件，文件内容如下：
      ```
      {
          "model_feature_mapping": {
              "input_features": {
                  "observation.state": {
                      "shape": [6],
                      "dtype": "float32",
                      "values": [
                          "observation.joint_states.position@{joint_1}",
                          "observation.joint_states.position@{joint_2}",
                          "observation.joint_states.position@{joint_3}",
                          "observation.joint_states.position@{joint_4}",
                          "observation.joint_states.position@{joint_5}",
                          "observation.joint_states.position@{joint_6}"
                      ]
                  },
                  "observation.images.external": {
                      "dtype": "uint8",
                      "value": "observations.images.color.front"
                  },
                  "observation.images.wrist": {
                      "dtype": "uint8",
                      "value": "observations.images.color.wrist"
                  },
                  "task":{
                      "type": "PROMPT"  
                  }
              },
              "output_features": {
                  "action": {
                      "chunk_size": 50,
                      "shape": [6],
                      "values": [
                          "actions.joint_states.position@{joint_1}",
                          "actions.joint_states.position@{joint_2}",
                          "actions.joint_states.position@{joint_3}",
                          "actions.joint_states.position@{joint_4}",
                          "actions.joint_states.position@{joint_5}",
                          "actions.joint_states.position@{joint_6}"
                      ]
                  }
              }
          },
          "stop_condition": { 
              "max_iter_num": 60,
              "max_run_time": 5
          }
      }
      ```
      
   
   2. 单击导航栏"运行管理 \> 模型部署"，进入模型部署作业管理页面，单击右上角"部署模型服务"，开始创建任务。
      图5部署模型服务1   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002631392406.png "点击放大")
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/public_sys-resources/note_3.0-zh-cn.png)
      [图5]r2c协议配置上传的文件内容为[3.a]中r2c.json文件。
      图6部署模型服务2   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661711963.png "点击放大") 
   
   3. 单击"立即部署"之后，生成一条部署作业，可以查看部署进度状态，可以进入模型评测或者真机调测，本用例可进入"真机调测"。
      图7模型部署列表-任务部署中   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002631232926.png "点击放大")
      图8模型部署列表-任务运行中   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661715025.png "点击放大") 
   
   
   
   
4. 接入机器人实例。 
   1. 单击导航栏"运行管理 \> 机器人"，进入机器人实例管理页面，单击右上角"接入机器人"按钮开始创建任务。开发者可选择厂家型号信息，或者自己录入型号。
      图9接入机器人   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661715077.png "点击放大") 
   
   2. 单击"立即接入"之后，会给客户生成一个本体接入所需要的接入配置文件（[图10]），并且同时生成一条机器人实例（[图11]）。
      图10接入配置文件   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661715233.png "点击放大")
      图11机器人列表1   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661595741.png "点击放大") 
   
   3. 按照[5]的指引安装R2C SDK后，执行本体接入命令**python -m r2c_sdk.cloudroboclient --bundle config/cert_config_xxx.zip --robot-config config/robot_so101_lerobot_config.yaml**。
   
   4. 客户完成本体接入之后，机器人实例状态将变为"在线"（[图12]），单击"智能体调试"进行技能测试。
      图12机器人列表2
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661598507.png "点击放大")
      
   
   
   
   
5. 本体接入运行管理。
   
   **此步骤为线下操作**。
   - 前置条件：使用上一步平台提供的R2C SDK以及接入配置文件，成功之后机器人实例的状态将变为"在线"。
   
   - 参考流程：参考[使用R2C SDK接入机器人](https://support.huaweicloud.com/bestpractice-cloudrobo/cloudrobo_05_0002.html#ZH-CN_TOPIC_0000002592587654__section1426132314465) 章节。SDK已经适配SO-ARM101。
   
   
   
   
6. 智能体调试。 
   前置条件：完成本体的接入调试工作，模型部署后正常运行。
   1. 在创建好的机器人实例中，单击"智能体调试"，进入智能体页面配置模型与技能。
      图13智能体调试   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661595895.png "点击放大") 
   
   2. 单击上图"选择模型技能"，之后进入模型与技能的配置环节，选择并确定之后，即可进入智能体进行调试交互。
      图14选择对应的模型技能
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002661598509.png "点击放大")
      
   
   3. 进入[图15]所示的智能体调试窗口，在调试窗输入框上方，开发者可以选择不同的模型以及不同的技能，通过发送prompt的方式实现模型推理到本体执行的过程。
      图15智能体调试窗口   
      ![](https://support.huaweicloud.com/bestpractice-cloudrobo/figure/zh-cn_image_0000002631236724.png "点击放大") 
   
   4. 完成上述操作后，开发者就可以在智能体中与本体进行交互，体验本体的执行过程。
   
   
   
   
 
