HN user

MahiShafiullah

427 karma

Postdoc at Berkeley AI research.

Previously at NYU Courant, Facebook AI Research and MIT.

Web: https://mahis.life

Email: nmmahi at gmail dot com

Twitter: https://twitter.com/notmahi

Posts3
Comments37
View on HN

User fishbotics already answers a lot of these questions downstream, but just confirming it here as an author of the project/paper:

- How does it know what objects are? Does it use some sort of realtime object classifier neural net? What limitations are there here?

We use Lang-SAM (https://github.com/luca-medeiros/lang-segment-anything) to do most of this, with CLIP embeddings (https://openai.com/research/clip) doing most of the heavy lifting of connecting image and text. One of the nice properties of using CLIP-like models is that you don't have to specify the classes you may want to query later, you can just come up with them during runtime.

- Does the robot know when it can't perform a request? I.e. if you ask it to move a large box or very heavy kettlebell?

Nope! As it is right now, the models are very simple and they don't try to do anything fancy. However, that's why we open up our code! So the community can build smarter robots on top of this project that can use even more visual cues about the environment.

- How well does it do if the object is hidden or obscured? Does it go looking for it? What if it must move another object to get access to the requested one?

It fails when the object is hidden or obscured in the initial scan, but once again we think it could be a great starting point for further research :) One of the nice things, however, is that we take full 3D information in consideration, and so even if some object is visible from only some of the angles, the robot has a chance to find it.

No, although it has some of the same people on the team (aka I'm the first author there, and my advisor is advising both projects :) )

The primary difference is that this is zero-shot (meaning the robot needs 0 (zero!) new data in a new home) but has only two skills (pick and drop); where Dobb-E can have many skills but will need you to give some demonstrations in a new home.

Second that. Something I put out recently had an (admittedly video heavy) webpage that had 1TB of traffic over the past month. Cloudflare handled it for free for me, but at ArXiv’s scale it’s bound to be a problem.

I am glad you mentioned automobiles! They are among the most heavily engineered everyday product that we use every day, and this engineering and cost optimization has been going on for close to a hundred years now. So, I would read this same statement as "$20k and 100 years of engineering gets us a lot" rather than "$20k gets us a lot". I am hoping better engineering and the wonders of modern supply chains will get us a home robot at 1/10th of the current price when the time is right.

Smaller robots are unfortunately limited in how much force/torque they can apply and how high they can reach, two factors that we found can severely limit the applicability of a home robot. As a result, unfortunately, we don't have much plans for extending to a smaller robot at this moment.

However, all of our designs are open source! So if you or someone else is interested, it could be a fun weekend project to design a "Stick" equivalent data collection tool for the XGO CM4. I would love to see how that turns out.

For the iPhone with the depth sensor cinematic format from the standard camera app seem to contain depth/RGB/traj. Maybe a candidate format. Also it’s much easier to operate standard camera app.

I agree with you there. My impression was that the cinematic format is closed, unlike .r3d which is a bunch of open format files in a .zip. Do you know whether Apple has published the specs for the cinematic video format anywhere, or if there are there good libraries for handling it?

I am sorry, what problems are you facing? I tested it with Safari on both my phone and laptop just now and couldn't find an issue, so I would really appreciate it if you can reply here or (more appreciated) email me with images etc. on the email listed on my profile.

I much appreciate your heads up, and thank you for taking your time on this.

I discuss this a little bit on another thread: (https://news.ycombinator.com/item?id=38461559)

But the tl;dr is that building prototypes is pricey, and the cost should definitely come down once the community moves from prototyping to mass-producing robots.

Hello Robots (the company behind the Stretch robot we're using) is also trying to bootstrap and build a sustainable product rather than blitzscaling and burning out fast [0, 1, 2] for which I respect them a lot. It's all too common of a story in robot world where have a great company showing lots of promise and then a year or two later they shut down after burning through investor money. I don't want to see it repeat.

[0] https://techcrunch.com/2018/07/25/mayfield-robotics-ceases-p...

[1] https://www.theverge.com/2023/2/24/23613214/everyday-robots-...

[2] https://www.theverge.com/2019/6/19/18682780/jibo-death-serve...

Tool usage is one of the next ideas we would like to explore; because, if you think about it, the reacher-grabber that is currently used as an end-effector is just another tool.

If we can switch between tools quickly we can possibly unlock a wide range of applications: imagine a robot that can switch arms from a whisk to a spatula to a duster to to a mop all over the course of preparing a meal, and then switch to a screwdriver or a wrench for fixing something afterwards. Will take work to design modular parts like that, but the end result can be quite exciting indeed.

Great observation!

Right now we rely on the out-of-the-box Hello Robots controller [0] implementing position control. Since our policy only predicts a single position into the future at a time, the motion ends up being either jerky and fast, or smooth and slow. Improving on the controller is probably one of the highest ROI improvements we can make moving into the future.

[0] https://github.com/hello-robot/stretch_body

OpenEXR looks very interesting! Especially if OpenEXR can compress depth data nearly as efficiently as we can compress image data by making everything a video, it would be a game changer. For example, our RGB dataset is 814 MB right now while the RGB-D dataset is 77 GB, even though depth "just" adds one new channel to our data.

The robot can carry small weights on its own, yes, although it's way more stable when the arm is retracted closer to the body.

Pick-and-place style problems are one of the earliest tried on our robot platform, Hello Stretch, which is why this project doesn't spend too much time on it. You may enjoy something like the OVMM project [0] which focuses entirely on open-vocabulary pick-and-place problems: "Pick up $A from $B and put it in $C".

[0] https://ovmm.github.io/

We don't want any private information, so currently we are manually going over every new demo to make sure private data (face, hands, any other identifying information) doesn't get included in the dataset. Pretty hard to "blitzscale" this way, but I personally think doing it right is more important.

Thank you for the suggestions!

1. I'm ordering a microscope mount right now! We went with 3D printing because we could get a very good coupling between the stick and the robot mount. See this figure for a comparison: https://i.imgur.com/vWopcFB.jpeg

2. Our dataset (and dataset export code) gives the depth as numpy files and trajectory information in a JSON file with calibration and trajectory information! The r3d export format from the Record3D app we used is simply a .zip file with renamed extension so we were ok with using it. Do you have suggestion as to which cinematic format you are thinking?

Water!

Our robot-and-phone setup is not very safe around liquids haha. Hopefully the hardware experts among us can solve that problem sooner than later.

We are also working on learning multi-stage skills, and early results are promising (See section 4.1 on the paper). However, with multiple steps the chances of failure also goes up, so that's something we will have to make more robust :)