# ros-node-navigation **Repository Path**: chluck2008/ros-node-navigation ## Basic Information - **Project Name**: ros-node-navigation - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-20 - **Last Updated**: 2026-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ROS Node Navigation ## 1. 项目简介 本项目是一个基于 ROS 2 的多节点导航系统,面向机器狗/移动机器人在 GNSS、里程计、激光雷达和深度强化学习控制器共同参与下的自主导航任务。 系统主入口为 `main.py`,运行时会以多进程方式启动各功能节点: - `ekf_fusion_node.py`:融合 RTK/GNSS、RTK yaw 与里程计,输出 `map` 坐标系定位。 - `lidar_costmap_node.py`:处理激光雷达数据,生成局部障碍物观测和局部 costmap。 - `map_planner_node.py`:根据导航航点、定位和局部 costmap 维护地图并规划路径。 - `controller_node.py`:加载 SAC 控制模型,根据路径和障碍物观测发布速度控制指令。 - `front_video_recorder_node.py`:可选启动,保存宇树 Go2 前置摄像头 H.264 视频流。 ## 2. 依赖 主要 ROS2(仅在foxy做测试) 消息/功能包依赖: - `sensor_msgs` - `nav_msgs` - `geometry_msgs` - `visualization_msgs` - `map_msgs` - `builtin_interfaces` - `tf2_ros` 主要 Python 依赖: - `numpy` - `pyproj` - `PyYAML` - `torch` - `psutil` - `PyGObject` / `GStreamer`,仅前置视频录制节点需要 ## 3. 运行方法 进入项目根目录后运行: ```bash python3 main.py ``` 停止系统: ```text Ctrl+C ``` ## 4. RViz2 可视化 仓库中提供了一份 RViz2 配置:`rviz/ros_node_navigation.rviz`。该配置来自机器狗系统当前保存的 RViz2 默认布局,已预置本项目常用的地图、定位、路径和控制可视化 topic。 启动导航系统后,另开一个终端运行: ```bash source /opt/ros/foxy/setup.bash cd ~/ros-node-navigation rviz2 -d rviz/ros_node_navigation.rviz ``` 该配置使用 `map` 作为 Fixed Frame,主要显示: - `/navigation/inflated_map`:膨胀后的全局地图 - `/navigation/local_costmap`:机器人局部 costmap - `/navigation/map_pose`:EKF 融合后的机器人位姿 - `/navigation/nav_map_points`:导航航点 - `/navigation/planned_path_map`:map 坐标系下的规划路径 - `/navigation/controller_target`:当前控制目标点 - `/navigation/controller_guidance`:控制器输出的速度/转向指导 MarkerArray 如果 RViz2 中暂时没有显示内容,先确认 `python3 main.py` 正在运行,并且系统已经收到 RTK/里程计/雷达和导航航点数据。 ## 5. 作者与许可证 维护者:`ubermenzch` 本仓库中的源代码采用 MIT License 进行许可。详细内容请参考 LICENSE-CODE 文件。 The source code in this repository is released under the MIT License. See the LICENSE file for details. GitHub 仓库: ```text https://github.com/ubermenzch/ros-node-navigation ```