宇树机器人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

前端状态管理方案选型指南:从 Redux 到 Zustand 再到 Pinia

深度对比主流状态管理方案,帮你找到最适合项目的那把"钥匙" 📋 前言 在前端开发中,状态管理一直是绕不开的核心话题。从早期的全局变量,到 Redux 的单向数据流,再到如今 Zustand、Pinia 等轻量级方案的崛起,状态管理工具经历了多次迭代。 但问题来了:2026 年了,到底该选哪个? 本文将从 学习成本、性能表现、生态支持、适用场景 四个维度,深度剖析当前主流状态管理方案,帮你做出最适合的选择。 🎯 一、主流状态管理方案概览 方案框架体积学习曲线适用场景Redux ToolkitReact11KB+⭐⭐⭐大型复杂应用ZustandReact1.1KB⭐⭐中小型应用、快速开发Jotai / RecoilReact3-7KB⭐⭐⭐原子化状态管理PiniaVue1.5KB⭐⭐Vue3 官方推荐VuexVue2KB⭐⭐⭐Vue2 历史项目MobXReact/Vue16KB+⭐⭐响应式编程爱好者 🔴 二、Redux Toolkit:企业级应用的首选

从 0 到 1 玩转前端加密 encrypt-labs 靶场:环境搭建 + 全关卡解析

从 0 到 1 玩转前端加密 encrypt-labs 靶场:环境搭建 + 全关卡解析

文章目录 * 前言 * 1 环境搭建(Docker 混淆版) * 2 配置插件 * 2.1 Galaxy * 2.2 autoDecoder * 3 AES固定Key * 4 AES服务端获取Key * 5 Rsa加密 * Galaxy * autoDecoder * 6 AES+Rsa加密 * Galaxy * autoDecoder * 7 DES规律key * Galaxy * autoDecoder * 8 明文加签 * 9 加签key在服务器端 * 10 禁止重放 ⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。 前言 在 Web

【Js逆向 python】Web JS 逆向全体系详细解释

【Js逆向 python】Web JS 逆向全体系详细解释

Web JS 逆向全体系内容 互联网技术安全提示与职业操守 做渗透测试,必须严格遵守以下原则: 1. 合法授权:仅在书面授权的范围内使用逆向技术,禁止未授权测试; 2. 最小影响:避免使用高风险参数(如sqlmap工具的 --risk=3、--os-shell),防止目标服务崩溃; 3. 数据保护:枚举到的敏感数据(如用户密码)需严格保密,测试后立即删除; 4. 留痕清理:测试结束后,协助目标清除测试留下的日志、文件等痕迹。 免责声明 1. 本文所述所有渗透测试技术、工具、命令及实战案例,仅适用于已获得目标系统 / 网络所有者书面授权的测试场景(如企业内部安全评估、甲方委托的红队测试、个人合法拥有的实验环境)。 2. 任何组织或个人若未取得明确书面授权,擅自将本文内容用于对第三方系统 / 网络的扫描、探测、攻击等行为,均属于非法网络活动,涉嫌违反《中华人民共和国网络安全法》《中华人民共和国刑法》(第