嵌入式系统应用开发·大作业——ROS机器人定位导航仿真

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真

    • 一、安装与配置
      • 1. 下载源码包
      • 2. 安装相应插件
        • (1)driver_base
        • (2)controllers
        • (3)ackermann_msgs
        • (4)planner
      • 3. 编译
    • 二、进行仿真
      • 1. 添加环境变量
      • 2. 运行小车模型
      • 3. 修改小车起始位置
      • 4. 启动地图
    • 三、创建地图
      • 1. 建立与保存地图
      • 2. 重启gazebo,选择刚刚保存的模型
      • 3. 在地图中加入障碍物
      • 4. 修改文件
      • 5. 运行地图
    • 四、进行gmapping建图
      • 1. gmapping建图
      • 2. 保存地图
    • 五、小车进行导航运动
      • 1. 修改文件
      • 2. 启动导航和环境地图,启动rviz
      • 3. 设计小车行车轨迹
      • 4. 启动导航脚本
      • 5. 到达目的地

一、安装与配置

1. 下载源码包

git clone https://github.com/xmy0916/racecar.git

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第1张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第2张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第3张图片

2. 安装相应插件

(1)driver_base

sudo apt-get install ros-kinetic-driver-base

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第4张图片

(2)controllers

sudo apt-get install ros-kinetic-gazebo-ros-control

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第5张图片

sudo apt-get install ros-kinetic-effort-controllers

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第6张图片

sudo apt-get install ros-kinetic-joint-state-controller

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第7张图片

(3)ackermann_msgs

sudo apt-get install ros-kinetic-ackermann-msgs

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第8张图片

(4)planner

sudo apt-get install ros-kinetic-global-planner

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第9张图片

sudo apt-get install ros-kinetic-teb-local-planner

在这里插入图片描述

3. 编译

catkin_make

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第10张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第11张图片

二、进行仿真

1. 添加环境变量

在这里插入图片描述
在这里插入图片描述

2. 运行小车模型

roslaunch racecar_gazebo racecar.launch 

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第12张图片
小车通过按WASD来进行移动,移动时点击tk窗口,才能进行移动操作
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第13张图片

3. 修改小车起始位置

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第14张图片
改为下面的:
在这里插入图片描述
再次启动运行后,小车位置已改变:

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第15张图片

4. 启动地图

roslaunch racecar_gazebo racecar_runway.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第16张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第17张图片

三、创建地图

1. 建立与保存地图

gezebo

在这里插入图片描述
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第18张图片

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第19张图片
保存:
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第20张图片

2. 重启gazebo,选择刚刚保存的模型

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第21张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第22张图片

3. 在地图中加入障碍物

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第23张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第24张图片
保存地图:
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第25张图片

4. 修改文件

在这里插入图片描述
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第26张图片

5. 运行地图

roslaunch racecar_gazebo racecar_runway.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第27张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第28张图片

四、进行gmapping建图

1. gmapping建图

roslaunch racecar_gazebo racecar_runway.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第29张图片

roslaunch racecar_gazebo slam_gmapping.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第30张图片

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第31张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第32张图片
控制小车跑完全图:
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第33张图片

2. 保存地图

rosrun map_server map_saver -f test_map

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第34张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第35张图片
复制到map文件夹下:
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第36张图片

五、小车进行导航运动

1. 修改文件

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第37张图片
在这里插入图片描述

2. 启动导航和环境地图,启动rviz

roslaunch racecar_gazebo racecar_rviz.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第38张图片

roslaunch racecar_gazebo racecar_runway_navigation.launch

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第39张图片
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第40张图片

3. 设计小车行车轨迹

在这里插入图片描述
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第41张图片

4. 启动导航脚本

rosrun racecar_gazebo path_pursuit.py

在这里插入图片描述
小车在前进:
嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第42张图片

5. 到达目的地

嵌入式系统应用开发·大作业——ROS机器人定位导航仿真_第43张图片

可能是运气不好,在下载插件的时候网速特别的慢,九百多kb的内容下了两个小时,中间一直在wifi热点不停切换。
然后后面做的时候可能是网太卡了,导致想要控制小车运动的时候小车一动不动的。
最后就是小车自主导航跑地图的时候,也是因为网卡,小车跑得特别慢,运行了好久才慢慢悠悠跑得终点,心累。

你可能感兴趣的:(嵌入式系统开发与应用,嵌入式)