2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真
2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真
- 一、前言
- 二、准备工作
- 1.创建工作空间
- 2.下载racecar源代码包,并编译工程
- 三、启动仿真
- 1.设置环境变量
- 2.启动地图
- 四、建图
- 1.启动slam和rviz:
- 2.控制车辆(左侧有个控制窗口,图标是问号点开),WASD控制前左后右的运动就可以建图了:
- 3.保存地图
- 五、导航
- 1.启动导航和环境地图:
- 2.启动rviz:
- 3.利用2D Nav Goal发布目标
- 4.启动导航脚本
- 六、搭建自己的地图进行导航
- 1.打开新的终端输入命令gazebo,创建新的地图模型
- 2.点击左上角的Edit选择Building Edit:
- 3.点击Create Walls下面的Wall进行绘制地图:
- 4.画完后点击左上角的File选择save as:
- 5.重启gazebo,点击左上角的Insert可以看到刚刚建立的模型,点击一下拖到gazebo中:
- 6.插入锥桶,点击Insert选择Construction Cone拖入gazebo
- 7.保存世界文件,点击左上角File选择Save World As
- 8.创建launch文件,填写赛道配置参数
- 9. 运行跑道模型,进行建图操作
- 10. 启动slam和rviz
- 11.保存地图
- 七、用自己的地图进行导航
- 1. 创建myself.launch文件,并按照前面启动文件下入代码
- 2. 启动导航和环境地图
- 3. 运行RVIZ进行手工导航
- 4. 利用2D Nav Goal发布目标
- 5. 启动导航脚本
- 八、问题解决办法
- 1.报错控制器相关
- 2.报错driver_base相关
- 3.报错ackermann_msgs相关
- 4.报错findline.cpp找到opencv头文件
- 5.报错无法创建teb_local_planner / TebLocalPlannerROS规划器
- 6.没有laser相关话题,无法建图
一、前言
操作系统:ubuntu16.04
ROS版本:kinetic
Gazebo版本:7.16.0
二、准备工作
1.创建工作空间
mkdir -p ~/racecar_ws/srccd ~/racecar_ws/srccatkin_init_workspace
2.下载racecar源代码包,并编译工程
git clone https://github.com/xmy0916/racecar.gitcd ..catkin_make
创建成功如下:
三、启动仿真
1.设置环境变量
echo "source ~/racecar_ws/devel/setup.bash" >> ~/.bashrcsource ~/.bashrc
2.启动地图
roslaunch racecar_gazebo racecar_runway.launch
四、建图
1.启动slam和rviz:
roslaunch racecar_gazebo slam_gmapping.launch
2.控制车辆(左侧有个控制窗口,图标是问号点开),WASD控制前左后右的运动就可以建图了:
完成之后:
操作小车可能会出现打滑现象,可以多次尝试,跑慢点。
3.保存地图
rosrun map_server map_saver -f ~/racecar_ws/src/racecar_gazebo/map/map_runway
五、导航
1.启动导航和环境地图:
roslaunch racecar_gazebo racecar_runway_navigation.launch
2.启动rviz:
roslaunch racecar_gazebo racecar_rviz.launch
3.利用2D Nav Goal发布目标
4.启动导航脚本
rosrun racecar_gazebo path_pursuit.py或者cd ~/racecar_ws/src/racecar_gazebo/scriptspython path_pursuit.py
开始进行导航
效果图:
六、搭建自己的地图进行导航
1.打开新的终端输入命令gazebo,创建新的地图模型
2.点击左上角的Edit选择Building Edit:
3.点击Create Walls下面的Wall进行绘制地图:
4.画完后点击左上角的File选择save as:
保存完成可以看看是否成功
5.重启gazebo,点击左上角的Insert可以看到刚刚建立的模型,点击一下拖到gazebo中:
这里最好把坐标轴放到我们车的起点,如图画圈处(不改也没关系,可以在启动文件里定义车模的坐标)
我们可以先把有小车的地图拿出来再放模型:
roslaunch racecar_gazebo racecar.launch
这样就很简单的将小车放到模型起始位置!
6.插入锥桶,点击Insert选择Construction Cone拖入gazebo
7.保存世界文件,点击左上角File选择Save World As
8.创建launch文件,填写赛道配置参数
cd racecar_ws/src/racecar/racecar_gazebo/launch
touch myself.launch
gedit myself.launch
写入下面代码:
<?xml version="1.0"?>
<launch><!-- Launch the racecar --><include file="$(find racecar_gazebo)/launch/racecar.launch"><arg name="world_name" value="myself"/></include>
</launch>
9. 运行跑道模型,进行建图操作
roslaunch racecar_gazebo myself.launch
10. 启动slam和rviz
roslaunch racecar_gazebo slam_gmapping.launch
完成之后:
11.保存地图
rosrun map_server map_saver -f ~/racecar_ws/src/racecar_gazebo/map/myself
七、用自己的地图进行导航
1. 创建myself.launch文件,并按照前面启动文件下入代码
2. 启动导航和环境地图
roslaunch racecar_gazebo myselfnavigation.launch
3. 运行RVIZ进行手工导航
roslaunch racecar_gazebo racecar_rviz.launch
4. 利用2D Nav Goal发布目标
5. 启动导航脚本
rosrun racecar_gazebo path_pursuit.py或者cd ~/racecar_ws/src/racecar_gazebo/scriptspython path_pursuit.py
开始进行导航
效果图:
八、问题解决办法
1.报错控制器相关
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
2.报错driver_base相关
sudo apt-get install ros-kinetic-driver-base
3.报错ackermann_msgs相关
sudo apt-get install ros-kinetic-ackermann-msgs
4.报错findline.cpp找到opencv头文件
执行:得到locate OpenCVConfig.cmake你的opencv的路径
执行:gedit ~/racecar_ws/src/racecar_gazebo/CMakeLists.txt
修改第7行的路径成你的路径:set(OpenCV_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev/)
5.报错无法创建teb_local_planner / TebLocalPlannerROS规划器
sudo apt-get install ros-kinetic-teb-local-planner
6.没有laser相关话题,无法建图
/ racecar_ws / src / racecar_description / urdf / racecar.gazebo在这个文件中61行改成false即可,代码已修复,直接下载没有问题的。
2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真相关推荐
- 2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车,按照给定赛道完成比赛
大学生智能车大赛室外光电组,在ROS下搭建仿真模拟环境 一.前言 二.效果图 三.准备工作 [1.在Ubuntu上安装ROS Kinetic](https://blog.csdn.net/qq_425 ...
- 第十五届全国大学生智能车竞赛 室外光电组线上选拔赛比赛流程
第十五届全国大学生智能车竞赛 室外光电组线上选拔赛比赛流程 作者:卓晴博士,清华大学自动化系 更新时间:2020-07-30 Thursday 1.线上选拔赛将采取腾讯会议直播与电脑录屏结合的方式进行 ...
- 第十五届全国大学生智能汽车竞赛室外光电组全国总决赛方案
第十五届全国大学生智能汽车竞赛 室外光电组全国总决赛方案 1. 赛事背景 全国大学生智能汽车竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程的实践活动,是教育部倡导的大 ...
- 第十五届全国大学生智能车竞赛室外光电创意组别进入线下比赛的队伍名单
作者:卓晴博士,清华大学自动化系 更新时间:2020-08-05 Wednesday 第十五届全国大学生智能车竞赛组委会在7月4日公布了室外光电ROS预赛方案 ,截止到7月20日,公布到213支队伍的 ...
- 智能车大赛AI视觉组培训第一弹——基础篇
智能车大赛AI视觉组培训第一弹: ▌基础篇 1.培训简介 ■时间安排: 2021年03月18日 14:00 ■内容简介: 由恩智浦赞助的AI视觉组,今年由于把人工智能应用在智能车竞赛中,使得难度提升了 ...
- 全国大学生智能车竞赛(创意组)陕西理工大学校级选拔赛顺利举行
2021年11月14日,由陕西理工大学大学生科技领导小组主办,共青团陕西理工大学委员会.教务处.机械工程学院协办,全国大学生智能车竞赛(创意组)陕西理工大学校级选拔赛在机械学院307会议室举行. ...
- 智能车大赛AI视觉组参考答案
礼让动物采摘水果--最近, 智能车大赛AI视觉组 的题目已经发布,我们先为大家探探路. 前一期,逐飞科技给大家带来了一篇开幕大作: 智能车竞赛,AI视觉组赛题浅析 ,对该组别的核心赛题任务进行 ...
- 第十五届全国大学生智能汽车竞赛-室外光电ROS组预赛方案
01赛事背景 全国大学生智能汽车竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程的实践活动,是教育部倡导的大学生科技竞赛之一.竞赛以立足培养,重在参与,鼓励探索,追求卓 ...
- 第十五届全国大学生智能车竞赛百度人工智能组相关文件链接
▲ 第十五届全国大学生智能车竞赛人工智能创意比赛 第15届全国大学生智能汽车竞赛 | 人工智能挑战赛(百度) 第十五届全国大学生智能汽车竞赛人工智能创意赛 第十五届全国大学生智能汽车竞赛百度人工智能正 ...
最新文章
- python利用opencv自带的颜色查找表(LUT)进行色彩风格变换
- Golang undefined: strings.ReplaceAll解决
- java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法
- jzoj6276-[Noip提高组模拟1]树【线段树,扫描线,倍增】
- 非接触式IC智能(射频)卡
- Maven配置文件POM属性最全详解
- 阿里巴巴张勇:创造风口而不是追逐
- 都说“先卖人,后卖货”,或者说要想卖货,先卖人
- EditPlus v2.20 Build 205
- 编写爬虫遇到的问题总结
- vega56刷64_Vega56刷64的BIOS教程
- 30个Eclipse键盘快捷键大全,让你工作效率翻倍
- matlab基础学习——基础数学函数(持续更新)
- CSS动画:梦幻西游
- 西门子1500更改IP地址
- 华为智慧屏V55升级鸿蒙2,华为智慧屏s55和v55对比参数_华为智慧屏s55和v55哪个好...
- C++深入浅出(八)—— 继承
- 基于java的多商家美食点评网
- 查看网络交换机光口的光功率
- windows7所有版本