Launch HN: Salem Robotics (YC S26) – Software for industrial inspection robots
Hi HN, we're the founders of Salem Robotics (https://salemroboticsinc.com). We give existing mobile robots the task-specific intelligence to carry out surveys and physically interactive inspections in hazardous industrial facilities.
Here's a video of it running on real robot hardware with a few words from us:
https://youtu.be/U_228h3NE7c
We came to Salem through robotics research at UT Austin and a combined 15 years working in nuclear, including about 10 years developing and deploying autonomous robots at Los Alamos National Laboratory. Over the last five years, we kept running into the same gap: robot hardware had become very capable, but making a robot carry out a complete industrial procedure still required a surprising amount of robotics work and manual intervention.
The part that interested us most was manipulation. A nuclear contamination survey, for example, can require taking a "smear": wiping a defined area of a surface so it can be checked for removable radioactive contamination. In an oil, gas, or chemical facility, an LDAR (leak detection and repair) inspection can require moving a detector around a particular valve, flange, or connection. Other inspections require positioning an instrument at a precise location and orientation relative to a pipe or piece of equipment.
These are easy tasks to compress into verbs like "wipe", "measure", or "inspect", but considerably harder to make a robot do reliably. A probe might need to remain normal to a surface throughout a path, stay within a narrow offset from a pipe, or trace a region while maintaining a particular end-effector orientation. The planner has to find a feasible motion while respecting the task geometry, manipulator kinematics, joint limits, collisions, and the environment around it.
We work down to joint-level control for those interactions. One problem we've spent a lot of time on is generating constrained manipulation plans quickly enough that they can be based on the geometry the robot actually observes instead of requiring someone to carefully author a trajectory for every individual surface, valve, or flange.
The physical world makes this annoying. A few centimeters of error may not matter much when navigating down a hallway, but it matters if a sensor is supposed to remain normal to a curved surface. And successfully executing a trajectory doesn't necessarily mean the inspection worked. The detector could be misaligned, contact could be wrong, the geometry could differ from the model, or the measurement itself could be invalid. We care about closing that loop around the inspection result, not just whether the arm reached the commanded pose.
Our approach is a combination of AI and classical robotics. A lot of robotics research and industry attention right now is going toward increasingly end-to-end learned systems, particularly around humanoids. Working in safety-critical environments has made us appreciate how relevant classical approaches still are when you want explicit constraints, predictable behavior, and theoretical guarantees about what a robot can and cannot do.
We use AI where semantic understanding and flexibility are useful, such as interpreting less structured information or understanding what in an unfamiliar scene is relevant to a procedure. Once the system knows what physical interaction it needs to perform, we prefer explicit geometry, planning, optimization, and control where possible. We're interested in the marriage between the two rather than trying to make every part of the robotics stack learned.
The other idea behind Salem is that we don't think every useful robot application should require building a new robot. Companies like Boston Dynamics are getting very good at building increasingly capable hardware platforms. We think there is room for a domain-specific application layer on top of that hardware. Th...
32 comments
[ 0.39 ms ] story [ 8.5 ms ] threadIf so, as someone who lives close to Salem, I like it :)
Good luck to you guys.
> A few centimeters of error may not matter much when navigating down a hallway, but it matters if a sensor is supposed to remain normal to a curved surface.
This is a great specific example of where the creativity (read: randomness) of AI runs into a wall. Do you see this changing over time as models improve, or do you expect that safety-critical / highly specific tasks will always require a more explicit set of instructions?
On first impression of course, but they don't seem like your run-of-the-mill VCs who often have much more money than brains.
Self plug: I'm the founder of Clipper, a container registry that has 10x faster pulls and 7x faster builds over DockerHub, targeted at robotics. I got tired of robotics deploys taking all day and fixed it myself. If you're interested in that or just want to talk shop, let's chat.
Clipper solves this by breaking apart Docker layers and indexing the files within. When you pull an image it will reuse related files in images you already have on your device. This has other side benefits as well, like being able to mount layers as networked filesystems and much more easily being able to run P2P updates.
It's less that robotics needs a different container registry and more that robotics needs a better container transport, and I've built the infrastructure around it for my registry.
Seems to me is that if you restrict the problem space, have well defined tasks, then marry the semantic understanding and reasoning of VLMs with the geometric tools of classical approaches, then you could have something practical and economical.
A shift from a single company handling all software and hardware inhouse, to a sort of divergence of the two. Kind of cool to think about, given how that sort of divergence seems to have happened in a few other areas (a dell computer runs windows, an LG TV runs apple TV, your iphone runs airbnb, spotify, instagram)
When we can control the environment precisely, we should as it simplifies so much---we can clip the world to platonic geometries and apply common tricks and trigonometry.
But when we cannot control the environment, really really much harder. Self-driving cars are a good example how hard it is, and still mainly focusing on relatively structured environments like cities.
Arbitrary environment is really where many expect AI/ML/probabilistic robotics to bring some necessary flexibility. And still out of reach today, except some astonishing use cases like Roombas (well, more like a best effort approach, still).
A technical question: To scan a surface precisely, I'd rather put switches on the end effector aside the sensor, such that the arm places itself roughly above the surface to scan, pushes until the switches trigger, and scan keeping the switches on. A simple touch sense, basically. All trad robotics that smoothly follows many flat and curved surfaces. Not at all against AI here, it seems the whole thread is a constructive approach mixing the best tools to concrete targets. Not viable approach in your scenarios?
Thoughts on your concluding questions:
> where the abstraction boundary in robotics should sit. What should come from the robot manufacturer, what belongs in an application layer, and what will inevitably remain specific to the facility?
I really like when there is a "double SDK", with a low level one to target actuators and sensors individually (motor 2 of leg 4), and a higher level one with pre-defined scenarios (move forward, whatever the bot is a bipede, a quadcopter or a slug). These two API types often allow for easier work at the application layer. The SDK is also the main specific software that remains with the maker (facility?)
> industries where you've seen physical inspection tasks that look trivial to a person but are surprisingly difficult to automate
Too often a problem I have seen is... elevators. More generally unstructured environment, and environments explicitly tailored for humans. Proposals range from wireless interfaces (and so HW infrastructure dependent and hard to scale), to adding a manipulator to, say, push buttons on an elevator (and this means extra software to manipulate, recognise buttons, etc).
But I'm also curious to know if the "Salem" name was searched first. When I first saw the title I thought it was talking about Agility Robotics, which is based in Salem, Oregon and is currently 3rd spot on Google search for "Salem Robotics" (and 4 of the top 5 results on YouTube).