wikillm

Paper · 2024-12-16 · cs.RO, cs.AI, cs.CV

Visual IRL for Human-Like Robotic Manipulation

Learns a reward from RGB-D human keypoints and object positions with adversarial IRL (AIRL), then maps human arm joints to a cobot with a learned neuro-symbolic model and an IK refinement. Author-reported on onion sorting and bottle pouring: learned-behaviour accuracy 90.4% vs 83.3% for discrete state-action input, and shorter, smoother motions than RRT and RRT-connect.

Inverse reinforcement learningLearning from demonstrationMotion retargetingNeural-symbolic integrationinverse-reinforcement-learninglearning-from-demonstrationrobot-manipulationmotion-retargetinginverse-kinematics

arXivPDFMarkdown11 min read

AI-compiled by claude-haiku-5-5 on 2026-10-25, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Teaching a robot arm by watching a person is slow to set up if every move has to be programmed by hand. This paper takes a video of a person doing a manipulation task, finds the person's body joints and the objects in the scene frame by frame, and infers what the person seems to be trying to achieve.

The paper then has to solve a second problem. A person's arm and a robot arm have different joint layouts and lengths, so copying the joint angles exactly does not reproduce the same hand motion. The authors use a learned mapping from the person's arm to the robot's joints, followed by a small correction step that brings the gripper to the target point while keeping the joint changes small. The aim is motion that looks like the human's, not just motion that reaches the right spot. The method was tested on two tasks: sorting onions by whether they are blemished, and pouring from bottles into containers.

TL;DR

Visual IRL feeds per-frame 3D body keypoints and object positions into adversarial inverse reinforcement learning (AIRL) to get a reward and a policy. A neuro-symbolic model turns the human arm pose into initial robot joint angles, and an inverse-kinematics (IK) refinement moves the gripper to the target while changing the angles as little as possible. The paper reports better learned-behaviour accuracy than a discrete-input baseline and smoother, faster motion than RRT and RRT-connect, on two tasks with two robots. Everything is author-reported on lab-collected data, and no official code was found.

Problem

Learning from observation needs a state and action representation that an IRL method can use. Standard pipelines first recognise discrete states and actions from video, which needs extra training §I. The paper argues that continuous 3D keypoints can serve as state features directly §I.

Transferring a human demonstration to a cobot is a second problem. The robot has a different number of joints (the paper uses a 7 DoF Sawyer and a 6 DoF LBR iisy) and different limb lengths, so there is no exact one-to-one joint match §I §V.A §VI. Path planners such as RRT find any collision-free joint solution and do not keep the human's style of motion §V.D.

Method

The method has two parts: Visual IRL §IV.A, which learns the reward and policy, and the neuro-symbolic dynamics mapping §IV.B, which moves the learned behaviour onto a cobot. Figure 1 shows the whole pipeline fig. 1.

Visual IRL §IV.A

  1. Run a 2D pose estimator (YOLOv8 pose) on every RGB-D frame, and convert the 2D keypoints to 3D with the camera's intrinsics §IV.A. The later mapping uses the right hip, shoulder, elbow and wrist §V.D.
  2. Where pose estimation is unreliable, a recurrent keypoint predictor estimates the 3D hip, shoulder, elbow and wrist from the current and previous 3D coordinates of the arm joints §IV.A. Its layers are listed in the hyperparameter table.
  3. Detect objects with a custom YOLOv8 detector, convert them to 3D, and predict the object's 3D position from its previous position and the previous and current end-effector positions when the detector loses it §IV.A eq. 5.
  4. Choose one object per frame as the object being manipulated, using the rules in §V.A. The state is the end-effector position, the object position and the object label. The action is the 3D displacement of the end-effector between two consecutive steps §IV.A §V.A.
  5. Run AIRL on these trajectories. The discriminator distinguishes expert pairs from generated ones eq. 2. The reward is updated from the discriminator output as a log-odds eq. 4. The policy is optimised against this reward with TRPO §IV.A.
Pseudocode
# AIRL reward from the discriminator  [eq. 2] [eq. 4]
# Inputs: states (N, 9), actions (N, 3); discriminator outputs in (0, 1)
# Output: rewards (N,)

def airl_reward(discriminator, states, actions):
    # Probability that each (state, action) pair is from the expert  [eq. 2]
    probs = discriminator(states, actions)
    # Reward as log-odds of the discriminator output  [eq. 4]
    rewards = log(probs) - log(1 - probs)
    return rewards

Neuro-symbolic dynamics mapping §IV.B fig. 2

  1. Predict the human hip, shoulder and elbow 3D positions from the wrist 3D position at each time step, with a small MLP. Multiple human poses with similar wrist positions are averaged into one representative pose §IV.B.
  2. Convert the human joint angles (hip, shoulder, elbow, wrist) to initial cobot joint angles through a fixed one-to-one joint correspondence §IV.B fig. 3. The text does not give this mapping as an equation.
  3. Compute the cobot end-effector position from four angles (hip, shoulder, elbow, wrist) with a learned restricted forward kinematics (FK) model. All other cobot joints are held at 0° §IV.B.
  4. Starting from the initial angles, adjust the four angles with an iterative IK optimisation that uses the learned FK model. The loss trades position error against the change from the initial angles §IV.B eq. 6.
  5. Stop when the position error is below 0.01 m, or after at most 10,000 iterations §IV.B.
Pseudocode
# Human arm pose to cobot joint angles  [§IV.B] [fig. 2] [fig. 3]
# Input:  wrist_xyz (3,), target_xyz (3,)  per time step
# Output: final_angles (4,): hip, shoulder, elbow, wrist

def transfer_step(wrist_xyz, target_xyz):
    # Human hip, shoulder and elbow 3D from the wrist  [§IV.B]
    human_joints_xyz = human_ik_model(wrist_xyz)
    # Human joint angles are derived from these 3D points; method not stated
    human_angles = angles_from_joints(human_joints_xyz)
    # One-to-one symbolic map to the cobot's joints  [§IV.B] [fig. 3]
    init_angles = symbolic_map(human_angles)
    # Refine so the end effector reaches the target  [§IV.B] [eq. 6]
    final_angles = refine_ik(init_angles, target_xyz)
    return final_angles

Action and target §V.B. For the RRT baselines, the target is computed from the current end-effector position plus the policy's displacement at each step. The paper does not state the same explicitly for the neuro-symbolic model, although the target is an input to its IK step §IV.B.

Hyperparameters

Values are from the paper's text and the stated components. Anything not stated is marked.

NameValueWhereNotes
Pose estimatorYOLOv8 pose§IV.Achosen over Mediapipe tab. 1
Object detectorcustom YOLOv8§IV.Atrained on 3000 frames, tested on 500 §V.D
Keypoint predictor: LSTM2 layers, 64 units each§IV.Ainput: t and t-1 3D coordinates of hip, shoulder, elbow, wrist, index finger, thumb
Keypoint predictor: dense256 and 64 units, ReLU§IV.Aoutput size 12; see Pitfalls
Keypoint predictor: loss, optimiserMSE, Adam, lr 0.001§IV.Aepochs, batch size: not stated
Object location: LSTM2 layers, 64 and 32 units§IV.Ainput: previous object 3D position, previous and current end-effector 3D positions
Object location: dense256 and 64 units, ReLU§IV.Aoutput: adjusted 3D object position
Object location: loss, optimisernot stated§IV.A
Object confidence threshold0.5§V.Abelow this the label is unknown
Object proximity threshold20 cm§V.Adistance from end-effector
Human IK modelMLP, 256, 64, 32 units, ReLU; output 9§IV.BMSE, Adam, lr 0.001
Cobot FK modelMLP, 256 and 64 units, ReLU; input 4 angles, output 3§IV.BMSE, Adam, lr 0.001; training data from Gazebo and RViz simulation; sample count not stated
Cobot IK: alpha0.0005§IV.B eq. 6weight on joint change
Cobot IK: optimiserAdam, lr 0.01§IV.B
Cobot IK: lr decayfactor 0.9 every 1,000 steps§IV.B
Cobot IK: max iterations10,000§IV.B
Cobot IK: convergenceposition error < 0.01 m§IV.B
Cobot IK: gradient clipmax norm 1.0§IV.B
CameraIntel RealSense L515 RGB-D, fixed§V.A
Pixel-to-camera conversionX = (x - c_x) z / f_x, Y = (y - c_y) z / f_y, Z = z / 1000§V.Aunnumbered display; depth units assumed mm
Camera-to-cobot frame transformnot stated§V.Adescribed only in words
AIRL discriminator, reward and TRPO settingsnot stated§IV.Aarchitecture, learning rate, discount gamma, iterations
Frame ratenot stated
Hardwarenot stated

Results

Author-reported. Setup: two tasks with real cobots, a Sawyer (7 DoF) for onion sorting and a KUKA LBR iisy (6 DoF) for bottle pouring §V.A. Each task had 10 trials with 4 objects per trial, which gives 40 manipulations per model §V.D. The LBA comparison used 10 trials of 30 ± 5 state-action steps, split between two subjects §V.D.

Pose estimator, tab. 1. Values are mean ± standard deviation. The caption does not state the unit.

JointMediapipeYOLOv8
Right hip97.75 ± 14.83298.88 ± 2.492
Right shoulder97.92 ± 13.18699.45 ± 0.635
Right elbow84.472 ± 36.22295.08 ± 4.643
Right wrist63.75 ± 48.07996.56 ± 2.886

Human keypoint predictor, tab. 2. Test set of 500 frames.

JointAxisMSERMSEMAER²
HipX0.0000880.0093830.0072380.579554
HipY0.0000910.0095460.0081930.897867
HipZ0.0000930.0096470.0078620.289432
ShoulderX0.0000770.0087780.0068390.722046
ShoulderY0.0000620.0079020.0059560.975333
ShoulderZ0.0000680.0082170.0066000.591279
ElbowX0.0000770.0087780.0068390.722046
ElbowY0.0000530.0072800.0052670.890235
ElbowZ0.0000710.0084260.0067240.611487
WristX0.0000720.0084850.0060010.987320
WristY0.0000530.0072800.0052670.890235
WristZ0.0000680.0082170.0066000.591279

Object detector, tab. 3. The caption names four criteria (Precision, Recall, mAP50, mAP50-95). The column headers in the source say "Right Hip", "Right Shoulder", "Right Elbow" and "Right Wrist". The mapping of columns to criteria is not stated (see Pitfalls). Values are mean ± standard deviation.

ModelColumn 1Column 2Column 3Column 4
Faster-RCNN92.88 ± 6.99389.02 ± 7.57790.75 ± 6.81869.226 ± 17.424
YOLOv898.31 ± 3.06391.38 ± 5.00295.77 ± 4.90482.273 ± 8.775

Object location predictor, tab. 4. Onion sorting task.

ObjectAxisMSERMSEMAER²
OnionX0.0002030.0123020.0093420.629628
OnionY0.0000780.0088980.0065820.940394
OnionZ0.0002020.0124630.0090580.712352

Onion sorting, one object, tab. 5. Baseline is RRT [lavalle2001randomized].

MethodAvg. time (s)Avg. jerkiness (deg)Avg. end-effector displacement (m)
RRT30.87 ± 2.77914.13 ± 124.665.12 ± 1.28
Neuro-symbolic model14.75 ± 1.51264.92 ± 36.222.73 ± 0.44

Bottle pouring, tab. 6. Baseline is RRT-connect [kuffner2000rrt].

MethodAvg. time (s)Avg. jerkiness (deg)Avg. end-effector displacement (m)
RRT-connect44.12 ± 6.211333.75 ± 278.156.48 ± 2.51
Neuro-symbolic model33.80 ± 2.89359.09 ± 87.783.50 ± 1.02

Learned-behaviour accuracy (LBA) for Visual IRL, in the text §V.D: 90.4%, against 83.3% for MAP-BIRL (Choi and Kim, 2011) fed with discrete state-action trajectories. The paper gives no table for this comparison.

Paper vs code

No official code.

No repository is linked from the paper, the LaTeX source, or the bibliography. GitHub searches for "visual irl", "neuro-symbolic cobot human-like manipulation", "neuro-symbolic dynamics mapping" and the author names found no repository that clearly belongs to the authors. Searches for "cobot irl keypoints" and "onion sorting cobot" also returned nothing relevant. Only the paper's text and figures are used here.

Pitfalls

  • The cobot IK loss is inconsistent with its text. The text says the model is trained with MSE and Adam §IV.B, but the equation for its loss uses plain norms, not squared errors, and the norm type is not stated eq. 6. Reading the norms as L2 is an assumption.
  • Keypoint predictor output size does not match its inputs. The text lists six input joints (hip, shoulder, elbow, wrist, index finger, thumb) §IV.A, but says the output size of 12 "includes the predicted 3D coordinates of the six input joints". Six joints × 3 coordinates is 18. Twelve is 4 × 3. Clarify this before implementing.
  • Duplicate rows in tab. 2. The values for Elbow X equal those for Shoulder X. Wrist Y equals Elbow Y, and Wrist Z equals Shoulder Z. These coincidences are unlikely to be independent measurements. Check the source data before trusting per-joint numbers.
  • Column headers in tab. 3 do not match its caption. The headers are joint names, but the caption describes four detection criteria. The text names Precision, Recall, mAP50 and mAP50-95. The mapping is not stated.
  • Which state features the policy uses is ambiguous. The Introduction describes keypoints as state features §I. The policy is described as mapping states that contain human keypoints to end-effector actions §IV.A. The MDP state is defined as end-effector position, object position and object label §V.A. Both could be right, but the paper does not say which is used for the AIRL reward.
  • The reward update is written as an assignment. Equation 4 uses "←". The paper does not say whether the reward is stored and updated or recomputed from the discriminator on each call eq. 4.
  • AIRL training details are missing. Discriminator architecture, its loss, its learning rate, the TRPO settings, the discount factor, the number of iterations and the batch size are all not stated §IV.A.
  • The symbolic mapping is only shown in a figure. The text describes a "one-to-one" joint correspondence §IV.B and depicts it in fig. 3. No equations are given, and the way human joint angles are computed from the predicted 3D joints is not stated.
  • Object selection rule is ambiguous. The text lists three rules §V.A: a confidence threshold, a 20 cm proximity rule, and a fallback to the lowest-Y object. It is not stated whether the proximity check is applied to each candidate in order, or only once, and whether the 20 cm check uses the object centroid or the bounding box.
  • Camera-to-cobot transform is not given. The text describes the axis permutation and offset in words §V.A. No numbers appear in the paper body, and the reproduction needs the extrinsic calibration, which is not stated.
  • Pouring is a simplification. The pipeline does not model liquid flow or volume. Pouring is triggered by a simple tilt once the bottle is aligned §V.A. The "pouring" metric measures motion, not pouring quality.
  • Different baselines per task. RRT is the baseline for onion sorting and RRT-connect for pouring §V.B. The per-task tables therefore cannot be compared across tasks, and neither baseline is the same across both.
  • "Power efficiency" is not measured. The conclusion claims advantages in "power efficiency" §V.D. The only efficiency metric reported is end-effector displacement tab. 5 tab. 6.
  • Variability is reported without sample counts. The caption of tab. 1 says the ± values are standard deviations. The captions of the other tables do not define them, and the sample they are computed over (trials, objects or frames) is not stated.
  • Small, single-lab data. Training and evaluation use 3000 and 500 frames from a single lab setup §V.D. The dataset and the simulation data for the FK model are not released. Sample counts for the FK model are not stated.
  • Supplementary video is referenced but not in the card. Several claims point to it §V.D.
  • Figure numbering is inferred. Figure and table numbers are derived from the order of the LaTeX environments, following ACM format. The PDF was not checked against this numbering. §IV.A style section numbers are taken from the source headings and match the paper's own cross-reference "section IV.A" §V.D.

Lineage

  • Builds on: AIRL (Fu, Luo and Levine, ICLR 2018; no arXiv id given in the paper) §III. The AIRL formulation rests on maximum causal entropy IRL (Ziebart, 2010) §III.
  • Compared against: RRT (LaValle and Kuffner, 2001) and RRT-connect (Kuffner and LaValle, 2000) for robot motion §V.B; MAP-BIRL (Choi and Kim, 2011) for LBA §V.D. Object detection and pose estimation are compared against Faster-RCNN and Mediapipe §V.B.
  • Related work named in the paper: learning-from-observation models (Asali et al., 2023; Soans et al., 2020), retargeting approaches (Wang et al., 2017; Darvish et al., 2019; Qin et al., 2023) and Simitate (Memmesheimer et al., 2019). These are context and are not used in the method §II.
  • Superseded by: not known from the content of this wiki.

Source and license

Adapted from “Visual IRL for Human-Like Robotic Manipulation” by Ehsan Asali, Prashant Doshi (arXiv:2412.11360), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.