Skip to content

so_arm100 tasks' simulation is 85% ready for PR πŸ™‚Β #141

@Greenery-S

Description

@Greenery-S

βœ… Description:
After 3 weeks of learning and trying, I’ve finally built the so_arm100 tasks, including So100PickCube and So100PickCubeOrientation.

πŸ”§ What I contributed:

  • Modified the original so_arm100 MJCF to simplify collision handling
  • Created the task src code
  • Designed the reward functions β€” the hardest part due to their unpredictability

πŸŽ₯ Result video link:

download_better4.mp4

πŸ“… Next step:

  • Verify these tasks on the real robot in August
  • Improve the reward function for better training performance
  • Build two so101 arms β€” we might add more tasks after that!

I'm a PhD student at NUS working on offline reinforcement learning, primarily using the JAX/Flax stack for its efficiency and flexibility.
Previously, my work focused on benchmark performance (e.g., D4RL), but this is my first time designing and training a task from scratch.
It gave me a clearer understanding of the challenges in real-world task design β€” a valuable shift from benchmark-driven research.

Tips for beginners building custom tasks:

  • Minimize simulation cost β€” it’s always the root cause of slow JIT compilation and NaN issues!
  • Use simple geometric shapes to approximate collisions
  • Prefer implicitfast integrator with minimal solver iterations
  • Stick to JAX 0.4.35 or 0.5.x for better compatibility and performance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions