News

Weekly summary ending 2018-02-08

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

The business of making

The CNC machine has been ordered and everything is now in place – the Vending Machine is gone to make room and electrical in the workshop has been upgraded in preparation. I asked for the invoice two days ago and have yet to receive it /_/

恭喜發財! gōng xǐ fā cái! Or in other words, we are still waiting on parts to arrive from our suppliers. My understanding is that most of china takes a week off and goes home, much like western xmas/new years.

Also! Somehow last week’s summary was left as a draft all week. It has been posted. Oops.

Makelangelo v7.20.0

I have spent most of the last week upgrading the Makelangelo firmware on Github. Previous all speed control was in a mysterious “steps per second” and acceleration was … well, I was faking something that worked good enough. Because MF runs on all our robots, I tried to use it for the Sixi arm and discovered that the fake acceleration was no longer good enough. It has now been much improved! Steps per second has been replaced with mm/s and mm/s/s. Acceleration is much more sane. The changes can be installed on any existing Makelangelo 5 robot. (Maybe a v3? Someone try it and let me know!)

https://www.youtube.com/watch?v=TN5tKVSzpnA

And then just a few hours later I had it solved:

The Makelangelo Software has also been improved to match. I’ve opened and closed at least a dozen bugs this week. Speaking of which! I have finally found a great technique to fill in solid regions of closed shapes. The secret is to use the Eggbot Inkscape plugin from our friends at Evil Mad Scientist Labs. Check this Spongebob, which my nephew says is 💯.

The code for the Makelangelo is also used in other robots like the Stewart Platform. (The firmware is a bit like the One Ring, it rules them all.

Sixi

The only word on the Sixi this week is that Jin’s math has calculated the estimated speed of the robot. At the shoulder we expect, under ideal conditions, to sweep the work area while carrying the payload in about three seconds. So I guess we’re Hangin’ Tough. Meanwhile Jin has been deep into designing the elbow, the shoulder, and the base.

Next

Next week, assuming there are no bug reports on Github, I will be releasing the updated Makelangelo firmware and Makelangelo software for everyone. You can get it now and try it yourself here for firmware and here for software. Note these are the raw files for programmers, so some massaging will be needed.

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 that will help the planet. Special thanks this week to EMSL and to James Bruton for his tips on Youtube filming

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.

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.

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.

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.