SCOUT2.0
  • SCOUT2.0用户手册
  • 重要安全信息 Safety Information
  • 1 SCOUT2.0简介 Introduction
  • 2 基本介绍 The Basics
  • 3 使用与开发 Getting Started
  • 4 注意事项 Attention
  • 5 常见问题与解决 Q&A
  • 6 产品尺寸 Product Dimensions
Powered by GitBook
On this page
  • 3.1 使用与操作
  • 3.2 充电
  • 3.3 开发
  • 3.4串口通信协议
  • 运动控制回馈指令
  • 运动控制指令
  • 控制模式设定指令
  • 状态设定指令
  • 电机驱动器高频信息反馈帧
  • 电机驱动器低频信息反馈帧
  • 灯光控制帧
  • 灯光控制反馈帧
  • 里程计反馈帧
  • 版本信息请求帧
  • 版本信息反馈帧
  • 遥控信息反馈帧
  • BMS反馈帧
  • 3.5固件升级
  • 3.6 SCOUT2.0 SDK 使用示例
  • 3.7 SCOUT2.0 ROS Package 使用示例

Was this helpful?

3 使用与开发 Getting Started

本部分主要介绍SCOUT2.0平台的基本操作与使用,介绍如何通过外部CAN口,通过CAN总线协议来对车体进行二次开发。

3.1 使用与操作

检查

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

检查急停开关状态。确认两个急停按钮均处于释放状态;

启动

旋转旋钮开关(电气面板中Q4),正常情况下,电压表正常显示 电池电压,前后尾灯均正常亮起;

检查电池电压,如未有“滴-滴-滴…”连续蜂鸣器声音,表示电 池电压正常,若电量低,请充电;

关闭操作

旋转旋钮开关,即可切断电源。

急停

按下SCOUT2.0车体左右两侧的急停开关即可。

遥控控制基本操作流程

正常启动SCOUT2.0移动机器底盘后,启动遥控器,将控制模式选择为遥控控制模式,即可通过遥控器控制SCOUT2.0平台运动。

3.2 充电

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

3.2.1充电具体操作流程

确保SCOUT2.0底盘处于停机断电状态。充电前请确认尾部电 气控制台中Q1(旋钮开关)处于关闭状态;

将充电器的插头插入车尾电气控制面板中Q2充电界面中;

将充电器连接电源,将充电器开关打开,即可进入充电状态。

注意:当前电池从22V充满电状态大约需要3小时,电池 充满电电压约为29.2V(此处的电池电压为三元锂电池 类型,如果电池类型为磷酸铁锂最高电压为26.8V);充 电时间计算30aH÷10A=3H。

3.2.2 更换电池

SCOUT2.0为了方便用户采取了可拆卸电池方案,在一些特殊情 况下直接可以更换电池,操作步骤和示意图如下(操作之前确保 SCOUT2.0是断电状态):

把SCOUT2.0上面舱室面板打开,将主控板上两个XT60电源接 头(两个接头是等效的)和电源CAN线接头拔掉;

把SCOUT2.0悬空,从底部用国标内六角扳手拧下八颗螺钉,然 后将电池拖出;

将需要更换的电池装上,把底部螺钉固定;

把XT60接口和电源CAN线接口插到主控板,确认所有连接线正 确之后然后上电测试;

3.3 开发

SCOUT2.0产品针对用户的开发提供了CAN和RS232的接口,用户可选择其中一种接口对车体进行指令控制。

3.3.1 CAN线的连接

SCOUT2.0随车发货提供了两个航空插头公头如图3.2。线的定义可 参考表2.2。

3.3.2 CAN指令控制的实现

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

3.3.3 CAN接口协议

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

协议包含系统状态回馈帧、运动控制回馈帧、控制帧,协议内容具体如下:

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

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

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

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

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

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

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

[注3]示例数据,以下数据仅供测试使用

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

2.小车以0.2RAD/S旋转

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

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

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

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

3.4串口通信协议

3.4.1 串口协议介绍

它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯 的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用 一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机 将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。

3.4.2 串口的连接

使用我们的通讯配套工具里面的USB转RS232串口线,与车尾部的串口相连,使用串口工具,设置好相应波特率,使用上 面提供的示例数据即可测试,如果遥控器是开启的状态,需要将遥控器切换至指令控制模式,如果遥控器未开启,直接发 送控制指令即可,需要注意的是,指令必须要是周期性的发送,如果底盘超过500MS未接收到串口指令,进入失联保护状 态。

3.4.3 串口协议内容

通讯基本参数

协议说明

协议包含起使位,帧长度,帧指令类型,指令ID,数据域,帧ID, 校验和组成。其中帧长度是指除去起始位和校验和以外的长 度,校验和为起使位到帧ID所有数据求和;帧ID位0~255循环计数,每发送一条指令计数自加一次。

串口校验算法代码示例

// Some code
/**
*@brief serial message checksum example code 
*@param[in] *data : serial message data struct pointer 
*@param[in] len :serial message data length
*@return the checksum result
*/

static uint8 Agilex_SerialMsgChecksum(uint8 *data, uint8 len)
{
    uint8 checksum = 0x00;
    for(uint8 i = 0 ; i < (len-1); i++)
    {
        checksum += data[i];
    }
}

协议内容

注[1]:机器人底盘固件版本V1.2.8后续版本支持,之前版本需要升级固件方可支持

运动控制回馈指令

运动控制指令

控制模式设定指令

状态设定指令

电机驱动器高频信息反馈帧

电机驱动器低频信息反馈帧

灯光控制帧

灯光控制反馈帧

里程计反馈帧

版本信息请求帧

版本信息反馈帧

遥控信息反馈帧

BMS反馈帧

示例数据

通过控制底盘以0.15m/s的线速度进行前进运动,下面是具体数据内容

下面是数据域内容:

整串数据内容为:5A A5 0A 55 01 00 96 00 00 00 00 00 F5

其他说明:本协议需要固件版本V1.5.12以上

3.5固件升级

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

升级准备

串口线 X 1

USB转串口 X 1

SCOUT2.0 底盘 X 1

电脑(WINDOWS 操作系统) X 1

固件升级软件

升级过程

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

使用串口线连接至SCOUT2.0底盘顶部串口;

串口线连接至电脑;

打开客户端软件;

选择端口号;

SCOUT2.0底盘上电,立即点击开始连接(SCOUT2.0底 盘会在上电前3S,如果时间超过3S则会进入应用程序);

若连接成功,会在文本框提示“连接成功”;

加载BIN文件;

点击升级,等待升级完成的提示即可;

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

3.6 SCOUT2.0 SDK 使用示例

为了使用户更加便捷的进行机器人相关方面的开发,我 们针对SCOUT2.0移动机器人平台开发了相应的跨平台 支持的SDK。SDK软件包中提供一个基于C++接口,用于 与SCOUT2.0移动机器人底盘进行通讯,可以获取机器人 的最新状态和控制机器人的基本动作。目前通讯适配的 有CAN和RS232。我们在NVIDIA JETSON TX2进行了相关 测试。

3.7 SCOUT2.0 ROS Package 使用示例

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

开发准备

硬件准备:

CANlight can通讯模块 X1

Thinkpad E470 笔记本电脑 X1

AGILEX SCOUT 2.0 移动机器人底盘 X1

AGILEX SCOUT 2.0配套遥控器FS-i6s X1

AGILEX SCOUT 2.0顶部航空插座 X1

使用示例环境说明:

Ubuntu 16.04 LTS(此为测试版本,在Ubuntu 18.04 LTS测试过)

ROS Kinetic (后续版本亦测试过)

Git

硬件连接与准备

将SCOUT2.0顶部航空插头或者尾部插头CAN线引出,将CAN线中的CAN_H和CAN_L分别与CAN_TO_USB适配器相连;

打开SCOUT2.0移动机器人底盘旋钮开关,检查来两侧的急停开关是否释放;

将CAN_TO_USB连接至笔记本的usb口。连接示意如图3.4所示。

ROS 安装和环境设置

测试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 2.0 机器人相连,且 小车已经开启的情况下,使用下列指令可以监听来自 SCOUT 2.0底盘的数据了

$ candump can0

参考来源:

AGILEX SCOUT 2.0 ROS PACKAGE 下载与编译

下载ros 依赖包

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

$ sudo apt install libasio-dev

克隆编译scout_ros源码

$ cd ~/catkin_ws/src

$ cd ..

$ catkin_make

启动ROS 节点

启动基础节点

$ roslaunch scout_bringup scout_minimal.launch

启动键盘远程操作节点

$ roslaunch scout_bringup scout_teleop_keyboard.launch

Previous2 基本介绍 The BasicsNext4 注意事项 Attention

Last updated 3 years ago

Was this helpful?

安装具体可以参考

[1] [2]

$ git clone --recursive /agilexrobotics/ugv_sdk.git

$ git clone

参考来源:

http://wiki.ros.org/kinetic/Installation/Ubuntu
https://github.com/agilexrobotics/agx_sdk
https://wiki.rdu.im/_pages/Notes/Embedded-System/Linux/can-bus-in-linux.html
https://github.com
https://github.com/agilexrobotics/scout_ros.git
https://github.com/agilexrobotics/scout_ros
图 3.1 更换电池示意图
图 3.2 航空插头公头示意图
表格 3.1 SCOUT 2.0 底盘系统状态回馈帧
表格 3.2 故障信息说明表
表格 3.3 运动控制回馈帧
表格 3.4 运动控制指令控制帧
表格 3.5 控制模式设定帧
表格 3.6状态置位帧
图3.0 电机反馈ID示意图
表格 3.7 电机转速电流位置信息反馈
表格 3.8 电机温度电压及状态信息反馈
表格 3.9驱动器状态
表格 3.10 灯光控制帧
表格 3.11 灯光控制反馈帧
表格 3.12系统版本信息查询帧
表格 3.13系统版本信息查询帧
表格 3.14 里程计信息反馈
表格 3.15 遥控器信息反馈
图 3.3 固件升级客户端界面
图3.4CAN线连接示意图
https://github.com/agilexrobotics/agilex_firmwaregithub.com