ROS智能车自主导航仿真(melodic)

ROS智能车自主导航仿真

一、准备工作

新建一个工作空间:
在这里插入图片描述
此时工作空间是空的,但是可以进行编译:
在这里插入图片描述
编译后的工作空间:
在这里插入图片描述

注册:
在这里插入图片描述
下载源码包:

cd ~/car_ws/src
git clone https://github.com/xmy0916/racecar.git

在这里插入图片描述
下载成功:
在这里插入图片描述
下载相应的插件:

sudo apt-get install ros-melodic-driver-base
sudo apt-get install ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-effort-controllers
sudo apt-get install ros-melodic-joint-state-controller
sudo apt-get install ros-melodic-ackermann-msgs
sudo apt-get install ros-melodic-global-planner
sudo apt-get install ros-melodic-teb-local-planner

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

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

二、编译运行

编译:
在这里插入图片描述
出现了一下错误:
在这里插入图片描述
是因为OpenCV的路径问题,要把OpenCV路径换成自己的,打开~/car_ws/src/racecar/racecar_gazebo/CMakeLists.txt,这是代码自带的路径:
在这里插入图片描述
自己的OpenCV路径可以使用locate命令查看,然后修改就可以了:
在这里插入图片描述在这里插入图片描述
再次编译就编译成功:
在这里插入图片描述

编译之后就添加环境变量,用这种方法在打开新的终端窗口就可以不用重新注册工作空间了,如果用上面的创建工作空间的时候那种方法每次打开一个新的终端就需要注册一次很麻烦:
在这里插入图片描述
运行小车模型:

roslaunch racecar_gazebo racecar.launch 

在这里插入图片描述
刚打开的时候可能看不见小车,是因为小车有一个初始位置,偏离了坐标原点,需要用鼠标移动一下Gazebo的视角就可以看见了:
在这里插入图片描述
如果你想可以修改这个值,就可以改变小车的起始位置,如下:
在这里插入图片描述

启动地图运行轨道(源代码包自带的):

roslaunch racecar_gazebo racecar_runway.launch

在这里插入图片描述
如果电脑性能不太好,这里加载需要一段时间,耐心等待:
在这里插入图片描述
加载完成:
在这里插入图片描述

启动Rviz进行建图:

roslaunch racecar_gazebo slam_gmapping.launch

在这里插入图片描述
在左下角窗口还可以看见小车的视角,可以看见障碍物:
在这里插入图片描述

控制小车移动:
在这里插入图片描述在这里插入图片描述
这个过程要有耐心,建图完成:
在这里插入图片描述
保存地图:

rosrun map_server map_saver -f test_map

默认是保存在主目录下(home)的,把它复制到我们工作空间的map文件夹下面(~/car_ws/src/racecar/racecar_gazebo/map)。

自主导航:
修改下面文件的内容,改成自己刚刚保存的地图的路径:
在这里插入图片描述在这里插入图片描述

启动导航和环境地图:

roslaunch racecar_gazebo racecar_runway_navigation.launch

在这里插入图片描述
在这里插入图片描述启动rviz:

roslaunch racecar_gazebo racecar_rviz.launch

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

用2D Nav Goal设计小车运动轨迹:
在这里插入图片描述
启动导航脚本:

rosrun racecar_gazebo path_pursuit.py

在这里插入图片描述
小车开始运动,中间的红色就是小车走过的轨迹:
在这里插入图片描述

三、搭建新模型并进行自主导航

由于我的虚拟机已经不堪重负,很卡,前面的部分都是花了很久才完成的,这一部分就只讲一些关键步骤了。

打开gazebo:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后就可以设计自己想要的地图模型:
在这里插入图片描述
设计好之后保存:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改小车起始位置:
在这里插入图片描述把图中坐标改成原点:
在这里插入图片描述
运行小车模型:
在这里插入图片描述在这里插入图片描述
拖入刚刚创建的模型:
在这里插入图片描述在这里插入图片描述

按照自己的喜好加入障碍物:
在这里插入图片描述保存:
在这里插入图片描述
保存到这个目录下:
在这里插入图片描述在这里插入图片描述
新建一个launch文件,红框部分改为自己的模型名字:
在这里插入图片描述在这里插入图片描述
然后运行:
在这里插入图片描述
在这里插入图片描述
然后后面进行建图、自主导航的步骤跟前面一样的,我的电脑太卡了运行不下去了,这里就不继续贴图了。

roslaunch racecar_gazebo slam_gmapping.launch

控制小车跑完整个地图。然后保存地图:

rosrun map_server map_saver -f test_map

后面的自主导航跟着前面的做就可以了。

四、无人车自动避障

下载功能包:

sudo apt-get install ros-melodic-navigation

在这里插入图片描述
下载源代码包:
链接:https://pan.baidu.com/s/1xMoJ8LBSIga6wRP535bt9Q
提取码:5ket

下载好后面解压。
编译:
在这里插入图片描述在这里插入图片描述
注册程序:
在这里插入图片描述

运行,一开始显示权限不够是因为没有把该文件设为可执行程序,把apm_navigation.sh文件设为可执行程序文件就可以了:
在这里插入图片描述
在这里插入图片描述
在Rviz中用2D Nav Goal为小车设定目标,小车就会开始运动了:
在这里插入图片描述再次为小车设定目标:
在这里插入图片描述
在小车运动过程可以在Gazebo里给它添加障碍物:
在这里插入图片描述
然后小车检测到障碍物之后就会自动更改到达目的地的路线:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

最后小车成功越过障碍物:
在这里插入图片描述

  • 31
    点赞
  • 231
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值