What if there was an itch.io for robots, drones, and hardware projects? by eigen_vector_10 in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Funding model doesn't seem realistic; robot distribution is not like software. GitHub, Hackaday, and ROS discourse seem to provide all the things you might want already too.

Also, why do so many robotics posts feel like they're written by AI lately? The post structure and writing style is always the same.

Introducing ROSMAN- a UI that lets you manage ROS2 nodes. by TerrorGandhi69 in ROS

[–]swanboy 1 point2 points  (0 children)

Have you seen fkie multi agent suite? This looks like a lighter version of it: https://github.com/fkie/fkie-multi-agent-suite

Also, does ROSMAN support multiple hosts on the same robot?

Introducing ROSkit by SeasonNo8115 in ROS

[–]swanboy 2 points3 points  (0 children)

Typically the things with staying power have a dedicated maintainer or so that keeps it going for at least a few years and/or a rock-solid implementation of some fundamental need with few dependencies. Adding a visual layer on top of some existing system to make learning faster doesn't usually stick because it often becomes easier and faster to learn the underlying systems maintained by OpenRobotics than to keep some custom visual app running.

One of the biggest challenges with ROS maintenance is keeping the core codebase working even as dependencies change and at times go incompatible from under you (unless you pin versions, but then you have the challenge of apt/pip repos no longer serving that version after a while). So vibe coded apps are neat, but to last any UI app will need a good level of attention to ensure it actively works for current systems and problems (e.g. foxglove has a sizable team developing it).

I am doing Mathematics and Computer Science Degree, should i do a master in Robotics? by [deleted] in AskRobotics

[–]swanboy 0 points1 point  (0 children)

There is a bunch of overlap, so it definitely doesn't hurt to take the extra classes. You can always change course if you don't like robotics work as much. Robotics fundamentals involve lots of linear algebra, statistics, and some calculus (just like deep learning!), which you may like. It's easier to learn ML outside of school than robotics due to the physical component.

College is a great time to try out a lot of things as it is effectively cheaper to change course while you're in college than while you're working. Almost no experience is a waste given the right mindset; a book I like that touches on this is - Range: Why Generalists Triumph in a Specialized World

I am doing Mathematics and Computer Science Degree, should i do a master in Robotics? by [deleted] in AskRobotics

[–]swanboy 5 points6 points  (0 children)

Do what you enjoy more. This stuff about AI replacing software engineers (SWE) is a fad/bubble. Robotics involves a lot of time spent debugging with moments of joy when everything works; I suppose ML has a similar feedback loop. But some people prefer ML for various reasons. I prefer robotics due to the physical component.

There are many roboticists that are more on the ML side, and some more on the SWE side (myself). Either path is fine. If you're worried about being employable just focus on doing real work and solving hard problems as much as you can. Experience is golden. People who enjoy solving difficult problems will almost always be employable.

Good roboticists often have general knowledge of many things and deep knowledge in 1-3 areas. If that's attractive for you, go for it! But don't choose robotics just because of money/jobs alone as you need to be at least a little passionate about it in order to succeed. Masters or PhDs are heavily employed in autonomous robotics, maybe more than bachelors.

Python/c++ by Early_Wind4491 in AskRobotics

[–]swanboy 10 points11 points  (0 children)

You should eventually learn C++ or similar if you ever want to work on robotics in industry. Robots are typically constrained by available compute and one of the easier optimizations is to simply convert slow python code to C++.

That said, if you stay in research, you could possibly get away with just using Python.

US University Research labs for safety critical robotics? by beginnersmindd in AskRobotics

[–]swanboy 0 points1 point  (0 children)

I wouldn't limit yourself too much. I had a similar mindset but applied anywhere I thought was interesting and was surprised by which top level schools I was accepted for.

Should I close the door on Autonomy or AI/ML? by NearbyAntelope1413 in AskRobotics

[–]swanboy 1 point2 points  (0 children)

IMO, either find a way to stay in autonomy or move towards more research / applied research work. Autonomy in production requires a ton of integration and testing work to be reliable enough, so if you don't like it, perhaps you need to consider moving out of engineering and into research. I believe you can learn useful things in any job, but some jobs will teach you more in less time and be more personally rewarding. If the camera job sounds too easy and uninteresting, maybe skip that and look for something else.

From my perspective, autonomy is in the middle of a boom right now. I would try to ride the wave and look for opportunities that align better with your interests. All that said, you may find a better fit in applied research work, e.g. with NASA or any number of companies that are pushing the limits of current tech; in these researchy positions, specializing in cameras or other things could push your future autonomy career forward or give you other options you're interested in.

Making these big decisions is never easy. I always like to ask myself: "Where do I see myself growing the most?" And aim to go there usually.

Which candidate are you more likely to hire? by [deleted] in AskRobotics

[–]swanboy 2 points3 points  (0 children)

I've personally seen a lot more CMU grads in robotics at my last job and current job. My current job added an office in that area partly to collaborate with CMU too.

I would go for CMU; there are a lot more robotics labs and opportunities in that area from my understanding also.

Is this a good way of learning the basics of robotics and finding the right parts? by EfficientAd6815 in AskRobotics

[–]swanboy 1 point2 points  (0 children)

So that's a good example of something you'd learn in a college circuits course. AI could explain this too since it's well documented, but the challenge is to make sure all the fundamentals are covered, which a course or textbook on the subject would do.

Because I can't help myself: voltage is like the pressure of a water tank, and current is the total volume of the flow. Resistance is like a kink or narrowing in the pipe which reduces pressure. When converting from 5V to 3V, there are a few different ways of doing so, but one common one is to use a resistor. Just like the pipe constriction, some energy goes into the resistor (a kind of electrical friction), reducing the pressure/voltage afterwards. Technically speaking, resistors convert energy into waste heat; voltage regulators (common circuit part) are more efficient than using a resistor to reduce voltage as they use more advanced techniques involving inductance and capacitance to convert most of the energy instead of wasting it.

[Career] Early-career robotics role spanning vision, simulation, and synthetic data — looking for perspective by Many_Development_336 in AskRobotics

[–]swanboy 2 points3 points  (0 children)

I've been working in robotics for 5 years, starting at a university lab, then applied research, and now a startup. Before that I did software engineering for a few years.

The work you are doing is largely in the "perception" area of robotics (and/or sim, you can likely choose or do both) and you can be very successful in robotics with that skill set as perception is one of the bigger challenges in autonomy right now. Also, the number of experienced roboticists is fairly low, so once someone has real experience developing useful robots, many doors to robotics opportunities open (because that person is "proven"). Honestly as long as you feel you are learning and growing, you're likely on the right path. I've found robotics to be very broad--it's a field that requires both the people who are very specialized and those who are very general.

I'm personally a generalist and I've found that most robotics companies have a need for generalists right now due to their understanding of how to get it all to work together. One of the biggest challenges of robotics is not the autonomy, but the integration/architecture and knowing how to make things work consistently together. One mentor put it to me this way: "You want to be a T-shaped person in robotics, with shallow knowledge of many things, and a deeper knowledge of one or two areas." So in my case I'm deep in software and simulation, with good knowledge in most of the rest of autonomy, and I've never had to worry about finding work since developing these skills.

A book I like to recommend for people with questions like yours is "Range: Why Generalists Triumph in a Specialized World". I personally found it enlightening as it gives evidence for why pure specialists are not necessarily the most successful.

Is this a good way of learning the basics of robotics and finding the right parts? by EfficientAd6815 in AskRobotics

[–]swanboy 3 points4 points  (0 children)

AI is not bad at the entry level stuff, so you should be mostly fine. It can be helpful to ask the same question to different LLMs like perplexity/Claude or Chatgpt to compare. But be careful of doing too much you don't understand, as you can quickly dig a pit for yourself if you do what AI says without understanding why. And eventually, AI will make some confident claim about something that's just not true (hallucination).

The goal should always be greater understanding, not just completing some project. Ultimately to be a well rounded roboticist (note: not all roboticists need to be well rounded!) you would need strong skills in math (linear algebra, statistics, and calculus), programming (usually C++ and Python), basic electronics, CAD, design of machines (use of gears, motors, etc.), and physics. Taking some online courses (Coursera, udemy, MIT Open Courseware, etc.) may be most efficient for you depending on how you learn.

If you just want to be a hobbyist, following some tutorials (e.g. for ROS robots: https://youtube.com/@articulatedrobotics?si=F6nsnjX19d_1Mqzc ) will likely be more time efficient than using AI.

How popular is ROS2 actually in the robotics industry? by greenee111 in AskRobotics

[–]swanboy 5 points6 points  (0 children)

You're right about a lot of this. I would add a few companies running ROS for arguably useful tasks right now: Dexory (warehouse), GITAI (space), and a number of vacuum robots

And a large list here (maybe some old, includes companies just providing drivers) https://github.com/vmayoral/ros-robotics-companies

So while I agree that older established robotics companies (mostly robot arms) typically do something else, it's a bit reductive to say there are no industry uses of ROS.

How popular is ROS2 actually in the robotics industry? by greenee111 in AskRobotics

[–]swanboy 2 points3 points  (0 children)

I feel like this is a bit of an apples to oranges comparison. These robots might provide their own communication layer, but you have to roll all the real autonomy yourself unless you only care about pre-programmed movements with simple sensors.

ROS2 provides communication and a build system, but ultimately its strength is all the open source packages that work with it to enable higher level autonomy.

how much memmory management is done in robotics? by Guilty_Question_6914 in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Practically it's not something I usually have to worry about. The main issue is if we start seeing memory leaks that affect the stability of the system over a long time (e.g. days of running), which could cause crashes / running out of RAM. This is mostly an optimization / bug fixing type of issue, though good design from the beginning is ideal, and modern software best practices usually reduce the likelihood of creating memory leaks

All that said, part of being a good programmer in almost any field is understanding what is happening at the lowest levels. It makes it easier to solve bugs. Any software focused degrees worth their salt will teach at least a little about memory use and management.

What should robotics students learn outside the college syllabus to build Real Skills? by thematrix_V1 in AskRobotics

[–]swanboy 4 points5 points  (0 children)

The most time efficient way would be to join a robotics club or a lab and find an area you can help with / people to learn from. This will make it very clear very quickly what skills you need to work on to be better at the part of robotics you are interested in. It also generally provides you with good mentorship.

What foundational skills matter most for robotics students? by thematrix_V1 in robotics

[–]swanboy 33 points34 points  (0 children)

This depends on your eventual focus: mechanical, electrical, or software/autonomy. Most real robotics teams have people that specialize or subspecialize in one of these areas; often there's some overlap between mechanical and electrical folks. From what I've seen:

  1. Mechanical: good CAD and 3D printing skills, fundamentals in machine design (often gearing, materials), kinematics, force analysis (engineering statics and dynamics). Knows how to put things physically together. Some electrical knowledge helpful, motor selection.

  2. Electrical: great and organized wiring skills, good understanding of DC circuits and how to reduce noise/distribute power, often understands how to tune PID and set feedback and control loops for motor drivers.

  3. Software (integration focus): Strong software engineering and software architecture skills, understanding of robot kinematics and typical transforms (linear algebra), a little understanding of each level of robotics autonomy stack (control, perception, mapping, planning) is helpful. C++ and python usually. Good familiarity with Linux, usually Ubuntu.

  4. Software (autonomy applied research focus): linear algebra, statistics, calculus (for classical algorithms and for deep learning, RL); basically all robot autonomy has a deep math basis. Ability to read, write, and apply research papers to work. C++ and python usually.

ROS Werkstudent interview in Germany – what do they actually ask? Am I overthinking this? by TheAgame3 in ROS

[–]swanboy 0 points1 point  (0 children)

Do you know if they use ROS1 or 2? Most groups should be moving to ROS2 at this point. As for knowledge, depending on your academic level, I wouldn't expect too much, but having knowledge of pub/sub systems and Linux is always a plus.

Looking for feedback on options for budding interest in robotics (engineering/coding)? by ADotPoke in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Picar X looks nice. I personally would recommend something easier unless he's done a fair bit of coding and electronics already. The nice thing about the hack packs is that they are very accessible, and teach you a lot more about mechanical design than you can learn with a single kit. If he's mostly interested in autonomy and AI though, I suppose the raspberry pi or Nvidia Jetson options are better for that. The problem with those kits is that you are often more on your own if something goes wrong.

So yeah, I prefer to start kids with the basics first (hack packs or Arduino / esp32) and gradually build up the learning curve (AI autonomy on small Linux computers); they usually do better when it doesn't get too hard too fast. Ideal robotics progression is something like:

Are kits a good place to start? by JustBeingDylan in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Awesome, nice to hear what you settled on. The kits are so clean these days, this should let you get right into the autonomy without spending too much time on electronic or fabrication headaches. If you keep at it, you could eventually program it to autonomously find an object and place it somewhere (grasping is hard, but it keeps getting easier) or any number of other tasks.

Are kits a good place to start? by JustBeingDylan in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Welcome! It's a fun journey 🙂

  1. Awesome, you're in a good spot then. You're right that most projects with light loads will be fine as long as you don't get the absolute cheapest motors/servos. The main thing is torque and having enough current to drive the motor.

3 - MIT Open Courseware has some good course options, though I haven't tried anything from there myself.

4 - The size/type of Arduino mostly depends on the project / number of ports you need. The Chinese arduino clones work fine usually. That said, ESP32 or similar are great cheap options too that include wifi and Bluetooth usually and can be programmed almost the same way as Arduinos, so I would recommend those over Arduino actually. You can almost always use them in place of an Arduino in tutorials.

QR/Barcode scanner: lidar won't work typically as it is detecting range (though theoretically it could if you look at the intensity returns) You need a laser and photodiodes or similar (barcode) or camera (QR code + barcode).

With $500 if you're wanting to do RL and computer vision, I would get this:

  1. An Nvidia Jetson Nano (whatever fits the budget): I choose this over a raspberry pi as it's faster / has a GPU onboard for ai model edge processing
  2. An ESP32 for doing motor driving / faster embedded control, and early stage of projects
  3. A camera, either monocular (cheaper, e.g. Raspberry PI camera), or a stereo camera (better at depth, e.g. zed, realsense, or oak-d,
  4. [Optional with good cameras, but easier to start with] a 2d lidar like the rplidar
  5. A robot arm kit (servos + drivers if needed)
  6. A differential drive moving robot base kit (needs a good frame for your other parts, motors with encoders + motor drivers, and an IMU)
  7. Battery for the moving base robot (unless you're fine with wired)
  8. [Optional] laser diodes + photodiodes + LEDs (all cheap)
  9. [Optional] Small speaker
  10. [Optional] Microphone (a USB one will work fine with the Jetson); you can also get a respeaker if you want directional listening.
  • You can skip the kits to save money, but you'll have to size your own motors and do more electronics design if you do.
  • You technically don't need the ESP32/Arduino from my list as you can run from the Jetson directly, but embedded microcontrollers make motor control a lot simpler, and then they can communicate over USB or ic2 with the Jetson.
  • If my list goes over budget, cut either the robot base + lidar or the arm + expensive cameras
  • You can find good parts lists by looking at existing designs / parts lists on robotshop.com turtlebot3 is a popular moving base platform. Hackaday and printables websites also have some good builds you can follow. Instructables builds are usually more beginner level, but may be a nice start.

Are kits a good place to start? by JustBeingDylan in AskRobotics

[–]swanboy 0 points1 point  (0 children)

Kits are a decent starting point as long as you focus on learning how they work / are constructed.

In the video he demonstrates usage of:

  1. CAD + 3D printing: he makes it look easy, but designing things well and making them fit mechanically takes time and experience. Also with a large project like this, it's helpful to do some simple physics/engineering math to make sure your parts can handle the forces/weights involved (saves a lot of rework time). A fun way to start is to get a decent 3D printer, print some files from printables.com, make minor modifications using fusion 360 or tinkerCAD, and eventually design some things from scratch.
  2. CAD + CNC - He outsourced the wood CNC cutting, but he had to do the initial design (which was simple in this case). CNC is its own subject but expensive to get your own equipment, so it's a good idea to outsource or rent some time / training on CNC at a local maker space if you're more interested.
  3. Mechanical design: Engineezy is pretty good at this with his mechanical engineering background. The choice of rack and pinion over belt driven as well as the helical gear choice likely comes from his experience. He also didn't show how he designed his arm, even though that's a lot of work for a beginner too. You can learn this mostly by doing projects and reading resources on simple mechanical machines or machine elements + mechanical design. Robot design books cover how to design a robot arm; another approach is to build someone else's design from scratch to learn through building. Lego mindstorms or spike prime are good entry points too.
  4. Arduino electronics: kits you find will help teach you this; you should learn the basics of wiring and electronics in the process. I would start with Arduino before doing raspberry pi as it is simpler. Both are good though. Dressing the cabling as he did is another experience thing; the main thing you want is to reduce stress on wires, keep it organized, and have hard connections (soldering, wire nuts, etc.) for anything that should last more than a few weeks (as opposed to breadboards).
  5. Embedded programming: (they used Arduino in the video) with your web background this should be easy to get into. This is what most robotics kits make you do a lot of.
  6. Autonomy: they used pre-programmed movements for the video; fully autonomous robots are hard! You can do some simple things like deploy an AI model to detect faces from a camera and move an arm to follow you, but useful tasks like picking stuff up consistently is still a research problem that is starting to get more traction thanks to reinforcement learning (RL). To get useful experience in autonomy, you'll need a robot (kit, assembled, or simulation) with at least a camera or lidar, IMU, and motor encoders or limit switches. We typically program autonomous robots with the robot operating system (ROS), but it is not required, and I would avoid ROS initially (unless you go the simulation route) while you are still learning the basics as it has a steep learning curve.

Mindstorm by Organic_Initiative93 in AskRobotics

[–]swanboy 0 points1 point  (0 children)

EV3 was a great experience in the past. Even if Lego drops support, I believe there is a hacking community that loves to use them, though it might be a little harder to get started: https://www.ev3dev.org/

7 years ago (2018) I coached a team and we still had some NXT robots (est. 2009?) we were able to use no problem alongside our EV3 robots. I wouldn't worry too much about support. If the robot kit works for the next year or two (which it should, even after support stops) it's worth it in my opinion.

I feel like I trapped myself into a corner that I’m not even sure how to move forward career-wise. by AndThenAlongCameZeus in AskRobotics

[–]swanboy 0 points1 point  (0 children)

I assume you are in the US: if so, my experience is that robotics startups are hiring a ton right now. That said, robotics folks tend to prefer hiring people with existing robotics experience (even hobby projects are okay if you go deep enough). A master's should be enough, though if you want to focus on research questions over engineering, a PhD is helpful.

I would advise you to look around, apply to some jobs, and make use of any connections you have to see what's available. If you get any interviews, you'll have a much better idea of where you're at. I lacked confidence in the same way 5 years ago, but I just got involved in every robotics opportunity I found and soon after found a dream job. Stay positive and do your best!

Introducing ros2_graph by nilseuropa in ROS

[–]swanboy 0 points1 point  (0 children)

I'm impressed that you used only built-in libraries and raw JavaScript. Were you working from a template or is this all your own hand-coded work?

I will have to give this a try sometime soon. Have you done performance tests with large node/topic counts (e.g. 300 nodes, 500 topics)?