Menu

hokuyo_navigation2

トップへ戻る

Using for Navigation System

Introducing hokuyo_navigation2, an autonomous navigation package leveraging the high-precision self-localization of the RSF sensor.
hokuyo_navigation2 is a suite of ROS 2-based navigation packages specifically designed for Hokuyo’s RSF sensor, supporting both indoor and outdoor environments. It integrates 3D-SLAM, self-localization, and the ROS 2 Navigation Stack (Nav2) to provide a high-precision, all-in-one autonomous mobility solution.
Furthermore, its intuitive web-based GUI allows users to easily manage the entire workflow—from mapping to navigation—directly from a web browser.
Note: Users are required to adjust and implement path planning and velocity command topics (cmd_vel) according to their specific drivetrain/mobile base.

expo nakanoshima

Overview

This package consists of three main components: data acquisition, 3D-SLAM, and navigation.
By leveraging the high-precision self-localization output from the RSF sensor, it can generate 3D point cloud maps, 2D occupancy grid maps, and 2D waypoints. Utilizing this data, the system enables stable autonomous navigation in both indoor and outdoor environments.

Getting Data

Use the browser-based GUI tool to record a rosbag.

3D-SLAM

A high-precision point cloud map is generated using graph-based SLAM, integrating LiDAR Inertial Odometry and RTK-GNSS.
(Point cloud map of "Hikari no Hiroba" at Expo 2025 Osaka, Kansai, Japan)

feature

Navigation

Autonomous navigation is performed using 2D waypoints, 3D point cloud maps, and 2D occupancy grid maps. Users can switch between two self-localization methods depending on their environment: mapless localization using RTK-GNSS and LIO, or map-based localization using 3D point cloud maps.
(Autonomous navigation at the Nakanoshima Challenge 2025, Osaka Central Public Hall)

nav

Core Packages for Autonomous Navigation

This package depends on the following ROS 2 packages:

Note: This package uses the icart_mini_driver_ros2 motor driver. If you wish to use a different motor driver, please edit the launch_motor_driver function within nav_common.sh, located in the Navigation Execution Scripts section.

**The following components must be installed as a prerequisite. Please refer to the instructions in hokuyo_navigation2 for a streamlined method to clone and build all of them at once. **

  • hokuyo_navigation2

    • This is the core autonomous navigation package based on Nav2. It contains execution scripts for starting autonomous navigation, as well as scripts for running hokuyo_slam and hokuyo_navigation_gui
  • hokuyo_navigation2_gui

    • A browser-based GUI implemented using Flask.
  • hokuyo_rsf

    • This is the ROS 2 package for the Hokuyo RSF sensor. It provides localization outputs (Odometry, fix) through the mutual conversion and integration of GNSS and LiDAR Inertial Odometry (LIO).
  • vizanti
    • A tool for visualizing ROS topics directly on a web browser.
    • It is used as the backend for the Map Viewer feature in hokuyo_navigation2_gui.
  • rosbridge_suite
    • It is a dependency for vizanti, a package that enables ROS topic communication over the web using WebSockets.
  • jsk_visualization
    • Custom RViz2 plugins for enhanced data visualization.
  • hokuyo_slam_ros2
    • Provides the p2o algorithm for 3D-SLAM operations.
    • Utilized to generate high-fidelity 3D point cloud maps.
  • simple_fastlio_localization
    • An LIO-based self-localization package.
    • Estimates the robot's current pose within a pre-generated 3D map.
  • fix2xyz_packages_ros2
    • Facilitates the transformation of GNSS messages sensor_msgs/NavSatFix into local Cartesian coordinates (XYZ).
    • Essential for performing autonomous navigation and mapping using GNSS data.
  • lio_nav2_bringup
    • A package providing launch files for the seamless integration and startup of LIO and Nav2.
  • waypoint_manager
    • A dispatcher node responsible for sending navigation waypoints to the Nav2 stack

Related

Wiki: top_jp

MongoDB Logo MongoDB