ROS小车+Velodyne16线+legoloam仿真

2023-10-31

系统使用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文件中将注释的环境部分替换为

<include file="$(find aws_robomaker_small_house_world)/launch/view_small_house.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时可能会有报错,有可能是我们的动态库没有链接,这时候需要找相关资料解决一下。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS小车+Velodyne16线+legoloam仿真 的相关文章

随机推荐

  • java php python外包赚钱_现阶段学习php开发,python,和java哪个行业前景更好点。?...

    moduleinfo card count count phone 1 count 1 search count count phone 7 count 7 card des 阿里云实时计算 Alibaba Cloud Realtime C
  • Unity-UI-Text组件

    Unity UI Text组件 1 基础知识 属性名称 解释说明 Text 文本框 里面用来写想要展示的文本 Font Style 字体样式 可选择粗体 斜体 粗体加斜体 Font Size 字体大小 可以调节字体的大小 Line Spac
  • Qt - C++ - QWidget和QFrame的详细区别

    QWidget和QFrame是Qt框架中的两个重要类 用于创建用户界面 它们之间的详细区别如下 功能和用途 QWidget是Qt中的一个基本窗口小部件 它可以用于创建自定义的图形用户界面 GUI 它是一个顶层的容器小部件 可以包含其他小部件
  • Python使用RMF聚类分析客户价值

    投资机构或电商企业等积累的客户交易数据繁杂 需要根据用户的以往消费记录分析出不同用户群体的特征与价值 再针对不同群体提供不同的营销策略 用户分析指标 根据美国数据库营销研究所Arthur Hughes的研究 客户数据库中有三个神奇的要素 这
  • UCF101动作识别数据集简介绍及数据预处理

    文章目录 一 数据集简介 二 数据集获取及解压缩 1 数据下载 2 数据集解压缩 三 数据集划分 四 数据集预处理 1 生成pkl文件 2 直接对视频文件处理 一 数据集简介 UCF101是一个现实动作视频的动作识别数据集 收集自YouTu
  • Android注册页面

    布局文件activity main xml
  • 枚举类中通过code值获取对应的desc值

    Getter NoArgsConstructor public enum TaskRecordTypeEnum STOPTASK 0 禁用任务 STARTTASK 1 启用任务 private int code private String
  • 在SpringBoot中使用AOP获取HttpServletRequest、HttpSession 内容

    POM xml添加AOP依赖
  • python:超大整数的运算

    为什么80 的码农都做不了架构师 gt gt gt a pow 10 100 b pow 10 100 print a print a 3 print a b 3 结果 10000000000000000000000000000000000
  • Python关于列表list

    Python的列表数据类型包含更多的方法 这里是所有的列表对象方法 list append x 把一个元素添加到列表的结尾 相当于a len a x list extend L 将一个给定列表中的所有元素都添加到另一个列表中 相当于a le
  • MQTT vs webSocket协议

    边缘服务器采用了容器和微服务架构 其中重要的一个方面就是要选择一个高效率的消息系统 用于微服务之间的消息交换 为什么选择websocket 协议 modular 2 edge 设计了自己的消息系统base service 它采纳了webso
  • aps是什么意思_APS系统是什么意思?起什么作用

    原标题 APS系统是什么意思 起什么作用 APS系统是什么意思 起什么作用 随着企业规模不断扩大 在经营管理方面会面临各种各样的问题 为了帮助解决此类问题 很多公司都会引入APS高级排程系统帮助进行生产管理的优化 那APS系统是什么意思 起
  • JMeter压测常见面试问题

    1 JMeter可以模拟哪些类型的负载 JMeter可以模拟各种类型的负载 包括但不限于Web应用程序 API 数据库 FTP SMTP JMS SOAP RESTful Web服务等 这使得JMeter成为一个功能强大且灵活的压力测试工具
  • Linux网络设备之注销

    在注销网络设备时 会调用pci driver gt remove函数 以e100网卡驱动为例 实际调用e100 remove 该函数调用函数unregister netdev进行设备注销操作 函数调用关系图如下 注销分为两步 1 回滚注册操
  • 仿阿姨帮

    实例简介 仿阿姨帮 58到家上门O2O系统源码 BAOCMS二次开发 七牛云 是一款PHP MYSQL开发制作的在线上门O2O系统 PC WAP 微信端等功能 在BAOCMS基础上二次开发的东西内核是BAOCMS 最新版内核 修复了所有的功
  • 标准25码 Barcode 25

    Code25 码 标准 25 码 Interleaved 2 of 5 Code25 计算 2of5i xsl
  • windows10安装Trading View出错解决办法

    一 直接从https cn tradingview com desktop 下载安装 出现报错 解析应用包时出错 二 解决办法 1 找下载的安装文件 TradingView appinstaller 2 用记事本打开 找到 https tv
  • mybaties踩坑之错误的@ID 注解引用, 导致org.apache.ibatis.type.TypeException

    在定义完实体类以后 使用mybaties的主键查询实体类 一查就报错 说无法将字符串格式转换为时间类型 仔细检查了一遍 类型并没有问题 于是尝试将Timestamp的字段去掉再看 仍然报无法将字符串格式转换为Integer类型 基本可以确定
  • 视频质量诊断和图像质量诊断 视频质量分析算法

    目前我们常说的视频质量诊断应用 主要分两种 一种是将视频质量诊断系统设在监控中心 通过中心矩阵或流媒体服务器来获取前端所有摄像机的视频信号 通过轮巡方式对各路视频进行检测 这种方式受限于网络带宽和服务器自身性能 上传画面质量无法保障 非真正
  • ROS小车+Velodyne16线+legoloam仿真

    系统使用Ubuntu18 04 ros1 一 建立catkin工作空间 mkdir p catkin ws src cd catkin ws src catkin init workspace 上述三步建立了catkin工作空间并将其初始化