Skip to content

Configuration Reference

Configuration Reference

中文版

Configuration sources and precedence

Entry pointConfiguration load order
run_web_client.pyconf/client_conf.py defaults → --conf YAML file (default: conf/default_conf.yaml) → runtime load/patch requests from the Web console
run_server.pyconf/server_conf.py defaults → command-line overrides (--model_type, --model_path, --debug)

The Web client accepts --host, --port, --conf, and --reload. The YAML file selected by --conf is both the startup configuration and the save target used by the Web console (Setup → Apply / Save As). When saving, .yaml/.yml targets are written as YAML and any other extension as a Python dictionary file.

Only existing leaf keys are updated when a configuration file or patch is applied; unknown keys are ignored. The default file conf/default_conf.yaml is git-ignored: it does not exist in a fresh clone and is created by the first save from the Web console; on startup it is applied only if present. Two legacy key names are migrated automatically on load: inter_chunk.search_length is read as inter_chunk.search_action.search_length, and robots.a2d.* is read as robots.agibot_g1.*.

All durations in the following tables are milliseconds unless another unit is shown explicitly. The panels that expose these parameters in the browser are described in Web Console.

Client root dictionary

get_client_config() contains these top-level sections:

KeyDescription
rdmReal-time observation buffering and inference-loop mode.
intra_chunkProcessing of actions within one model-generated action chunk.
inter_chunkFusion of the previous and next action chunks.
controllerRobot-command timing and execution speed.
robotsSelected robot adapter and adapter-specific settings.
vla_zmqVLA inference-server connection and heartbeat settings.
visualizeWebSocket visualization server and display defaults.
recordDemonstration, evaluation, and LeRobot dataset recording.
visionObservation-frame selection and preprocessing.
languageLanguage-task file and automatic subtask switching.

rdm: real-time data manager

KeyType / valid valuesMeaning
modeasync or syncInference/control loop mode. async avoids blocking on every inference result; sync waits for synchronized processing.
max_lenpositive integerMaximum number of observation frames retained in the buffer.
observe_fps_window_sizepositive integerNumber of most recent captured frames used when estimating observation FPS.

intra_chunk: action processing inside a chunk

KeyType / valid valuesMeaning
intra_chunk_moderaw, interpolation, or fittingAction output mode: use raw actions, interpolate them, or use polynomial fitting.
filter_window_sizenon-negative integerHalf-window used to filter gripper actions; the effective window is 2n+12n+1.
min_gripper_action_thresholdnumberGripper values below this threshold are treated as fully open (0.0).
max_gripper_action_thresholdnumberGripper values above this threshold are treated as fully closed (1.0).
fitting_num_samplespositive integerReserved trajectory-sampling setting; the current implementation uses the controller-period time grid instead.
fitting_degnon-negative integerPolynomial degree for fitted trajectories.
max_joint_fitting_workerspositive integerReserved worker setting; the current batch implementation does not create a joint-fitting executor.
max_gripper_fitting_workerspositive integerReserved worker setting; the current batch implementation does not create a gripper-fitting executor.
max_head_fitting_workerspositive integerReserved worker setting; the current batch implementation does not create a head-fitting executor.
joint_dimnon-negative integerNumber of dual-arm action dimensions processed by this stage.
gripper_dimnon-negative integerNumber of gripper action dimensions processed by this stage.
head_dimnon-negative integerNumber of head action dimensions processed by this stage.

These dimensions must match the selected robot’s action layout and the model output convention.

inter_chunk: fusion between chunks

KeyType / valid valuesMeaning
inter_chunk_modesearch_action, smooth_velocity, min_jerk, or syncMethod used to join consecutive action chunks.
search_action.search_lengthpositive integerNumber of future actions inspected while choosing a smooth join. Increase it if the robot visibly pauses at chunk boundaries.
smooth_velocity.max_velpositive numberVelocity clamp used by velocity-smoothing fusion.
smooth_velocity.max_accpositive numberAcceleration clamp used by velocity-smoothing fusion.
smooth_velocity.k_pnumberProportional feedback gain applied to the position error.
smooth_velocity.k_dnumberDerivative feedback gain applied to the joint velocity.
smooth_velocity.kf_velnumberFeedforward gain applied to the target velocity.
smooth_velocity.kf_accnumberFeedforward gain applied to the target acceleration. Setting both feedforward gains to 0 degrades the fuser to PD feedback control.
min_jerk.blend_thresholdnumberThreshold controlling when minimum-jerk blending is applied.
min_jerk.adaptive_factornumberAdaptive scaling factor for minimum-jerk blending. A negative value keeps the implementation’s automatic behavior.
syncmappingReserved configuration section for sync mode; currently empty. In sync mode the next action chunk is used directly without blending, and the Web console mode dropdown lists only search_action, smooth_velocity, and min_jerk.

controller: robot command timing

KeyType / unitMeaning
wait_timenumber, msDelay before the next inference/control iteration. Increase it when command generation causes visible hesitation.
periodnumber, msRobot command period used by the control timer and trajectory timing.
speedpositive numberExecution speed relative to teleoperation speed.
raw_fpspositive number, HzDataset FPS used to train the VLA/WAM model; used as the timing baseline.
gripper_offsetinteger, framesForward offset for stepwise gripper commands relative to arm commands. Increase a positive value if the gripper reacts too late.

vision: observation preprocessing

KeyType / valid valuesMeaning
history_framebooleanInclude a historical observation frame in addition to the current frame when the model input supports it.
preprocess.methodstringName of the preprocessing function resolved from client.utils.misc; none disables preprocessing.
preprocess.keep_ratiobooleanPreserve aspect ratio while resizing.
preprocess.heightpositive integer, pixelsTarget image height for preprocessing.
preprocess.widthpositive integer, pixelsTarget image width for preprocessing.

language: task instruction selection

KeyTypeMeaning
file_pathpath relative to conf/JSON task-instruction file, normally language_cmd.json.
task_idstringTask key in the language JSON file. If absent, the first available task is used.
sub_task_idzero-based integerIndex of the active instruction in the selected task. Invalid indices fall back to 0.
auto_mode_start_sub_task_idzero-based integerSub-task index applied when Auto Mode starts. The Web console exposes it as the Start selector of the Language Command panel.
auto_modebooleanAutomatically move to the next language instruction according to task-progress output.
task_progress_thresholdnumberMean progress probability required before automatic switching.
task_progress_win_sizepositive integerSliding-window length used to average task progress.

language_cmd.json is a mapping from task IDs to ordered arrays of instruction strings. Add a task by adding one such array; do not store configuration metadata in this file.

vla_zmq: VLA server connection

KeyType / unitMeaning
iphost name or IP addressVLA server address.
portstring or integerVLA server TCP port; together with ip forms tcp://ip:port.
infer_timeoutpositive integer, msClient receive timeout for one inference response. A timeout may drop a late response.
heartbeat_intervalpositive integer, msClient heartbeat period.
heartbeat_timeoutpositive integer, msServer-side inactivity time before a client is removed.

visualize: visualization service

KeyType / unitMeaning
hosthost/IPInterface on which the visualization WebSocket service listens.
portintegerVisualization service port.
max_sizeinteger, bytesLargest accepted WebSocket message.
ping_intervalnumber, secondsWebSocket ping interval.
ping_timeoutnumber, secondsTime allowed for a ping response.
updata_fpspositive number, HzVisualization update rate. The key name is retained for compatibility.
camera.open_headbooleanShow the head camera.
camera.open_wrist_leftbooleanShow the left wrist camera.
camera.open_wrist_rightbooleanShow the right wrist camera.
trajectory.playbooleanStart trajectory playback automatically in the UI.
trajectory.sourcestring arrayTrajectory series displayed in the UI, such as State, ActionRaw, and ActionFitted.
trajectory.selected_jointsinteger arrayInitially selected action/state dimensions.
trajectory.window_span_secpositive number, secondsTime range displayed by the trajectory plot.

record: recording and LeRobot metadata

KeyTypeMeaning
switchbooleanMaster recording switch. It is read from the client configuration; the current run_web_client.py entry point has no --record option.
autobooleanEnable automatic recording behavior.
save_dirproject-relative pathRoot directory for recorded data.
is_record_episoderuntime booleanWhether episode recording is active.
is_record_eval_logruntime booleanWhether evaluation-log recording is active.
is_record_expe_dataruntime booleanWhether experiment-data recording is active.
save_rawbooleanSave source-resolution images rather than resized images.
evaluation.scoresnumeric arrayScore choices offered by the evaluation UI.
lerobot.codebase_versionstringDataset/codebase version recorded in metadata.
lerobot.robot_typestringRobot type recorded in metadata.
lerobot.total_episodes, total_frames, total_tasks, total_videos, total_chunksnon-negative integerDataset counters maintained in LeRobot metadata.
lerobot.chunks_sizepositive integerNumber of episodes/frames represented by a storage chunk according to the recorder format.
lerobot.fpspositive number, HzDataset frame rate.
lerobot.state_shape, action_shapepositive integerFlattened state and action dimensions written to the dataset.
lerobot.splitsmappingDataset split definitions, for example {valid: "0:100"}.
lerobot.data_pathtemplate stringParquet path template relative to the recording root.
lerobot.video_pathtemplate stringVideo path template relative to the recording root.
lerobot.cam.head, cam.hand_left, cam.hand_rightmappingPer-camera feature definition. Each has shape.height, shape.width, shape.channel, plus encode.codec, encode.is_depth_map, and encode.has_audio.

Supported video codecs include mp4v, avc1, XVID, and MJPG. Camera shapes must describe the frames actually written by the selected robot pipeline.

robots: robot adapters

robots.type selects unitree_g1 (default), agibot_g1, mock, ti5_t170c, or navi_wa2. Configure only the subsection for the selected adapter unless preparing reusable profiles.

Shared action-layout convention

An action_layout section divides a flat action vector into named segments. Every segment has start (inclusive), end (exclusive), and policy.

PolicyMeaning
gradualContinuous dimensions, normally arm joints; suitable for smoothing/fitting.
stepwiseDiscrete or near-discrete dimensions, normally grippers/hands.
manualRobot/Web-controlled dimensions that are not inferred by the model. Place these after model-controlled segments.

Where available, presets provides UI reset/manual targets. Default and Custom are general presets; AgiBot G1 grippers also provide Open and Close, its wheels provide Forward, Backward, Left, and Right, and NAVIAI-WA2 hands provide Open and Finger.

robots.agibot_g1

KeyMeaning
hand_typeEnd-effector mode: gripper, hand_as_gripper, or hand. It selects camera names and proprioception layout.
camera.color_orderPixel order returned by retrieve_observation() (rgb).
camera.refReference camera name.
camera.namesMapping from canonical names (head, hand_left, hand_right) to robot camera identifiers.
camera.non_ref_fetch_workersNumber of persistent worker threads used to fetch non-reference cameras.
proprio_namesOrdered proprioception groups used to assemble robot state.
gripper_freq, head_freqCommand frequencies for gripper and head control.
manual_arm_intervalTime interval in seconds between manually generated arm targets.
action_layoutAgiBot G1 arm, gripper, head, waist, and wheel action ranges and UI presets.

robots.mock

KeyMeaning
camera.ref, camera.namesReference camera and mapping to dataset observation keys.
action_layoutSimulated arm and gripper action ranges and presets.
manual_arm_intervalManual arm command interval in seconds.
state_action_rangeRanges used to select state/action fields from the mock dataset.
dataset_pathLeRobot-style dataset root. It must contain matching Parquet data and video directories.

robots.ti5_t170c

KeyMeaning
hand_typeEnd-effector mode; China Mobile Lingxi uses hand. It selects camera names and proprioception layout.
camera.color_orderPixel order returned by retrieve_observation() (rgb; the adapter converts camera frames).
camera.backendCamera transport; remote_forwarder subscribes to a video forwarder.
camera.forwarder_uriZMQ URI of the video forwarder (default tcp://192.168.1.100:9100).
camera.ref, camera.namesReference camera and mapping to forwarder topics (head/color, hand_left/color, hand_right/color).
camera.warmup_sSeconds to wait for camera streams after connecting.
camera.depth_namesDepth topic mapping. Kept empty: depth frames are not consumed by VLA inference and are neither subscribed nor sent to the server.
proprio_namesOrdered proprioception groups (arm, hand) used to assemble robot state.
hand_freq, head_freqCommand frequencies for hand and head control; 1 means every control tick.
reset_robot_posFull robot reset target vector (arms at the reset pose, hands open). Kept aligned with the arm Default preset and the console reset position.
manual_arm_intervalTime interval in seconds between manually generated arm targets.
action_layoutArm (gradual, presets Default = reset pose / Custom = previous homing pose), hand (stepwise, Default/Custom), and head (manual, NECK joints, Web-only) action ranges and UI presets.

robots.navi_wa2

KeyMeaning
ttServo/control period in seconds.
gainServo gain.
hand_typeEnd-effector mode; NAVIAI-WA2 uses hand. It selects proprioception layout and hand presets.
camera.color_orderPixel order of incoming frames (bgr; cv_bridge uses bgr8).
camera.topic_dictCompressed ROS image topics keyed by head, hand_left, and hand_right.
action_layoutContinuous arm and stepwise hand action ranges.
reset_positionFull reset pose vector; ordering must match the NAVIAI-WA2 driver.

robots.unitree_g1

KeyMeaning
camera.color_orderPixel order of incoming frames (bgr; cv_bridge uses bgr8).
hand_typeEnd-effector mode; Unitree G1 uses hand. It selects camera names and proprioception layout.
reset_robot_posFull robot reset target vector (26 dimensions, all zeros).
action_layoutArm (gradual, Default/Custom presets) and hand (stepwise, six-finger values, Default/Custom presets) action ranges.

Server and model dictionary

get_vla_server_config() provides zmq, max_infer_workers, max_decode_workers, and models.

KeyMeaning
zmqSame VLA network fields as vla_zmq; the server binds its ROUTER socket using the configured port.
max_infer_workersMaximum concurrent inference workers. Set to 1 to disable concurrent inference.
max_decode_workersMaximum image-decoding workers.
image_pad_and_resizeEnable aspect-ratio-preserving padding and resizing of decoded images on the server.
image_target_height, image_target_widthTarget image dimensions in pixels used when image_pad_and_resize is enabled.
models.typeSelected model: mock, act, gr00t_n1, gr00t_n1_5, gr00t_n1_6, rdt, smolvla, go1, pi0, pi05, tao, dm05, or wallx.

Model-specific keys are as follows:

Model sectionKeysMeaning
models.mockmodel_pathMock-model path placeholder.
models.actmodel_pathACT checkpoint path.
models.gr00tmodel_path, embodiment_tag, data_config_keyGR00T checkpoint plus supported embodiment and data-configuration identifiers.
models.rdtmodel_path, config_path, vision_encoder_name_or_path, lang_embd_pathRDT checkpoint, model configuration, vision encoder, and language embedding paths.
models.smolvlamodel_path, root_pathSmolVLA checkpoint and associated data/root path.
models.go1model_path, exp_path, data_stats_pathGO1 checkpoint, importable experiment path, and normalization statistics JSON.
models.pi0, models.pi05config, model_path, is_handOpenPI model configuration/checkpoint; is_hand enables hand-action handling.
models.taomodel_path, embodiment_tagTAO checkpoint and a TAO-registry embodiment identifier.
models.dm05model_path, repo_path, action_mode, backend, vision_trt_engine_path, diffusion_steps, vision_attn_implementation, execute_horizonDM0.5 checkpoint and repository paths, action mode, inference backend with an optional TensorRT vision engine, diffusion-step count, and actions per control cycle.
models.wallxmodel_path, repo_path, embodiment_tag, device, flow_stepsWALL-X checkpoint and repository paths, embodiment identifier, inference device, and flow-matching step count.

Paths must be valid on the inference-server host. embodiment_tag and data_config_key are model-library identifiers, not arbitrary labels; use values registered by the matching model installation.

Visualization ZMQ configuration

get_vis_zmq_config() is used by the standalone visualization ZMQ service.

KeyMeaning
client_ip, client_portAddress used by a visualization client.
server_ip, server_portBind address used by the visualization server; * binds all interfaces.

Logging configuration

conf/logging_conf.py is programmatic logging configuration rather than a YAML parameter dictionary. It writes timestamped files below logs/, moves prior-day files into date directories, and removes date directories older than seven days. Console logging defaults to INFO; file logging defaults to DEBUG. Use setup_logging(log_filename, logger_name) when adding an entry point.