feat: add session-gated TG3 data collection
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[network]
|
||||
# Direct OmniSocket KCP input. No robot-side ZMQ receiving proxy is used.
|
||||
transport = "omnisocket"
|
||||
omnisocket_server = "175.178.116.187:14049"
|
||||
omnisocket_server = "192.168.5.14:14049"
|
||||
omnisocket_peer_id = "tg3-009027fa8190-robot"
|
||||
omnisocket_expected_sender = "tg3-009027fa8190-iarm"
|
||||
omnisocket_max_packet_age_ms = 300.0
|
||||
@@ -55,6 +55,71 @@ joint_upper_rad = [
|
||||
2.8449, 0.1920, 2.8449, 0.1920, 2.8449, 1.3265, 1.3265,
|
||||
]
|
||||
|
||||
[data_collection]
|
||||
# Left joystick press (L3) is a dedicated raw xTELE field and is not registered
|
||||
# by the installed xTELE 0.1.2 button handlers. It only toggles recording while
|
||||
# a validated teleoperation session is armed. Z+C STOP/safety disarm always
|
||||
# ends an active recording without delaying robot control or Home.
|
||||
enabled = true
|
||||
button_hold_seconds = 1.0
|
||||
button_release_seconds = 0.5
|
||||
# This threshold qualifies only the L3 button edge; it is not a robot-motion
|
||||
# watchdog and does not restore the removed 0.25 s network disarm gate.
|
||||
button_input_timeout_s = 0.25
|
||||
control_retry_seconds = 0.5
|
||||
ack_timeout_seconds = 5.0
|
||||
heartbeat_interval_seconds = 0.5
|
||||
heartbeat_timeout_seconds = 3.0
|
||||
status_stale_seconds = 4.0
|
||||
control_topic = "/tg3/data_collection/control"
|
||||
status_topic = "/tg3/data_collection/status"
|
||||
iarm_frame_topic = "/tg3/data_collection/iarm_frame"
|
||||
base_directory = "/home/nvidia/tg3_data_collection"
|
||||
minimum_free_gib = 20.0
|
||||
max_duration_seconds = 1800.0
|
||||
|
||||
# Explicit control-data whitelist. Camera images and point clouds are omitted
|
||||
# by default to bound disk and network load; never replace this with `-a` on the
|
||||
# live robot. /robot_state is the authoritative measured robot state.
|
||||
topics = [
|
||||
"/robot_state",
|
||||
"/encoder_identical_joint",
|
||||
"/arm/cmd",
|
||||
"/freq_change/arm_status",
|
||||
"/data_logger/arm_status",
|
||||
"/left_hand/set_motor_multi",
|
||||
"/right_hand/set_motor_multi",
|
||||
"/left_hand/motor_status",
|
||||
"/right_hand/motor_status",
|
||||
"/left_hand/touch_status",
|
||||
"/right_hand/touch_status",
|
||||
"/hric/robot/cmd_vel",
|
||||
"/hric/robot/cmd_vel_status",
|
||||
"/hric/robot/rl_state",
|
||||
"/imu_data",
|
||||
"/power/board/key_status",
|
||||
"/power/board/status",
|
||||
"/power/battery/status",
|
||||
"/tg3/data_collection/control",
|
||||
"/tg3/data_collection/status",
|
||||
"/tg3/data_collection/iarm_frame",
|
||||
]
|
||||
|
||||
# Refuse a new episode if these core streams are absent from the live ROS
|
||||
# graph. Other whitelisted streams may appear later and rosbag discovery will
|
||||
# subscribe to them without restarting the recorder.
|
||||
required_topics = [
|
||||
"/robot_state",
|
||||
"/encoder_identical_joint",
|
||||
"/freq_change/arm_status",
|
||||
"/left_hand/motor_status",
|
||||
"/right_hand/motor_status",
|
||||
"/hric/robot/rl_state",
|
||||
"/tg3/data_collection/control",
|
||||
"/tg3/data_collection/status",
|
||||
"/tg3/data_collection/iarm_frame",
|
||||
]
|
||||
|
||||
[locomotion]
|
||||
# The two original immediate bindings are independent: right C + left-stick
|
||||
# vertical controls translation; left Z + right-stick horizontal controls
|
||||
|
||||
Reference in New Issue
Block a user