利用Gazebo搭建赛道,控制小车完成比赛(大学生智能车大赛室外光电组赛道仿真模拟) | 您所在的位置:网站首页 › 儿童仿真汽车可以开 › 利用Gazebo搭建赛道,控制小车完成比赛(大学生智能车大赛室外光电组赛道仿真模拟) |
ROS学习【18】-----利用Gazebo搭建赛道,控制小车完成比赛目录
一、 ROS仿真功能包下载编译1、racecar功能包下载2、安装该功能包运行需要的控件3、racecar功能包编译4、测试是否编译成功
二、 运行功能包自带的赛道1、运行赛道,控制小车进行位移2、进行gmapping建图
三、 自行进行赛道搭建1、新建终端,打开Gazebo2、运行小车模型,导入刚刚的模型框架,然后保存world文件3、创建launch文件,填写赛道配置参数4、运行我们的地图5、进行gmapping建图
四、 实现 小车自主定位导航1、创建手工导航launch文件2、运行手工导航3、选择2D Nav Goal指针,进行手工导航
现在很多小伙伴在为全国大学生智能车比赛做准备,但在进行小车组装之前,一定会通过ROS进行赛道模拟,调试,一切准备就绪后才会进行现实中小车的组装,因此,测试是非常重要的,本次博客,林君学长主要带大家利用Gazebo搭建全国大学生智能车比赛的规则赛道,控制小车,跑完赛道,虽然只是简单的模拟,但对参赛的小伙伴来说,可以说非常重要了,有了一个入门的基础,接下来,一起看步骤了解吧!
ubuntu版本:ubuntuKylin-16.04ROS版本:ROS-kineticGazebo版本:Gazebo-7.16
一、 ROS仿真功能包下载编译
一下ROS的仿真功能包需要通过GitHub克隆下载,当然是网络的大佬写好了的,小伙伴如需要自己写,可以参考其中的代码,进行自行构建,这里,林君学长推荐模仿该仿真功能包,进行自行搭建,毕竟对于才参赛的同学来说,动手能力非常的重要! 1、racecar功能包下载1)、新建终端进入ROS工作空间的src目录下 cd ~/lenovo/ros/src2)、下载Gazebo搭建赛道功能包racecar git clone https://github.com/xmy0916/racecar.git
在上面的终端不关闭的情况下,新建一个终端,进行控件的安装,控件的安装是为了本次实验任务需要,不安装,在编译或者运行的时候会出现错误的哦! 1)、driver_base的控件安装 sudo apt-get install ros-kinetic-driver-base
3)、ackermann_msgs控件安装 sudo apt-get install ros-kinetic-ackermann-msgs4)、planner控件安装 sudo apt-get install ros-kinetic-global-planner sudo apt-get install ros-kinetic-teb-local-planner以上就是需要编译之前准备的控件安装啦,控件安装成功后,关闭这个终端;有些控件是之前在进行ROS学习的时候安装过的,但也是本次任务需要的控件,小伙伴对应安装就好,如果安装过,他会提示已安装的哦。接下来,我们开始进行编译吧! 3、racecar功能包编译1)、返回ROS工作空间 cd ~/lenovo/ros2)、编译 catkin_make3)、编译成功如下所示: 1)、程序注册 source ./devel/setup.bash2)、在终端输入以下命令,运行小车模型,测试编译是否成功 roslaunch racecar_gazebo racecar.launch以上命令运行之后,系统将会打开一个tk的控制界面小窗,控制小车的移动,同时,系统会打开Gazebo仿真软件,里面会有一个小车模型,如下所示: 1)、在上面ctrl+c结束gazebo的运行,然后运行如下命令,运行赛道 roslaunch racecar_gazebo racecar_runway.launch2)、运行结果如下: 1)、新建终端,运行rviz,进行gmapping建图 cd ~/lenovo/ros source ./devel/setup.bash roslaunch racecar_gazebo slam_gmapping.launch
一般来说,地图需要保存到map文件夹内,该文件夹专门用来保存我们创建模型的gmapping地图,如下所示: 为了区别刚刚的地图,我们自行创建一个较为简单的地图吧,这也是为了方便本次博客的讲解,下面,我们开始吧! 1、新建终端,打开Gazebo1)、输入如下命令,打开gazebo gazebo
1)、通过以下代码运行小车模型 cd ~/lenovo/ros source ./devel/setup.bash roslaunch racecar_gazebo racecar.launch
1)、新建终端,进入racecar_gazebo工程包中的launch文件夹 cd ~/lenovo/ros/src/racecar/racecar_gazebo/launch2)、创建track1.launch文件 touch track1.launch3)、打开track1.launch文件,写入配置参数 gedit track1.launch写入如下代码: 然后点击保存后关闭!接下来就可以运行我们自己的赛道了 4、运行我们的地图1)、运行地图 source ./devel/setup.bash roslaunch racecar_gazebo track1.launch
1)、上面运行的终端不关闭,新建终端,接着输入如下命令,进行gmapping建图 roslaunch racecar_gazebo slam_gmapping.launch
1)、新建终端,创建track2.launch文件 cd ~/lenovo/ros/src/racecar/racecar_gazebo/launch touch track2.launch gedit track2.launch2)、写入配置文件代码 3)、如何改为你们的? 小伙伴只需要如下图所示,该其中两个地方,改为你们自己的模型名和保存地图的yaml文件就可以了: 1)、输入如下命令,运行我们的赛道 cd ~/lenovo/ros source ./devel/setup.bash roslaunch racecar_gazebo track2.launch
1)、选择2D Nav Goal指针 4)、观察小车的移动情况 陈一月的又一天编程随岁月^ _ ^ |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |