系统使用Ubuntu18.04 +ros1

一、建立catkin工作空间

$ mkdir -p ~/catkin_ws/src

$ cd ~/catkin_ws/src

$ catkin_init_workspace

上述三步建立了catkin工作空间并将其初始化

工作空间创建完毕后要对其进行编译

$ cd ~/catkin_ws

$ catkin_make

这里需要注意catkin_make要在工作空间下进行编译。至此已经将catkin工作空间创建完毕。

 

二、gazebo,rviz创建小车模型及环境模型

ROS基础课程

关于仿真小车的创建视频课程都有,但自己构建出来的车总是会有问题,在github上挑选合适的开源代码使用。

我使用的小车是:https://github.com/Xiangyu-Fu/slam_bot.git

首先进入catkin工作空间下的src目录下

$ cd ~/catkin_ws/src

要在src目录下将github代码克隆下来

~/catkin_ws/src$ git clone https://github.com/Xiangyu-Fu/slam_bot.git

将代码克隆后需要将整个工程编译一下

~/catkin_ws/src$ cd ..

~/catkin_ws$ catkin_make

切记这里一定要catkin_make编译整个工程。

编译好后就可以进入src目录下的slam_bot文件查看

 可以看到slam_bot的目录如下,启动前可以使用命令更新下环境

source ./devel/setup.bash

启动一个模型首先要寻找他的launch文件打开,新建一个终端,可以使用命令

roslaunch slam_bot slam.launch

打开模型:

 小车底盘模型搞定后可以用键盘试着控制小车移动一下,感受一下,在启动键盘控制前,新开一个终端使用roscore启动ros

然后开一个新终端输入命令

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

为了更好的测试之后的建图定位,我们可以换一个仿真环境,打开slam_launch文件下找到这一段代码

 这一段代码是仿真环境的代码 将他注释,然后从github再找一个包

https://github.com/aws-robotics/aws-robomaker-small-house-world.git

在这里要说明的是,github的包不一定都能顺利跑起来,如果遇到报错,可以尝试解决,不行就换个包。

和上述克隆小车包一样,将仿真环境包克隆到src目录下,然后一定要catkin_make重新编译

 打开launch文件,我们需要将环境和小车放在一起,所以要在slam_bot文件中包含环境的launch文件

在slam.launch文件中将注释的环境部分替换为

再次启动

 小车换了一个仿真环境,接下来就要将16线激光雷达Velodyne仿真到小车上。

三 Velodyne雷达的仿真

Velodyne雷达功能包在CSDN上有很多,如何导入工作空间和上述也差不多,参考博客为:

Velodyne gazebo仿真

将雷达配置到我们之前的仿真模型中,在slam_bot文件中的slam_bot.xcaro文件中加入代码:

 运行gazebo和rviz

 

 至此小车+仿真环境+雷达的仿真都已经完成。

四、LegoLoam建图

第一步仍然是从github中将Legoloam的包克隆到我们的工作空间下,并编译。

第二部运行之前的slam_launch文件

第三步运行legoloam代码 

roslaunch lego_loam run.launch

由于ubuntu问题 在运行legoloam时可能会有报错,有可能是我们的动态库没有链接,这时候需要找相关资料解决一下。

 地图构建效果还是不错的。

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: