ros智能车自主导航仿真

文章目录

  • 准备工作
  • 编译运行:
    • 编译
    • 运行
  • 小车的自动避障:

参考网址:
https://gitea.amovlab.com/UnmannedSystemCourse/ArduCar_simulation
https://blog.csdn.net/qq_43538025/article/details/104257332?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159434970919195264543255%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159434970919195264543255&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2 allfirst_rank_ecpm_v3~pc_rank_v2-1-104257332.first_rank_ecpm_v3_pc_rank_v2&utm_term=%E5%AE%89%E8%A3%85mavros

准备工作

创建工作空间
ros智能车自主导航仿真_第1张图片
将软件包下载到本地

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

ros智能车自主导航仿真_第2张图片
下载对应的插件:

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

更换cmake文件中opencv路径:
查询opencv路径:
ros智能车自主导航仿真_第3张图片
在camakelist中修改成红框的样子,后面的cmake文件不用加上去:
ros智能车自主导航仿真_第4张图片

编译运行:

编译

编译命令:

catkin_make

ros智能车自主导航仿真_第5张图片
编译之后就添加环境变量,用这种方法在打开新的终端窗口就可以不用重新注册工作空间了,如果用上面的创建工作空间的时候那种方法每次打开一个新的终端就需要注册一次很麻烦:
在这里插入图片描述

运行

运行命令

roslaunch racecar_gazebo racecar.launch 

ros智能车自主导航仿真_第6张图片
可以在racecar.launch文件中修改小车的起始位置。
ros智能车自主导航仿真_第7张图片

ros智能车自主导航仿真_第8张图片
运行地图

roslaunch racecar_gazebo  racecar_runway.launch

加载完成后:
ros智能车自主导航仿真_第9张图片
启动rivz:

roslaunch racecar_gazebo slam_gmapping.launch

ros智能车自主导航仿真_第10张图片
控制小车移动
ros智能车自主导航仿真_第11张图片
ros智能车自主导航仿真_第12张图片
ros智能车自主导航仿真_第13张图片
将地图保存下来:

rosrun map_server map_saver -f test_map

修改下面文件中的地图为刚刚保存的地图:
ros智能车自主导航仿真_第14张图片
启动:

roslaunch racecar_gazebo racecar_runway_navigation.launch

启动rivz:

roslaunch racecar_gazebo racecar_rviz.launch

ros智能车自主导航仿真_第15张图片
设计小车运行轨迹
ros智能车自主导航仿真_第16张图片
启动导航脚本

rosrun racecar_gazebo path_pursuit.py

小车开始运动,中间的红色就是小车走过的轨迹:
ros智能车自主导航仿真_第17张图片

小车的自动避障:

下载功能包:

sudo apt-get install ros-melodic-navigation

ros智能车自主导航仿真_第18张图片
编译包:
ros智能车自主导航仿真_第19张图片
运行amp_navigation.sh文件:
运行后可能会报错找不到mavrous,使用下面的命令安装:

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

装好后重新运行报错:
ros智能车自主导航仿真_第20张图片
解决方法:
这里耗时有点久
在这里插入图片描述
再次运行:
ros智能车自主导航仿真_第21张图片
ros智能车自主导航仿真_第22张图片
运行结果:
这里gazebo加载会很慢,多等等
ros智能车自主导航仿真_第23张图片
ros智能车自主导航仿真_第24张图片
ros智能车自主导航仿真_第25张图片
可按照下图手动控制小车:

ros智能车自主导航仿真_第26张图片

在Rviz中用2D Nav Goal为小车设定目标,小车就会开始运动了:
ros智能车自主导航仿真_第27张图片
ros智能车自主导航仿真_第28张图片
在小车返回中现场设定路障:
ros智能车自主导航仿真_第29张图片
ros智能车自主导航仿真_第30张图片
小车避开了障碍:

ros智能车自主导航仿真_第31张图片
继续添加路障,堵住当前小车的道路:
ros智能车自主导航仿真_第32张图片
小车重新规划路径:
ros智能车自主导航仿真_第33张图片

你可能感兴趣的:(ros智能车自主导航仿真)