“从零开始搭建一台ROS开源迷你无人车”第一周学习记录

本周因电脑邮寄未到问题,工作开展较晚,进度稍有延迟... 具体工作进度和内容如下:

1.Ros-Melodic的安装:

因为我的电脑原来安装的为Ubuntu20.04系统,所以适配版本为ros-noetic,而教程中所给例程均为melodic下的,在询问师兄关于两个版本的差别和兼容性后,得知两个版本并不完全兼容,melodic下的例程在noetic下运行可能会出现bug。于是重新安装了Ubuntu18.04系统,进而进行了ros-melodic的安装,并进行了小乌龟移动例程的测试。

在安装Ubuntu18.04系统过程中可能是因为U盘问题,导致安装过程中出现多次安装崩溃的情况,耗费了很长时间没有解决。后来在博客园中找到了不依赖U盘作为启动盘的安装方法,并成功解决了问题。

在创建工作空间执行catkin_make操作时出现如下图所示错误,查询原因是因为缺失配置文件GTSAMConfig.cmake和gtasm-config.cmake,可通过安装lego_loam(通过chapter3中内容)或暂时删除LeGO-LOAM文件以解决。

2.了解学习ROS工程包中的核心文件:

neor_mini :通过urdf文件存储neor_mini无人车的外观描述信息
steer_drive_ros :阿克曼运动学ROS插件
steer_mini_gazebo:在Gazebo中存储neor mini的模型的启动文件
mini_gmapping :存储映射参数文件及其启动文件
mini_navigation:存储导航参数文件及其启动文件
3.运行neor mini的启动文件,通过Rviz实现无人车urdf文件的可视化:
neor mini模型演示效果图如下:

 添加gazebo_sensor传感器模型演示:

 4.运行steer_mini_gazebo启动文件,将无人车和sensor的urdf在Gazebo中可视化,并对neor_mini进行运动控制(通过左侧Robot Steering工具控制小车进退速度和转向):

 运行gmapping_steer_mini_sim.launch文件,并进行运动控制和地图构建:

利用构建好的地图进行导航演示:

 运行启动文件时,将显示两个窗口,一个是Rviz,另一个是Gazebo。通过Rviz窗口在地图上选择导航目标,很快neor mini模型车将自动规划路线(地图中绿色曲线)并到达。

关于研究方向的想法:

考虑行人安全的、基于阿克曼运动结构的无人车运动控制:

1.无人车动力学模型的建立:

首先建立无外部因素影响的理想条件下的物理模型;

再针对外部因素(负载、路面、风力等)的影响,基于目前的研究现状,选取重要的、需要解决的因素进行重点分析,设计不确定参数辨识方法,建立相应的动力学模型。

自身位姿、速度、加速度观测器,外部干扰观测器设计

目标:负载惯性参数辨识、路面情况和摩擦辨识、风阻辨识,

速度、精度、鲁棒性

2.基于动力学模型的控制方法:

了解学习目前的控制方法研究现状,各种方法的优缺点、适用性等;

针对上述选取的外部因素影响,选取鲁棒性强、响应速度快、准确性高的控制方法进行底层运动控制;

先进行仿真测试,通过后在实验室移动小车平台上进行测试。

目标:对不确定性扰动具有良好适用性和鲁棒性,保证系统稳定性

3.导航过程中行人和障碍物的检测和反馈:

(...)

4.基于监测到的行人和障碍物信息进行的导航决策:

对障碍物类别、障碍物距离、障碍物的相对运动状态进行检测,并体现在地图中;

对可运动障碍物(行人或汽车等)可能的变化趋势(运动方向可能的变化,如方向速度等)进行分析和预测,确定出在地图中障碍物可能的变化范围,在地图中确定出风险区域和安全区域(即可以保证安全、可规划新路线的区域);

了解学习智能控制方法研究现状;

选取智能化的方法,基于上述分析、预测的结果进行科学的决策,并结合(2)中的运动控制方法,以躲避障碍物并调整、优化运动路线;

先进行仿真测试,通过后在实验室移动小车平台上进行测试。

问题:研究创新点和着重点?(底层运动控制?)

        上述(3)是否也在研究范围内?

        可以依托并延续发展的实验室已有技术或理论?

你可能感兴趣的:(自动驾驶,人工智能,机器学习)