livox 半固体激光雷达 gazebo 仿真 | 安装与验证

2023-11-28 00:45

本文主要是介绍livox 半固体激光雷达 gazebo 仿真 | 安装与验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

livox 半固体激光雷达 gazebo 仿真 | 安装与验证

  • livox 半固体激光雷达 gazebo 仿真 | 安装与验证
    • livox 介绍
    • 安装
    • 验证

livox 半固体激光雷达 gazebo 仿真 | 安装与验证

livox 介绍

览沃科技有限公司(Livox)成立于2016年。为了革新激光雷达行业,Livox致力于提供高性能、低成本的激光雷达传感器。通过降低使用门槛和生产成本,Livox将激光雷达技术集成到更多产品和应用之中,从而为自动驾驶、智慧城市、测绘、移动机器人等行业带来创新性改变。Livox产品已销往包括美国、加拿大、中国、日本和欧盟在内的 26 个国家和地区。

面向智能移动机器人市场,Livox 推出最新一代 3D 激光雷达 Mid-360,开启混合固态激光雷达 360° 立体感知新篇章。凭借小巧体积,Mid-360 的安装布置更加灵活。同时,Mid-360 充分考虑了移动机器人对导航、避障等升维感知的需求,兼容室内外场景,赋能移动机器人进入空间智能感知新时代。 但是这款产品官网一直购买不到, 本篇博客 在 gazebo 中 可实现对该激光雷达的仿真 。

传统激光雷达普遍采用机械扫描方式,扫描路径随时间重复。而Livox 激光雷达采用了独特的扫描⽅式,扫描路径不会重复。在非重复扫描方式中,视场中被激光照射到的区域面积会随时间增大,这意味着视场覆盖率随时间推移而显著提高,可减小视场内物体被漏检的概率,有助于探测视场中的更多细节。

下图中给出了一个直观的例子。(a)图由于采用了非重复扫描方式,随着时间的积累,视场覆盖率逐渐升高。而(b)图,由于扫描每次都是重复的,视场覆盖率几乎没有提升。
在这里插入图片描述
在gazebo的默认的lidar插件,属于传统激光雷达机械扫描方式,如法实现livox的非重复式扫描。 本篇博客在gazebo 中,对livox的几款雷达进行了仿真测试。

安装

github地址:https://github.com/Livox-SDK/livox_laser_simulation

下载代码

git clone https://github.com/Livox-SDK/livox_laser_simulation

正克隆到 ‘livox_laser_simulation’…
remote: Enumerating objects: 74, done.
remote: Counting objects: 100% (37/37), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 74 (delta 21), reused 14 (delta 14), pack-reused 37
展开对象中: 100% (74/74), 69.90 MiB | 1.14 MiB/s, 完成.

在这里插入图片描述
下载完毕后,拷入ros的工作空间

在ubutun20.04 的系统下gazebo是11版本,github上的是针对ubuntu18.04 gazebo9的,需要将CMakeLists.txt文件中的
第5行

add_compile_options(-std=c++11)
改为
add_compile_options(-std=c++17)

进行编译
出现报错

In file included from /home/jk-jone/jone_ws/src/livox_laser_simulation/src/livox_ode_multiray_shape.cpp:14:
/home/jk-jone/jone_ws/src/livox_laser_simulation/include/livox_laser_simulation/livox_ode_multiray_shape.h:10:10: fatal error: ignition/math4/ignition/math.hh: 没有那个文件或目录
10 | #include <ignition/math4/ignition/math.hh>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

在这里插入图片描述
报错的原因是 找不到 ignition/math4/ignition 路径下的 math.hh文件

这个要看是没装 ignition这个库 还是版本不对的原因

在计算机中搜索 ignition
在这里插入图片描述
搜到该文件夹说明是有装的,那可能版本不对,进入该文件夹
在这里插入图片描述
这里有的math6 而不是代码中的 math4 ,所以找不对,再进入math6文件夹下,看ignition文件夹下是否有math.hh文件是否有,一般都是有的

在这里插入图片描述
那解决那个问题,只需要把代码中的路径改对就行

到报错的代码文件 include/livox_laser_simulation/livox_ode_multiray_shape.h
第10行

#include <ignition/math4/ignition/math.hh>
改为:
#include <ignition/math6/ignition/math.hh>

到报错的代码文件 src/livox_ode_multiray_shape.cpp
第15行

#include <ignition/math4/ignition/math.hh>
改为:
#include <ignition/math6/ignition/math.hh>

再次编译
则正常完成
在这里插入图片描述

验证

该功能包默认有一个启动文件 launch/livox_simulation.launch
直接启动即可

roslaunch livox_laser_simulation livox_simulation.launch

gazebo中加载了一个工厂的环境
在这里插入图片描述
地上有个小的机器人,上面有个livox mid40的模型
在这里插入图片描述
rivz中有livox的点云
在这里插入图片描述
rostopic 中有个 scan的话题,就是点云的话题名称

这篇关于livox 半固体激光雷达 gazebo 仿真 | 安装与验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428771

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG