-
Notifications
You must be signed in to change notification settings - Fork 264
Closed
Description
β
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
Labels
No labels