Design

Design criteria and desired functionality

Autonomous Navigation: Be capable of collision-free navigation and real-time obstacle detection

Exploration & Mapping: Be able to autonomously explore and incrementally map unknown environments

Safety: Maneuver safely around debris and obstacle, maintaining conservative velocity limits and safety margins in both path planning and execution

Hardware Integration: Needs to operate on the Unitree Go2 quadruped robot and be fully integrated within the ROS2 ecosystem

Description of Chosen Design

The system follows a standard perception–planning–actuation pipeline built on ROS2 and tailored to the Unitree Go2 hardware platform.

Sensing

Planning
The navigation and exploration pipeline consists of the following stages:

  1. Lidar to 2D Occupancy Grid: 3D Lidar data is projected into a 2D occupancy grid
  2. 2D Occupancy Grid to CostMap: The occupancy grid is inflated and converted into a costmap for navigation planning
  3. Costmap to frontiers: Frontiers are identified as boundaries between free space and unknown space
  4. Frontier Selection: A suitable frontier is selected as the next exploration goal.
  5. Navigation to chosen frontier: The robot navigates autonomously to the selected frontier using Nav2.

Actuation

Design Choices and Trade-offs

Lidar to 2D occupancy grid
To generate a 2D occupancy grid from 3D LiDAR data, points within a vertical column were selected and aggregated. The occupancy state of each grid cell was determined using a log-odds update formulation applied across all points in that column.

Frontier identification and selection
A frontier is defined as a point on the border of the known region and unknown region. These would be areas that the lidar hasn’t seen before, such as areas behind obstacles. It also includes the space directly behind or even inside an obstacle, since only the front edge of the obstacle is observed.