Projects / UR10 Simulation

UR10 Arm in Zero Gravity

Personal simulation project in MuJoCo

Status
Early stage, Stage 1 of 6
Simulator
MuJoCo
Model
Universal Robots UR10
Language
Python

Overview

I'm using MuJoCo to simulate a UR10 arm operating in space. It's early: I'm setting up the first stage now, and the later stages below are the plan, not finished work.

Why this project

A robotic arm mounted on a spacecraft behaves differently from the same arm bolted to a factory floor. Motion of the arm can move the spacecraft itself, gravity is effectively absent, and there is no fixed ground truth to plan against. I wanted to explore that class of problem in simulation, starting from a simplified case and adding complexity as each stage is actually working.

Planned stages

Each stage builds on the one before it, so I'm only moving on once the current one actually works.

  1. Fixed base, zero gravity. Model the UR10 with its base fixed and gravity off to validate basic arm dynamics and control. In progress.
  2. Free-floating base. Let the spacecraft base move in response to arm motion, which changes how the arm has to be controlled.
  3. Target capture. Have the arm capture a target object with the base floating.
  4. Motion planning. Replace scripted trajectories with motion planning on top of the dynamics model.
  5. Disturbances. Add disturbances to see how robust the control approach is.
  6. Visual servoing. Close the control loop with simulated camera feedback.

What I expect to learn

  • How rigid-body dynamics change in a zero-gravity, free-floating environment compared to a fixed base
  • How base motion coupling complicates control of a mounted manipulator
  • Practical experience setting up and validating a physics simulation in MuJoCo
  • The basics of motion planning under a more complex dynamics model