Skip to content

feat(market_sim): run the Husky A300 through the supermarket on lidar localization - #1133

Draft
griswaldbrooks wants to merge 1 commit into
fm/market-sim-configfrom
fm/market-sim-a300
Draft

griswaldbrooks wants to merge 1 commit into
fm/market-sim-configfrom
fm/market-sim-a300

Conversation

@griswaldbrooks

Copy link
Copy Markdown

[written by AI]

Stacked on #1046.

Motivation

Show a Husky A300 localizing and navigating a supermarket on lidar alone, undocking from and returning to a dock, in the market_sim world.

Brief description

Swaps the mobile manipulator for the lunar_sim A300 and resizes the store to 2 m gondolas and 4 m aisles. AMCL localizes the robot against a 2 cm map built at the two lidar heights, and Fuse combines wheel odometry with the simulated IMU. The Demo D4 B2 South and Return Objective undocks from a simulated dock at D4, relocalizes in place, drives the B2 aisle and returns.

  • Front and rear lidars; horizontal samples aligned with render pixels; self returns filtered.
  • AMCL: omni motion model, synchronized front/rear scans.
  • Navigation: Smac State Lattice planner, Rotation Shim turning toward a new path once per plan, MPPI. Waypoint pruning runs every tree tick instead of inside the 0.33 Hz planner throttle, so a fast pass no longer skips a waypoint and triggers a backtracking replan.
  • Textured floor, walls, lights and two stocking carts; the carts are left out of both maps and appear only as live obstacles.
  • SLAM survey launch option with optional ground-truth navigation.

How it was tested

  • market_sim build and 49 package tests pass; pre-commit passes.
  • Five consecutive dock-to-dock missions succeeded in one continuous run with NavFn, before the planner change; AMCL error against simulator ground truth stayed under 1.1 cm along the B2 aisle, p95 2.6-4.3 cm over the route.
  • Planner comparison on the same costmaps (NavFn, Smac 2D, Theta*, Smac State Lattice): at the southwest corner the selected configuration turns 106 degrees with no direction reversals, against 463 degrees and four reversals for NavFn. Peak route error 5.5-8.7 cm on the selected runs, during turns.

🤖 Generated with Claude Code

… localization

Replace the mobile manipulator with the A300 from lunar_sim and drive it
through the store with Nav2 and AMCL against a lidar-height map.

- Store resized to 2 m gondolas and 4 m aisles, with textured floor,
  walls, lights and two stocking carts left out of both maps
- Front and rear lidars, horizontal samples aligned with render pixels,
  self returns filtered; Nyx color cameras
- Fuse wheel odometry with the simulated IMU
- AMCL on a 2 cm lidar-height map with the omni motion model and
  synchronized front/rear scans
- Simulated D4 dock with undock, in-place relocalization and return
- Waypoint pruning on every tree tick instead of inside the planner
  throttle, so fast passes no longer skip waypoints
- Smac State Lattice planner; the Rotation Shim turns toward a new path
  once per plan
- SLAM mapping survey with an optional ground-truth navigation mode
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

⚠️ This PR modifies 3 file(s) that also exist in PickNikRobotics/moveit_pro_empty_ws.

Consider whether the change should land upstream in moveit_pro_empty_ws first so downstream forks pick it up on the next sync.

Overlapping files
  • .gitignore
  • Dockerfile
  • docker-compose.yaml

@github-actions

Copy link
Copy Markdown

MoveIt Pro Example WS - Objectives Integration Test Report

  • lab_sim
    • ❌ jazzy: no report produced — see run logs
  • hangar_sim
    • ❌ jazzy: no report produced — see run logs

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant