文章目录
一、前言:
前段时间,博主参加智能车讯飞组别,由于直接使用自己搭建的赛道进行建图时存在场地的畸变等问题,可能无法适配真实赛道上的情况。所以尝试了使用仿真建图的模式,在Gazebo中使用turtlebot3进行仿真建图。
初次使用时,以为可以直接在Gazebo中进行模型搭建,但是发现直接搭建无法保存模型而且存在问题。网上搜寻资料后,发现了Blender建模软件,可以简单上手,搭建自己想要的环境。
此处参考了B站UP主的视频:在GAZEBO仿真中用Blender搭建属于你自己的模型。详细的方法可以参考视频进行查看,如果觉得该视频对你有用,请记得一键三连支持这种良心UP主。
本篇博文将基于该视频所演示的内容,记录一下我自己建模时需要用到的一些快捷键和常用方法等,以备后用。
一、Blender建模部分:
1.Blender简介
Blender是一款免费开源三维图形图像软件,提供从建模、动画、材质、渲染、到音频处理、视频剪辑等一系列动画短片制作解决方案。此处选择该软件进行建模,主要考虑到其体积小、入门简单、开源多平台的因素。
该软件可以同时在Windows、Linux、Mac os上进行下载,简单而方便。此处博主主要在Windows端进行安装,使用Ubuntu进行配置的同学可以自行尝试。
Blender官网地址:https://www.blender.org/
Blender中国社区:https://www.blendercn.org/
推荐大家如果无法进入Blender官网或者下载速度过慢,可以使用中国社区提供的清华开源软件站下载方式进行下载。
2.Blender安装
windows端直接下载软件安装包进行安装即可。
ubuntu端可以打开软件中心进行下载软件,也可以选择下载软件包进行下载。
3.Blender快捷键
由于博主也是刚入门建模赛道且Blender软件功能强大,但对于赛道建模我们只需要掌握比较简单的几个功能即可。其余功能大家可以自行学习。
快捷键 | 含义 | 快捷键 | 含义 |
---|---|---|---|
Shift+A | 创建菜单 | Shift+D | 复制物体 |
Z | 着色菜单 | X | 删除菜单 |
N | 变换菜单 | A | 全选物体 |
.(小键盘) | 居中物体 | 鼠标中键 | 旋转视角 |
相机视角变换模式需要使用快捷键Shift+'进入随后使用对应的快捷键进行控制视角。同时可以通过点击ESC退出相机变换模式。
快捷键 | 含义 | 快捷键 | 含义 |
---|---|---|---|
Q | 相机上升 | E | 相机下降 |
WASD | 前后左右 |
此外,可以通过点击小键盘的数字键,从不同的视角上查看当前模型。
4.Blender建模实战
(1)导入地图底版
此处,博主以十六届智能车讯飞组赛道为例,进行记录Blender建模的基础操作。如果你有一个比较精确的地图尺寸样本,可以直接导入软件作为底版进行仿真。下图为讯飞赛道。
点击快捷键Shift+A创建一个平面。
随后,点击快捷键N调出变换菜单。在尺寸一栏中,填写场地大小。
在右侧选择材料属性并点击新建按钮,新建材质属性。
如下图,点击表(曲)面一栏下基础色左边的按钮并选择纹理一栏下的 图像纹理 ,选择你的场地模型即可。
随后,点击快捷键Z并选取材质预览即可查看到场地的底版。
(2)建立赛道模型
根据底版的内容规划,可以快速的建立出模型。继续点击快捷键Shift+A建立立方体和圆柱并修改其大小,最终建立模型如下。
建模完成后,点击左上方文件选项卡下的导出选项中dae格式文件即可。
二、TurtleBot3+Gazebo仿真部分
1、TurtleBot3环境配置
此处,博主省略不写,可以参考如下博文:Ubuntu18.04 LTS安装ROS melodic和turtlebot3中相关配置即可。
2、Gazebo导入赛道模型
在Ubuntu中启动turtlebot3的仿真世界环境。此处选择启动空世界,启动Gazebo后应当只存在机器人模型而无其他环境。
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
在Gazeb中,使用快捷键Ctrl+M或者直接在左上角选择选项卡Edit下Moudle Edit进入模型编辑界面。随后在左侧菜单栏处选择Add按钮添模型。
在弹出的选项卡上点击Browse导入模型并点击Import导即可。
随后使用快捷键Ctrl+X退出编辑模式即可,在弹出选项卡中选择Save and Exit即可。
之后即可在Gazebo中直接调用保存过的模型进行仿真环境。
3、TurtleBot3仿真建图
此处需要在启动Gazebo仿真的前提下,启动建图或者导航节点。
# Gmapping建图
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
# 键盘控制节点
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
# 保存地图文件
rosrun map_server map_saver -f mymap
建图完成后,可以运行保存文件的目录下找到该地图文件。包含mymap.yaml和mymap.pgm文件,可以通过图像查看软件查看mymap.pgm文件。
4、TurtleBot3仿真导航
依旧需要在开启Gazebo的基础上,启动导航节点。
# 导航文件
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/mymap.yaml
随后在RVIZ中选取目标点即可。