Skip to content

Conversation

@jerinpeter
Copy link
Contributor

This pull request introduces several important updates to the simulation and navigation stack for the Go2 robot. The main changes include adding an ArUco marker model to the simulation, updating the launch process to include this marker, and extensive tuning of navigation and gait parameters for improved robot performance and simulation fidelity.

Simulation and Launch Enhancements:

  • Added a new aruco_marker model (with model.sdf and model.config) for use as a docking target in simulation. The marker includes a visual texture and is placed in the simulation world. [1] [2]
  • Updated the launch file (go2_launch.py) to:
    • Set the GZ_SIM_RESOURCE_PATH environment variable so Gazebo can find custom models.
    • Spawn the new ArUco marker at a fixed position in the simulated world.
    • Change the default world from maze_world.sdf to home_world.sdf. [1] [2] [3] [4]
  • Modified the CMake install rules to ensure models and tags directories are installed with the package, making custom assets available in deployments.

Navigation Parameter Tuning:

  • Substantial tuning of nav2_params.yaml:
    • Increased transform tolerances and timeouts across navigation servers for improved robustness.
    • Adjusted controller, planner, and costmap parameters for better path following, obstacle avoidance, and overall navigation performance.
    • Refined MPPI controller and critic weights for smoother, safer, and more reliable robot motion.
    • Updated local and global costmap settings for more accurate obstacle representation and footprint handling. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Gait and Motion Constraints:

  • Increased maximum linear and angular velocities in the gait configuration to allow faster and more agile robot movement in simulation.

Simulation and Asset Management:

  • Added ArUco marker model files (model.sdf, model.config) and ensured their installation and availability in Gazebo simulation. [1] [2] [3]
  • Updated launch logic to include the ArUco marker in the simulation and set up model search paths. [1] [2] [3] [4]

Navigation Stack Tuning:

  • Tuned transform tolerances, controller frequencies, critic weights, costmap sizes, and velocities for improved navigation reliability and performance. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Gait Configuration:

  • Increased gait velocity limits to allow for faster simulated robot movement.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this

Comment on lines 37 to 38

# Add go2_description/models to GZ_SIM_RESOURCE_PATH
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Add go2_description/models to GZ_SIM_RESOURCE_PATH

Comment on lines +40 to +41

# Ensure GZ_SIM_RESOURCE_PATH includes the models directory
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Ensure GZ_SIM_RESOURCE_PATH includes the models directory


# Spawn ArUco Marker
# We use the absolute path to the model.sdf to avoid model:// URI resolution issues
aruco_model_path = os.path.join(go2_description, "models/aruco_marker/model.sdf")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move it to the top

resolution: 0.05
footprint: "[[0.3, 0.2], [0.3, -0.2], [-0.3, -0.2], [-0.3, 0.2]]"
transform_tolerance: 1.0
# Slightly smaller footprint to prevent self-collision in costmap
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this

use_sim_time: False
footprint: "[[0.3, 0.2], [0.3, -0.2], [-0.3, -0.2], [-0.3, 0.2]]"
transform_tolerance: 1.0
# Slightly smaller footprint
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this

@openminddev openminddev requested a review from Copilot December 12, 2025 21:14
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the Go2 robot simulation by adding ArUco marker support for docking, switching to a new world environment, and extensively tuning navigation parameters for improved performance. The changes introduce simulation-specific parameter overrides to optimize behavior in simulation while maintaining separate configurations for real hardware deployment.

  • Added ArUco marker model for docking simulation
  • Switched default world from maze_world.sdf to home_world.sdf
  • Implemented simulation-specific navigation parameter overrides in launch files
  • Tuned navigation stack parameters for better path following and obstacle avoidance
  • Increased gait velocity limits for faster simulated movement

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
go2_sdk/launch/slam_launch.py Added simulation parameter override system with tuned controller, planner, and velocity smoother settings
go2_sdk/launch/nav2_launch.py Implemented identical simulation override mechanism for navigation launch
go2_sdk/config/nav2_params_sim.yaml New comprehensive simulation-specific navigation configuration file
go2_sdk/config/nav2_params.yaml Updated base navigation parameters with adjusted tolerances, velocities, and critic weights
go2_gazebo_sim/go2_gazebo_sim/launch/go2_launch.py Changed default world, added ArUco marker spawning, and configured Gazebo resource paths
go2_gazebo_sim/go2_gazebo_sim/config/gait/gait.yaml Increased maximum linear and angular velocity limits
go2_gazebo_sim/go2_description/models/aruco_marker/model.sdf ArUco marker model definition for simulation
go2_gazebo_sim/go2_description/models/aruco_marker/model.config ArUco marker metadata configuration
go2_gazebo_sim/go2_description/CMakeLists.txt Added installation rules for models and tags directories

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"inflation_layer.inflation_radius": 0.30,
},
"planner_server": {
# globl costmap params
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'globl' to 'global'.

Suggested change
# globl costmap params
# global costmap params

Copilot uses AI. Check for mistakes.
"inflation_layer.inflation_radius": 0.30,
},
"planner_server": {
# globl costmap params
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'globl' to 'global'.

Suggested change
# globl costmap params
# global costmap params

Copilot uses AI. Check for mistakes.
Comment on lines 34 to 37
install(DIRECTORY
models
DESTINATION
share/${PROJECT_NAME})
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The models directory is installed twice (lines 29-32 and 34-37). Remove the duplicate installation directive to avoid redundancy.

Suggested change
install(DIRECTORY
models
DESTINATION
share/${PROJECT_NAME})

Copilot uses AI. Check for mistakes.
Comment on lines 2 to 6
"""
A ROS2 node that publishes mock LowState messages for Unitree Go2 simulation.
This provides simulated robot state data including IMU, motor, and battery information.
Battery simulation auto-detects movement from cmd_vel for realistic drain behavior.
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this

Comment on lines 38 to 39

# Add go2_description/models to GZ_SIM_RESOURCE_PATH
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Add go2_description/models to GZ_SIM_RESOURCE_PATH

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.

3 participants