• 实验一 惯性导航系统的定位解算
一、 实验目的
1.熟悉捷联惯性导航系统的硬件组成、工作原理和性能特点;
2.通过使用九轴(三轴加速度+三轴角速度(陀螺仪)+三轴磁力计)传感器:MPU9250,熟悉常用捷联惯性导航系统的使用方法
3.结合STM32F429开发板,掌握常用捷联惯性导航系统定位与导航的解算方法。
二、 实验原理
惯性导航系统根据牛顿的力学定律,利用陀螺仪、加速度计等惯性元件感受载体在运动过程中的加速度,然后通过积分运算,得到载体的位置和速度等导航参数。根据惯性组件的安装方式不同,惯性导航系统可分为平台惯性导航系统和捷联惯性导航系统
捷联惯性导航系统无稳定平台,加速度计和陀螺仪与载体直接固定。载体转动时,加速度计和陀螺仪的敏感轴指向也跟随转动。陀螺仪测量载体角运动,计算载体姿态角,从而确定加速度计敏感轴指向。再通过坐标变换,将加速度计输出的信号变换到导航坐标系上,进行导航计算。
本实验所用捷联惯性导航系统是主流的九轴(三轴加速度+三轴角速度(陀螺仪)+三轴磁力计)传感器MPU9250,该传感器广泛用于四轴、平衡车和空中鼠标等设计,具有非常广泛的应用范围。本实验所用STM32F429开发板如图1-1所示,自带了MPU9250传感器。我们将使用STM32F429来驱动MPU9250,读取其原始数据,并利用其自带的DMP结合MPL库实现姿态解算,结合匿名四轴上位机软件或者LCD显示。

图1-1 ALIENTEK阿波罗STM32F429开发板
三、 实验仪器设备和器材
1.ALIENTEK阿波罗STM32F429开发板1块
2.串口线 1根
3. USB线 1根
4. 电源适配器 1个
四、 实验要求
1. 预习要求:
阅读、理解实验指导书的实验原理,并思考回答以下问题:
a) ALIENTEK阿波罗STM32F429开发板的使用方法?
b)九轴传感器MPU9250的基本结构?
c)速度和姿态角的计算方法?
2.实验内容:
通过ALIENTEK阿波罗STM32F429开发板,读取九轴传感器MPU9250原始数据,采用合适的解算算法,将解算后的姿态数据(俯仰角(pitch)、横滚角(roll)和航向角(yaw))在LCD上显示。
五、 实验步骤
1.对照“STM32F429开发指南-寄存器版本_V1.2”中“第三十九章MPU9250九轴传感器实验”(P497-519)展开实验;
2.编写并编译源程序;
3.下载程序并调试。
六、 实验思考题
利用MPU9250进行定位的方法?
七、实验报告要求
实验报告在内容栏应主要包括如下几部分:
1、实验要求
2、实验目的
3、所需设备(要求图文并茂,并有对应的文字说明。)
4、实验步骤(逐项记录调试过程)
5、实验结果(对实验数据统计、整理,将实验结果用图表和文字进行分析,并给出结论。)
6、程序流程图和实验程序(严格按照流程图撰写规范进行撰写)
7、实验心得(可以提出该实验存在的问题、本人尚不明白的问题、建议和意见等)
实验二 航迹推算定位系统设计
一. 实验目的
1.熟悉航迹推算定位的基本原理;
2.掌握航迹推算定位系统的程序设计方法。
二. 实验原理
航迹推算定位系统是通过测量载体运动距离和方向来计算下一时刻的位置。其原理图2-1所示。

图2-1航迹推算定位系统的基本原理
本实验通过ALIENTEK阿波罗STM32F429开发板上的九轴传感器MPU9250,采用适当的解算算法,获得载体的运动距离和方向,再利用航迹推算算法,计算出载体的位置,即相对于初始位置的坐标,并将坐标数据显示在LCD上。
三、实验仪器设备和器材
1.ALIENTEK阿波罗STM32F429开发板1块
2.串口线 1根
3. USB线 1根
4. 电源适配器 1个
5. 米尺 1把
四、实验要求
1.预习要求:
阅读、理解实验指导书的实验原理,并思考回答以下问题:
a) 如何利用加速度数据获得载体速度?
b) 如何利用载体速度和姿态角计算移动距离和方向?
2.实验内容:
通过ALIENTEK阿波罗STM32F429开发板,读取九轴传感器MPU9250原始数据,采用合适的算法,计算出载体移动运动速度和姿态数据(俯仰角(pitch)、横滚角(roll)和航向角(yaw)),并进一步计算出载体运动速度大小和方向,最终推算出载体的位置坐标,并在LCD上显示。
五、实验步骤
1.在“实验一惯性导航定位与导航的解算实验”的基础上编写航迹推算程序;
2.编写并编译初始化程序;
3.下载程序并调试;
4.记录实验数据,计算定位误差,并分析定位误差的原因。
六、实验思考题
如何提高航迹推算定位的精度?
七、实验报告要求
实验报告在内容栏应主要包括如下几部分:
1、实验要求
2、实验目的
3、所需设备(要求图文并茂,并有对应的文字说明。)
4、实验步骤(逐项记录调试过程)
5、实验结果(对实验数据统计、整理,将实验结果用图表和文字进行分析,并给出结论。)
6、程序流程图和实验程序(严格按照流程图撰写规范进行撰写)
7、实验心得(可以提出该实验存在的问题、本人尚不明白的问题、建议和意见等)
实验三 轮式移动机器人自主导航系统设计
一、实验目的
1.熟悉自主移动机器人组成与原理;
2.了解SLAM的理论基础;
3.掌握运用E100机器人探索环境并创建用于导航RIA的地图;
4.了解gmapping和hector两种SLAM方法的特点;
5.了解移动机器人导航规划的基本概念;
6.掌握移动机器人E100自主导航规划的实现过程。
二、实验原理
1.自主移动机器人的基本结构
自主移动机器人的基本结构如图3-1所示,主要由感知系统、导航规划系统和执行系统组成。感知的任务是利用IMU、摄像头、激光雷达、毫米波雷达和超声波等传感器感知周围环境,通过测量位置信息、姿态信息、检测障碍物等自身和环境信息,为导航规划提供决策依据。导航规划系统的任务是根据任务目标、自车状态以及环境信息等,进行全局路径和局部路径的规划。执行系统主要包括,主要完成路径跟踪以及各种控制指令的执行。
![QIK4RPZ8$9)GFL]AJ$[G`2K](/__local/3/AD/FB/64EAE27382150BB00DDEB0C2B30_486A7A56_AA68.png)
图3-1智能移动机器人的基本结构图
自主移动机器人RIA E100(以下简称E100)Gaitech Robotics推出的RIA系列中小型模块化移动机器人。自主移动机器人RIA E100的实物如图3-2所示,自主移动机器人RIA E100由底座平台组成,底座平台由铝材料制成,前部配有两个驱动轮,后部配有两个万向轮,配有Intel i5处理器、8GB RAM和120GB SSD、Astra Orbbec RGBD相机、IMU、二维激光雷达传感器和操纵杆控制器。通过对E100的硬件组装和调试将对移动机器人组成与原理有更加深刻的认识。

图3-2自主移动机器人RIA E100
2.自主移动机器人SLAM的基本原理
SLAM(Simultaneous Localization And Mapping)中文称“同步定位及建图”,是指机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。SLAM基本原理示意图如图3-3所示,SLAM机器人在定位的同时建立环境地图其基本原理是运过概率统计的方法,通过多特征匹配来达到定位和减少定位误差的。

图3-3 SLAM基本原理示意图
3.自主移动机器人导航规划的基本原理
移动机器人导航规划的目标是:在给定环境的全局或局部知识以及一个或者一系列目标位置的条件下,使机器人能够根据知识和传感器感知信息高效可靠地到达目标位置。移动机器人自主导航的示意图如图3-4所示,导航规划的主要研究路径规划、避障规划和轨迹规划等内容。
![`DGEREW0_UVREU$~W[ALD]4](/__local/9/39/9F/08EC0DA6CB8771E53BA897994A7_D2332924_6B7E.png)
图3-4移动机器人自主导航的示意图
路径规划根据所给定的地图和目标位置,规划一条使机器人到达目标位置的路径(只考虑工作空间的几何约束,不考虑机器人的运动学模型和约束)。避障规划根据所得到的实时传感器测量信息,调整路径/轨迹以避免发生碰撞。轨迹规划根据机器人的运动学模型和约束,寻找适当的控制命令,将可行路径转化为可行轨迹。路径规划、避障规划和轨迹规划三者关系如图3-5所示。

图3-5路径规划、避障规划和轨迹规划三者关系图
三、实验仪器设备和器材
1.硅步E100智能小车 1台
2.计算机 1台
四、实验要求
1.预习要求:
阅读、理解实验指导书的实验原理,并思考回答以下问题:
a)SLAM技术的基本原理?
b)激光SLAM的优缺点?
c)常用的全局路径规划算法有哪些?
d)常用的局部路径规划算法有哪些?
2.实验内容:
(1)完成RIA E100移动机器人的硬件组装,画出RIA E100移动机器人的硬件系统的结构图,熟悉移动机器人各部分的作用。
(2)利用RIA E100移动机器人实验平台,采用激光雷达SLAM技术,在ROS环境中编程,实现移动机器人的定位与地图构建。
(3)利用RIA E100移动机器人实验平台,在ROS环境中编程,实现在预先建好地图的环境中实现自主导航规划功能,可以从指定的起点自主行驶到终点。
五、实验步骤
1. E100组装与配置
(1)检查RIA E100移动机器人的各硬件组成;
(2)完成RIA E100自主移动机器人平台激光雷达、3D相机、IMU等硬件的组装;
(3)完成RIA E100自主移动机器人平台的启动调试。
注:具体操作请参照“硅步E100实验手册”中的“实验1 E100组装与配置”。
2. 定位与地图构建
(1)PC通过ssh连接到机器人;
(2)机器人唤醒;
(3)构建地图;
(4)Rviz可视化;
(5)保存地图。
注:具体操作请参照“硅步E100实验手册”中的“实验3 E100定位与地图构建”。
3.自主导航
(1)PC通过ssh连接到机器人;
(2)机器人唤醒;
(3)PC机上打开一个新终端,使用ssh连接机器人,执行导航命令;
注:具体操作请参照“硅步E100实验手册”中的“实验4 E100自主导航”。
六、实验思考题
1. gmapping和hector两种SLAM方法有什么不同?
2.自主导航和SLAM是什么关系?
七、实验报告要求
实验报告在内容栏应主要包括如下几部分:
1、实验要求
2、实验目的
3、所需设备(要求图文并茂,并有对应的文字说明。)
4、实验步骤(逐项记录调试过程)
5、实验结果(对实验数据统计、整理,将实验结果用图表和文字进行分析,并给出结论。)
6、程序流程图和实验程序(严格按照流程图撰写规范进行撰写)
7、实验心得(可以提出该实验存在的问题、本人尚不明白的问题、建议和意见等)