livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形

livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形

  • livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形
    • livox 介绍
    • 更换仿真中mid360雷达外形

livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形

livox 介绍

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

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

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

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

前面博客实现了livox雷达在gazebo的仿真,并更换了测试场景,和雷达型号,但型号换成mid360后,仿真中雷达的外形依然是mid70,虽然形成的数据是mid360的雷达数据,对算法调试仿真没有影响,对于强迫症的人还是想把外观换成真正的。

本篇博客在gazebo 中,对livox mid360的外观进行了更换。

更换仿真中mid360雷达外形

首先从官网下载mid-360的stp文件
在这里插入图片描述

这个网站也可以直接转成dae文件 https://imagetostl.com/cn/convert/file/stp/to/dae

在这里插入图片描述
将转换后的dae文件,拷入 livox_laser_simulation/meshes文件夹下。

编辑 urdf/livox_mid360.xacro 这个文件中的 visual标标签 加载 mid-360的dae文件

      <visual> <origin xyz="0.00 0 0.0" rpy="0 0 0"/><geometry><mesh filename="package://livox_laser_simulation/meshes/mid-360-asm.dae"></mesh></geometry></visual>

在运行 启动文件

roslaunch livox_laser_simulation livox_simulation.launch

gazebo中界面如下
在这里插入图片描述
虽然可以加载,但是尺寸和角度和仿真环境不匹配。

需要用到 Blender 软件
通过Blender软件将官网的stp文件进行缩放,再导出为dae文件

Blender的 官网是 https://www.blender.org/

有linux版本的
在这里插入图片描述
点击即可下载压缩包
在这里插入图片描述
解压后运行
blender 执行文件就行
在这里插入图片描述
怎会出现初始页面
在这里插入图片描述
将中间的立方体删掉。导入我们要编辑的mid360文件
blender还不支持直接导入stp文件,可以用其它的文件转下格式,网上有很多方法。也直接将stp文件转成了dae文件,下面直接用blender加载这个文件
在这里插入图片描述
画面中出现了这个模型

然后进行比例缩放

点击右测工具栏的物体属性标签
在这里插入图片描述
缩放XYZ均改成0.001

这是模型就非常小了
在这里插入图片描述
导出dae格式文件
在这里插入图片描述
重复上面修改xacro文件的操作,使其显示我们修改该的dae模型

启动仿真环境

roslaunch livox_laser_simulation livox_simulation.launch

然后就出来了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双11后观察:中国电商产业带的数字新叙事

在电商平台走过的第十五个双11后&#xff0c;产业带的数字化蓝图也更加完整。但在电商平台与产业带相互补足的背景下&#xff0c;一个更值得思考的问题是&#xff0c;随着电商平台的低价竞争愈演愈烈&#xff0c;产业带上的供应链能力能否跟上&#xff1f; 作者|思杭 编辑|皮…

MEXC将上线UPCX(UPC)并开启Launchpad活动

据官方公告&#xff0c;MEXC将上线UPCX项目的原生代币UPC。上币时间为2023-11-29 20:00 (UTC8)&#xff0c;开通UPC/USDT 交易对。 代币名称&#xff1a;UPCX (UPC) 总供应量&#xff1a;780,000,000 UPC 分配给 MEXC Launchpad 的代币&#xff1a;100,000 UPC 代币销售形式&a…

【GCC】2:chatgpt:SendSideBandwidthEstimation

webrtc中SendSideBandwidthEstimation类的设计 The SendSideBandwidthEstimation class in WebRTC is a critical component in its video engine. It’s responsible for deciding the video traffic rate that can be sent without overloading the network and thus maintai…

分享5款经过时间验证的精品软件

​ 今天来给大家推荐5款良心软件,每款都是经过时间检验的精品,用起来让你的工作效率提升飞快&#xff0c;各个都让你觉得相见恨晚&#xff01; 1.文件夹隐藏工具——文件夹隐藏精灵 ​ 文件夹隐藏精灵是一款可以隐藏你的文件夹和文件的工具&#xff0c;它可以让你的隐私和重要…

NetApp ONTAP 数据安全解决方案,增强数据保护和安全性,同时提高数据治理与合规性

NetApp ONTAP 可帮助您创建智能、强大且值得信赖的存储基础架构&#xff0c;这种架构有助于降低成本、加快关键工作负载的运行速度、保护和保障混合云中的数据安全。 一、为什么选择 NetApp ONTAP 数据安全解决方案&#xff1f; 全面保护企业最宝贵的资产 众所周知&#xff…

Android:Google三方库之Adjust集成详细步骤

通过 Adjust 安卓 SDK&#xff0c;您可以在自己的安卓应用中跟踪归因、事件及更多数据。请按照本指南中说明的步骤操作&#xff0c;在应用内设置 Adjust SDK 1、添加依赖 //adjustimplementation("com.adjust.sdk:adjust-android:4.33.5")implementation("com.…

Aop面向切面实现开发日志收集打印一文轻松搞定,内附详细图文示例+源码自取

目录 介绍 动态代理 jdk动态代理 cglib动态代理 注解实现Aop 添加必须依赖 添加Atm类 (主业务逻辑代码块) 定义打印log方法(提取公共代码逻辑块) 启用代理 切点表达式 Aop通知类型 前置通知(Before) 后置通知(After) 正常结束通知(AfterReturning) 异常结束通知…

树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点

前言 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Nginx 的内存占用率非常低&#xff0c;可以在树莓派等资源受限的设备上运行。同时结合c…

XTU OJ 1146 矩阵乘法学习笔记

原题 题目描述 给你两个矩阵A(n*k),B(k*m),请求A*B。 输入 第一行是一个整数K&#xff0c;表示样例的个数。 每个样例包含两个矩阵A和B。 每个矩阵的第一行是两个整数n,m,(1≤n,m≤10)表示矩阵的行和列 以后的n行&#xff0c;每行m个整数&#xff0c;每个整数的绝对值不超过…

如何让大模型更好地完成知识图谱推理?

​ 论文标题&#xff1a; Making Large Language Models Perform Better in Knowledge Graph Completion 论文链接&#xff1a; https://arxiv.org/abs/2310.06671 代码链接&#xff1a;GitHub - zjukg/KoPA: [Paper][Preprint 2023] Making Large Language Models Perform Be…

node-red - 节点实战总结1

node-red - 节点实战总结1 二、功能2.1 循环(for\while) 三、网络四、序列五、解析六、存储七、协议7.1 modbus协议7.2 opcua 八、formats8.1 时间格式化与时区转换 二、功能 2.1 循环(for\while) 安装节点node-red-contrib-loop-processing,该节点支持三种方式的循环&#xf…

【SpringBoot】 This application has no explicit mapping for 解决方法

This application has no explicit mapping for 解决方法 This application has no explicit mapping for 解决方法一、背景二、原因三、解决方案方式一&#xff1a;方式二&#xff1a; 四、解决 This application has no explicit mapping for 解决方法 一、背景 在SpringBo…

奥特曼不是第一次被开除!离职YC系“被创始人要求离开”

明敏 西风 发自 凹非寺 量子位 | 公众号 QbitAI 钮祜禄奥特曼&#xff0c;竟然不是第一次被“扫地出门”&#xff1f;&#xff1f;&#xff01; 没想到&#xff0c;OpenAI闹剧刚稍微消停了一点&#xff0c;“前传”马上来了。 《华盛顿邮报》从知情人士处获悉&#xff0c;奥…

java编程:使用递归 循环和位运算实现将10进制转为2进制

1 递归 /*** 递归&#xff1a;十进制转二进制* param decimal 待转换的十进制数* param binary 转换后的二进制数*/public static void decimalToBinaryByRecursion(int decimal,StringBuilder binary){if(decimal < 0){return;}decimalToBinaryByRecursion(decimal/2,bina…

3D卷积的理解

卷积核不仅需要在高宽这两个维度上进行滑动&#xff0c;还需要在时间维度上进行滑动

前端设计问题:iframe

居中问题&#xff1a; 尝试了一般的居中方法&#xff0c;无效果 display: flex;justify-content: center;align-items: center;放到导航栏下面不居中 放到页面底部还是不居中 Code <iframe id"demo_sanshui" src"demo_sanshui.html" width"120%…

【现场问题】现场的zk出现问题,ES也出现问题,一个一个排查出来,服务器重启了

湖南现场 zk出现问题ES出现问题了罪魁祸首&#xff0c;服务器重启 zk出现问题 发现集群出现问题了&#xff0c;想都没想就直接去重启了&#xff0c;把三台服务器都重启 ES出现问题了 三台机器只有一台机器是有ES的&#xff0c;但是看了配置文件&#xff0c;发现这个ES是三台…

centos7 openssh版本升级至 openssh-9.5p1

公司项目验收提示ssh版本存在漏洞&#xff0c;要求升级至最高版本&#xff0c;这里做个记录 默认版本 [rootlocalhost ~]# sshd -v unknown option -- v OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017yum groupinstall -y "Development Tools" yum install -y …

[HCIE] IPSec-VPN (IKE自动模式)

概念&#xff1a; IKE&#xff1a;因特网密钥交换 实验目标&#xff1a;pc1与pc2互通 步骤1&#xff1a;R1与R3配置默认路由 R1&#xff1a; ip route-static 0.0.0.0 0.0.0.0 12.1.1.2 R2&#xff1a; ip route-static 0.0.0.0 0.0.0.0 23.1.1.2 步骤2&#xff1a;配ACL…

Postgresql在ubuntu 22.04上遭遇OOM的处理方法

OOM机制就是kill那些占用内存多且优先级低的进程以此来保证操作系统内核的正常运转&#xff0c;一旦我们关闭OOM可能会导致操作系统内核奔溃。 https://manpages.ubuntu.com/manpages/jammy/en/man1/choom.1.html Linux kernel uses the badness heuristic to select which pro…