here it is in its new home!
thanks dane for spotting this arm online and davidben for helping with the adoption fees
ur5 life history
the person i bought it from says that it lived its life as an R&D bot making pizzas at a pizza factory, then got auctioned off. he saw it and rented a home depot truck and went to get it. (more stories but i should ask permission first). it was part of a bakerbot which I looked up at https://www.apexmotion.com/baker-bot-cobot .

my diary, aka “well that escalated suddenly”
to be honest, i didn’t quite intend for my robot arm collection to escalate so fast.
i think early april i decided to get the SO-ARM101 desktop arms,
and now it’s late april and i have a ur5 arm, bringing my total to five robot arms >__>
from so-arm101
for the so-arm101 i got the “pro” unassembled kit –basically a pile of six 12.4v feetech servos for the follower arm, plus a pile of six 6V feetech servos for the leader arm, some wires, and two motor controllers. i proceeded to print the arms themselves (each print took 12 hours!)

(The picture above is actually where I cancelled one halfway through. I was cleaning and accidentally tripped over the power supply, shutting off the printer mid-print six hours in. The bambu did an amazing job recovering, but after a few layers there was an obvious xy shift and for the tight tolerances on this print I didn’t think it would be okay)
to an ur5?
and somehow i now have a ur5, which i sorta daydreamed about for years but the price was quite prohibitive even on ebay.
i think what happened is that i got to play with robot arms recently (see: job apps) and y’know that feeling when you smell food and suddenly realize you’re starving?
that’s how it felt to play around with robot arms again.
… and so i now own 5 robot arms.
feed me, i’m starving
Initial UR5 thoughts (pictures later)
when delivered, it took five minutes to set up and get working 0:
there is something nice about that i have to admit. just plug the controller into the wall, plug the arm into the controller, turn it on with the pendant, and it just works !!!
it’s nice that it homes slowly. collaborative robots are great.
it’s got a USB drive inside the control box, the whole robot runs off of a usb drive !
there’s an M8 connector near the end effector power and potentially data. 24v power i think. this is where the gripper would attach.
the end effector plate is https://millibar.com/product/mtc-345-rs “MTC-345-RS” Low Profile Series Manual Tool Changer – Robot Side (thanks previous owner)
deadline project
with any project like this it’s important to have a deadline or else enthusiasm peters out and the robot arm will be an expensive brick / toy
the original goal is also to have a demo for the first spring farmer’s market at union sq — originally the idea was collect calligraphy data — however that’s a bit tight (two weeks) so i’m thinking more a simple interactive demo (eg robot tracks palm, as you move your palm around the robot mirrors your movement)
The weekend / personal project, socks!
i did get excited about it just doing laundry, then i unfortunately realized laundry folding demos are all with two robot arms. oops. so aside from the above demo, in terms of what i want it to actually do at home, i think i’ll be backing down to a sock sorting robot.
problem statement (approximately): i have a pile of mismatching socks (singletons) so after each laundry run i pair my socks but then need to pair again with the mismatching pile / add to the pile as appropriate, which is annoying as the pile of mismatching socks is quite large. it’d be nice to just … not.
to simplify as much as possible (ideally this is a weekend project or at most a weeklong project to a MVP demo) i decided to start with the so101 arms. they have very limited reach so i cut up some kleenex boxes. if you read up online people talk about radix sort and such, but again, simplify it. i put three pairs of socks (of equal length) that are obviously different designs.
software system sketch
The goal will be for it to pull out one sock (that’s the standard “collect teleop data, train” bit) and lay it out. We take a picture using the overhead camera.
We use an off-the-shelf (i hope?) image segmentation to find the sock within the camera image.
Store the image: Assign the sock_image an id and store the associated image in either a pandas dataframe (+pickle) or sqlite or just as flat file.
We will also need a function to say if two images show a matching pair of socks.
Now for the loop. I mocked out the following set up to deal with the limited reach of the so101 arm. We have four bins: a bin (I’ll call it pile A) on the left, two bins (bin 1 and bin 2), and a fourth bin (called pile B). (The bins are just halved kleenex boxes).
Finally we have a bowl on the right. The bowl can be bigger since we only need to drop things in, not retrieve them.

We start with pile A, where some human dumped all the socks. The robot arm pulls out a sock and drops it in the center (ideally so the sock is mostly flat) to take a picture.
Put the sock in bin 1 (I might not bother with training for this one, unless I want recovery when/if it fails. Might just tell it the x,y center of the box and have it open the claw over it for now).
Pull out another sock and drop it in the center for inspection. If pair_found(), put that sock in the bowl, then pick up the matching sock and put that in the bowl too.
Otherwise, put the inspected sock in an empty bin (bin 2). Pull another sock. If it matches, repeat pair_found(). Pull another sock. If at any point we pull a sock and have no empty bins, we toss the inspected sock into pile B which we treat as the “discard pile.”
Once the first pile is empty, we have inspected all socks once.
Now we determine if all the socks in discard (pile B) are singletons — if so we are done! But if not (aka there’s unsorted pairs in there) we do the same process again, except pile B is now our starting pile and pile A is our discard. Repeat until end state reached.
(Note: if we had another bin, if we pull a singleton but there are still pairs left we could put it the bin-of-singletons. But we don’t have enough space for that alas).
Fin.
time to sleep so i can wake up at 5AM to go to my safety at sea class, which i signed up for back when i thought i’d be sailing this year =/ alas. don’t see much of that in my future now.








