Skip to content

Independent robotics experiments

Robotics Lab.

Robot safety, space servicing, and assembly recovery.

I build simulation prototypes around practical robotics problems. Each project pairs a working demonstration with measured results and clear limits.

Space robotics

Robotic servicing in orbit

GitHubView project: Robotic servicing in orbit

Can a robot move a computer module between bays in zero gravity?

Simulation replay
0:00–:––

The arm finds the module and secures its grip.

One recorded simulation, with 3.3 seconds of extraction settling trimmed. Motion plays at real time; a 1.5-second final still closes the clip.

Open video

Isaac Sim / Lab · PhysX · PyTorch · RGB-D perception

A loose module can drift away in orbit. A misaligned one can jam in its rack. I built this simulation to test the full transfer, from the first grip to the moment the rack takes over.

The arm pulls the module free, carries it to the next bay, and uses camera checks to guide insertion. Success requires the rack to hold the module after the robot lets go.

What I’m learning

A wider rack tolerates more misalignment during insertion, but gives the released module room to settle off-center. Reliable servicing depends on an interface that guides the part in and holds it after release.

What this tests

Mechanical transfer in simulation, with a stationary robot base and simplified locks. Spacecraft motion and electrical reconnection are outside this test.

Methods, code & limitations

Compare recorded runs

Recorded results
Previous controller5 / 862.5%
Updated controller6 / 875.0%

Target: 95% of missions

In eight matched conditions, the updated controller kept every previous success and completed one more mission. It combines a stationary base, smoother motion, and pauses for camera updates.

Evaluation details

Eight matched conditions at one seed reused during development; the larger evaluation is incomplete. Earlier results use 24 trials across three seeds. These simulation results do not establish hardware reliability.

Read the evidence

Cable robotics

Cable-aware assembly recovery

GitHubView project: Cable-aware assembly recovery

How do you retry a connection without undoing the work?

Compare replays
Simulation replay
0:00–:––

The connector approaches the socket with the cable already held in five clips.

One recorded success with exact estimates. Rendered in Isaac Sim at approximately real time, followed by a 1.5-second final still. Aggregate results are below.

Open video

MuJoCo · Python · NumPy · FreeCAD · Isaac Sim rendering

A connector misses its socket. The robot needs to try again without pulling the cable out of the clips that already hold it in place.

I compare two recovery strategies: take the largest move the rules allow, or leave the most margin before their limits. Leaving more margin completed more jobs on this rig.

What I’m learning

Rules tuned for one clip did not reliably transfer to five. Leaving more margin helped, but larger estimation errors eroded that advantage.

What this tests

Success means the connector stays seated with all five clips retained while the robot still holds it. Simulation only; no hardware safety or latched-connection claim.

Methods, code & limitations

Compare estimation errors

Recorded results
Most margin20 / 6033.3%
Largest allowed move0 / 600.0%

With exact estimates, leaving the most margin completed 20 of 60 five-clip jobs. Choosing the largest allowed move completed none.

Evaluation details

Declared error models, not real camera tests. Small: 0.5 mm socket bias, 1 mm hidden-node error, 5% dropout. Large: 2 mm, 4 mm, 20%.

Read the evidence

An open workbench

Have a robotics problem to explore?

I’m interested in tasks where a promising demo still struggles with repeatability, recovery, or safety.

Compare notes