宇树机器人g1二次开发:建图,定位,导航手把手教程(二)建图部分:开始一直到打开rviz教程

注意:

本教程为ros1,需要ubuntu20.04,使用算法为fase_lio

本教程为遵循的网上开源项目:https://github.com/deepglint/FAST_LIO_LOCALIZATION_HUMANOID.git

一、系统环境准备

1.1. 安装必要的依赖库

# 安装C++标准库 sudo apt install libc++-dev libc++abi-dev # 安装Eigen3线性代数库 sudo apt-get install libeigen3-dev

库说明:

  • libc++-dev:C++标准库开发文件
  • libeigen3-dev:线性代数库,用于矩阵运算和几何变换
  • 这些是编译FAST-LIO和Open3D必需的数学和系统库

二、创建工作空间和准备

2.1. 创建定位工作空间

mkdir -p ~/ws_loc/src cd ~/ws_loc/src

把https://github.com/deepglint/FAST_LIO_LOCALIZATION_HUMANOID.git这个项目移到这里

三、获取并配置Open3D库

3.1. 下载预编译Open3D库

3.2. 编辑CMakeLists.txt

# 编辑CMakeLists.txt配置Open3D路径 cd ~/ws_loc/src/FAST_LIO_LOCALIZATION_HUMANOID/open3d_loc nano CMakeLists.txt

3.3. 修改CMakeLists.txt中的Open3D路径

将:set(Open3D_DIR "/home/liar/open3d141/lib/cmake/Open3D")中的liar改成自己home名字修改为你的用户名(假设用户名为 your_username):

set(Open3D_DIR "/home/your_username/open3d141/lib/cmake/Open3D")

保存操作: 修改完后按 Ctrl+X,然后输入 Y,最后按 Enter

3.4. 完成Open3D的配置

cd ~/ws_loc catkin_make -DROS_EDITION=ROS1

 

四、安装Livox SDK和相关驱动

4.1. 安装Livox-SDK2

# 克隆Livox-SDK2 git clone https://github.com/Livox-SDK/Livox-SDK2
# 编译安装 cd Livox-SDK2 mkdir build && cd build cmake .. && make -j sudo make install

4.2. 安装Livox-SDK(旧版)

# 克隆Livox-SDK git clone https://github.com/Livox-SDK/Livox-SDK

# 重命名并处理嵌套文件夹 # 注意:文件有两层嵌套,需要删除第二层嵌套文件夹

# 编译安装 cd Livox-SDK mkdir build && cd build cmake .. && make -j sudo make install

注意: 如果遇到cmake版本兼容问题,尝试使用策略跳过

4.3. 安装livox_ros_driver

# 克隆驱动 git clone https://github.com/Livox-SDK/livox_ros_driver

# 重命名并处理嵌套文件夹

# 创建livox专用工作空间 mkdir -p ~/ws_livox/src cd ~/ws_livox/src
# 创建符号链接 ln -s ~/livox_ros_driver . # 编译 cd ~/ws_livox catkin_make

注意: 如果遇到cmake版本兼容问题,尝试使用策略跳过

五、解决编译问题和配置

5.1. 重新配置和编译定位系统

cd ~/ws_loc/build cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ../src -DROS_EDITION=ROS1 make -j

六、配置激光雷达

6.1. 配置激光雷达参数文件

cd ~/ws_loc/src/FAST_LIO_LOCALIZATION_HUMANOID/livox_ros_driver2/config nano MID360_config.json

配置文件,校正激光雷达在G1机器人上的安装姿态,确保点云数据坐标系正确

 

6.2. 修改IP地址配置

桥接机器人,检查本机IP地址:

hostname -I
  1. 将MID360_config.json配置文件中的IP地址:
"host_net_info": { "cmd_data_ip": "192.168.123.222", ... }

修改为你自己的IP地址,例如:

"host_net_info": { "cmd_data_ip": "192.168.123.111", ... }

七、环境配置和连接测试

7.1网线连接机器人配置
(也可以先跳过这一步进行下面的步骤,后面遇到问题再来修改)

在home中:

nano ~/.bashrc

在文件末尾添加:

# 有线连接配置 export ROS_MASTER_URI=http://localhost:11311 export ROS_HOSTNAME=localhost

注释掉其他ROS相关配置(如果有):

# export ROS_IP=192.168.111.128 # export ROS_IP=192.168.123.111 # export ROS_MASTER_URI=http://192.168.123.161:11311 # export ROS_IP=192.168.123.99

八、运行FAST-LIO系统

8.1. 测试激光雷达连接

# 测试激光雷达IP连通性 ping 192.168.123.120

8.2. 打开四个终端运行系统

终端1:启动ROS核心
roscore
终端2:启动建图系统
cd ~/ws_loc source devel/setup.bash roslaunch fast_lio mapping_mid360_g1.launch
终端3:启动雷达驱动
cd ~/ws_loc source devel/setup.bash roslaunch livox_ros_driver2 msg_MID360.launch
终端4:启动可视化界面
rviz

九、添加显示项

Read more

基于 DeepSeek V3.2 与 Go 语言构建智能日志分析系统实战深度解析

基于 DeepSeek V3.2 与 Go 语言构建智能日志分析系统实战深度解析

前言 在现代运维与软件开发体系中,日志数据是洞察系统健康状态的核心资产。面对海量且非结构化的日志信息,传统的基于规则(Rule-based)或关键词匹配的分析手段往往难以应对复杂的故障模式。随着大语言模型(LLM)能力的飞跃,利用生成式 AI 进行语义级日志分析已成为提升运维效率的关键路径。本文将深入剖析如何基于 Ubuntu 环境,利用 Go 语言的高并发与强类型特性,结合 DeepSeek V3.2 模型的推理能力,从零构建一个流式智能日志分析器。文章将涵盖环境部署、运行时配置、API 交互协议设计、流式数据处理及最终的实战验证。 第一章:Linux 基础环境初始化与依赖管理 构建稳健的应用始于可靠的底层环境。在 Ubuntu 20.04/22.04/24.04 LTS 系统中,保持软件包的最新状态是确保依赖兼容性与系统安全性的首要步骤。 1.1 系统源更新与升级 在执行任何安装操作前,必须同步包管理器的索引文件,

二、Kafka核心架构与分布式存储

二、Kafka核心架构与分布式存储

思维导图 一、Kafka定位与核心特性 Kafka不仅是传统的消息队列中间件,更被官方定义为新一代的分布式事件流平台。它在海量流式计算场景中占据绝对核心地位,具备以下底层物理特性: 高吞吐与高并发:摒弃缓慢的随机寻址,深度依赖操作系统的页缓存与磁盘的顺序追加写。单机即可支撑每秒百万级的高并发数据吞吐。 可靠性与持久化存储:流动的数据直接落盘持久化至日志文件。配合多副本冗余机制,确保物理节点宕机时核心业务数据绝对不丢失。 高可扩展性与解耦:支持零停机数据处理。支持在线动态扩容Broker节点,自动实现海量数据流的负载均衡。极大解耦了微服务系统,提升了全链路数据处理效率。 二、分布式存储基石:HDFS架构深度剖析 要理解现代中间件的数据分布逻辑,必须先解剖大数据存储基石HDFS的底层架构。 HDFS采用中心化控制模型,由主管元数据的NameNode与负责物理存储的DataNode构成。一个超大文件会被物理切分为默认128MB的数据块,分散存储在不同DataNode的磁盘上。 为保障极高的容错率,HDFS制定了基于机架感知的副本放置关键原则。 默认的三副

Flutter 组件 cool_linter 适配鸿蒙 HarmonyOS 实战:静态代码治理,构建极致规范的代码质量红线与防腐架构

Flutter 组件 cool_linter 适配鸿蒙 HarmonyOS 实战:静态代码治理,构建极致规范的代码质量红线与防腐架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 cool_linter 适配鸿蒙 HarmonyOS 实战:静态代码治理,构建极致规范的代码质量红线与防腐架构 前言 在鸿蒙(OpenHarmony)生态迈向大规模协作、涉及超大规模代码仓治理及高性能基座重构的背景下,如何确保每一行代码都符合严苛的性能准则与安全规范,已成为决定系统长期稳定性的“架构防火墙”。在鸿蒙设备这类强调 AOT 极致优化与内存足迹(Memory Footprint)管控的环境下,如果团队代码依然充斥着魔法数字(Magic Numbers)、过度嵌套的逻辑块或泛滥的 dynamic 调用,由于由于静态分析缺失,极易由于由于“隐性技术债”导致线上环境不可预知的性能崩塌或内存泄漏。 我们需要一种能够深度定制规则、支持循环复杂度分析且具备“强类型纠偏”能力的静态检测方案。 cool_linter 为 Flutter 开发者引入了超越原生 Linter 的严苛检测范式。它利用高级分析插件机制,