PhyRC 2027 Challenge

The PhyRC 2027 Challenge is jointly organized by the EmPRISE Lab at Cornell University and the Robust Intelligence & Robotics (RIRO) Lab at KAIST. The competition facilitates innovation in physical robot caregiving through one track, Mobile Manipulation for Robot-assisted Dressing, evaluated in two phases: Phase 1: Simulation and Phase 2: Real Robot. Teams may use a mobile manipulator or a bimanual mobile-manipulation setup with two Stretch 4 robots. We would like to thank Hello Robot for generously sponsoring a Stretch 4 robot for the winning team.

PhyRC 2027 · Phase 1 open · Register by Oct 15

Mobile manipulation for robot-assisted dressing.

Dress a seated manikin with a closed-topology T-shirt using a mobile manipulator—or two Stretch 4 robots in a bimanual setup.

Simulation · open now
Oct 15 – Dec 15, 2026
Real robot prep + evaluation
Jan – May 2027
Grand prize
Hello Robot Stretch 4
Simulation demonstration
PhyRC Challenge, EmPRISE Lab, Cornell Bowers CIS and Cornell Computer Science
Co-organized withRIRO LabKAIST
Phase 01SimulationOct–Dec 2026 · open now
Phase 02Real robotPrep + evaluation · Jan–May 2027
Grand prizeStretch 4Sponsored by Hello Robot

About Physical Robot Caregiving

A report from 2021 states that over 1 billion people around the world require assistance to carry out daily tasks, and that this number will significantly increase with the aging population. Caregiving robots have the potential to reduce caregivers' workload and increase care recipients' independence. The EmPRISE Lab is hosting the PhyRC (pronounced as fai-R-C) Challenge, which stands for Physical Robot Caregiving Challenge. With the mission of enabling robots to improve the quality of life of people with mobility limitations by assisting them with activities of daily living (ADLs), we provide a realistic setup for the robot-assisted dressing task, an important ADL, with the hope to explore solutions to interesting rigid and deformable object manipulation and physical human-robot interaction problems in physical caregiving settings.

Competition Phases

Simulation Phase (Phase 1) (Oct 15 - Dec 15, 2026) — open now

Phase 1 is open. Teams complete the robot-assisted dressing task in NVIDIA Isaac Sim 6.0.1: two Stretch 4 robots, one closed-topology T-shirt and a seated manikin. We provide the simulation environment, the human avatars, the robots and the environmental objects, and teams train a policy from what the robots see so that it dresses the person.

Submissions, the leaderboard and the forum are on the competition on Codabench. The simulator and starter code are in the challenge repository. See Get Started with Phase 1 below.

Real Robot Prep + Evaluation (Phase 2) (Jan 2027 - May 2027; details TBD)

The real-robot phase is planned for January through May 2027 and is run with the winning teams from Phase 1, who are announced at the end of December 2026. Its task details and evaluation protocol are TBD.

🥇 Prize 🥇: The winner of the Challenge wins a Hello Robot Stretch 4 robot, sponsored by Hello Robot.

Get Started with Phase 1

How to take part

  1. Register your team with the registration form on this website. One response per team is enough. It is the only way to register, and it closes Oct 15, 2026, 11:59pm AoE.
  2. Join the competition on Codabench with the team leader's account. The organizers approve join requests.
  3. Set up the simulator from the GitHub repository. You need Linux x86-64, an NVIDIA RTX GPU with at least 12 GB of memory, Docker and the NVIDIA Container Toolkit.
  4. Collect demonstrations, train a policy, and submit a zip on Codabench as often as you like.

Task Details

Robot-assisted Dressing

Assistive dressing is an ADL task during which the caregiver helps the care recipient put on garments. The task uses a closed-topology T-shirt. Teams may use a mobile manipulator or a bimanual mobile-manipulation setup with two Stretch 4 robots.

Phase 1 (simulation) participation guide

A demo of the Phase 1 simulation task:

Scoring. Dressing milestones earn points, 50 in total. Points once earned are kept.

  • Pickup (5 pts): Lift the grasped region at least 5 cm and hold it for 3 seconds of simulation time.
  • First sleeve (5 pts): The first hand passes through its sleeve and out, with the wrist and fingertips both out.
  • Opposite shoulder (5 pts): Part of the shirt passes over the opposite shoulder joint.
  • Second sleeve (5 pts): The other hand comes out through the other sleeve.
  • Left upper arm (5 pts): The left sleeve covers part of the upper arm (pass/fail).
  • Right upper arm (5 pts): The right sleeve covers part of the upper arm (pass/fail).
  • Neck (10 pts): The chest is inside the shirt and the head and neck are out through the neck opening.
  • Front orientation (10 pts): With the head out, the V-neck front faces forward within 45° for 0.5 s.

Ranking is points per second: the dressing points excluding pickup (so at most 45) divided by the time from first contact to the last milestone awarded, in simulation seconds. Episodes with no contact, no dressing points, or a zero denominator score 0, and a multi-seed result is the arithmetic mean over all episodes. We randomize object positions and the human configuration, and evaluate each submission from several randomized initial states.

Time budget. Each episode has a 900 s (15 min) budget, which covers your policy's inference time as well as robot motion. The policy receives an observation and returns an action at 20 Hz, one every 0.05 s of simulation time.

What you submit. A zip whose top level has policy.py defining load_policy(checkpoint, observation_space, action_space); it returns a callable policy object with a reset() method and a __call__(obs) that returns a finite, clipped (2, 9) float32 action. You may optionally add one checkpoint.* file and a Dockerfile that starts with FROM phyrc-2027:isaac-6.0.1 and only adds packages. Full details are in POLICY.md.

Submitting. Submit as often as you like: Codabench allows 50 per day and gives 15 GB of storage per account. Every upload gets an automatic format check within minutes, accepted submissions show Scoring until they are evaluated, and a newer accepted upload marks the previous one as superseded. Only the last accepted submission before the deadline is evaluated, not your best one.

Fair play. Policies may use only the public observations — the five cameras plus joint and robot state — and may control the robots only through the action interface. Using simulator ground truth (cloth particles, exact poses, segmentation, evaluator internals) or changing the simulation leads to disqualification. Keep your training code, data and logs ready in case we ask for them. The full rules are in RULES.md.

Tentative Schedule

The schedule is subject to change and will be updated in a timely manner. Join the mailing list using the registration form to get direct notification. All Phase 1 deadlines are 11:59pm AoE (UTC−12).

  • Registration Opens: Aug 17, 2026
  • Registration Deadline: Oct 15, 2026 (11:59pm AOE)
  • Phase 1: Oct 15 - Dec 15, 2026 (2 months)
    • Oct 15, 2026: Registration closes and submissions open on Codabench
    • Nov 17, 2026: Leaderboard checkpoint 1 (scores by Nov 19)
    • Dec 1, 2026: Leaderboard checkpoint 2 (scores by Dec 3)
    • Dec 4, 2026: Leaderboard checkpoint 3 (scores by Dec 6)
    • Dec 8, 2026: Leaderboard checkpoint 4 (scores by Dec 10)
    • Dec 12, 2026: Leaderboard checkpoint 5 (scores by Dec 14)
    • Dec 15, 2026: Phase 1 closes; final submission deadline
  • Winners of Phase 1 Announced: End of December 2026
  • Final Phase 2 Roster Due: Jan 15, 2027
  • Phase 2: Real Robot Prep + Evaluation with the Phase 1 winners, Jan 2027 - May 2027 (details TBD)

PhyRC 2027 Team

Contact

For questions about the 2027 challenge, email the organizing team at phyrc.challenge@gmail.com. We monitor this address for all challenge correspondence, so please use it rather than contacting organizers individually.

Sponsors

We would like to thank Hello Robot for generously sponsoring a Stretch 4 robot for the winning team. Hello Robot

FAQs

Registration and participation

  • How do we register, and who should register?
    • Register through the registration form. One response per team is enough. We use the email address you submit for all challenge announcements, so please make sure it is one your team checks. This form is the only way to register, and Oct 15, 2026 (11:59pm AOE) is the only registration deadline. Once you have registered, the team leader should also join the competition on Codabench, where submissions and the leaderboard live; we approve join requests.
  • Do we need a physical robot to take part in Phase 1?
    • No. Phase 1 runs entirely in simulation. We provide the simulation environments, including the human avatars, robots, and environmental objects, so a team with no robot hardware can compete in Phase 1.
  • Can we take part in Phase 1 without committing to Phase 2?
    • Yes. Phase 1 is simulation-only, and Phase 2 is run with the teams that win Phase 1, so entering Phase 1 does not commit you to travelling. Winners are announced at the end of December 2026, and if you are selected you can decide then, once the venue and logistics are confirmed.
  • What robot setup may we use?
    • A mobile manipulator, or a bimanual mobile-manipulation setup with two Stretch 4 robots.
  • How large can a team be?
    • There are no limits on team size. You are welcome to enter on your own or with a group.
  • Can we change our team members after registering?
    • Yes. You may add or replace members during Phase 1, as long as the team leader stays the same. Please have the team leader email the updated member list to phyrc.challenge@gmail.com.
  • Does the team we register have to stay the same through both phases?
    • No. What carries through both phases is the team itself, meaning the team name and the team leader; the member list can change as described above. Teams that advance to Phase 2 can update the list again, but please send us your final roster by January 15, 2027 so we can plan on-site logistics. Everyone attending the in-person real-robot evaluation must be on that roster.
  • Do you evaluate our CVs or our team's background?
    • No. We do not ask for CVs or member profiles. Evaluation is based solely on your submitted solutions, scored against the rubric in Task Details. Teams that advance to Phase 2 are asked only for practical details, such as attendee names and affiliations, for logistics and acknowledgment; these are not part of the evaluation.

Phase 1 (simulation)

  • Which simulator is used for Phase 1?
    • NVIDIA Isaac Sim 6.0.1, in a Docker image built from NVIDIA's nvcr.io/nvidia/isaac-sim:6.0.1 base image.
  • What will registered teams receive, and when?
    • Everything is available now. The challenge repository holds the simulation environment, the Stretch 4 robot assets, the policy interface, teleop tools, an example demonstration, and step-by-step guides for replicating the environment, along with the setup, policy, data, evaluation and rules documents. We have tested the setup end to end. If something does not work, please open an issue.
  • What do we need in order to develop locally?
    • Ubuntu Desktop 22.04 or 24.04 on x86-64 with a local monitor and a desktop session, an NVIDIA RTX GPU with at least 12 GB of memory, at least 32 GB of system RAM, about 100 GB of free SSD space, Docker Engine, and the NVIDIA Container Toolkit. We have not tested CPU-only machines, WSL, or remote-desktop GUIs. The full simulation peaks at about 10 GB of GPU memory, and we have run complete evaluations on a 12 GB card. Note that this 12 GB is the minimum for running the simulation on your own machine, and is a different number from the 12 GB cap on your submitted policy at evaluation time, described below. The setup guide has the full instructions.
  • Which platform will we submit our solutions to?
    • Codabench, and it is live now. We moved the challenge from EvalAI to Codabench, so there is no PhyRC 2027 challenge on EvalAI. Register on this website first, then have the team leader request to join the Codabench competition; we approve join requests.
  • What exactly do we upload, and how many times may we submit?
    • A zip with policy.py at the top level, optionally one checkpoint.* file and a Dockerfile extending phyrc-2027:isaac-6.0.1; see Task Details and POLICY.md for the interface. Codabench allows 50 submissions per day and gives 15 GB of storage per account, so submit as often as you like. Each upload gets an automatic format check within minutes, accepted submissions show Scoring until they are evaluated, and a newer accepted upload marks the previous one as superseded. Note that only the last accepted submission before the deadline is evaluated, not your best one, so make sure your final upload is the one you want judged.
  • Are there intermediate deadlines during Phase 1?
    • There is only one registration deadline and one final submission deadline, but there are five leaderboard checkpoints along the way so you can see where you stand. They are listed under Tentative Schedule. The checkpoints do not decide the winners; the final deadline is Dec 15, 2026.
  • What may our policy use as input?
    • Only the public observations: the overview, wrist and head cameras of both robots (five in total, with RGB and depth), each robot's own joint positions and velocities, base pose and velocity, gripper and fingertip state, controller targets, previous action and simulation time. You may train models that estimate garment or object state from those observations. Simulator ground truth is off limits: cloth particle positions, exact shirt, manikin or chair poses, ground-truth segmentation, collision meshes, internal grasp anchors, and the evaluator's own checks. So is changing physics, geometry, actuation limits, reset rules or the evaluation functions, and driving the scene by any path other than the action interface. Violations lead to disqualification, and we may ask you for your training code, data, checkpoints and logs. The full list is in RULES.md.
  • How is Phase 1 scored?
    • Dressing milestones earn 50 points in total, and points once earned are kept. Teams are then ranked on points per second: the dressing points excluding pickup (at most 45) divided by the time from first contact to the last milestone awarded. Each episode has a 900 s budget that covers your policy's inference time as well as robot motion. We randomize object positions and the human configuration and evaluate each submission from several randomized initial states, averaging the episode scores. The full rubric is in Task Details and EVALUATION.md.
  • Are third party libraries allowed?
    • Yes. Add them with a Dockerfile in your submission that starts with FROM phyrc-2027:isaac-6.0.1 and only installs extra packages — do not reinstall torch or torchvision, or change the version of anything already in the image. Make sure your Docker setup is configured correctly so the environment runs smoothly on the evaluation platform.
  • Does the evaluation platform have a GPU, and is there a memory limit on what we submit?
    • Yes, and yes. Our evaluation GPUs have at least 24 GB of memory, but that budget is split and only part of it is yours: the simulator takes about 10 GB, and your submitted policy is capped at 12 GB of GPU memory. Treat 12 GB as a hard limit when you design, train, and package your solution — everything your submission needs on the GPU at evaluation time, including model weights and inference-time memory, must fit inside that 12 GB. The simulator's share is not available to your policy, so please do not size your models against the full 24 GB. A submission that exceeds the 12 GB cap cannot be considered.
  • If there is a discrepancy between the score that I get locally and the score reported by the evaluation platform, does that mean there is a bug in the competition code?
    • Differences can arise from several factors. We use a set of seeded randomizations for the tasks that are not visible to participants. Make your policy as robust as possible. Additionally, simulation speeds on local computers may differ from the evaluation platform, causing slight score variations. Passing the local runner's schema checks does not certify compliance with the rules, and your local practice seeds and recordings are not the final judging data. You may submit up to 50 times a day, but only the last accepted submission before the deadline is the one we evaluate.

Phase 2 (real robot)

  • Will teams qualifying for Phase 2 have to travel to the competition venue?
    • Yes. Phase 2 is a real-world competition rather than a simulated one, so teams need to attend in person. The venue is still to be confirmed, but we expect it to be in Seoul, South Korea, alongside ICRA 2027.
  • Is the hardware provided at the venue, or do we bring our own?
    • We provide two Stretch 4 robots and the relevant environment setup at the venue, and teams should bring their own computers or laptops. Participants are also welcome to bring their own robots, and we recommend doing so: competing on hardware your team already knows is usually easier than adapting to the Stretch 4 robots we provide on site.
  • How do we deploy our solution in Phase 2? Is the provided hardware connected to the simulation environment?
    • There is no simulation in Phase 2. You run your solution on real robots to dress a real manikin. Treat your Phase 1 policy as a starting point that you will need to adapt for real hardware and real garments.
  • How many teams advance to Phase 2?
    • That has not been determined yet. The Phase 2 logistics are still being finalized.
  • When will the full Phase 2 task details and rubric be published?
    • The Phase 2 task details and evaluation protocol are still being finalized. We will announce them on this page and to everyone on the registration mailing list.

Anything else

  • Where do I report a bug in the simulator or starter code?
  • My question is not answered here.