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

FPGA时钟约束完全攻略:create_clock与create_generated_clock从入门到精通(附实战案例)

FPGA时钟约束完全攻略:create_clock与create_generated_clock从入门到精通(附实战案例) 📚 目录导航 文章目录 * FPGA时钟约束完全攻略:create_clock与create_generated_clock从入门到精通(附实战案例) * 📚 目录导航 * 概述 * 一、时钟约束基础概念 * 1.1 为什么需要时钟约束 * 1.1.1 指导综合优化 * 1.1.2 指导布局布线 * 1.1.3 进行静态时序分析 * 1.1.4 定义时钟域关系 * 1.2 时钟约束的分类 * 1.2.1 主时钟(Primary Clock) * 1.2.2 衍生时钟(

FPGA实现I²C EEPROM读写驱动的三段式状态机设计

1. EEPROM读写驱动的FPGA实现原理与工程实践 在嵌入式系统中,I²C(Inter-Integrated Circuit)总线因其硬件资源占用少、布线简洁、支持多主多从结构等优势,被广泛应用于EEPROM、温度传感器、实时时钟等低速外设的通信控制。然而,在FPGA平台上实现可靠的I²C主机驱动,并非简单地将时序波形“画”出来即可。它涉及状态机建模、时序精度控制、信号电平切换、应答检测、错误恢复等多个关键工程环节。本节以紫光同创PGL22G FPGA平台为载体,结合AT24C64 EEPROM器件特性,深入剖析一个工业级三段式状态机I²C驱动模块的设计逻辑、参数推导与调试经验。所有分析均基于实际可综合、可仿真的RTL代码,不依赖任何软核或IP核,强调对底层数字电路行为的精确掌控。 1.1 I²C协议核心时序约束与FPGA实现挑战 I²C总线由两条开漏(Open-Drain)信号线构成:SCL(Serial Clock Line)和SDA(Serial Data

Neo4j:图数据库使用入门

Neo4j:图数据库使用入门

文章目录 * 一、Neo4j安装 * 1、windows安装 * (1)准备环境 * (2)下载 * (3)解压 * (4)运行 * (5)基本使用 * 2、docker安装 * 二、CQL语句 * 1、CQL简介 * 2、CREATE 命令,创建节点、关系、属性 * 3、MATCH 命令,查询 * 4、return语句 * 5、where子句 * 6、创建关系 * 7、delete删除节点和关系 * 8、remove删除标签和属性 * 9、set添加、更新属性 * 10、ORDER BY排序 * 11、UNION合并 * 12、

企业微信智能化办公机器人部署与大语言模型集成实操深度指南

企业微信智能化办公机器人部署与大语言模型集成实操深度指南

第一章 企业微信智能机器人生态架构与入口配置 在当前数字化协同办公的环境中,企业微信已不再仅仅是一个即时通讯工具,而是演变为企业内部流程自动化与智能化交互的核心终端。通过引入人工智能助手,企业能够实现从琐碎信息处理到复杂业务决策的支持。部署这一体系的第一步,在于正确配置企业微信端的机器人协议入口。 1.1 管理员视角下的系统级配置 对于拥有管理权限的人员,配置过程从全局管理后台开始。这涉及到对企业内部工具链的直接授权。 在企业微信管理后台的“管理工具”模块中,存在“智能机器人”这一核心功能入口。点击创建机器人后,系统会呈现多种对接方式。为了确保机器人具备实时双向通讯能力以及更强的指令执行权限,必须放弃基础的Webhook模式,转而选择“API模式创建”。这一选择决定了机器人将具备更深层次的API调用能力,能够参与到群组管理、文档读写等高级逻辑处理中。 在配置细节中,通过“长连接配置”是目前实现低延迟响应的最优路径。长连接技术能够保持服务器与企业微信网关之间的持续会话,避免了频繁握手带来的网络开销,确保了在复杂群聊环境中,AI助手能够秒级响应成员的指令。 1.2 企业成员视角