ROS机器人定位导航仿真——智能车

目录标题

  • 一、racecar功能包安装
    • 1.racecar功能包下载
    • 2、安装该功能包运行需要的控件
    • 3.racecar功能包编译
    • 4.运行小车模型launch文件
  • 二、 在功能包自带赛道里运行
    • 1.加载赛道,控制小车进行位移
    • 2、进行gmapping建图
  • 三、在包赛道里自动导航
    • 1.启动导航和环境地图
    • 2.启动rviz
    • 3.用2D Nav Goal发布目标
    • 4.启动导航脚本

一、racecar功能包安装

1.racecar功能包下载

新建终端进入racecar工作空间的src目录下

cd ~/racecar_ws/src

下载Gazebo搭建赛道功能包racecar

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

2、安装该功能包运行需要的控件

新建一个终端,进行控件的安装(这个不安装后面会运行不起)
(1)driver_base的控件安装

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

(2)controllers控件安装

sudo apt-get install ros-kinetic-gazebo-ros-control
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller

(3)ackermann_msgs控件安装

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

(4)planner控件安装

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

3.racecar功能包编译

新建终端

cd ~/racecar_ws
catkin_make

ROS机器人定位导航仿真——智能车_第1张图片
编译过程中,如果遇到问题,则可根据提示修改。

4.运行小车模型launch文件

#程序注册
source ./devel/setup.bash
#在终端输入以下命令,运行小车模型,测试编译是否成功
roslaunch racecar_gazebo racecar.launch 

二、 在功能包自带赛道里运行

1.加载赛道,控制小车进行位移

cd ~/racecar_ws
roslaunch racecar_gazebo racecar_runway.launch

ROS机器人定位导航仿真——智能车_第2张图片
ROS机器人定位导航仿真——智能车_第3张图片
通过锁定在tk窗口下,用WASD来控制小车,然后对比两图,发现小车确实动了,证明我们的仿真环境搭建的还是不错的。

2、进行gmapping建图

(1)不关闭之前运行的程序终端,新建终端,运行rviz,进行gmapping建图

cd ~/racecar_ws
source ./devel/setup.bash
roslaunch racecar_gazebo slam_gmapping.launch

ROS机器人定位导航仿真——智能车_第4张图片
接下来就是手动控制小车进行赛道扫描绘图。
最后保存地图

rosrun map_server map_saver -f test_map

绘制好的地图
ROS机器人定位导航仿真——智能车_第5张图片
在racecar工作空间下新建一个map文件夹保存跑好的地图

ROS机器人定位导航仿真——智能车_第6张图片
ROS机器人定位导航仿真——智能车_第7张图片
友情提示:在控制小车运动时,小车撞墙后很容易翻车。所以,不能急,慢慢控制跑动。

三、在包赛道里自动导航

1.启动导航和环境地图

cd racecar_ws/
roslaunch racecar_gazebo racecar_runway_navigation.launch

2.启动rviz

新建终端

cd racecar_ws/
roslaunch racecar_gazebo racecar_rviz.launch

ROS机器人定位导航仿真——智能车_第8张图片

3.用2D Nav Goal发布目标

ROS机器人定位导航仿真——智能车_第9张图片
使用上排的2D Nav Goal标签发布信息,设置好起点和终点,它就会自动规划出来一条路线。(途中绿色的细线就为其规划好的路线)

4.启动导航脚本

cd ~/racecar_ws
rosrun racecar_gazebo path_pursuit.py

图1
ROS机器人定位导航仿真——智能车_第10张图片
图2
ROS机器人定位导航仿真——智能车_第11张图片
这里已经可以明显看出小车走了比较远了,然后导航上的绿色细线也覆盖了红色。(实际运行后小车路线会有不小的偏差

最后发现小车到达目的坐标,定位导航成功!!!
ROS机器人定位导航仿真——智能车_第12张图片
ROS机器人定位导航仿真——智能车_第13张图片

你可能感兴趣的:(嵌入式学习,智能车,第十四届全国,创意组,室外光电竞速)