2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车,按照给定赛道完成比赛

一、前言

操作系统:ubuntu16.04

ROS版本:kinetic

Gazebo版本:7.0.0

二、效果图

三、准备工作

1.在Ubuntu上安装ROS Kinetic

2.创建ROS工作区间

①1创建racecar_ws和src文件夹

mkdir -p ~/racecar_ws/src

②初始化工作空间

cd ~/racecar_ws/src
catkin_init_workspace

在这里插入图片描述

③下载racecar源代码包,并编译工程

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

创建成功如下:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

四、启动仿真

1.设置环境变量

echo "source ~/racecar_ws/devel/setup.bash" >> ~/.bashrc

source ~/.bashrc

2.启动地图

roslaunch racecar_gazebo racecar_runway.launch

在这里插入图片描述

五、建图

1.启动slam和rviz

新建终端

cd racecar_ws/
roslaunch racecar_gazebo slam_gmapping.launch

在这里插入图片描述

2 控制车辆(左侧有个控制窗口),WASD控制前左后右的运动就可以建图了:

在这里插入图片描述

原图:
在这里插入图片描述
成果图:
在这里插入图片描述

3.新建终端保存地图

保存地图的路径:/racecar_ws/src/racecar/racecar_gazebo/map

cd ~/racecar_ws/src/racecar/racecar_gazebo/map
rosrun map_server map_saver -f map_racecar

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

分析:在控制小车运动时,小车很容易翻车。不过最终能运行完地图。

六、自主定位导航

1.启动导航和环境地图:

新建终端

cd racecar_ws/
roslaunch racecar_gazebo racecar_runway_navigation.launch

在这里插入图片描述

2.启动rviz:

新建终端:

cd racecar_ws/
roslaunch racecar_gazebo racecar_rviz.launch

在这里插入图片描述

3.用2D Nav Goal发布目标:

在这里插入图片描述

4.启动导航脚本

新建终端

cd racecar_ws/
rosrun racecar_gazebo path_pursuit.py

在这里插入图片描述
在这里插入图片描述
上图,对比发现小车确实打导航定位成功。

七、此次智能车仿真的问题解决办法汇总链接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章