无人机避障——Mid360+Fast-lio感知建图+Ego-planner运动规划(胎教级教程)

无人机避障——Mid360+Fast-lio感知建图+Ego-planner运动规划(胎教级教程)

电脑配置:Xavier-nx、ubuntu 18.04、ros melodic

激光雷达:Livox_Mid-360

结果展示:左边Mid360+Fast-lio感知建图,右边Ego-planner运动规划

1、读取雷达数据并显示

无人机避障——感知篇(采用Livox-Mid360激光雷达获取点云数据显示)-ZEEKLOG博客

看看雷达数据话题imu以及lidar两个话题 

2、读取雷达数据并复现fast-lio 

无人机避障——感知篇(采用Mid360复现Fast-lio)-ZEEKLOG博客

启动fast-lio,确保话题有输出 

 由于此处不需要建图,因此不打开rviz,launch文件如下修改:

<launch> <!-- Launch file for Livox MID360 LiDAR --> <arg name="rviz" default="true" /> <rosparam command="load" file="$(find fast_lio)/config/mid360.yaml" /> <param name="feature_extract_enable" type="bool" value="0"/> <!-- 100HZ的bag point_filter_num建议设置为1; 10HZ的bag建议设置为2或3 --> <param name="point_filter_num" type="int" value="3"/> <param name="max_iteration" type="int" value="3" /> <param name="filter_size_surf" type="double" value="0.5" /> <param name="filter_size_map" type="double" value="0.5" /> <param name="cube_side_length" type="double" value="1000" /> <param name="runtime_pos_log_enable" type="bool" value="0" /> <node pkg="fast_lio" type="fastlio_mapping" name="laserMapping" output="screen" /> <!-- <group if="$(arg rviz)"> <node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find fast_lio)/rviz_cfg/loam_livox.rviz" /> </group> --> </launch> 

然后运行:

roslaunch fast_lio mapping_mid360.launch

看一下话题:

rostopic list

 看下/Odometry与/cloud_registe

Read more

AI辅助编程的边界探索:当Copilot学会写测试

AI辅助编程的边界探索:当Copilot学会写测试

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕人工智能这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * AI辅助编程的边界探索:当Copilot学会写测试 🚀 * 1. 从“写代码”到“验代码”:AI的新战场 ⚔️ * 场景设定:一个简单的支付网关模拟器 💳 * 2. 初级实验:AI能写出“Happy Path”吗? ✅ * 3. 进阶实验:Mocking 与 外部依赖 🎭 * 4. 陷阱与幻觉:AI写测试时犯的那些错 🤪 * 案例 A:永远不会错的测试 * 案例 B:永远跑不通的断言 * 案例 C:复杂集成测试的无力 * 5. 人机协作:重新定义测试工作流 🤝 * 实践技巧:如何高效地让AI写测试?

Lostlife2.0下载官网整合LLama-Factory引擎,增强NPC对话逻辑

Lostlife2.0整合LLama-Factory引擎,重塑NPC对话逻辑 在文字冒险游戏的世界里,玩家最怕什么?不是任务太难,也不是剧情平淡——而是和一个“话术机械、反应呆板”的NPC对话时,那种瞬间出戏的割裂感。明明世界观设定是末世废土,结果NPC张口就是“绝绝子”“破防了”,这种语言风格的崩塌足以让沉浸感荡然无存。 《Lostlife2.0》作为一款以深度叙事和角色互动为核心卖点的文字冒险游戏,在开发过程中就直面了这一难题。早期版本中,NPC的对话依赖传统的决策树系统:每句台词都由编剧手动编写,每个分支都需要精确配置。这不仅导致内容维护成本极高,更带来了“选项爆炸”问题——新增一条剧情线,往往要额外添加数十个节点,最终形成一张难以管理的复杂网络。 真正的转机出现在团队引入 LLama-Factory 之后。这个开源的大模型微调框架,原本主要用于科研与企业级AI定制,但《Lostlife2.0》团队敏锐地意识到:它或许能成为解决NPC智能瓶颈的关键工具。通过将LLama-Factory深度集成到开发流程中,他们成功构建了一套动态、可进化、风格一致的对话生成系统,彻底改变了传

GPU PRO 4 - 5.1 An Aspect-Based Engine Architecture 笔记

本笔记仅为个人的理解,如果有误欢迎指出 An Aspect-Based Engine Architecture 一种基于方面的引擎架构         不是很明白为什么GPU的书籍会有游戏引擎架构的文章。         这里Aspect在文章中的意义更像是表述一个功能模块,在Java中有将Aspect翻译成切面,但是Java切面主要是横向的代码注入,与本文的概念不相符。 大多数系统架构都会考虑将各个功能封装成模块或者组件,在面向对象编程的思想下,这个封装是基于对象去实现的,本文则描述了一种在引擎层面的封装功能的架构思想,封装后的产物被称为Aspect,每一个Aspect负责提供一些功能子集,并通过一个通用的接口与引擎核心通信。 引擎核心:         引擎核心的功能是保存游戏或者仿真时的数据结构以及相关状态,功能Aspect将会与这些数据进行交互。一般来说引擎核心会定义一些接口,外部的Aspect则通过接口访问当前的游戏数据                  用MVC架构的角度去理解的话引擎核心相当于M层,而各个Aspect则相当于C层。

机器人多传感器融合定位实战:从理论到完整实现

机器人多传感器融合定位实战:从理论到完整实现 【免费下载链接】robot_localizationrobot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc. Please ask questions on answers.ros.org. 项目地址: https://gitcode.com/gh_mirrors/ro/robot_localization 在机器人自主导航领域,定位精度直接决定了系统的可靠性和实用性。传统单一传感器方案往往面临GPS漂移、IMU累积误差、里程计打滑等固有缺陷,而robot_localization通过多传感器数据融合技术,为机器人提供了稳定可靠的厘米级定位能力。 定位系统面临的核心挑战 机器人定位主要面临三大技术难题: 传感器数据不一致性: