--- library_name: lerobot tags: - robotics - lerobot - act - behavioral-cloning pipeline_tag: robotics --- # posco_act_square_260822_left_c50 ACT (action-chunking transformer) policy trained with [LeRobot](https://github.com/huggingface/lerobot) 0.4.3 on the POSCO left-arm pick-and-place dataset. ## Configuration | | | |---|---| | architecture | `act` | | `chunk_size` / `n_action_steps` | 50 / 50 | | observation | `observation.images.agentview` (1 camera, 480x640) + `observation.state` | | action / state dim | **8** (left arm `arm_l_joint1..7` + `gripper_l_joint1`) | | control rate | 20 Hz -> a chunk of 50 spans 2.5 s | | training | 50,000 steps, batch 64, lr 1e-05 | | data | `square_260822_left`, 150 episodes / 73,529 frames | Right-arm dimensions were dropped before training: in these recordings they are effectively constant (action std down to 0.0), so under normalization they contribute unit-variance sensor noise the policy cannot learn. ## Usage ```python from lerobot.policies.act.modeling_act import ACTPolicy from lerobot.policies.factory import make_pre_post_processors repo = "learner1119/posco_act_square_260822_left_c50" policy = ACTPolicy.from_pretrained(repo).eval() pre, post = make_pre_post_processors(policy.config, pretrained_path=repo) processed = pre(observation) # normalizes + tokenizes chunk = policy.predict_action_chunk(processed) # (B, 50, 8), normalized actions = post(chunk[:, 0]) # -> real action space ``` > On lerobot >= 0.4 normalization lives in these processor pipelines, **not** inside the > policy. Calling `predict_action_chunk` on raw observations silently returns wrong > actions -- always go through `pre` / `post`. ## Caveat Trained on all available episodes with no held-out split, so it has no honest offline validation number attached. Treat reported training loss as fit quality, not generalization.