[HN Gopher] The Mythical Non-Roboticist: Wouldn't it be great if...
___________________________________________________________________
The Mythical Non-Roboticist: Wouldn't it be great if everyone could
do robotics?
Author : rbanffy
Score : 161 points
Date : 2024-06-10 09:02 UTC (13 hours ago)
(HTM) web link (spectrum.ieee.org)
(TXT) w3m dump (spectrum.ieee.org)
| securam wrote:
| Stop making up new titles. And stop these demands.
| eitland wrote:
| More generally, stop copying the smallest-common-denominator
| DX/UX of <famous mass market product> when designing for other
| markets.
|
| I recently overheard a very smart user struggle to find how to
| mute a group in Teams.
|
| And while I get it that the context menu is probably less
| "cluttered" if one doesn't include "mute", and I get that there
| might be confusion if someone mutes a channel without being
| aware, I still want modern UX to stop and think.
|
| When decluttering means you end up having to search the internet
| for a recipe as to what place to click to find which flydropping
| menu, was it worth it?
|
| Or when your userbase consist of people who go out of their way
| to avoid Chrome, maybe stop and think if copying Chrome at every
| step is a good idea?
|
| Same goes for a certain distro that at some point thought that
| their users was just people who couldn't afford Macs and threw
| out an IMO rather well functioning Gnome 2 setup for a what I
| consider a clone of the desktop of Mac OS X that had almost all
| of the problems from Mac OS X but unlike couldn't run Mac OS X
| software.
| p_l wrote:
| Teams has probably worst notification handling in my experience
| out of all major systems in that space.
|
| It's not just muting, it's that it's either going to show me
| big honking unread counts begging for my action, or I have to
| mute the channel and _As Far As I Know_ mute all notifications
| from it, even when someone explicitly pings me.
| marcosdumay wrote:
| You can get a notification when someone explicitly pings you
| by enabling an activity for it... (yeah, I know)
|
| My issue is stuff like it disabling notifications on the
| desktop because I turned my phone face-down, or meetings
| disappearing because... well, I have no idea why. And it
| delaying messages for hours, again no idea the reason.
| p_l wrote:
| Interactions between desktop and phone app were a whole
| extra kettle of electric eels.
| shrimp_emoji wrote:
| It has all the worst everything in my experience out of all
| major systems in that space.
| Uehreka wrote:
| > Same goes for a certain distro that at some point thought
| that their users was just people who couldn't afford Macs and
| threw out an IMO rather well functioning Gnome 2 setup for a
| what I consider a clone of the desktop of Mac OS X that had
| almost all of the problems from Mac OS X but unlike couldn't
| run Mac OS X software.
|
| Ooh! Ooh! Lemme guess! Are we talking about... Deepin Linux? Or
| is it Elementary OS? I hope it's not Pop OS, I'm on that now
| but haven't seen COSMIC yet
| AnonCoward42 wrote:
| My guess would be Ubuntu or Fedora and Unity/Gnome 3
| respectively. Not that I share the hate, but Gnome 3 is
| certainly closely designed around some distinct Mac OSX
| design elements (app overview, handling of workspaces, and
| such).
| rizzom5000 wrote:
| > I recently overheard a very smart user struggle to find how
| to mute a group > you end up having to search the internet for
| a recipe as to what place to click to find which flydropping
| menu
|
| I remember when software was supposed to remove pain points in
| my life, but now I'm not so sure. I often contemplate whether
| switching from Spotify to the CD player in my car will save me
| time, but I'm fairly certain it will save me aggravation.
| Aerroon wrote:
| I've had the same thought about alarms.
|
| Back in the day I had an alarm clock. I set it to go off at a
| specific time and it did. The only failure mode was the
| battery running out.
|
| Then I got a Nokia phone. It worked the same as the alarm
| clock, but I could even set myself notifications and what
| not. Worked great!
|
| Then I got an Android phone and sometimes the alarms just
| wouldn't work.
|
| And now today I'm using another Android phone and I give it
| about 80-20 odds that the alarm works correctly. Sometimes it
| doesn't work at all. Sometimes it does a quick alarm for a
| few seconds and stops. And I don't know why.
|
| Notifications on this are even worse. Sometimes the
| notifications are so unnoticeable that sitting next to the
| phone with headphones on will not actually alert me to the
| notification.
|
| I don't see others ever complain about it so I feel like I'm
| somehow missing something big but I don't know what.
| Notifications and alarms on modern phones seem extremely
| unreliable to me.
| jspash wrote:
| If I had a choice between my mom's 30+ year old windy-uppy
| egg timer vs. the abomination that is the digital interface
| on my stove, I would take the egg timer every single time.
|
| Unfortunately my sister keeps stealing it (back) every time
| she visits!
| BolexNOLA wrote:
| The iPhone alarm app is an oddly circuitous process as
| well. I just don't ever trust that I've set it correctly.
| Just let me type the time and move on. It's also unclear if
| silent mode will override the alarm having sound.
| bqmjjx0kac wrote:
| I have a recurring problem where my Apple Watch won't
| sound the alarm if my sleeve or blanket is covering the
| screen. Like it won't even do haptic feedback. This has
| made it utterly useless as an alarm that's supposed to
| wake me up.
| MrZander wrote:
| I have been using the stock alarm app on an Android phone
| daily for at least 10 years and I've never once had it not
| work as expected.
|
| I can't fathom how it could possibly be failing that often
| for you.
| sandworm101 wrote:
| Time zones. I've had trouble while traveling when my
| phone decides to change time zone, shifting the alarm
| times unrequested ways. I would appreciate a phone that
| could properly understand GMT in a way that would allow
| me to set an alarm at a specific GMT time regardless of
| which timezone I step into. (yes, I am sure there are XYZ
| apps that can do this, but I don't see why the base OS
| cannot handle this without installing more apps.)
| sitkack wrote:
| > I can't fathom
| owendlamb wrote:
| I encountered this kind of inconsistency with my Android
| phone, too (Samsung Galaxy S22). I think every time my
| alarm failed to go off it was because the phone had
| automatically updated its OS and restarted overnight, and
| background apps like the alarm wouldn't run until I
| entered my pin to finalize the phone's startup process.
|
| I've usually used my $3-4 alarm clock for waking me up in
| the morning, and then my phone timer for naps.
|
| Now that I just took a closer look, I was able to find a
| way to disable automatic updates on the phone. (I had to
| find and tap "Software update > System Update Preferences
| > Smart Update" in the Settings app.) But I like the
| alarm clock, so I'll probably keep using it anyway.
| Better that my phone isn't the first thing I interact
| with every day.
| 83 wrote:
| Same here, switched to a physical alarm clock after
| inconsistent alarm behavior post OS updates on my Samsung
| S22.
|
| I disabled Smart Update after reading your post but
| considering my phone used to prompt me to update, then
| started doing them on its own - I wouldn't trust that
| setting to stick.
| TeMPOraL wrote:
| I have S22 but don't use alarms much. However, my wife
| has S23, and this very issue is something I've been
| banging my head on just last week! Her alarm clock would
| occasionally not ring, but instead the phone would give a
| few beeps. My wife has a bunch of stacked alarms in 10 to
| 30 minute intervals, and I've listened to all of them
| going "beep beep beep <dead>".
|
| I don't know what's going on there; I've read hints that
| for some people, their phone thinks it's in a call, and
| manifest such behavior in that situation. Some reports
| blame Facebook Messenger. What I know for sure is that it
| isn't restart or update related.
|
| And yes, it's beyond ridiculous for this to be happening
| in the first place. It might just become a poster child
| of how _idiotic_ tech has become. For the past decade or
| so, it feels that each generation of hardware and
| software, across the board, is just fucking things up
| more - even things you thought were so simple and well-
| understood you couldn 't _possibly_ fuck them up, like
| alarms or calculator apps.
| michaelt wrote:
| One thing that Apple has got right with the iphone is:
| every time it's installed an update over night,
| restarted, and is waiting for me to enter my PIN to
| unlock it, the alarm _still worked_.
| bongodongobob wrote:
| You must be missing something. I've never had my alarm
| fail. Are you accidentally muting the alarm volume somehow?
| Aerroon wrote:
| No idea. How would I find out that I've set all of the
| knobs correctly?
|
| That's kind of the problem I think.
| bongodongobob wrote:
| It's right along side the other volume controls.
| marcosdumay wrote:
| A long time ago, on my first Android phone, the alarm used
| to fail on me.
|
| Since then, all of the failure modes I knew about were
| fixed. Now I think the only thing that makes an alarm fail
| on Android is if you run out of battery charge. Of course,
| that doesn't make me any less paranoid about it.
|
| But anyway, the notifications seem to only get less
| reliable with time.
| jvanderbot wrote:
| My father was in the hospital recovering from a heart
| attack. We were staying with him in shifts, and when I was
| "off", I watched the last episode of succession. I made
| sure my phone was on the chair next to me and the
| notification / volume was all the way up.
|
| After the episode he was dead and I missed the whole thing
| b/c somewhere along the way "press volume button at home
| screen until it was full" did not actually turn
| notifications on anymore. I've never been so mad at UI/UX.
|
| Turning on ringer / notification volume requires pressing
| volume button once, then clicking the equalizer, then
| dragging the notification volume up to desired level.
| There's no indication anywhere that notifications are
| silenced. I have a google pixel 4.
| chefandy wrote:
| If you ask any UI or UX designer about the interface of Teams,
| absolutely zero will say it's good. You're giving it the
| blessing of designers based on your assumption that designers
| approve of MS UI and UX practices. They don't. Sure, some
| flagship products are pretty decent, but they've famously
| sucked at UI (and all other sorts of) design since forever.
| Here's one (made by an MS designer as a joke) from 2006 talking
| about their entirely marketing-department-driven packaging
| design: https://www.youtube.com/watch?v=EUXnJraKM3k
|
| We use SO MANY interfaces every day-- every screen on every app
| and every webpage you use... text messages, ATM, ordering
| terminals, shopping carts, ad infinitum-- and using those is
| almost universally intuitive enough to be invisible. Designers
| use things like implied lines, gestalt, type variance, value
| contrast, and things like that to make a sane data hierarchy
| and give users signals for what's happening in the program and
| what they need to do to influence that. Good practices say they
| should then test and refine their designs for various kinds of
| users to make the best interface possible. If the UI design is
| invisible and users can just solve their problem without having
| to think about it, that's good design.
|
| When design "sticks out," it's usually for the wrong reasons.
| While bad designers exist, 99% of all "bad design" decisions
| cited by developers when talking trash about modern UI design
| were probably not made by designers-- they were likely made by
| project managers or developers that insisted their way was
| better, or they didn't need to check with the designer to
| modify something because they can make it "looks designed." If
| the interface looks "cluttered", they might remove useful
| things probably just needs to be organized. That's bad design.
| AlotOfReading wrote:
| I don't get the point of this semantic distinction between
| the people producing (bad) designs and the ivory tower label
| you're calling "designers". If they're producing designs, are
| they not designers too?
|
| If none of the people with the title "designer" are
| meaningfully impacting products, who's employing them and why
| do they not have the same obligation other technical experts
| have of ensuring that meddling managers are steered in the
| direction of correct decisions?
| causal wrote:
| Designers try? It's not like engineers can always prevent
| bad management from interfering with good product
| injidup wrote:
| Honestly this feel like trolling. Right click on any group in
| teams and the _channel notifications_ option is there which
| brings you to this UI
|
| https://i.imgur.com/z8BnaTn.png
|
| I question how smart this "very smart user" actually is.
| TeMPOraL wrote:
| Well, I use Teams daily at work, and it's the first I see
| this particular panel, so _shrug_.
| MR4D wrote:
| > When decluttering means you end up having to search the
| internet for a recipe as to what place to click to find which
| flydropping menu, was it worth it?
|
| Strong disagree here - let me use a real world example.
|
| On older Lexus models, the car stereo screen had play and pause
| buttons.
|
| It always bugged me. Why have BOTH a play button and a pause
| button? The play button doesn't do anything if you click on it
| when a song is playing, and the pause button doesn't do
| anything if the song is already paused.
|
| What Lexus should have done instead was have one button that
| changes state depending if something is playing or paused. It
| would take up less screen space and less cognitive load trying
| to move the cursor while I'm driving 75mph.
|
| And on a personal note, Teams is a horrid interface. But I'm
| not here to argue that today.
| blowski wrote:
| Original title:
|
| > The Mythical Non-Roboticist: Wouldn't it be great if everyone
| could do robotics?
|
| Not sure why it's been changed here.
| rbanffy wrote:
| The bookmarklet uses the HTML title, so that might be the
| issue.
| rbanffy wrote:
| Adjusted.
| ilayn wrote:
| It is sad to see that IEEE is becoming the discovery channel of
| engineering.
| GuB-42 wrote:
| Why are you saying this? It is a message from people who
| program robots to those who design robots. Both groups are
| (mostly) made up of professional engineers for which API design
| affect their job.
|
| It is not an article intended to those who know nothing about
| robotics and are unlikely to become roboticists as it would be
| the case for a "discovery channel" type article. Note that I
| have nothing against pop science, quite the opposite actually.
| But this isn't that.
| ModernMech wrote:
| > It is a message from people who program robots to those who
| design robots.
|
| I thought it was a message from someone who designs robots to
| someone who programs robots. The author says they are an ME
| and mostly self taught. In my experience, self taught MEs are
| not adept robot programmers or programmers in general.
|
| If I may try to parse the subtext here, this is a post by a
| ME who is helping manage/direct a startup of recent college
| grads, and they are frustrated with ROS because you basically
| have to be a Linux network admin and skilled C/C++ programmer
| to get anywhere with ROS. MEs especially find it frustrating
| because they just want to do robots, but to use ROS they have
| to be expert linux console hackers and it's just not a
| skillset they have.
|
| Same is true for the fresh out of college CS majors -- my
| students who are seniors, Master's, and even some PhD
| students have trouble with it.
|
| So what I see here is someone expressing that frustration of
| how tooling is in the robotics ecosystem is not accessible.
|
| The reason this is a "discovery channel" treatment of the
| topic is because we're not talking about it at that level.
| We're talking about it at this distilled, filtered, high-
| minded perspective that is above the weeds, when really we
| should be digging in the dirt talking about exactly the
| problem here.
| ilayn wrote:
| I am in that group you mentioned and this is not even a bad
| take. They might have been trying to imply ROS but that's
| also a very much not a well-targeted criticism either.
| Robotics is not bunch of humanoids moving their attached
| manipulators.
|
| Next; this article appears in IEEE spectrum not Quanta. I
| want higher quality from IEEE as was the case for decades and
| it is not a pop science avenue. Good pop science is hard and
| other places do it much better.
|
| This is just a mediocre blog article found somehow its way
| into IEEE which is very concerning about the quality of IEEE
| spectrum.
| rbanffy wrote:
| Maybe, and I think this is a good thing. We want more engineers
| in the world, or, at least, more people who, when they see a
| problem, or something that's not perfect, bet bothered to the
| point of finding a good fix.
|
| You can train someone every other skill but that one - the urge
| to look for what can be improved, and to improve it - is the
| most valuable an engineer can have, and it doesn't apply to
| engineering alone.
| globalnode wrote:
| gatekeeping?
| ilayn wrote:
| Did you pay attention to what IEEE stands for?
| TaylorAlexander wrote:
| Congrats Benjie on getting this published in IEEE Spectrum!
| gtsnexp wrote:
| The "Mythical Non-Roboticist" idea suggests making robotics
| accessible to everyone by simplifying the programming process is
| the way to go. However, this overlooks the complexity of getting
| robots to function in the unpredictable real world. Creating
| oversimplified APIs for a vague, inexperienced user base leads to
| tools that fall apart in practical use. Instead of aiming for
| condescending simplicity, we should focus on developing powerful,
| flexible tools that eliminate unnecessary complexity. When
| someone starts programming a robot, they become roboticists, so
| design your APIs for peers who won't tolerate needless
| complications.
| darkwater wrote:
| This smells like LLM bot
| jgalt212 wrote:
| > When decluttering means you end up having to search the
| internet for a recipe as to what place to click to find which
| flydropping menu, was it worth it?
|
| The Jony Ive aesthetic made so many things harder to use.
| J_cst wrote:
| That's lame llm output
| nonrandomstring wrote:
| ROS [0] always seems an essential layer if there is ever to be a
| common ground between something as concrete as motors and
| sensors, and something as abstract as tasks and learning.
|
| [0] https://en.wikipedia.org/wiki/Robot_Operating_System
| agentultra wrote:
| I think this applies equally well to domains other than robots:
| making comic books, programming (in general), making music, etc.
|
| "Democratizing access to skills," by replacing mastery with a
| tool always requires sacrifice: of the output, of the input, etc.
|
| Sometimes it produces nice results but I don't see the point of
| it.
| vouaobrasil wrote:
| I think the great tragedy of democratization is that it forces
| the popularization of a few skills by making it easy for
| everyone to pursue things because they are popular, rather than
| because they have an innate ability. Therefore, more obscure
| hobbies and artistic avenues die out since most people would
| rather "create" something effortlessly as long as it is popular
| instead of finding out who they truly are through art.
| MarcScott wrote:
| I've taught kids to make line-following robots, with very little
| code. They are slow, don't handle crossing lines very well, and
| can often just flip out and do their own thing.
|
| I'm not teaching the kids to compete in line-following
| competitions with robots that can run a course in seconds though.
| I'm not teaching them to handle multiple crossovers in their
| code.
|
| What I am doing is developing a passion for robotics and
| programming, and hoping that a handfull go on from there. If they
| are inspired, they can ditch the simple APIs and move on to the
| more complex and powerfull stuff.
| paulsutter wrote:
| Robotics is on the cusp of total reinvention. Almost everything
| that it took to make robots work is about to become archaic.
|
| The core ideas in old robotics will become a framework for the
| guardrails for new robotics, but this will widely become a solved
| problem that few need to think about
|
| Stanford Aloha
| https://x.com/cunha_tristan/status/1743314831912874251
|
| MIT https://youtu.be/w-CGSQAO5-Q?si=kiQ7mBPe6Kh7ZbCq
|
| Figure/OpenAI https://youtu.be/Sq1QZB5baNw?si=ZBdDkO2HRT5sOPly
|
| Tesla Optimus https://youtu.be/cpraXaw7dyc?si=xm-925fFwLeYnkpb
|
| NVIDIA Groot, https://nvidianews.nvidia.com/news/foundation-
| model-isaac-ro...
| cwoolfe wrote:
| Well said. "Don't design for amorphous groups. If you can't name
| three real people (that you have talked to) that your API is for,
| then you are designing for an amorphous group and only amorphous
| people will like your API."
| thriftwy wrote:
| I can see uses for robots who comb jellyfish out of water and
| remove them from the beach.
|
| I can also see uses for robots who cut down Heracleum
| mantegazzianum and ideally make biodiesel out of it.
|
| I'm not going to develop or buy either one, though.
| krisoft wrote:
| Meh. There is the definition of robots used in academy. Something
| like "A robot is a machine--especially one programmable by a
| computer--capable of carrying out a complex series of actions
| automatically." Or "A robot is an autonomous machine capable of
| sensing its environment, carrying out computations to make
| decisions, and performing actions in the real world."
|
| And if you go by that definition you see that things like
| dishwasher, washing machines, elevators, full authority digital
| engine controls, surface to air missiles are all robots.
|
| But nobody, not even roboticist, calls those things robots. You
| don't need a roboticist to load your dishes, or to get to the
| floor of your meeting, or shoot down an enemy airplane.
|
| The reality is that the real definition of a robot is "a machine
| which does not work yet". Once it starts working we stop calling
| it a robot.
|
| Making robots for non-roboticist should absolutely be the goal.
| Giving that up is giving up making reliable useful machines.
|
| If you can't make a "grab_object" api useful that is because we
| all together suck at making robots percept and suck at making
| robots manipulate things. Once we get good at those (if ever)
| that API will become easy and commonplace. And anyone who doesn't
| use it to achieve their goals will feel like a weirdo reinventing
| the wheel.
| pixl97 wrote:
| The AI Effect, but for robots.
| eschneider wrote:
| > And if you go by that definition you see that things like
| dishwasher, washing machines, elevators, full authority digital
| engine controls, surface to air missiles are all robots.
|
| > But nobody, not even roboticist, calls those things robots.
| You don't need a roboticist to load your dishes, or to get to
| the floor of your meeting, or shoot down an enemy airplane.
|
| I guess I'm a roboticist, and yeah, I call all of those robots.
| Those are _tantastic_ robots that just get their jobs done.
| Izkata wrote:
| > The reality is that the real definition of a robot is "a
| machine which does not work yet". Once it starts working we
| stop calling it a robot.
|
| Counterpoint: Robot vacuums
|
| I think the real colloquial meaning is more along the lines of
| how constrained or hidden the movement is. Elevators stick to a
| track, dishwashers only move on the inside, missiles pretty
| much move on a straight line. On the other hand robot vacuums
| roam the floor, and while a robot arm is rooted to one spot it
| can move freely in that range.
| krisoft wrote:
| That is probably right. But it also doesn't matter much to
| me. I don't want to convince people to change what they call
| things. I want to make things which are reliable and useful
| for them, and I don't quite mind if they will call them
| robots or not. I know that they are robots and that is enough
| for me. ;)
|
| > missiles pretty much move on a straight line
|
| Only the boring ones! Have you seen long exposure photos of
| the Iron Dome in action for example? [1]
|
| They fly all those swoopy trajectories to be at the right
| place at the right time. Also it is speculated that when they
| decide to go for intercept they launch multiple interceptors
| against every target. One aimed earlier in the trajectory one
| aimed later. And when the system has a high confidence that
| the target has been eliminated they re-target the second
| interceptor against some other one.
|
| It is a beautiful and very complex robot. Sadness all around
| that it is needed of course.
|
| 1: https://www.defensenews.com/resizer/CVsuWQwzlBDG_yhJUr6sI1
| 6P...
| aDyslecticCrow wrote:
| This article reads as a rant about ROS (robot operating system)
| without mentioning ROS once. Which in their quest to make
| robotics simple; made json a programming language and made a
| massive ecosystem of abstracted complexity that breaks in
| undebuggable ways.
| diydsp wrote:
| my bg: I have done a few robotics projects: a warehouse robot
| and a surgical arm.
|
| About ROS: that's fair, but to be fair, it was an ambitious
| first attempt that began hmm decades ago? and has some great
| parts (the 3d simulator, the robot construction, the python
| interface) and some less great parts (bags). It's a great place
| to make the next generation from.
|
| Unfortunately, the scope of robot design pain is even larger
| than TFA! the definition of "robot" is so broad it includes
| factory robots with hardly any sensor requirements and
| intelligence, as well as devices with intense vision input, or
| even large network requirements, micro devices, stationary
| devices, mobile truck-like things, robotic systems composed of
| numerous robots, humanoids, etc.
| jvanderbot wrote:
| Similar bg + space and some DoD.
|
| ROS established concepts that pervade robotics. There is no
| non-ros-like robotics framework. Every _serious_ ROS
| alternative I've worked with has a similar "Markup as
| programming" problem because everyone has embraced the
| "Extensible node" paradigm (aka component based
| architecture). Configuring a system becomes half the battle.
| Even Space and DoD have this. I am not convinced ROS saw this
| coming, or knew about it prior, when they designed their
| "Operating system". real time embedded systems have a longish
| history of using message passing between tasks, but still,
| not convinced.
|
| My top three wishes for ROS are:
|
| * Get better interop with other messaging systems. I can
| build an entire business on HTTP POST/GET, but I need your
| very-limited rosmsg definition for this robot, this message
| archive, this wire definition? (not that I want HTTP but you
| get it).
|
| * Provide a roadmap for hardening. Ros-mil, ros-space, ros-2,
| etc all seem like steps in different paths toward the same
| goal. Tell people to stop trying to use a rosgraph across
| multiple platforms. Kill ROCOS. Teach the industry to use
| better tools! We have better distributed systems now.
|
| * Never change. Ironically, the fact that ros is so mushy and
| accessible means that really-high quality robotics research
| often is ROS-first. (eth zurich for example!). I'm not sure
| making it commercializable, hard, and interoperable will
| accomplish that.
| sashank_1509 wrote:
| Throughout grad school I used ROS and whether the robot
| demo worked on the day it was supposed to was essentially a
| coin flip.
|
| In industry I use protobuf, Hydra for config management,
| few async processes and god does it make a sea of
| difference. It seems like other companies are catching up,
| I see more and more companies avoiding ROS these days!
| daralthus wrote:
| what's the current recommendation instead of ROS?
| margalabargala wrote:
| Viam seems promising, especially for cloud connected stuff.
| moffkalast wrote:
| Any framework that has "Start for free" and "Contact sales"
| on the home page is gonna do really great at mass developer
| adoption. Can't wait for them to rugpull everyone and close
| source all of their code when the VCs want to get paid.
| margalabargala wrote:
| The founder is the same person who made MongoDB, which is
| still source available, SSPL notwithstanding.
|
| Point taken though.
| kragen wrote:
| that's probably the most notorious example of a company
| abandoning open source and switching to a proprietary
| license, so that is a strong reason to believe that viam
| will rugpull if given the chance
| margalabargala wrote:
| I know this is just reopening a discussion that HN has
| had a million times, but what mongo (and elastic, and so
| on) swapped to is not IMO a rugpull to anyone except
| those who were reselling those specific open source
| projects. Anyone using those tools internally/as a
| backend weren't affected by that, whether they were a
| hobbyist or small business. The exception being people
| who only want true FOSS for ideological reasons.
|
| The trouble with the SSPL is that it also nerd-snipes
| people who think the legal system works like code.
| Example of such a person: https://ssplisbad.com/
|
| As far as I can tell reading the license, the key terms
| of the SSPL hinges on "such that a user could run an
| instance of the service using the Service Source Code you
| make available". If you make something available that is
| then able to be run, then you've fulfilled the license.
|
| Looking at it again the page I linked above actually goes
| beyond overly-strict interpretation into actual bad-faith
| reading. When talking about what you have to publish,
| they cut off the sentence short so that they can
| interpret it mean things like the BIOS or IDE, but
| reading the actual license text it's clear that's not the
| case. "All programs that you use to make the Program or
| modified version" vs "all programs that you use to make
| the Program or modified version _available_ "
|
| As someone who only runs FOSS in my day-to-day, and not
| anything with SSPL, I'm really annoyed that that page
| nerd-sniped me into defending the SSPL.
| patrick451 wrote:
| Indeed. In the robotics space, this just happened with
| foxglove studio. Six months ago, I considered advocating
| that we switch our bespoke visualizer to be a bunch of
| foxglove plugins instead. Today, it's clear that would
| have been a terrible move.
| moffkalast wrote:
| Quite right. Corporate open source is always one step
| away from straight up trapping people through sunk cost.
| Sometimes a change in management is all that needs to
| happen.
|
| At least Vizanti will always stay open ;)
| ModernMech wrote:
| Wait what has Foxglove done?
| ubj wrote:
| There's a few alternatives. Zenoh [1] is an up-and-coming
| distributed middleware. ROS2 is actually adding it as an
| alternative to DDS [2].
|
| LCM [3] is another middleware that has been around for a
| while.
|
| [1]: https://zenoh.io/
|
| [2]: https://newsroom.eclipse.org/eclipse-
| newsletter/2023/october...
|
| [3]: https://lcm-proj.github.io/lcm/
| ModernMech wrote:
| Those aren't really ROS alternatives though, as they seem
| to offer just the message passing layer, which is one of
| the best features of ROS, but it's not really enough in
| isolation from the other good features.
| moffkalast wrote:
| People forget that ROS isn't really about the IPC or the
| build system or the networking.
|
| Ok it is about those things, but fundamentally it's about
| standardization. Grab any lidar driver and it'll output a
| LaserScan. Every wheeled robot will send out Odometry,
| anything from a submarine to a flying drone to an agv
| will respond to a Twist message, every robot will have a
| central coordinate frame called "base_link", etc.
|
| The cross ecosystem interoperability is frankly insane
| and the main perk of it all. It makes building things
| easy when you don't have to deal with writing adapters
| every single damn time. This is why ROS 2 is currently
| such a step backwards because it fragments the ecosystem
| in DDS compatibility, making sure that no two packages
| will necessarily be able to run concurrently.
| nightpool wrote:
| ROS is one of those "frameworks" that's so awful and
| pervasive that for teams of more than 2 people handrolling
| your own networking is almost always going to be better than
| trying to make ROS work.
| liendolucas wrote:
| You couldn't have described it better. ROS is painful and makes
| you actually hate robotics. My conclusion was that it was
| written only to be used by their own developers and
| researchers. Documentation on most useful plugins (SLAM and
| AMCL) is really bad to near non-existant. I felt like all this
| was for some elite and you either have a very strong foundation
| and know a lot to use it or prepare to suffer and stay long
| hours trying things out until they work. The ecosystem and
| tooling are the worst I have ever experienced: colcon, sourcing
| scripts, launch scripts and on top of that you have to use
| specific Ubuntu versions. Their flagship language is C++, which
| is a language I hugely dislike. Yes you have Python but is
| nothing more than a thin wrapper to the underlying API, is not
| a clean and native Python API so you end up writing a lot of
| bureocratic and gluing code.
| moffkalast wrote:
| Ah your mistake was going for ROS 2 which is by any objective
| metric a complete trainwreck compared to ROS 1. Am a
| maintainer for a package in both, AMA.
|
| The move_base stack in ROS 1 was pretty bad overall, but if
| you made your own navigation it ran really well and was
| pretty bulletproof as a middleware for the most part
| (changing network conditions ahem ahem). Nav2 in ROS 2 is
| better, but it's really hard to tell because the DDS is so
| unreliable and rclpy is so slow that it's usually impossible
| to tell why it's only working half the time for no reason.
| Defaults are bad and pitfalls are everywhere. Incidentally
| this makes the entire thing unreliable even if you implement
| your own stuff so.. yeah. We'll see if Zenoh fixes any of
| this when it's finally out and common sense prevails over DDS
| cargo culting. Personally I'm not entirely convinced we won't
| see a community fork of Noetic gain some popularity after
| it's EoL.
|
| There is some effort to add Rust support, but it's just a
| community effort because OpenRobotics is completely
| understaffed. Google bought them and then they sort forgot
| they exist. There's only like 4 core devs in total. That's
| mainly why they're treating python as a second class citizen.
| ModernMech wrote:
| > your mistake was going for ROS 2 which is by any
| objective metric a complete trainwreck compared to ROS 1
|
| Sometimes you don't have a choice. I prefer to stick with
| ROS 1 but the org I was working with insisted on running
| ROS2 for everything. The only thing worse than running ROS2
| is running ROS2 installed next to ROS1 and trying to work
| with both.
| moffkalast wrote:
| I mean it is a huge dilemma right now. Noetic is
| incredibly stable, it has lots of packages, language
| models all know it in detail, any problems are noted and
| workarounds known... and support will be cut in a bit
| over a year.
|
| Kind of the exact opposite is the case for Jazzy really.
| I think it really hinges on the date you need to have
| working code on and how long you intend to maintain it I
| guess. For a company building up its software with a 2
| year latency in deployment it probably makes more sense
| to develop slowly along with ROS 2 and hope for the best.
|
| Also don't get me started on Gazebo Classic/11 vs
| Ignition lol, that's a similar can of worms right there.
| ModernMech wrote:
| The thing I don't get about ROS is that at no time in its
| almost 20 year history has anyone, at any point, referred to
| ROS as having good docs or an easy to use interface. Despite
| this, it has been pushed on undergraduates and people who
| find it very confusing and hard to use.
|
| It just seems to me no one seems willing to admit defeat that
| perhaps ROS is not working out for the purpose of making
| robotics more accessible.
|
| Like, they spend so much effort on their varied Turtle
| mascots and all the themes for the many and frequent releases
| (that never make it easier to work with), I wish they put
| that kind of energy into the onboarding experience.
| catgary wrote:
| It was infuriating joining a robotics company with a ROS
| based stack. A lot of the original engineers had started at
| the company in undergrad as interns, and I swear it was
| impossible to make anything better because they didn't know
| what better looked like. They just understood ROS and were
| highly proficient with it, so any move away from ROS would
| slow down the engine of the company.
| Animats wrote:
| ROS isn't an "operating system". It's a piece of middleware.
| The purpose of ROS was to set up an intercommunication standard
| for academic robotics projects, so various components (vision,
| motion planning, etc.) from different sources could be
| connected. It's for prototyping, not production.
|
| Attempts to make robots easier to program in industry involve
| "teach pendants" and schemes where you push the robot through
| the desired motions to record a path. This works in well-
| organized work cells. Outside that, not so much. Amazon,
| despite major efforts, still hasn't deployed robotic bin
| picking much. Their AGVs, though, work great. Amazon is
| building a thousand units a day of those little Kiva moving
| platform robots that carry stuff around their warehouses.
|
| There was Rod Brooks' "Rethink Robotics", with their semi-
| intelligent "cobots". That was a flop. But it did lead others
| to make better small robot arms.
| ModernMech wrote:
| > There was Rod Brooks' "Rethink Robotics", with their semi-
| intelligent "cobots". That was a flop.
|
| After that, Rod Brooks founded Robust AI, which is the
| employer of the author of TFA.
| Symmetry wrote:
| We actually did use ROS in production at a previous job a
| decade ago.
| kscottz wrote:
| I don't think that is the intent of the article at all. I think
| the article is making a comment on building a single framework
| that can enable anyone to solve an arbitrary robotics problem.
| From the second paragraph, "The idea goes something like this:
| Programming robots is hard. And there are some people with
| really arcane skills and PhDs who are really expensive and seem
| to be required for some reason. Wouldn't it be nice if we could
| do robotics without them?"
|
| There are host of companies, both extant and deceased, who
| attempted to do just that.
|
| I don't think any ROS developer has ever made the claim that
| ROS makes building a robot "easy", "easier" yes, but "easy",
| certainly not. ROS is simply a collection of tools that people
| have built over the years to get their work done faster by not
| re-inventing the wheel. Many ROS packages have decades of real-
| world deployment behind them. Some ROS packages, like Nav2 and
| MoveIt, are incredibly helpful, other packages are difficult to
| use and poorly documented, just like in any open source
| ecosystem.
|
| > Which in their quest to make robotics simple; made json a
| programming language
|
| JSON, in ROS? I don't think that's how it works.
|
| > massive ecosystem of abstracted complexity that breaks in
| undebuggable ways
|
| If you have a solution for this I think you solved the problem
| of software engineering in general.
| joe_the_user wrote:
| _I think the article is making a comment on building a single
| framework that can enable anyone to solve an arbitrary
| robotics problem._
|
| The thing about that statement is it's mixing two different
| meanings of "framework". One thing framework means is a
| conventional library or API in a conventional programming
| language. The other thing framework means is a broad,
| conceptual that can be reused - in this case, in many
| robotics problems.
|
| Using the first meaning of framework, sure, maybe it's not
| useful. But using the second meaning of framework, I think
| it's very useful to keep looking for such a thing and getting
| more people involved might help.
| joe_the_user wrote:
| Yeah, the article seems like it's several different claims and
| arguments. Yes, robotic is hard with no general solution
| visible and with the solutions readily a available to companies
| turning out to be from people who've spent a decade "squinting"
| at the problem, know the rules of thumb for a bunch things that
| work and don't work and still build things that are less than
| ideal.
|
| From this, yes, there are many ways that creating a simplified
| API in a conventional programming language seems useless.
|
| But as an argument against any "turn a hundred newbies loose",
| it seems not right. It seems plausible newbies to robotics
| could find paradigms that don't currently exist. I mean,
| robotics seems to be in the state that pre-deep-learning
| computer vision generally was in. Nothing worked "out of the
| box" and you needed experts to make the random smattering of
| approach that did exist work. Now we have an out-of-the-box
| working approach and I'm pretty sure it didn't come from
| existing experts.
| agarwa90 wrote:
| Like previously said, ROS is not an OS, its a framework for
| making hardware easily programmable with simple APIs, which
| happens to be very useful to get started with robots.
|
| Sure there is a learning curve like many other frameworks!
| SamBam wrote:
| Previous discussion on the substack version of the article (114
| comments): https://news.ycombinator.com/item?id=39707356
| TrackerFF wrote:
| I've been under the impression that getting into robotics has
| never been easier. For the past 10-15 years, high-schools have
| had easy access to things like Lego mindstorms, etc.
|
| Small microcontrollers and computers like Arduino, Raspberry Pi
| has made development much easier, as you're no longer stuck with
| writing Assembly or C to get something working, and there are
| tons of modules that are easy to interface against.
|
| Back when I started out playing with robots, as part of my
| microcontroller and control engineering classes, we were stuck
| with writing ASM. Same with components, like motor controllers,
| sensor networks, and what not. Lots of vero and perfboard, lots
| of soldering.
| spieswl wrote:
| Because it is. There is an abundance of tutorials showing
| people how to get Gazebo simulations going, or set up a
| rudimentary classifier in Pytorch, or actuate motors with
| Arduino using whatever framework of the week (I even wrote
| some!).
|
| The hardware has really made strides too, easy and cheap
| sensors, controllers, cameras. It's awesome how quickly someone
| can plug-and-play a Realsense with a servomotor or pneumatic
| slide and start manipulating the world.
|
| The thing that's usually underappreciated is that once you
| understand how to code a robot, you are barely closer to having
| solved a practical problem. There are lots of practical
| problems in the world where spending 4 hours learning how to
| use $PERCEPTION_API would be actually better spent spending 4
| hours understanding more about the widget being perceived or
| the object being manipulated. Getting into robotics has never
| been easier, getting something useful out of robotics is still
| the trick.
| logicallee wrote:
| Even a vastly simplified 2D robotics is unexpectedly difficult.
|
| I ran a simplified 2D robotics contest to automate code where the
| task was a simple 2D javascript canvas with a robot that had just
| two segments that could move (the arm and elbow). A piece of
| fruit was placed somewhat randomly within its reach, and when its
| hand was close enough it could be instructed to grasp the fruit.
| (No grasping code needed to be written, the hand just needed to
| be close enough) The task was then to bring it to its mouth.
|
| There were no sensors involved, the positions were available as
| global values.
|
| About twenty people looked at the contest (number of concurrent
| viewers on the dedicated subreddit I posted it on) but nobody
| submitted a successful entry. When I tried to solve it myself, I
| found I couldn't automate the task either, neither geometrically
| nor with a neural network, which turned out to be too difficult
| to train. The closest I got was being able to grasp the fruit
| about 7 out of 8 times or so (I forget the exact number), without
| being able to bring it to the mouth successfully.
|
| By contrast, solving it by hand on the keyboard (moving the two
| joints and grasping using keyboard shortcuts) like remote
| controlling the robot (with a human in the loop) is easy.
|
| I had no idea that even such a toy problem with a tiny 2D
| universe, only two joints, and perfect information, would prove
| to be so difficult to automate without a robotics framework.
| anticrymactic wrote:
| Why not post the details here? I'd love to have a go at it
| logicallee wrote:
| It was flagged when I posted it originally, so someone didn't
| like it. (Maybe because I included a $10 prize as a token
| motivator.)
|
| Here is the contest, you can play with your keyboard with a
| human in the loop (try to bring the fruit to the head using
| the listed keyboard shortcuts) or you can try to automate it
| using javascript:
|
| https://news.ycombinator.com/item?id=39949966
|
| About twenty people looked at it when I posted it but I
| didn't have any winning entries and I couldn't solve it
| myself either.
|
| If you are very interested you can see a walkthrough of my
| attempts to solve it here:
|
| https://news.ycombinator.com/item?id=39962620
|
| I must emphasize that even this very toy, 2D robotics problem
| with perfect information is very hard, despite being quite
| easy for a human in the loop. (I tried it with test users,
| who could complete the task easily with a human in the loop
| remote controlling the robot.)
|
| Let me know if you have any questions or need help using the
| test environment or understanding the task. You can give me
| any other feedback you want as well.
|
| The contest is finished (with no winners) and there is no
| longer any prize.
| daemonologist wrote:
| I think if you know to search the keywords "inverse kinematics"
| and a bit of JS, this problem isn't too difficult, although I
| did bungle the signs in a few places. Someone (more dedicated
| than I) could also work out the trig from scratch if they
| didn't have that keyword.
|
| Here's a solution:
| https://editor.p5js.org/jwlarocque/sketches/5tCufh3nw
| logicallee wrote:
| Thank you, great solution. It matches the spirit of the
| contest as well. If you want another challenge, you could try
| to get to that result by doing the equivalent of sending
| keypresses, further mimicking how a robot works. (You can
| just copy and paste the keys the keyPressed function calls
| and check the distances yourself). const
| angleIncrement = PI / 36; if (key === 'q') {
| upperArmAngle -= angleIncrement; moves++; } if (key
| === 'w') { upperArmAngle += angleIncrement; moves++; }
| if (key === 'a') { lowerArmAngle -= angleIncrement; moves++;
| } if (key === 's') { lowerArmAngle += angleIncrement;
| moves++; } if (key === 'g') grab(); // Grab the fruit
| if (key === 'r') release(); // Release the fruit
|
| What order of these statements would you send to get to the
| fruit, grab it, and then get to the result you show?
|
| Good job on completing the contest.
| vitiral wrote:
| 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?
| spieswl wrote:
| Background: 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 wrote:
| I like this! I think the hard part can be finding projects
| that are both interesting and achievable for the beginner.
| jerf wrote:
| One 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 wrote:
| >is an inability to tell which projects are easy and which
| are hard
|
| https://xkcd.com/1425/
| dagw wrote:
| Of 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 wrote:
| > 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. :)
| kvmet wrote:
| Yeah 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 wrote:
| >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.
| eschneider wrote:
| Ok, 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 wrote:
| yup, that was pretty much my point/question. Thanks for
| confirmation!
| krisoft wrote:
| > 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 wrote:
| _> 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.
| greenslvio wrote:
| industrial robots are surprisingly simple to program, Fanuc/Kuka
| etc. with tablet teach pendants and the like. there are even
| extremely simple ones where no lines of code are required
| (programmed by human movement). I'm sure these real-world open-
| ended robots will take inspiration from that, possibly having a
| general world knowledge but human would need to finetinue/teach
| movement for specific tasks
| taneq wrote:
| This is just "wouldn't it be great if everyone could program" but
| with extra kinematics.
| seeknotfind wrote:
| > Maybe I should tell them it didn't work for us.
|
| You need to believe to achieve.
| mitchbob wrote:
| Original version discussed 3 months ago (114 comments):
| https://news.ycombinator.com/item?id=39707356
| kaycebasques wrote:
| I'm not knowledgeable to have an opinion on the article but I
| chuckled at this framing:
|
| > Global mutable state is bad programming style because it's
| really hard to deal with, but to robot software the entire
| physical world is global mutable state, and you only get to
| unreliably observe it and hope your actions approximate what you
| wanted to achieve.
|
| Holson's Law of Tolerable API Design also has potential:
|
| > Design your APIs for someone as smart as you, but less tolerant
| of stupid BS.
| ozim wrote:
| There is a general idea that people would like a free lunch.
|
| At the gym people would like one simple trick to buff. In
| robotics one simple trick to make whatever they want.
|
| I see the same in software where people build behemoths like SAP
| or other ERP so customer could configure whatever they want and
| don't have to hire those expensive developers - just to hire
| expensive consultants because it is so complex anyway that you
| need a specialist.
| TeeMassive wrote:
| "Robots are hard because the world is complicated"
|
| Or it could be that some problems are inherently hard. Just
| solving the motion matrix of a simple robotic arm is an academic
| research field of its own.
___________________________________________________________________
(page generated 2024-06-10 23:01 UTC)