> For the complete documentation index, see [llms.txt](https://agilexrobotics.gitbook.io/scout_mini/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://agilexrobotics.gitbook.io/scout_mini/3-shi-yong-yu-kai-fa-getting-started.md).

# 3 使用与开发 Getting Started

### 3.1 使用与操作

启动操作基本操作流程如下：

#### 检查

检查车体状态。检查车体是否有明显异常；如有，请联系 售后支持。

#### 启动

按下SCOUT MINI电源按键，等待数秒即可；&#x20;

将SWB拨至中间；&#x20;

可尝试手动切换灯光模式，确定模式选择是否正确；&#x20;

尝试将左边摇杆轻轻往前推，推一小部分即可，可见小车 缓慢速度往前移动；&#x20;

尝试将左边摇杆轻轻往后推，推一小部分即可，可见小车 缓慢速度往后移动；

释放左边摇杆，小车停下；&#x20;

尝试将右边摇杆轻轻往左推，推一小部分即可，可见小车 缓慢往左旋转；&#x20;

尝试将右边摇杆轻轻往右推，推一小部分即可，可见小车 缓慢往右旋转；&#x20;

释放右边摇杆，小车停下；&#x20;

可尝试在相对空旷的区域自由控制，熟悉车辆移动速度。

#### 关闭操作

按下SCOUT MINI电源按键，释放即可。

#### 遥控控制基本操作流程

正常启动SCOUT MINI底盘后，启动遥控器，将控制模式选择为遥控控制模式，即可通过遥控器控制SCOUT MINI平台运动。

### 3.2 充电

SCOUT MINI产品默认随车配备一个10A的充电器，可满足客户的充电需求。默认关机充电，正常充电时，底盘没有指 示灯说明。具体指示灯请看充电器上说明。

> 确保SCOUT MINI底盘处于停机断电状态。
>
> 将充电器的插头插入车尾充电接口；
>
> 将充电器连接电源，将充电器开关打开，即可进入充电状态。

注意：当前电池从22V充满电状态大约需要1.5小时， 电池充满电电压约为29.2V；

充电时间计算 15Ah÷10A=1.5H

### 3.3 开发

SCOUT MINI产品针对用户的开发提供了CAN的接口，用户可用CAN指令对车体进行指令控制。

#### 3.3.1 CAN线的连接

SCOUT MINI随车发货提供了一个航空插头公头如 图3.2，线的定义可参考表2.2。

![图 3.2 航空插头公头示意图](/files/-MgmseNHlZsnP6S3MsEx)

#### 注 ： 当前SCOUT MINI版本对外扩展接口仅尾部接 口开放 。 此版本中电源最大可提供5A的电流。

#### 3.3.2 CAN指令控制的实现

正常启动SCOUT MINI移动机器人底盘 ，打开富斯遥控器 ，然后将控 制模式切换至指令控制，即将富斯遥控器SWB模式选择拨至最上方， 此时SCOUT MINI底盘会接受来自CAN接口的指令 ， 同时主机也可以 通过CAN总线回馈的实时数据，解析当前底盘的状态，具体协议内容 参考CAN通讯协议。

#### 3.3.3 CAN接口协议

SCOUT MINI产品中CAN通信标准采用的是CAN2.0B标准，通讯波特率为500K，报文格式采用MOTOROLA格 式。通过外部CAN总线接口可以控制底盘的移动的线速度以及旋转的角速度；SCOUT MINI会实时反馈当前 的运动状态信息以及SCOUT MINI底盘的状态信息等。

协议包含系统状态回馈帧、运动控制回馈帧、控制帧，协议内容具体如下：&#x20;

系统状态回馈指令包含了当前车体状态回馈、控制模式状态回馈、电池电压回馈以及故障回馈，协议内容如 表3.1所示。

#### 表格 3.1 SCOUT MINI底盘系统状态回馈帧

|               指令名称               |                              |                |                                    系统状态回馈指令                                    |
| :------------------------------: | :--------------------------: | :------------: | :----------------------------------------------------------------------------: |
|               发送节点               |             接收节点             |       ID       |                                周期（ms）   接收超时(ms)                               |
|               线控底盘               |            决策控制单元            |      0x211     |                           200ms                     无                          |
|               数据长度               |             0x08             |                |                                                                                |
|                位置                |              功能              |      数据类型      |                                       说明                                       |
|             byte \[0]            |            当前车体状态            |  unsigned int8 |                        <p>0x00 系统正常</p><p>0x02 系统异常</p>                        |
|             byte \[1]            |             模式控制             |  unsigned int8 | <p>0x00 待机模式</p><p>0x01 CAN指令控制模式</p><p>0x02 串口控制模模式\[1]</p><p>0x03遥控控制模模式</p> |
| <p>byte \[2]</p><p>byte \[3]</p> | <p>电池电压高八位</p><p>电池电压低八位</p> | unsigned int16 |                               实际电压X 10 (精确到0.1V)                               |
|             byte \[4]            |              保留              |       --       |                                      0x00                                      |
|             byte \[5]            |             故障信息             |  unsigned int8 |                                详见表格3.2\[故障信息说明]                                |
|             byte \[6]            |              保留              |       --       |                                      0x00                                      |
|             byte \[7]            |         计数校验 (count)         |  unsigned int8 |                             0\~255循环计数，每发送一条指令计数加一次                            |

|           |          |              故障信息说明              |
| :-------: | :------: | :------------------------------: |
|     字节    |     位    |                含义                |
|           | bit \[0] |   电池欠压故障（0:无故障 1：故障）保护电压为20.5V   |
|           | bit \[1] | 电池欠压警告\[2]（0:无警告 1：警告）报警电压为22.5V |
|           | bit \[2] |       遥控器失联保护（0：正常，1：遥控器失联）      |
| byte \[5] | bit \[3] |        驱动1通讯故障(0：无故障，1：故障)       |
|           | bit \[4] |        驱动2通讯故障(0：无故障，1：故障)       |
|           | bit \[5] |        驱动3通讯故障(0：无故障，1：故障)       |
|           | bit \[6] |        驱动4通讯故障(0：无故障，1：故障)       |
|           | bit \[7] |              预留，默认0              |

\[1]：机器人底盘固件版本V1.2.8后续版本支持，之前版本需要升级固件方可支持 \[2]：电池欠压警告标志置位时蜂鸣器响，但是底盘控制不受影响，欠压故障后会切断动力输出

运动控制回馈帧指令包含了当前车体的运动线速度、运动角速度回馈，协议具体内容如表3.3所示。

#### 表格 3.3 运动控制回馈帧

|               指令名称               |                              |              |          运动控制回馈指令          |
| :------------------------------: | :--------------------------: | :----------: | :------------------------: |
|               发送节点               |             接收节点             |      ID      |      周期（ms）   接收超时(ms)     |
|               线控底盘               |            决策控制单元            |     0x221    | 20ms                     无 |
|               数据长度               |             0x08             |              |                            |
|                位置                |              功能              |     数据类型     |             说明             |
| <p>byte \[0]</p><p>byte \[1]</p> | <p>移动速度高八位</p><p>移动速度低八位</p> | signed int16 |  实际速度X 1000 (精确到0.001m/s)  |
| <p>byte \[2]</p><p>byte \[3]</p> | <p>旋转速度高八位</p><p>旋转速度低八位</p> | signed int16 | 实际速度X 1000 (精确到0.001rad/s) |
|             byte \[4]            |              保留              |      --      |            0x00            |
|             byte \[5]            |              保留              |      --      |            0x00            |
|             byte \[6]            |              保留              |      --      |            0x00            |
|             byte \[7]            |              保留              |      --      |            0x00            |

运动控制帧包含了线速度控制开度、角速度控制开度，其具体协议内容如表3.4所示。

|               指令名称               |                            |              |                         控制指令                        |
| :------------------------------: | :------------------------: | :----------: | :-------------------------------------------------: |
|               发送节点               |            接收节点            |      ID      |                  周期（ms）   接收超时(ms)                  |
|              决策控制单元              |            底盘节点            |     0x111    |            20ms                     500ms           |
|               数据长度               |            0x08            |              |                                                     |
|                位置                |             功能             |     数据类型     |                          说明                         |
| <p>byte \[0]</p><p>byte \[1]</p> | <p>线速度高八位</p><p>线速度低八位</p> | signed int16 |     <p>车体行进速度，单位mm/s,</p><p>值域 \[-3000,3000]</p>    |
| <p>byte \[2]</p><p>byte \[3]</p> | <p>角速度高八位</p><p>角速度低八位</p> | signed int16 | <p>车体旋转角速度，单位0.001rad/s, </p><p>值域\[-2523,2523]</p> |
|             byte \[4]            |             保留             |      --      |                         0x00                        |
|             byte \[5]            |             保留             |      --      |                         0x00                        |
|             byte \[6]            |             保留             |      --      |                         0x00                        |
|             byte \[7]            |             保留             |      --      |                         0x00                        |

模式设定帧用于设定终端的控制接口，其具体协议内容如表3.5所示。

#### 表格 3.5 控制模式设定帧

|    指令名称   |         |               |                控制模式设定指令               |
| :-------: | :-----: | :-----------: | :-----------------------------------: |
|    发送节点   |   接收节点  |       ID      |           周期（ms）   接收超时(ms)           |
|   决策控制单元  |   底盘节点  |     0x421     |        无                     无        |
|    数据长度   |   0x01  |               |                                       |
|     位置    |    功能   |      数据类型     |                   说明                  |
| byte \[0] | CAN控制使能 | unsigned int8 | <p>0x00 待机模式</p><p>0x01 CAN指令模式使能</p> |

控制模式说明：&#x20;

SCOUT MINI在开机上电，遥控器未连接的情况下，控制模式默认是待机模式，此时底盘只接收控制模式指令，速度指令不 做响应，要使用CAN控制就需要先使能CAN控制模式。若打开遥控器，遥控器具有最高权限，可以屏蔽指令的控制，可以切 换控制模式。

状态置位帧用于清除系统错误，其具体协议内容如表3.6所示。

#### 表格 3.6状态置位帧

|    指令名称   |        |               |                                             状态设定指令                                             |
| :-------: | :----: | :-----------: | :--------------------------------------------------------------------------------------------: |
|    发送节点   |  接收节点  |       ID      |                                        周期（ms）   接收超时(ms)                                       |
|   决策控制单元  |  底盘节点  |     0x441     |                                      无                   无                                     |
|    数据长度   |  0x01  |               |                                                                                                |
|     位置    |   功能   |      数据类型     |                                               说明                                               |
| byte \[0] | 错误清除指令 | unsigned int8 | <p>0x00 清除所有错误</p><p>0x01 清除电机1错误</p><p>0x02 清除电机2错误</p><p>0x03 清除电机3错位</p><p>0x04 清除电机4错误</p> |

\[注3]示例数据，以下数据仅供测试使用&#x20;

1，小车以0.15m/S的速度前进

| byte \[0] | byte \[1] | byte \[2] | byte \[3] | byte \[4] | byte \[5] | byte \[6] | byte \[7] |
| --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- |
| 0x00      | 0x96      | 0x00      | 0x00      | 0x00      | 0x00      | 0x00      | 0x00      |

2\. 小车以0.2RAD/S旋转

| byte \[0] | byte \[1] | byte \[2] | byte \[3] | byte \[4] | byte \[5] | byte \[6] | byte \[7] |
| --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- |
| 0x00      | 0x00      | 0x00      | 0xc8      | 0x00      | 0x00      | 0x00      | 0x00      |

除了底盘的状态信息会进行反馈以外，底盘反馈的信息还包括电机的电流信息、编码器数据以及温度信息。下面的帧反馈 是电机的电流信息、编码器信息以及电机温度信息：&#x20;

在底盘中四个电机电机编号对应为如下图所示：

![图3.0 电机反馈ID示意图](/files/-MhBiHo-pBBsR3m4oMrv)

#### 表格 3.7 电机转速电流位置信息反馈

|                               指令名称                               |                                      |              |        电机驱动器高速信息反馈帧        |
| :--------------------------------------------------------------: | :----------------------------------: | :----------: | :------------------------: |
|                               发送节点                               |                 接收节点                 |      ID      |      周期（ms）   接收超时(ms)     |
|                               线控底盘                               |                决策控制单元                | 0x251\~0x254 | 20ms                     无 |
|                               数据长度                               |                 0x08                 |              |                            |
|                                位置                                |                  功能                  |     数据类型     |             说明             |
|                 <p>byte \[0]</p><p>byte \[1]</p>                 |     <p>电机转速高八位</p><p>电机转速低八位</p>     | signed int16 |        电机当前转速 单位RPM        |
|                 <p>byte \[2]</p><p>byte \[3]</p>                 |     <p>电机电流高八位</p><p>电机电流低八位</p>     | signed int16 |        电机当前电流 单位0.1A       |
| <p>byte \[4]</p><p>byte \[5]</p><p>byte \[6]</p><p>byte \[7]</p> | <p>保留</p><p>保留</p><p>保留</p><p>保留</p> |      --      |            0x00            |

#### 表格 3.8 电机驱动器信息反馈

|               指令名称               |                                |                |         电机驱动器低速信息反馈帧        |
| :------------------------------: | :----------------------------: | :------------: | :-------------------------: |
|               发送节点               |              接收节点              |       ID       |      周期（ms）   接收超时(ms)      |
|               线控底盘               |             决策控制单元             |  0x261\~0x264  | 100ms                     无 |
|               数据长度               |              0x08              |                |                             |
|                位置                |               功能               |      数据类型      |              说明             |
| <p>byte \[0]</p><p>byte \[1]</p> | <p>驱动器电压高八位</p><p>驱动器电压低八位</p> | unsigned int16 |        当前驱动器电压 单位0.1V       |
| <p>byte \[2]</p><p>byte \[3]</p> | <p>驱动器温度高八位</p><p>驱动器温度低八位</p> |  signed int16  |             单位1℃            |
|             byte \[4]            |              电机温度              |   signed int8  |             单位1℃            |
|             byte \[5]            |              驱动器状态             |  unsigned int8 |            详见表3.9           |
|             byte \[6]            |               保留               |       --       |             0x00            |
|             byte \[7]            |               保留               |       --       |             0x00            |

#### 表格 3.9驱动器状态

|     字节    |     位    |          含义         |
| :-------: | :------: | :-----------------: |
|           | bit \[0] | 电源电压是否过低（0：正常 1：过低） |
|           | bit \[1] |  电机是否过温（0：正常 1：过温）  |
|           | bit \[2] |  电机是否过流（0：正常 1：过流）  |
| byte \[5] | bit \[3] |  驱动器是否过温（0：正常 1：过温） |
|           | bit \[4] |          保留         |
|           | bit \[5] |          保留         |
|           | bit \[6] |          保留         |
|           | bit \[7] |          保留         |

前部和外部的灯光也支持指令控制，下表为控制的指令：

#### 表格 3.10 灯光控制帧

|    指令名称   |              |               |                               灯光控制帧                              |
| :-------: | :----------: | :-----------: | :--------------------------------------------------------------: |
|    发送节点   |     接收节点     |       ID      |                         周期（ms）   接收超时(ms)                        |
|   决策控制单元  |     线控底盘     |     0x121     |                  100ms                     500ms                 |
|    数据长度   |     0x08     |               |                                                                  |
|     位置    |      功能      |      数据类型     |                                说明                                |
| byte \[0] |   灯光控制使能标志   | unsigned int8 |                <p>0x00 控制指令无效</p><p>0x01灯光控制使能</p>               |
| byte \[1] |    前侧灯光模式    | unsigned int8 | <p>0x00 常关</p><p>0x01 常开</p><p>0x02 呼吸灯模式</p><p>0x03 客户自定义亮度</p> |
| byte \[2] |   前侧灯光自定义亮度  | unsigned int8 |                     \[0,100],其中0为不亮，100最亮\[5]                    |
| byte \[3] |      保留      |       --      |                               0x00                               |
| byte \[4] |      保留      |       --      |                               0x00                               |
| byte \[5] |      保留      |       --      |                               0x00                               |
| byte \[6] |      保留      |       --      |                               0x00                               |
| byte \[7] | 计数校验 (count) | unsigned int8 |                      0\~255循环计数，每发送一条指令计数加一次                     |

注\[5]: 此值只在自定义模式下有效

#### 表格 3.11 灯光控制反馈帧

|    指令名称   |              |               |                              灯光控制反馈帧                             |
| :-------: | :----------: | :-----------: | :--------------------------------------------------------------: |
|    发送节点   |     接收节点     |       ID      |                         周期（ms）   接收超时(ms)                        |
|    线控底盘   |    决策控制单元    |     0x231     |                    500ms                     无                   |
|    数据长度   |     0x08     |               |                                                                  |
|     位置    |      功能      |      数据类型     |                                说明                                |
| byte \[0] |  当前灯光控制使能标志  | unsigned int8 |                <p>0x00 控制指令无效</p><p>0x01灯光控制使能</p>               |
| byte \[1] |   当前前侧灯光模式   | unsigned int8 | <p>0x00 常关</p><p>0x01 常开</p><p>0x02 呼吸灯模式</p><p>0x03 客户自定义亮度</p> |
| byte \[2] |  当前前侧灯光自定义亮度 | unsigned int8 |                       \[0,100],其中0为不亮，100最亮                      |
| byte \[3] |      保留      |       --      |                               0x00                               |
| byte \[4] |      保留      |       --      |                               0x00                               |
| byte \[5] |      保留      |       --      |                               0x00                               |
| byte \[6] |      保留      |       --      |                               0x00                               |
| byte \[7] | 计数校验 (count) | unsigned int8 |                      0\~255循环计数，每发送一条指令计数加一次                     |

#### 表格 3.12系统版本信息查询帧

|    指令名称   |        |               |        系统版本信息查询指令       |
| :-------: | :----: | :-----------: | :---------------------: |
|    发送节点   |  接收节点  |       ID      |    周期（ms）   接收超时(ms)    |
|   决策控制单元  |  底盘节点  |     0x411     | 无                     无 |
|    数据长度   |  0x08  |               |                         |
|     位置    |   功能   |      数据类型     |            说明           |
| byte \[0] | 查询系统版本 | unsigned int8 |          固定0x01         |

#### 表格 3.13系统版本信息查询帧

|               指令名称               |                                      |                |        系统版本信息反馈帧       |
| :------------------------------: | :----------------------------------: | :------------: | :--------------------: |
|               发送节点               |                 接收节点                 |       ID       |    周期（ms）   接收超时(ms)   |
|               线控底盘               |                决策控制单元                |      0x41A     | 无                    无 |
|               数据长度               |                 0x08                 |                |                        |
|                位置                |                  功能                  |      数据类型      |           说明           |
| <p>byte \[0]</p><p>byte \[1]</p> |  <p>主控硬件版本号高八位</p><p>主控硬件版本号低八位</p>  | unsigned int16 |    高八位为主版本号，低八位为次版本号   |
| <p>byte \[2]</p><p>byte \[3]</p> | <p>驱动器硬件版本号高八位</p><p>驱动器硬件版本号低八位</p> | unsigned int16 |    高八位为主版本号，低八位为次版本号   |
| <p>byte \[4]</p><p>byte \[5]</p> |  <p>主控软件版本号高八位</p><p>主控软件版本号低八位</p>  | unsigned int16 |    高八位为主版本号，低八位为次版本号   |
| <p>byte \[6]</p><p>byte \[7]</p> | <p>驱动器软件版本号高八位</p><p>驱动器软件版本号低八位</p> | unsigned int16 |    高八位为主版本号，低八位为次版本号   |

#### 表格 3.14 里程计信息反馈

|                               指令名称                               |                                                              |              |           里程计信息反馈          |
| :--------------------------------------------------------------: | :----------------------------------------------------------: | :----------: | :------------------------: |
|                               发送节点                               |                             接收节点                             |      ID      |      周期（ms）   接收超时(ms)     |
|                               线控底盘                               |                            决策控制单元                            |     0x311    | 20ms                     无 |
|                               数据长度                               |                             0x08                             |              |                            |
|                                位置                                |                              功能                              |     数据类型     |             说明             |
| <p>byte \[0]</p><p>byte \[1]</p><p>byte \[2]</p><p>byte \[3]</p> | <p>左轮里程计最高位</p><p>左轮里程计低高位</p><p>左轮里程计次低位</p><p>左轮里程计最低位</p> | signed int32 |       底盘左轮里程计反馈 单位：mm      |
| <p>byte \[4]</p><p>byte \[5]</p><p>byte \[6]</p><p>byte \[7]</p> | <p>右轮里程计最高位</p><p>右轮里程计次高位</p><p>右轮里程计次低位</p><p>右轮里程计最低位</p> | signed int32 |       底盘右轮里程计反馈 单位：mm      |

#### 表格 3.15 遥控器信息反馈

|    指令名称   |         |               |                                                                 遥控器信息反馈帧                                                                |
| :-------: | :-----: | :-----------: | :-------------------------------------------------------------------------------------------------------------------------------------: |
|    发送节点   |   接收节点  |       ID      |                                                            周期（ms）   接收超时(ms)                                                            |
|    线控底盘   |  决策控制单元 |     0x241     |                                                        20ms                     无                                                       |
|    数据长度   |   0x08  |               |                                                                                                                                         |
|     位置    |    功能   |      数据类型     |                                                                    说明                                                                   |
| byte \[0] |  遥控SW反馈 | unsigned int8 | <p>bit\[0-1]: SWA ：2-上档 3-下档</p><p>bit\[2-3]: SWB：2-上档 1-中档 3-下档</p><p>bit\[4-5]: SWC：2-上档 1-中档 3-下档</p><p>bit\[6-7]: SWD：2-上档 3-下档</p> |
| byte \[1] |  右边拨杆左右 |  signed int8  |                                                              值域：\[-100,100]                                                             |
| byte \[2] |  右边拨杆上下 |  signed int8  |                                                              值域：\[-100,100]                                                             |
| byte \[3] |  左边拨杆上下 |  signed int8  |                                                              值域：\[-100,100]                                                             |
| byte \[4] |  左边拨杆左右 |  signed int8  |                                                              值域：\[-100,100]                                                             |
| byte \[5] | 左边旋钮VRA |  signed int8  |                                                              值域：\[-100,100]                                                             |
| byte \[6] |    保留   |       --      |                                                                   0x00                                                                  |

### 3.4固件升级

为了方便解决用户对SCOUT MINI所使用的固件版本进 行升级，给客户带来更加完善的体验，SCOUT MINI提供 了固件升级的硬件接口以及与之对应的客户端软件。其 客户端界面如图3.3所示。

![图 3.3 固件升级客户端界面](/files/-MhBvmyZ_CDJc59-OWOv)

#### 升级准备

串口线 X 1&#x20;

USB转串口 X 1

SCOUT MINI 底盘 X 1

电脑(Windows 操作系统) X 1

#### 固件升级软件

{% embed url="<https://github.com/agilexrobotics/agilex_firmware>" %}

#### 升级过程

连接前保证机器人底盘电源处于断开状态；&#x20;

使用串口线连接至SCOUT MINI底盘内部串口；&#x20;

串口线连接至电脑；

打开客户端软件；&#x20;

选择端口号；

SCOUT MINI底盘上电，立即点击开始连接（SCOUT MINI底盘会在上电前3S等待，如果时间超过3S则会进 行进入应用程序）；若连接成功，会在文本框提示“连 接成功”；&#x20;

加载Bin文件；&#x20;

点击升级，等待升级完成的提示即可；&#x20;

断开串口线，底盘断电，再次通电即可。

### 3.5 SCOUT MINI 2.0 ROS Package 使用示例

ROS提供一些标准操作系统服务，例如硬件抽象，底层设备控制，常用功能实现，进程间消息以及数据包管理。ROS是基于 一种图状架构，从而不同节点的进程能接受，发布，聚合各种信息（例如传感，控制，状态，规划等等）。目前ROS主要支持 UBUNTU。

### 开发准备

#### 硬件准备&#x20;

CANlight can通讯模块 X1&#x20;

Thinkpad E470 笔记本电脑 X1&#x20;

AGILEX SCOUT MINI 2.0 移动机器人底盘 X1&#x20;

AGILEX SCOUT MINI 2.0配套遥控器FS-i6s X1&#x20;

AGILEX SCOUT MINI 2.0顶部航空插座 X1

#### 使用示例环境说明&#x20;

Ubuntu 16.04 LTS（此为测试版本，在Ubuntu 18.04 LTS测试过）&#x20;

ROS Kinetic （后续版本亦测试过）&#x20;

Git

### 硬件连接与准备

将SCOUT MINI尾部航空插头或者尾部插头CAN线引出，将CAN线中的CAN\_H和CAN\_L分别与CAN\_TO\_USB适配器相连；&#x20;

打开SCOUT MINI移动机器人底盘旋钮开关;

将CAN\_TO\_USB连接至笔记本的usb口。连接示意如图3.4所示。

![图3.4连接示意图](/files/-MhC60cjLcp9uCcAmkee)

#### ROS 安装和环境设置

安装具体可以参考[HTTP://WIKI.ROS.ORG/KINETIC/INSTALLATION/UBUNTU](HTTP://WIKI.ROS.ORG/KINETIC/INSTALLATION/UBUNTU\[]\(\))

### 测试CANable硬件与CAN 通讯

#### 设置CAN-TO-USB适配器

使能 gs\_usb 内核模块

`$ sudo modprobe gs_usb`

设置500k波特率和使能can-to-usb适配器

`$ sudo ip link set can0 up type can bitrate 500000`

如果在前面的步骤中没有发生错误，您应该可以使用 命令立即查看can设备

`$ ifconfig -a`

安装并使用can-utils来测试硬件

`$ sudo apt install can-utils`

若此次can-to-usb已经和SCOUT MINI 2.0机器人相连， 且小车已经开启的情况下，使用下列指令可以监听来 自SCOUT MINI 2.0底盘的数据了

`$ candump can0`

参考来源： \[1] <https://github.com/agilexrobotics/agx_sdk> \[2][https://wiki.rdu.im/\_pages/Notes/Embedded-System/Linux/can-bus-in-linux.html](<https://wiki.rdu.im/_pages/Notes/Embedded-System/Linux/can-bus-in-linux.html>)

#### AGILEX SCOUT MINI 2.0 ROS Package 下载与编译

下载ros 依赖包

`$ sudo apt install -y libasio-dev`&#x20;

`$ sudo apt install -y ros-$ROS_DISTRO-teleop-twist-keyboard`

克隆编译scout mini\_ros 2.0源码

`$ cd ~/catkin_ws/src`&#x20;

`$ git clone --recursive https://github.com/agilexrobotics/ugv_sdk.git`

`$ git clone https://github.com/agilexrobotics/scout_ros.git`&#x20;

`$ cd ..`&#x20;

`$ catkin_make`

参考来源： <https://github.com/agilexrobotics/scout_base>

#### 启动ROS 节点

启动基础节点

`$ roslaunch scout_bringup scout_mini_robot_base.launch`

启动键盘远程操作节点

`$ roslaunch scout_bringup scout_teleop_keyboard.launch`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://agilexrobotics.gitbook.io/scout_mini/3-shi-yong-yu-kai-fa-getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
