Robot Arm

Sixi Robot Arm update

I’m finally making progress on a new model.  Starting from the hand and testing as I go. 

I made a vault-like lock for a jewelry box and in it I used brass tubes as spacers and bushings.  It was so good I had to try and use bushings in my next design.  They’re suddenly everywhere!  Also all my parts that fit over a bushing have an extra large hole and a separately printed shaft collar.  That way the time to fix a part is low because only the collar needs reprinting.

It’s novemeber 12 today and I should (fingers crossed) have sensors reading the angles of the two axies by the end of the day.  Shortly after that I’ll be bending belts around a 90 degree angle (which I’ve never seen any DIYer do before in-person).

The tail end of this robot is going to need 4 gearboxes to get enough power so I’ve been bugging @Paul Gould about his excellent work, and I hope to print a few of his designs.  The lifting power of the elbow and the shoulder will probably be linear actuators.

Right!  That’s enough of that for now.

3D Printing Projects

3D printable pipe connection adapter

Recently a good friend asked me to make an adapter to connect the air hose from his vacuum to the air hose on his new scroll saw.  Both were, obviously different sizes.  3D printing to the rescue!

Shortly after he went home happy, I was thinking it would be great to have a tool that solves this problem forever.  Thingiverse has an option to make customizable, parametric designs.  So I whipped out SCAD modelling program and in about an hour crafted this tool that is free for everyone.

https://www.thingiverse.com/thing:3184173

You can change the diameter of the two hose ends, how far the hose ends sink into the adapter, and the thickness of the walls.  There is a small lip inside the shape to keep the hose from moving too far into the adapter.

In the first two weeks it has been remixed ten times already.  Fantastic!  If you find it useful, please tag me online or join my Patreon.

Tutorials

Send Instagram Videos to Youtube with Raspberry Pi and Bash

Making Instagram videos is quick and easy.  Making Youtube videos is a laborious editing process that sucks the sunlight out of my soul.  People kept asking me if I have a Youtube channel and I was embarrassed to admit that yes, sort of, but no, not really.  I needed a way to send my Instagram videos to Youtube… a way to make the rock that kills the first bird bounce and kill the second bird!  With a bit of Bash scripting I was able to get my Raspberry Pi to automatically do this for me.  Read on for all the deets.

I used to use Zapier but they got dumb.  First they wanted to charge me to add extra steps to my one and only zap, then they said they couldn’t work ANYWAYS because Instagram tightened the data access rules.  I’m a big fan of IFTT but they can’t do it, either.  So!  Hand-rolled it is.

The pieces someone else made

I already had a Raspberry Pi 3 (?) set up to take timelapse pictures of my Prusa 3D prints.  I figure it’s idle most of the time, why not make it work a little harder?  Firstly I logged in and updated all the underlying framework.

sudo apt-get update
sudo apt-get upgrade
mkdir ig2yt
cd ig2yt

Then I installed https://github.com/rarcega/instagram-scraper to grab my instagram content.

sudo apt-get install python3
sudo apt-get install python3-venv
python3 -m venv env
/env/bin/python -m pip install instagram-scraper

and tested the instagram-scraper

/env/bin/instagram-scraper yourTargetChannel -u yourIGName -p yourIGPassword -t video

Next I installed https://github.com/tokland/youtube-upload by following the instructions in their readme.

wget https://github.com/tokland/youtube-upload/archive/master.zip
unzip master.zip
cd youtube-upload-master
sudo python setup.py install
cd ..
rm -rf youtube-upload-master

There were also a number of steps (in their readme) to install the .youtube-upload-credentials.json file to /home/pi/.  The file will contain your specific Youtube upload credentials and should remain secret.

That which binds them in darkness

Finally I was ready to test a bash script that would glue these other pieces together.  What you see here is the end result of an afternoon’s work.  It doesn’t show the testing steps along the way, most of which were later removed for brevity.  Test first!  Don’t blow up your following with a crazy upload machine.

#!/bin/bash

# the folder where mp4s will be stored
DESTINATION=imakerobots
PASSWORD=yourPasswordHere
MYACCOUNT=yourAccountNameHere
TARGETACCOUNT=nameItHere

# instagram-scraper looks in $DESTINATION to see what videos you've got
# and only grabs newer videos. youtube-upload uploads indiscriminately.
# we need the list of old videos so we don't upload old stuff again.
# get the list of files already in $DESTINATION
shopt -s nullglob
fileList=($DESTINATION/*.mp4)
#echo $fileList

# grab the 10 newest instagram videos
env/bin/instagram_scraper $TARGETACCOUNT -u $MYACCOUNT -p $PASSWORD -t video --maximum 10 --template {datetime} --latest

# upload each new video to youtube
for filename in $DESTINATION/*.mp4; do
if [[ ! "${fileList[@]}" =~ "${filename}" ]]; then
#echo $filename is new
filename2="${filename##*/}"
filename3="${filename2%.*}"
youtube-upload --title "$filename3" "$filename" --privacy="private"
fi;
done

# delete all but the 3 newest files so we don't fill the drive.
ls $DESTINATION -1tr | head -n -3 | xargs -d '\n' rm -f --

Final Thoughts

  • I didn’t setup youtube-upload in env because I’m a python newb.  I can barely ask “where it the toilet” in parseltongue.
  • I did setup this script to run as a cron job once an hour, every hour.
  • videos will be private so they don’t smash your subscriber’s data plan.  I had them originally set to unlisted but youtube still told everyone!  Many ugly emojis were received.
  • videos will be titled in youtube with the date and time of their original publication.
  • if you make the mistake of publishing a few of them and then pulling older instagrams and publishing those in a second wave your videos will be all out of sequence.  “Ha, ha,” says Youtube, “No fix for you!”
  • hese scripts don’t email me if the process worked, failed, or what have you.  They could be way more robust.
  • Special thanks to the helpful people in IRC freenode channel #bash and #python for helping with the many (many) different versions of python.

As always please let me know if I missed a step, if this was helpful to you, and so on.

News

Weekly summary ending 2018-01-24

Hey, friends! It’s good to be back. I thought some sunshine would chase my winter blues away, but it looks like what I really need is more robots. Here is what we worked on in the last week, where we are heading next, and how you can join us.

I reviewed Jin’s work on belt tension. He did a great job!

After that, I found I’d set my expectations too high. A shaft collar in the Tuning Fork was slipping. For more on what those words mean, see our youtube channel history. Here’s me opening the wrist to extract the shaft collar.

I found an M2 nut had stripped inside the shaft collar. The shaft collar slipping means power is not transmitted from the motor to the wrist. Attaching a gear to a tube has proven to be a real challenge for us. How would you do it?

Because I wear many hats here, sometimes I have to sit down and make our robots for customers. I make them in batches to save time.

Get it today: Our remix of DaGHizmo’s design. The Thingiverse license for DaGHizmo’s model says “attribution, non-commercial, share-alike”. In the comments on the file we asked and received an exemption permit from DaGHizmo to sell the remix. We’ve also shared our remix for everyone.

Our future Makelangelos will use this design. The older model had a semi-transparent model made of laser cut acrylic parts that were glued together. The glue would break in shipping and just one more reason why I avoid all glue in our robots. This newer model ships much better. Bonus, it holds markers and pens of more sizes than the old model. Right now the color of the parts is random but I believe we are moving towards yellow.

On closer examination I was wrong! The hole through the part shaped like a top hat is a little bit off, which presses the ring shaped piece to one side and binds the arms against the brim of the hat. Maybe someone out there can design a better plotter.

Next

Currently Jin and I are working in two different, parallel directions.

Jin is actively making progress with the gearbox. Today was his third iteration and he spent several hours testing speeds and accelerations to build a motion profile. That motion profile can be used in simulations to program the robot.

I am finishing Makelangelos for paying customers. I’d say half my time is spent in quality control on each machine. I call my nephew to come work assembling robots but he doesn’t check his phone. Too much Fortnite League. If you’re in Vancouver BC and want a couple hours on the weekend putting things together then contact us.

I’ve also been trying to sell a vending machine to make room for a CNC mill/lathe combo. Aluminum parts and faster plastic production would be a huge win for us.

How you can join us

Get the latest Sixi Master Assembly for Fusion360 on Patreon
OR
Buy anything in our store and mention ‘The Fusion link’ in the notes field to get a link by email.

You can use this file to build your own copy of the robot arm.  Put that 3D printer you bought to use – Make it your own! Share your creation with others!  That’s what open source is about.  If you build one we would love to share it with others.  I am actively seeking talent… show me what you got.

As always, follow our daily progress on our Instagram or see our older stuff on Youtube.

Lastly, thank you for your likes, subscribes, comments, and purchases. You keep the lights on and the mood high so we can keep working on awesome things for you.

News Robot Arm

Weekly summary ending 2018-02-01

Hey, friends! Here is what we worked on in the last week, where we are heading next, and how you can join us.

Last week I mentioned that I’m trying to sell a vending machine to make room for a CNC metal cutting machine. The CNC quote came back at >$40k CAD.

As you probably know by now, we’ve been working on a robot arm. Last week we ended off with a new cycloidal gearbox. Well this week we printed two more and installed them.

We’ve had many challenges dealing with friction in our power transmission. Bevel gears have been a real problem – There’s no perfect solution to make bevel gears and some of the tutorials we found online were flat out wrong… which we figured out only after following the tutorials.

There are, in fact, three popular ways to make bevel gears.

Once we had a better understanding of how to make bevel gears correctly, it only took three tries to get the gears perfectly tuned on our printers. With that out of the way we can finally show our three motors working together to move the first three joints of the robot arm.

Fun fact! The joints and motors work as a differential: one motor is needed to move the hand, but it takes two working together to turn the wrist, and three working together to turn the ulna.

Next

I am currently deep into the Makelangelo firmware, trying to solve a mystery that should improve speed across all our robots.

Jin is working on the math for our motors. There is an ideal speed (in RPM) to get best torque, and from that ideal we can calculate what Sixi’s actual speed will be. We didn’t know earlier because the priority was strength and accuracy. Fast, Strong, Precise: pick two!

How you can join us

Get the latest Sixi Master Assembly for Fusion360 on Patreon
OR
Buy anything in our store and mention ‘The Fusion link’ in the notes field to get a link by email.

You can use this file to build your own copy of the robot arm.  Put that 3D printer you bought to use – Make it your own! Share your creation with others!  That’s what open source is about.  If you build one we would love to share it with others.  I am actively seeking talent… show me what you got.

As always, follow our daily progress on our Instagram or see our older stuff on Youtube.

Lastly, thank you for your likes, subscribes, comments, and purchases. You keep the lights on and the mood high so we can keep working on awesome things for you.