当前位置: 首页 > news >正文

宇树机器人g1导航-针对HongTu官方文档的补充

## 介绍
> ***参考元启・鸿图HongTu,官方文档在环境配置上可能会有漏包等情况,以及一些地址修改的补充,和实际操作中遇到的问题,分享自己的日志,供大家参考***

  • hongtu官方补充

## 系统配置

### docker配置
- 通过docker安装20.04+noetic
```bash
docker build --process=plain -t ros-noetic-base -f dockerfile .

#给docker 权限
sudo usermod -aG docker $USER
newgrp docker
docker ps

#进入docker
#启动容器并直接进入
docker run -it --name ros_noetic_dev ros-noetic-base /bin/bash
#进入一个已经运行的容器
docker exec -it ros_noetic_dev /bin/bash
#如果容器已经停止,启动并附着到容器
docker start -ai ros_noetic_dev
```
- 如果发现docker里面没有安装ros,可以重新删除容器再装一次
```bash
docker rm -f ros_noetic_dev
docker build --no-cache --progress=plain -t ros-noetic-base -f dockerfile .
```

### ros noetic配置
- 由于容器里的gui连接不到宿主机的显示服务,发现ros的显示界面打不开,运行不了海龟例程
```bash
#宿主机先执行,允许docker访问x11
xhost +local:docker

#重新建立一个容器
docker run --it --rm --name ros_noetic_gui \
--gpus all \ #lsy:没有gpu的去掉
--network host \
-e DISPLAY=$DISPLAY \
-e QT_X11_NO_MITSHM=1 \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
ros-noetic-base /bin/bash
```

## 部署

### 克隆仓库
``` bash
git clone https://github.com/yuanqizhiti/HongTu.git
```

### 2D导航
- 安装 [Livox SDK2](https://github.com/Livox-SDK/Livox-SDK2)
```bash
sudo apt install cmake
```

```bash
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install
```

- 更改雷达ip及地图保存路径
``` bash
# 修改本机与雷达ip
cd HongTu/G1Nav2D/src/livox_ros_driver2-master/config/
gedit MID360_config.json

# 修改地图保存路径,将该文件下最底部路径改为自己的电脑
cd HongTu/G1Nav2D/src/fastlio2/src/
gedit map_builder_node.cpp
```

- 编译程序
``` bash
cd HongTu/G1Nav2D/

#lsy:加载环境
source /opt/ros/noetic/setup.bash
#lsy:永久配置
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

catkin_make

#lsy:依赖缺失补充
apt update && apt install -y \
ros-noetic-tf2-sensor-msgs \
ros-noetic-gtsam \
ros-noetic-pcl-ros \
ros-noetic-map-server \
ros-noetic-navigation \
ros-noetic-livox-ros-driver



#遇到报错可先执行以下命令
cd HongTu/G1Nav2D/src/livox_ros_driver2-master/
./build.sh ROS1
cd HongTu/G1Nav2D/
catkin_make
```

- 安装依赖包
``` bash
sudo apt install ros-noetic-teb-local-planner ros-noetic-global-planner ros-noetic-costmap-server
```
#lsy:没有ros-noetic-costmap-server
# 导航全家桶(含 costmap_2d、map_server、move_base 等)
sudo apt install -y ros-noetic-navigation ros-noetic-teb-local-planner

- 建图及保存
``` bash
# 建图
cd /lsy_ros/HongTu/G1Nav2D/
source devel/setup.bash
roslaunch fastlio mapping.launch

# 打开新终端
cd HongTu/G1Nav2D/
source devel/setup.bash
# 保存地图,自定义路径及地图名称
#rosrun map_server map_saver map:=/projected_map -f /home/nvidia/mymap

rosrun map_server map_saver map:=/projected_map -f /lsy_ros/mymap

```

- 编辑地图
``` bash
# 打开地图,利用Map Eraser Tool修改地图,ctrl+加号或减号可修改画笔大小,保存地图
source devel/setup.bash
roslaunch ros_map_edit map_edit.launch
```

- 开启导航
``` bash
#修改地图路径
cd HongTu/G1Nav2D/src/fastlio2/config/
gedit gridmap_load.launch

# 启动导航,启动导航后需自行按照雷达位置重定位
cd HongTu/G1Nav2D/
source devel/setup.bash
roslaunch fastlio navigation.launch
```

- 启动运控
安装unitree_sdk2_python参考[宇树官方文档](https://github.com/unitreerobotics/unitree_sdk2_python.git)
``` bash
# 打开新终端,网口可通过ifconfig命令查询自行更改
cd HongTu/unitree_sdk2_python/example/g1/high_level/
python3 g1_control.py 网口
```
在rviz中发布目标点即可自主导航

#lsy:修改地址,只要出现地址都改成自己相应目录下的
cd /lsy_ros/HongTu/G1Nav2D/src/tool/launch
nano downsample_pointcloud.launch

#lsy:修改地址,只要出现地址都改成自己相应目录下的
cd /lsy_ros/HongTu/G1Nav2D/src/fastlio2/launch
nano gridmap_load.launch
<arg name="2dmap_file" default="/lsy_ros/mymap.yaml" />
nano navigation.launch

#假如出现b2导入错误,删除b2引入
nano /usr/local/lib/python3.8/dist-packages/unitree_sdk2py/__init__.py 删除b2

root@lsy-computer:/lsy_ros/HongTu/unitree_sdk2_python/example/g1/high_level# python3 g1_control.py enx00e4c105a70
Traceback (most recent call last):
File "g1_control.py", line 8, in <module>
from unitree_sdk2py.g1.loco.g1_loco_client import LocoClient
ModuleNotFoundError: No module named 'unitree_sdk2py.g1'
#假如官方的python版本安装后没有g1的模块
解决办法,通过将hongtu里的g1直接复制到/usr/local/lib/python3.8/dist-packages/unitree_sdk2py
同时 nano /usr/local/lib/python3.8/dist-packages/unitree_sdk2py/__init__.py,添加g1模块

  • 2、lsy:g1导航-hongtu启动流程汇总

#启动带显示权限的
xhost +local:docker
docker start lsydocker
docker exec -it -e DISPLAY=$DISPLAY -e QT_X11_NO_MITSHM=1 lsydocker bash

xhost +local:docker && docker start lsydocker && docker exec -it -e DISPLAY=$DISPLAY lsydocker bash
只有这样子才会给rviz显示权限


#roscore
#进入宇树机器人运控
cd /lsy_ros/HongTu/unitree_sdk2_python/example/g1/high_level/
python3 g1_control.py enx00e04c105a70
网卡按自己的需求改


#启动建图
cd /lsy_ros/HongTu/G1Nav2D/
source devel/setup.bash
roslaunch fastlio mapping.launch

#进入走跑模式,走一圈

看 RVIZ 画面

中间彩色点云 = 雷达
灰色区域 = 地图
灰色地图完整覆盖你要走的区域 = 建图完成

#新开终端,保存建图
cd /lsy_ros/HongTu/G1Nav2D/
source devel/setup.bash
rosrun map_server map_saver map:=/projected_map -f /lsy_ros/mymap

#启动导航
cd /lsy_ros/HongTu/G1Nav2D/
source devel/setup.bash
roslaunch fastlio navigation.launch

#重定位
重定位
你只需要在 RVIZ 里点两个按钮:
1. 点左上角 2D Pose Estimate(绿色箭头)
2. 在地图上机器人大概位置点一下
3. 拖动方向箭头朝向机器人面对的方向
画面立刻匹配 → 重定位成功!

#开始导航!
1. 点 RVIZ 上方 2D Nav Goal
2. 在地图上点一个目标点
3. 拖方向
机器人自己走过去

http://www.jsqmd.com/news/741481/

相关文章:

  • 1931. 用三种不同颜色为网格涂色
  • MoE与Mamba-Transformer融合的轻量化AI模型实践
  • 从线性回归到ChatGPT:逆向工程学习法拆解大语言模型
  • Mac mini养虾潮凉了?有人转投“爱马仕“,有人直接退坑
  • ok-ww终极指南:基于图像识别的鸣潮自动化战斗完整解决方案
  • 2025届必备的AI辅助论文网站推荐
  • 【仅限前200位BMS开发者的硬核调试包】:含自研C语言BMS信号注入器源码、故障注入触发库、及37个真实车规级Bug模式库(ISO 26262 ASIL-C已验证)
  • 基于MCP协议的Expo状态管理:AI原生开发新范式
  • FigmaCN:解锁中文界面,让设计工作回归母语体验
  • Godot 3集成LuaJIT插件:原理、配置与高性能游戏脚本开发实践
  • “红帽系统管理二”知识点问答题:第10章 控制启动过程
  • 大语言模型鲁棒性评估:PARROT框架与权威压力测试
  • 2026ISO27001认证咨询推荐榜:业务连续性管理体系认证、人工智能管理体系认证、信息安全管理体系认证、信息技术服务管理体系认证选择指南 - 优质品牌商家
  • 终极音频管理方案:用Audio Router实现Windows程序级音频路由
  • Python 3.15 WASM部署全链路踩坑手册,含Pyodide 0.26+、Emscripten 3.1.61兼容矩阵与内存泄漏修复补丁(仅限首批内测开发者)
  • 别再死记硬背命令了!CST Studio 2D绘图保姆级避坑指南(附排针建模实例)
  • 2026年优质洗衣机械TOP5推荐:洗涤设备价格查询/洗涤设备公司/洗涤设备前十大名牌/洗涤设备品牌/洗涤设备哪家好/选择指南 - 优质品牌商家
  • Adafruit Metro RP2350开发板解析与嵌入式开发实践
  • AI应用开发工作空间:从架构设计到工程实践的全栈解决方案
  • 【边缘计算模型瘦身黄金公式】:FLOPs↓68% + 推理延时↓4.3× + 精度损失<0.8%,Python全流程开源工具链首次公开
  • openworld.js 的一些创意,以及 openWorld.zone 未来策划建议
  • 【深度解析】Codex 从代码助手到 AI Coding Workspace:浏览器验证、权限闭环与自动化审查实战
  • 告别轮询!用STM32CubeMX给STM32F072配置ADC+DMA,实现后台无感数据采集
  • Certificate Lifecycle Management:从理论到实践的完整指南
  • 手把手教你修复iText PDF的‘trailer not found’错误(附PDF模板保护指南)
  • 从太阳镜到光纤通信:深入浅出聊聊偏振技术如何影响我们的数字生活
  • ARMv8调试寄存器详解:断点与观察点控制
  • 2026宜宾别墅搬家技术指南:宜宾喜来乐搬家/宜宾店铺搬迁/宜宾异地搬家/宜宾搬迁厂房/宜宾机器搬迁/宜宾设备搬迁/选择指南 - 优质品牌商家
  • 歌词滚动姬终极指南:免费快速制作完美LRC歌词的完整流程
  • 告别原型!AI 工程化的 3 个生死线,90% 开发者都踩过的坑