Hacker News new | ask | show | jobs
by taco_emoji 844 days ago
I know nothing about robotics, but can someone ELI5 why the robot makes so many extraneous movements? E.g. the video that shows it moving Takis from the desk to the nightstand, it approaches the desk, and then the arm mechanism moves all the way down (an unnecessary maneuver), then rises again before reaching the level needed to pick up the Takis.
1 comments

A lot of those movements are there to zero out the axes so that each movement starts from a known good position and orients itself against the camera. Usually there's a switch that, for example, senses when the body goes all the way to the bottom, which is the origin for the whole positioning system. Several other movements are for safety since it doesn't have a bunch of cameras and really complex logic for collision avoidance so it resets to a smaller profile between moving around.

Since motors are capable of very precise movements and errors accumulate, this is a best practice when starting new movements. Humans instead have a complex hand-eye coordination system that trained all of our lives (and some people are better at it than others).

>A lot of those movements are there to zero out the axes so that each movement starts from a known good position and orients itself against the camera. Usually there's a switch that, for example, senses when the body goes all the way to the bottom, which is the origin for the whole positioning system.

Ideally the "zeroing" should be done once when the robot "wakes up" or only once in a while, and there should be digital encoders on all motors, the position should always be known within a tiny margin of error, and not enough to cause a problem for positioning. At least that's how I'd do it, I'm not sure how they built this thing.

It's always a trade-off! You could have more accurate sensors and motors that are more expensive, or you can have cheaper motors with no sensors and higher accumulated errors. Since this is more of a research project than a product, we went for a cheap robot with the slower-but-more-accurate approach.
Encoders are not that expensive and they don't have to be integrated into the motor. I've done this stuff before, it's not so costly and it really improves the entire system.