Introducing 𝗥𝗼𝗯𝗼𝗣𝗶𝗮𝗻𝗶𝘀𝘁 🎹🤖, a new benchmark for high-dimensional robot control! Solving it requires mastering the piano with two anthropomorphic hands.
This has been one year in the making, and I couldn’t be happier to release it today! Some highlights below:
Implemented a really neat ML algorithm called Neighbourhood Components Analysis in
@PyTorch
. It allows you to learn a linear transformation of your dataset that maximizes the performance of kNN. For high noise variance datasets, it handily beats PCA.
JaX is def faster than PyTorch in every use case I've tried, but pretending like it's easier to use & write is a bit disingenuous. Just spent way more time than I expected writing a simple MLP class. Much simpler and you can print the model to debug it in PyTorch
I unofficially took cs231n in my free time as an undergrad, poring over the amazing notes and videos
@karpathy
and
@drfeifei
had publicly released. Now 4 years later, I get to (officially) TA what has become one of my favorite courses of all time! Dreams really do come true 😁
The MuJoCo team just released a touch sensor using the new plugin API. It essentially aggregates all contact forces into an array of rectangular pixels to create an image.
Here's a braille demo from the amazing
@yuvaltassa
:
As promised, the new blog post is live: "kNN classification using Neighbourhood Components Analysis". Had a blast writing this one and making the visualizations.
Ben Katz's thesis is full of golden nuggets. In particular, I discovered today he had a really cool bilateral teleoperation system using two Mini Cheetah legs.
Would be kind of cool to create a financial model where PhD students can write high-quality research code and maintain it (e.g. for new pytorch version) and get sponsored for it. GitHub already has the tooling in place 🙂
Life update:
I’m super excited to share that I’ll be joining
@Berkeley_EECS
as a PhD student next fall! Looking forward to tackling fun robotics problems with
@pabbeel
for the next few years 🤖 🧠
I tried doing IK for a shadow hand the first year of my PhD and utterly failed. Took me 5 minutes to set it up with my new diff IK library and it works out of the box at > 1 kHZ.
MuJoCo 3.1.6 has just been released! MJX now comes with out-of-the-box support for height fields. Check out this joystick policy that
@the_real_btaba
trained (~2M steps per second on an A100).
Colab to reproduce:
Introducing MuJoCo 3.0: a major new release of our fast, powerful and open source tool for robotics research. 🤖
📈 GPU & TPU acceleration through
#JAX
🖼️ Better simulation of more diverse objects - like clothes, screws, gears and donuts
💡 Find out more:
Just released a MuJoCo implementation of end-effector control with differential inverse kinematics. It's blazing fast, super readable, has 0 external dependencies and best of all, it's just a few lines of code:
Still in progress but I've implemented Hyperband, a hyperparameter tuning algorithm, for
@PyTorch
. Currently supports fully-connected nets, conv nets coming soon. Should be useful for Kaggle competitions.
@geoffreyhinton
"If self-driving cars cut the roughly 40,000 annual U.S.
traffic fatalities in half, the car makers might get not
20,000 thank-you notes, but 20,000 lawsuits” - Russel et al 2015
Super stoked to release the very first episode of my Casual Robotics podcast: "Progress Towards General Purpose Robots" ft. the brilliant
@ericjang11
and
@peteflorence
.
It was a blast collaborating with the MuJoCo team on this project 🥳🤖! High quality models are going to be crucial for deploying sample-efficient algorithms in the real world. Looking forward to these robots being put to good use and for exciting community contributions!
Today was my last day as a student researcher at
@GoogleDeepMind
. It was a privilege to work again with
@andyzeng_
and
@peteflorence
on RoboPianist, exploring and pushing the state of the art in bimanual dexterity. With RoboPianist, I was introduced to the world of simulation and
Looks like I have something to keep me busy this summer 😁 A gem of a class: "Neural Net Training Dynamics" with high quality slides, notes and Colab notebooks using jax.
📣 I've generated MuJoCo models for all 1030 objects released in Google's Scanned Objects dataset and made them available at
The XML files are licensed under MIT, assets retain their original CC-BY 4.0 License.
Increasingly feels like the only way to make non-trivial contributions in AI is to a) share and use the same battle-tested infrastructure and b) work with a diverse full-stack team where you can interchange ideas, datasets, models, and tricks of the trade..
Gato🐈a scalable generalist agent that uses a single transformer with exactly the same weights to play Atari, follow text instructions, caption images, chat with people, control a real robot arm, and more:
Paper: 1/
Meet Grand Teton, Meta’s next-generation platform for AI at scale! This year at OCP Summit 2022, we’re announcing Grand Teton, plus new innovations we’ve designed to support data centers as they advance to support new
#AI
technologies.
Get more details:
How can robots 🤖 learn from videos of humans, especially when humans perform the same task in different ways?
A 🧵 introducing our
#CoRL2021
paper "XIRL: Cross-embodiment Inverse RL".
Website & code:
1/
OpenAI shut down their robotics division to focus on more $ bets (generative modeling / GPT-N). Now those bets are directly driving or inspiring advances in robotics (socratic models, saycan) 😂
Safe bimanual control on ALOHA, powered by mink. Here I'm specifying collision avoidance between 1) left and right arm, 2) each arm and the 80/20 extrusions and 3) each arm and the table.
(yes laptop hiccuped a bit due to the sheer amount of collision computation, but I can
How can we learn a reward for robotics tasks solely from diverse videos?
Introducing GraphIRL, a self-supervised method for learning a task reward w/ a graph abstraction from videos.
No manual reward design is required for goal-conditioned-RL!
(1/n)
Spent the break writing a research-friendly API for PyBullet, similar to `dm_robotics`. Nowhere near finished but wanted to share some images as I work through it in my downtime this year.
LLMs encode 1D tokens, vision transformers encode 2D image patches, but what's the right formulation for 6-DoF manipulation transformers?
Maybe 3D voxel patches?
🧵Checkout our
#CoRL22
paper – PerAct👇
Paper & Colab:
I’ve been working with MuJoCo + dm_control full-time for the last 2 months, and it’s been an absolute pleasure. Completely sold! So much respect for
@DeepMind
’s clarity of thought and foresight re:the API design. Will write up a blog post at a more appropriate time!
As the UR5 wrist approaches the cube, the collision avoidance constraint scales down the velocities in the IK solver to produce a nice damping effect. Without it, the robot rams into the cube producing very large forces.
So my PhD friend
@smithlaura1028
has been casually using a reset policy she trained in simulation with reinforcement learning 2 years ago 🤯!! I couldn't believe it was a learned policy when I first saw it. See for yourself 👇
Woke up to an amazing email today — I’ve been named 2021 Centennial TA for teaching contributions to CS231n ☺️
Been an absolute pleasure to TA the class for
@RanjayKrishna
,
@danfei_xu
and
@drfeifei
these past 2 years - super humbled and happy!!
Found some free time to release a library I've been using for the last year to abstract away some PyTorch boilerplate. It's pretty lean and only meant to make my research projects cleaner and more reproducible.
First, if you enjoyed the video above, we have a live demo that runs MuJoCo in your browser using Javascript and Web Assembly! You can accompany the robot (drag the keys down), or be adversarial and tug at the fingers 🙃
New blog post: "Representation Matters" How cleverly designing your state and action space can give you orders of magnitude more sample efficiency in imitation learning.
The dedication and attention to detail in the appendix of the RGB Stacking paper by the robotics folks at Deepmind is insane 🤯 A window into the complexities and engineering efforts that come with real-world robot evaluations..
couldn’t wait / was working on docs/tutorials to build simulated tasks so went ahead and did the first step, add the assets in
next up is adding that reorienting fixture, then motion planning solution maybe to generate demos
MuJoCo 3.0 has gotten significantly better at simulating deformable materials and it beats NVIDIA Flex and other simulators in this project. Congrats
@TheSmallQuail
!!
Interested in deformable objects, cloth manipulation or simulation engines?
We have evaluated the Sim-to-Real gap in
@GoogleDeepMind
MuJoCo, Bullet,
@nvidia
Flex and
@SofaFramework
SOFA on dynamic and quasi-static cloth manipulation!
Do you want to know more? Scroll down! 🧵
Life update: I'm spending the summer in NYC as a student researcher in Brain, hosted by the wonderful
@andyzengtweets
and
@peteflorence
. Excited to work on and push the frontiers of dexterous manipulation 🤟
I've been working with huge numpy arrays the last few days and it's made me realize how crappy my normal numpy style is. v1 is what I would have done previously because it's more readable. But v2 is giving me an almost 3x speedup which is insane.
If you're using MuJoCo and want to play with this dataset, I've made a tool that automatically processes OBJ files and generates XML files for you:
Here's obj2mjcf in action using 2 objects from this dataset:
Presenting the open-sourced Scanned Objects dataset, a curated collection of over 1k 3D-scanned common household items that realistically reflect object properties, like mass, resulting in a more realistic simulation. Learn more about this effort →
Dove into a new area at the beginning of the year: dexterous hand manipulation. It's been incredibly gratifying to learn new things on the daily: new simulator (MuJoCo), inverse kinematics (differential & QP), and now motion capture and retargeting (little bit of Blender) 😀
Looking forward to present RoboPianist in Atlanta for
#CoRL23
this week! DMs are open in case you want to talk robotics, MuJoCo or anything else.
• Poster session 3 (4:15-5:00 PM)
• Updated paper:
Introducing 𝗥𝗼𝗯𝗼𝗣𝗶𝗮𝗻𝗶𝘀𝘁 🎹🤖, a new benchmark for high-dimensional robot control! Solving it requires mastering the piano with two anthropomorphic hands.
This has been one year in the making, and I couldn’t be happier to release it today! Some highlights below:
It's so inspiring to see OpenAI just push better and better models to their API and actually productionize all these amazing models they've developed over the last few years.
L take. BD was doing the impossible for a few years and pushing the state-of-the-art on many fronts. Now all of a sudden what they did was gimmicky because a few startups started doing teleop and "re-invented" 2015 results to the public eye.
Atlas
@BostonDynamics
is finally doing tasks that are actually useful!! I'm much more excited by this than parkour and backflips in the past. From the first person view, it looks like Atlas is estimating the pose of the object and its own hands (with a digital twin overlay),
Pre pandemic: We leave real world robot experiments for future work
In pandemic: due to covid-19, we limit our experiments to simulation
Post pandemic: Because of the pandemic, we forgot how to use real robots + takes too much time. As such, we stick to simulation only
I'll be joining X
@Theteamatx
as an AI Resident this summer, working on the Everyday Robot Project. Super excited to make progress on teaching robots to be useful in our messy everyday lives.
Finally got around to moving my RL stack exclusively to dm_env (no more gym) and "I've never felt better. I have more energy. My skin is clearer. My eye sight has improved." 😉
@RogerGrosse
@hardmaru
That’s a sweeping generalization imo. And I don’t think it’s too much asking to do a bit of hard thinking about potential misuse/negative impact of the work you’re submitting. It’s academia as you mentioned, go discuss it with your neighbors studying just that..
Unsupervised learning has been super fun to watch in the last 6 months. MoCo a few months back, then SimCLR last month, and now MoCo v2 borrowing two improvements from SimCLR (data augmentation + projection head) to retake the crown.
Want to make your inference code in PyTorch run faster? Here’s a quick thread on doing exactly that.
1. Replace () with the ✨torch.inference_mode()✨ context manager.