3 ms·
I'd like some feedback from those in the know. It seems to me we've been building "robots" since the industrial revolution. An assembly line is a series of "ro
by vitiral 2y ago
I'd like some feedback from those in the know.
It seems to me we've been building "robots" since the industrial revolution. An assembly line is a series of "robots" performing highly specific actions on highly constrained inputs.
So for "learning robotics" I would personally recommend starting with something like assembly lines. Highly constrain your inputs and limit what the robot is supposed to accomplish and you will have an achievable goal.
You wouldn't teach programming by telling someone to write a highly scalable dbms, neither should we teach robotics by creating a general purpose "6 degrees of freedom" robot which can grab any object and do something useful with it.
Does this resonate with anyone else or am I alone here?
- bigger_cheese 2y ago>Highly constrain your inputs and limit what the robot is supposed to accomplish and you will have an achievable goal. I think this is the key take away. I work in an industrial plant we have a large amount of things that are automated but I would say they are "dumbly automated". For example we have automated cranes. This sounds fancy and sophisticated but the whole system is designed to be as dumb as possible. The Cranes are overhead cranes that run on fixed rails. This immediately limits the degrees of freedom in which crane can move. The whole operation is to pick up object at location A, deposit it at B then travel back to A and repeat. It is always picking up the same objects, with same dimensions/weight etc. The whole thing is designed to be as dumb as possible it does exactly one thing, I imagine if it suddenly had to pick up a different type of object with different dimensions it would require rewrites etc.
- spieswl 2y agoBackground: Started in industrial automation (lots of Fanuc, Yaskawa, Omron, etc.), built a lot of cool systems with cool people that made things with robots. Pivoted to "general" robotics in grad school. Been spending the last 5+ years making "general" robots. I think the best thing for learning robotics looks pretty similar to learning a programming language: Have a specific task in mind that the robot/programming language will help you solve. Even if its just a pick-and-place and a camera, or a shaker table with a camera over top, or a garden watering timer/relay combo. Just work on something specific with your toy robot and you'll naturally encounter much of the difficult things about robotics (spatial manipulation, control, timing, perception, drivers (GODDAMN DRIVERS), data, you name it). Going right to a high-DOF arm or trained LLM is always cool, but the person who hacks together a camera/relay/antenna to automate some gardening task or throws some servos and slides together to make a Foosball robot is doing the most interesting things, in my opinion.
- vitiral 2y agoI like this! I think the hard part can be finding projects that are both interesting and achievable for the beginner.
- kvmet 2y agoYeah and industrial robots are generally pretty easy compared to other parts of automation. They are pretty much turnkey and have a bunch of options for integration. That's not to say that they don't take any skill, but if you're doing material handling or welding or something you can often just buy the entire package from <robot company> and apply power and it works. It does all of the advanced kinematics math for you; you will be better at robots if you understand the math but it isn't a requirement and the vast majority of people programming, maintaining, and working alongside them don't know the math behind it. It always bums me out when people just want to look at a pretty robot drawing a line or picking up a heavy thing and ignore much more complex and difficult parts of factory automation.
- pixl97 2y ago>It always bums me out when people just want to In school people will say things like "I want to program video games!" and you never hear "I want to work for a bank and file 100 lines of paperwork for every line of code I write", but at the end of the day that bank job and that industrial robot job are the ones that typically pay a living and what most of those people that play around with the stuff and end up in the industry do at the end of the day.
- jerf 2y agoOne of the problems with being a beginner is an inability to tell which projects are easy and which are hard, especially if you're doing a "real" project, which is to say, one of your choice from some real problem you have in life, rather than some pre-selected project just for the project's sake. I've encouraged my kids to use their school years to try out lots of different things, and a consistent theme in all of them is getting them to just scale down their first try. Do not expect to replicate Minecraft. Do not expect to film a feature-length special-effects movie. Do not expect to create a dishwashing robot. Do not set out to write a decalogy high fantasy series. etc. The beginner doesn't know what they don't know. Robotics has the particular problem that small-scale robotics are often frankly just not that useful. It's been a problem with the field for a long time. The learning curve is quite steep with robotics, and given that the beginner is likely to destroy some equipment along the way, expensive. There still isn't really that much the field can do about that right now. It's better than it used to be, but it's still pretty hard.
- pixl97 2y ago>is an inability to tell which projects are easy and which are hard https://xkcd.com/1425/ https://xkcd.com/1425/
- dagw 2y agoOf course the funny things with that cartoon is that today the 'hard' task is just as easy as 'easy' task, if not easier. Which I guess only goes to show that not only is it hard to tell what is easy and what is hard, it is equally hard to tell which 'hard' tasks will remain hard and which will become trivial in a few years time.
- krisoft 2y ago> it is equally hard to tell which 'hard' tasks will remain hard and which will become trivial in a few years time. The comic was published in 2014. That is 10 years ago as I'm writing this. Maybe it is just that Ponytail got the research team and the five years she asked for. :)
- eschneider 2y agoOk, robots are my day job. :) General purpose robots that are useful for any purpose in any environment are incredibly hard to impossible. But, if you constrain either the environment they have to work in, or the actions they have to perform, things get a LOT more manageable.
- vitiral 2y agoyup, that was pretty much my point/question. Thanks for confirmation!
- krisoft 2y ago> So for "learning robotics" I would personally recommend starting with something like assembly lines. That depends on what you want to learn. In assembly lines the solution very often is to constrain the inputs and limit variability on conditions. If that is what you train on that is what you will learn. You will have 101 tricks on how to QA the inputs and how to maintain the same grippyness on surfaces and so on. Which is great if that is what you want to do. But if what you want to learn is how to make robots which can adapt to varying circumstances your best bet is to try that. In examples where failure is less costly and you can iterate quickly. Also "robotics" is not a single thing. Even just the computer stuff has many subfields (localisation, perception, calibration, tracking, prediction, planning, control, etc etc). When learning your best bet is to pick a few of these and assume that the other things are either solved or pick a challenge where they are not needed. :) Not talking about all the "sibling subject" like electrical engineering, mechanical engineering, thermal engineering, fluid dynamics, etc. Cool cutting edge stuff usually requires innovation in more than one of these. When you look at the latest Boston Dynamic video we all marvel at the exquisite control they demonstrate. But they also have to cool their actuators the right way otherwise the whole thing will just melt. As a learner your best bet is to pick a stable platform made by people who know what they were doing and colour inside the performance envelope of that machine. What you make will probably won't break the state of the art but you will still learn a ton.
- michaelt 2y ago> It seems to me we've been building "robots" since the industrial revolution. An assembly line is a series of "robots" There is no single, clear definition of what a 'robot' is, as normal people use the term. The moment you write a definition broad enough to encompass a roomba, an industrial robot arm, and a child's toy robot you'll find you've also included cruise missiles, 3D printers, remote control cars and Ming dynasty naval mines.