You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
6.2 KiB
150 lines
6.2 KiB
# ===================================================================
|
|
# G1 Deploy - Observation Configuration Example
|
|
# ===================================================================
|
|
# This file demonstrates the complete observation configuration format
|
|
# This example matches the default configuration exactly
|
|
#
|
|
# Instructions:
|
|
# 1. Copy this file to create your custom configuration
|
|
# 2. Modify enabled: true/false to enable/disable observations
|
|
# 3. Reorder observations by changing their position in the list
|
|
# 4. The system automatically calculates offsets based on order
|
|
# 5. Ensure total enabled dimensions match your ONNX model input
|
|
# ===================================================================
|
|
|
|
# Observation definitions - processed in the order listed below
|
|
observations:
|
|
# ---------------------------------------------------------------
|
|
# Motion Reference Data (from loaded motion sequences)
|
|
# ---------------------------------------------------------------
|
|
|
|
- name: "motion_joint_positions"
|
|
enabled: true
|
|
# Description: Joint positions from motion reference data
|
|
# Dimension: 29 elements (one per joint)
|
|
# Units: radians
|
|
# Purpose: Provides target joint positions for the current motion frame
|
|
|
|
- name: "motion_joint_velocities"
|
|
enabled: true
|
|
# Description: Joint velocities from motion reference data
|
|
# Dimension: 29 elements (one per joint)
|
|
# Units: radians/second
|
|
# Purpose: Provides target joint velocities for the current motion frame
|
|
# Note: Only active when motion is playing (is_playing_ = true)
|
|
|
|
- name: "motion_anchor_orientation"
|
|
enabled: true
|
|
# Description: Motion anchor orientation relative to robot base
|
|
# Dimension: 6 elements (rotation matrix first 2 columns flattened)
|
|
# Units: dimensionless (rotation matrix elements)
|
|
# Purpose: Encodes relative orientation between robot and motion reference
|
|
# Calculation: Includes heading compensation and delta heading adjustments
|
|
|
|
# ---------------------------------------------------------------
|
|
# Robot State Data (from sensors and estimation)
|
|
# ---------------------------------------------------------------
|
|
|
|
- name: "base_angular_velocity"
|
|
enabled: true
|
|
# Description: Robot base angular velocity in body frame
|
|
# Dimension: 3 elements (roll, pitch, yaw rates)
|
|
# Units: radians/second
|
|
# Source: IMU sensor data
|
|
# Purpose: Provides current rotational motion of the robot base
|
|
|
|
- name: "body_joint_positions"
|
|
enabled: true
|
|
# Description: Current robot joint positions
|
|
# Dimension: 29 elements (one per joint)
|
|
# Units: radians
|
|
# Source: Joint encoders via robot low-level state
|
|
# Purpose: Current actual joint positions for feedback control
|
|
|
|
- name: "body_joint_velocities"
|
|
enabled: true
|
|
# Description: Current robot joint velocities
|
|
# Dimension: 29 elements (one per joint)
|
|
# Units: radians/second
|
|
# Source: Joint encoders via robot low-level state
|
|
# Purpose: Current actual joint velocities for feedback control
|
|
|
|
# ---------------------------------------------------------------
|
|
# Control History
|
|
# ---------------------------------------------------------------
|
|
|
|
- name: "last_actions"
|
|
enabled: true
|
|
# Description: Previous control action output
|
|
# Dimension: 29 elements (one per joint)
|
|
# Units: dimensionless (normalized action values)
|
|
# Purpose: Provides action history for temporal consistency
|
|
# Note: Helps with smooth control transitions
|
|
|
|
# ===================================================================
|
|
# Configuration Summary
|
|
# ===================================================================
|
|
#
|
|
# Default Configuration Totals:
|
|
# - motion_joint_positions: 29D (enabled) [offset: 0]
|
|
# - motion_joint_velocities: 29D (enabled) [offset: 29]
|
|
# - motion_anchor_orientation: 6D (enabled) [offset: 58]
|
|
# - base_angular_velocity: 3D (enabled) [offset: 64]
|
|
# - body_joint_positions: 29D (enabled) [offset: 67]
|
|
# - body_joint_velocities: 29D (enabled) [offset: 96]
|
|
# - last_actions: 29D (enabled) [offset: 125]
|
|
# ----------------------------------------------------------------
|
|
# Total Enabled Dimension: 154D
|
|
#
|
|
# This matches the standard G1 policy model input dimension of 154
|
|
#
|
|
# ===================================================================
|
|
# Customization Examples
|
|
# ===================================================================
|
|
#
|
|
# Example 1: Disable motion velocities (for position-only policies)
|
|
# - name: "motion_joint_velocities"
|
|
# enabled: false
|
|
#
|
|
# Example 2: Disable last actions (for non-temporal policies)
|
|
# - name: "last_actions"
|
|
# enabled: false
|
|
#
|
|
# Example 3: Minimal configuration (position-only)
|
|
# observations:
|
|
# - name: "motion_joint_positions"
|
|
# enabled: true
|
|
# - name: "body_joint_positions"
|
|
# enabled: true
|
|
# # Total: 58D (29+29)
|
|
#
|
|
# Example 4: Reorder observations (offsets calculated automatically)
|
|
# observations:
|
|
# - name: "body_joint_positions" # Will get offset: 0
|
|
# enabled: true
|
|
# - name: "motion_joint_positions" # Will get offset: 29
|
|
# enabled: true
|
|
# # Automatic offset calculation based on order
|
|
#
|
|
# Example 5: Multi-frame observations with step intervals (for temporal dynamics)
|
|
# observations:
|
|
# - name: "motion_joint_positions_5frame_step5" # 145D (29 joints * 5 frames, step=5)
|
|
# enabled: true
|
|
# - name: "motion_joint_velocities_5frame_step5" # 145D (29 joints * 5 frames, step=5)
|
|
# enabled: true
|
|
# - name: "base_angular_velocity" # 3D (current frame only)
|
|
# enabled: true
|
|
# # Total: 293D (145+145+3)
|
|
# # Captures frames at: current, current+5, current+10, current+15, current+20
|
|
#
|
|
# Example 6: Multi-frame with different step sizes
|
|
# observations:
|
|
# - name: "motion_joint_positions_5frame_step10" # 145D (step=10 for longer intervals)
|
|
# enabled: true
|
|
# # Captures frames at: current, current+10, current+20, current+30, current+40
|
|
#
|
|
# Note: Multi-frame observations capture temporal patterns by sampling
|
|
# future frames at configurable intervals (step sizes)
|
|
# If future frames exceed motion length, repeats the last frame
|
|
#
|
|
# ===================================================================
|