Tips for Building and Deploying Robots
rodneybrooks.com
rodneybrooks.com
This reminded me of a quote about the future of automated driving (paraphrasing):
"We currently consider the following to be distinct and very different modes of transportation:
- car
- elevator
- train
At some point, those will all converge into a vehicle that can travel on roads (like a car), with other vehicles (like a train) and bring you up to a building floor (live an elevator)."
This seemed somewhat true to me until I considered two things:
1. The smart phone did something similar with a phone, television, computer etc
2. There is a scene in the movie Minority Report that does exactly what the author of the original quote described. [0]
The combination of another convergence device AND a fictional visual of what that convergent device would like really hammered home what the future might look like.
You could run more trains only between the suburban branches but there isn't a whole lot of demand for that.
I believe most AV convoys propose virtual coupling to get around this, but the failure scenario where something in the convoy comes to a sudden stop and the other things in the convoy don't, is pretty gnarly. Modern trains have a bunch of mandated safety measures in their mechanical coupling to prevent nasty things like jackknifing, or even worse, telescoping https://en.wikipedia.org/wiki/Telescoping_(rail_cars)
Generally speaking mechanical coupling takes a while because you really, really do not want an errant car to detach during its journey. In the worst possible case scenario, a rear carriage has decoupled from a train and then the following one has crashed into said carriage. https://localtvkstu.wordpress.com/2013/11/05/crews-respond-t...
The iRobot product line barely works without rearranging and adapting all of your furniture and floor space.
The core of the argument is: you're already selling an expensive robot, don't force your customers to buy a second expensive thing.
This isn't actually a problem.
If the robot vacuum cleaner is 10cm high, any furniture where the gap below it is <9cm the robot will detect with its bump sensor and avoid. Any furniture where the gap is >11cm high, the robot will clean under no problem. The only problem is furniture with a gap in the 9-11cm range. For that you can either buy a different sized robot, or raise or lower the furniture.
Of course you'll have to avoid leaving trailing cables on the floor - but that makes your home neater anyway, so no problem.
You can buy a Lidar robot if you want, of course - the classic random-driving-around Roomba is very much a product of its time.
Too often I've heard: why make a robot open doors with it manipulator, just install a door opener on the door! Fits the bill here exactly: making a better robot helps you scale. Only relatively recently that robots opening doors became a reasonable thing to ask fo, but not much robots yet that do this at scale I think.
Putting a “door opener” on the robot is sometimes at no extra marginal cost. (Because it already has a manipulator to fullfill its job.) Sometimes it would make the robot cost prohibitive, and the correct solution is to use automatic doors. Depends on how many doors there are and how many robots, and what kind of robot and what kind of door.
Then again even if the correct solution in a particular situation is to add door opening manipulators on the robots very likely you would only want to support a few different kinds of handles. Imagine the complications of trying to support all door handles from baroque brass levers through modern spherical knobs to dogged doors the kind you find on a warship.
What scale are you operating at, what sort of things do you want to iterate on, and how minimal does minimal disruption need to be? :)
- Find robust parts for the non-innovative aspects of your system (eg motor drivers)
- ...with a standard interface (PWM/PPM, RS485, CAN, Ethernet, whatever)
- ...hide that interface behind a simple software interface so that if you do have to swap to a different bus type you can do so mostly transparently
- ...and don't reinvent the wheel if you don't have to.
Once you have a set of proven parts with well-defined simple interfaces you can start treating those like Lego and mix and match to your heart's content.
Otherwise the first advice looks like a 1st-world solution that independent 3rd-world developers can't deploy. Could early-stage companies even expect this from their investor/connectors?
- AliExpress/Alibaba/Taobao instead of Digikey
- tear down a mass produced product that has approximately the right size of part that you're looking for and see what you can find. If you're super lucky there'll be a generic part number on the item that you can use to do some research with. If you're less lucky, take some measurements (dimensions, RPM, torque, voltage, current, wavelength, whatever) and start looking around to see if there are manufacturers making generic versions of that part.