MechArm 270 Pi- Learning Curve

Some entry-level robots come with an easy-to-use programming interface that allows a user to start making motion sequences right out of the box. It would be remiss of me to say that was my experience with the Mecharm 270 Pi. The robot has some nice features, but it doesn’t have an intuitive slider or drag UI that a beginner could use to quickly program a motion sequence.

My Mecharm 270 Pi came with an Ubuntu OS version 18.04 (desktop pictured above). I was unable to get any form of ROS interface to work with that system, and finally switched to Ubuntu 20.04. This requires a re-burn of the the Pi microSD card.

On the Ubuntu 20.04 update, I could get an RVIZ panel opened using ROS2. There is a basic slider control which will move the robot, though I found it unpredictable.

After experimenting for a while trying to program using the ROS2 interface, I gave up and went back to the myBlockly option which comes pre-installed. It does allow you to program simple motion sequences using “Set Angle” and “Sleep” function blocks, but if there’s a way to program acceleration / deceleration or a “wait” command, I was unable to find it.

myBlockly has logical commands which allow for use of IO and peripherals, but my goal was just smooth & repeatable motion before going any further. I did eventually learn how to use the positioning control to automatically send joint values to the command blocks, which made general positioning easier, but the process requires several keystrokes for each new position and takes a while to get used to.

With the Elephant Robotics gripper installed on the MechArm, I wanted to program a short sequence of the robot playing a xylophone. It seemed like a simple task which didn’t require fine motion. Unfortunately, the gripper doesn’t close all the way, and the gripper force is very weak. It wouldn’t hold a small wooden xylophone mallet steady, even during slow motions. I printed off a simple square grip, in the hopes that it would increase the stability of grip on the mallet, but it didn’t work very well. This is the result of several hours of work:

LInk to video on YouTube: Mecharm 270 Pi – Learning Curve

During this experimentation, I wanted to try using Python to control the robot instead of myBlockly. My favorite lighter IDE is Thonny, which can be downloaded at Thonny.org

I installed Thonny on the Pi desktop. If you haven’t programmed in a Python environment before, there are many resources to help you get started at Python.org



One frustration of the myBlockly app- while it will show you the python equivalent of your myBlockly commands (just click the Python tab), there isn’t an easy way to copy the python code.

Insofar as I could tell, it would copy one time, then something got messed up in the clipboard and it wouldn’t copy again. Not sure if this is an Ubuntu thing, or a myBlockly thing, but it was annoying.

Trying to play to the Mecharm 270’s strengths, I decided to try a simple sequence with a toy the gripper would be able to pick up without difficulty. This sequence was done using Thonny to run the robot:

Link to video on Youtube: Mecharm 270 Pi Grommit Grab

In the next blog, the xylophone playing improves…

Product Links

Elephant Robotics MechArm270 Pi

MechArm 270 Gripper

Mecharm 270 Robot Stage

SAMSUNG PRO Plus microSD Card

To get started with your Mecharm 270 Pi, you’ll need a keyboard, mouse, and monitor to plug in.

This is a great package deal for all 3:
https://amzn.to/4eSRZaJ

Separately:

compact USB keyboard
https://amzn.to/3We57jx

Basic ergonomic USB mouse
https://amzn.to/4bF5hF9

Good quality HDMI monitor
https://amzn.to/3LiNMQ4

DON’T FORGET THE MONITOR CABLE!
The Mecharm 270 Pi monitor port is a micro-HDMI. With an HDMI monitor, you’ll need an HDMI to micro-HDMI cable:
https://amzn.to/3WdGYcK

I use an ergonomic mouse pad which reduces the strain on your wrist:
Ergonomic Mouse Pad with Wrist Support
https://amzn.to/4eXRAnn


Printing Supplies:

Green Printer Filament:
Gizmo Dorks 3mm ABS Green

Black Printer Filament:
Gizmo Dorks 3mm ABS Black

Blue Printer Filament:
Gizmo Dorks 3mm ABS Blue

Brown Printer Filament:
Gizmo Dorks 3mm ABS Brown

Clear Printer Filament:
Gizmo Dorks 3mm ABS Clear

Red Printer Filament:
Gizmo Dorks 3mm ABS Red

3D Printer

We highly recommend the Flashforge line of 3D printers for printing your robotic EOAT and staging parts:


FLASHFORGE 3D Printer Guider II Large Size Intelligent Industrial Grade 3D Printer

FLASHFORGE Guider IIS 3D Printer Auto Leveling with High Temperature Nozzle

FLASHFORGE Adventurer 5M Pro 3D Printer with 1 Click Auto Printing System

FLASHFORGE Adventurer 5M 3D Printer with Fully Auto Leveling

FLASHFORGE 3D Printer Adventurer Series with Auto Leveling with Quick Removable Nozzle

Disclaimer: As a participant in the Amazon Affiliate program, we earn a small commission if you make a purchase through one of these links, at no additional cost to you.

Mecademic Meca 500 Diode Soldering Practice

Having a soldering iron, a few build-a-breadboard kits, and a precision robot, it was only a matter of time before I made a robotic soldering video.

In another video- Mecademic Meca 500 Diode Loading Demo – we saw how the Meca 500 had the precision and agility to pick ‘n’ place diodes with delicate, easily-bent legs. The key to placement, I found, was inserting a “shimmy” during the -Z motion; the EOAT essentially “shivers” to ensure the diode legs don’t hang up on the edges of the breadboard ports. Details & code available in my post, “Mecademic Diode Load

I had intended to print a custom EOAT to grip the soldering iron, but had an extra-long print running at the time ( base adapter for our new Elephant Robot ); I ended up using a utility EOAT with through holes for zipties to securely attach the iron.

To determine TCP (tool center point), I measured EOAT length to center of iron for Z (35.55mm), and centerline of EOAT to tip of iron for X (96.0mm).

Fine-tuning the smooth motion necessary for the delicate job of soldering is a joy with the Meca 500’s ability to jog in extremely small increments; I practiced on both of the following boards, using the 10 LED board for the video:

10 LEDs Soldering Practice Board

Electronic Piano Soldering Kit

As mentioned before, I love this soldering iron kit; it’s great value for money as well:

WEP 927-IV Soldering Station

I re-ran the motion sequence several times during filming with the iron off, to make sure the soldering tip wasn’t impacting the diode legs with too much force. I kept the blending value at 0 for the fine motion, as speed wasn’t the goal. The move / safe motion between diode legs is a little exaggerated, so it was more visible in the video.

The cold iron practice has a 1 second dwell at each diode leg. For the segment where I actually solder, I increased the dwell to 2 seconds per leg to make sure a good melt & solder joint was possible.

Here’s the code for both 1 sec and 2 sec dwell soldering sequences:

Here’s the link to the video on Youtube: RoboFiesta Mecademic Meca 500 Diode Soldering Practice

Disclaimer: As a participant in the Amazon Affiliate program, we earn a small commission if you make a purchase through one of the links in this post, at no additional cost to you.

Why Not Teach a Robot to Play a Kalimba

Especially a robot with the exceptional precision & control of the Mecademic 500.

This was just a short trial run, me basically playing around to see if:

  1. It was possible to create a robotic motion which played or “plucked” the tines to produce a tone similar to what is made when a human finger plays the keys, and
  2. The movement of the robot with “safe” position between tines / keys would allow for reasonable pace / rhythm in a short practice tune.

The first kalimba I tried is a nice basic unit with lovely tone, it’s been a lot of fun as an introduction to the instrument.

You can check it out on Amazon here: 17 Key Kalimba

I found that, though not a problem for humans, the tines required a bit too much force for the robot end effector. The 1.5mm aluminum probe tip kept bending after a few keystrokes.

A little searching online found another type of kalimba, this one with a specialized key design that required a lighter touch. It also came in more than 1 variety, with different numbers of tines.

This kalimba is more polished / professional; I purchased one from Amazon with 2 day delivery: MOOZICA 36 Keys Chromatic Kalimba

There wasn’t a ready-made .stp file or any CAD available for the kalimba, so I improvised in AutoCad Fusion to make a basic stage layout:

The tines are smaller and more rounded than the first kalimba, which made precision end effector placement & motion critical to tone. Just moving the EOAT vertically in a short rapid motion didn’t work; there needed to be a diagonal component, effectively “sliding” the probe tip off of the tine in a particular manner.

The robot motion was a sequence of move-to positions with some speed changes and delays to produce the timing of the tune. The move-to-safe motion is larger than it really needs to be, but I was concerned about clearances as I moved the blending values higher for smoother / more rapid motion. This is the code I programmed for the short video sequence:

I am working on a better CAD model of a kalimba, with the tines placed accurately. The whole stage could then be imported into a simulator like RoboDK to teach songs or melodies quickly. I did this one by eye, experimenting with different positions & motions to produce the best tones.

You can watch the YouTube video here: Mecademic Meca 500 Kalimba Concert 1

Product Links:

17 Key Kalimba
36 Key Kalimba

Robot stage

Optical Plate Flat Aluminum Honeycomb Breadboard: https://amzn.to/4aKMuYR

3D Printer

We highly recommend the Flashforge line of 3D printers for printing your robotic EOAT and staging parts:
FLASHFORGE 3D Printer Guider II Large Size Intelligent Industrial Grade 3D Printer https://amzn.to/3VKaGGA

FLASHFORGE Guider IIS 3D Printer Auto Leveling with High Temperature Nozzle https://amzn.to/3xpxJMF

FLASHFORGE Adventurer 5M Pro 3D Printer with 1 Click Auto Printing System https://amzn.to/3TQxYYz

FLASHFORGE Adventurer 5M 3D Printer with Fully Auto Leveling
https://amzn.to/3TMprpS

FLASHFORGE 3D Printer Adventurer Series with Auto Leveling with Quick Removable Nozzle https://amzn.to/3PSmeDO

Disclaimer: As a participant in the Amazon Affiliate program, we earn a small commission if you make a purchase through one of these links, at no additional cost to you.

Loadcell Project

Load cell test rig with Calt load cell, Arduino and Mecademic Meca 500

When you need to weigh things, repeatedly..

A rainy weekend, a load cell, a robot, and a raspberry pi all got together… ok, this is a small project that is part of a larger project that I’m doing in stages. And, keen eyes will have spotted that the unit in the image above is of the Arduino flavor, as opposed to Raspberry. For more on that, read on.

Initial Setup

I’m a big fan of the Raspberry Pi, and have several Pi4s that have proven very useful and adaptable, so a Raspberry Pi4 was the natural first choice for this project.

I’ve run the Mecademic interface through a Pi before as well, and the robot would be a part of the loadcell demo. I broke out the Pi with display and GPIO board, and went to work.

The issue I couldn’t get past when using the Raspberry Pi4 is well known in HX711 circles, it has to do with the timing of amplifier and the sequence of Pi operations; the Pi isn’t really set up for this type of measurements. Even with many measurements for tare & an extensive warm-up time, the values would drift, reset, and drift again; it wouldn’t settle down. There is a better explanation on this Github Readme by tatobari: https://github.com/tatobari/hx711py/

I eventually set aside the Pi4 and started looking at Arduino-type microcontrollers, more on that in the next section.

The load cell is a Calt DYMH-103 wired through an HX711 amplifier.

A note about the amplifier- the HX711 is low-cost and readily available, but, if you’re going to incorporate one into a project, do yourself a favor and get a decent soldering iron (if you don’t already have one). I started out using a time-worn old iron I’ve had for years, and damaged 2 amplifier boards before finally ordering a new soldering iron (WEP 927-IV, available here on Amazon). Wow, what a difference that made- I’m really happy with it.

Arduino

I’ve played around with Arduinos in the past, they’ve been around for years, but it’s been a while. I ordered a basic Arduino platform starter kit with the processor and some fun extras I will try out in future: Elegoo Uno R3

The Arduino connects to the laptop through a USB cable. The programming interface is a simple IDE which can be downloaded from this website: https://www.arduino.cc/

The code I used was from https://randomnerdtutorials.com/arduino-load-cell-hx711/

Printed Parts

I printed 2 parts for this testing- a new EOAT to hold a 1.5mm aluminum probe tip, and a retainer to fasten the load cell to the optical board.

Testing

Once the test rig & code were finished, I programmed a brief 5 run sequence for the Mecademic which would place the probe tip at the same position (within a few microns) each cycle. This isn’t a perfect load cell test, but for my hobby purposes works pretty well for the goal of exerting the same amount of force for each run.

You can watch the Youtube video of the test here.

The load cell isn’t an expensive one, and I was using a kitchen scale to get the known weight (of a bunch of washers taped together) for tare; not exactly high-tech. Even so, for a just-for-fun hobby-type setup, the measured repeatability of the loadcell in this example is actually better than I thought it would be:

Product Links:

This loadcell setup was made with components available on Amazon:
Elegoo Uno Arduino Starter Kit
WEP 927 IV Soldering Station Kit
HX711 Loadcell Amplifiers
CALT DYMH-103 Mini Load Cell

Robot stage

Optical Plate Flat Aluminum Honeycomb Breadboard: https://amzn.to/4aKMuYR

3D Printer

We highly recommend the Flashforge line of 3D printers for printing your robotic EOAT and staging parts:
FLASHFORGE 3D Printer Guider II Large Size Intelligent Industrial Grade 3D Printer https://amzn.to/3VKaGGA

FLASHFORGE Guider IIS 3D Printer Auto Leveling with High Temperature Nozzle https://amzn.to/3xpxJMF

FLASHFORGE Adventurer 5M Pro 3D Printer with 1 Click Auto Printing System https://amzn.to/3TQxYYz

FLASHFORGE Adventurer 5M 3D Printer with Fully Auto Leveling
https://amzn.to/3TMprpS

FLASHFORGE 3D Printer Adventurer Series with Auto Leveling with Quick Removable Nozzle https://amzn.to/3PSmeDO

Disclaimer: As a participant in the Amazon Affiliate program, we earn a small commission if you make a purchase through one of these links, at no additional cost to you.

The Hurling Video

Playing around with TCP settings on the Mecademic one day, and this morphed into the thought that it would be fun to have a robotic sporting match to showcase this very useful function.

Basketball was out (couldn’t figure out how to dribble the ball repeatably), and soccer didn’t seem practical given the lack of legs in the participants. Irish Hurling came to mind while contemplating ice hockey (the hurley and the hockey stick have vaguely similar shapes).

Ok, so we have the sport identified, now what about props… The first time I watched a hurling match, I was sure the hurleys must have a scoop-type feature to keep the sliotar in place as the players raced up and down the field. The face of the hurley is in fact NOT concave, it’s the skill of the hurlers (camogie-ers?) and the slightly raised stitching on the sliotar that keeps it in place. It’s as if the players have their own TCP functions to keep the center point firmly in the middle of the flattened end of the hurley!

Here’s a great YouTube video from GAA MAN with players demonstrating their hurling skills: https://youtu.be/44Gi2IarBiI

Amazingly enough, miniature hurleys and sliotars aren’t for sale on Amazon or Etsy (and I did a lot of searching). Looking at some online images, I designed a model hurley in AutoDesk 360 that at least keeps the shape, if not proportions, of the real thing. Here’s a great intro to AutoDesk Fusion 360 if you’re not already a user: AutoDesk Fusion 360

I ended up printing the hurleys both ways; in the video, the Mecademic’s hurley is flat while Neds and the xArm’s have one flat, and one concave side.

Autodesk 360 image of printable hurley, ~ 6" overall length

2 printed hurleys on the model playing field

The hurley strapping is electrical tape.

OK, now for the sliotar… I spent an inordinate amount of time trying to stitch a tiny canvas ball, but the material shredded in places. Next, I cut up an old pair of leather gloves and tried sewing a leather one using a tiny baseball pattern. It turned out more square than spherical:

Result of attempt to sew tiny leather sliotar

Ned actually liked this one best; it didn’t roll at all, so was easier to hold on the hurley.

The final sliotar was a design based on some historical sliotar images on the National Museum of Ireland’s website. They were made of cow or horse hair. A ball made of coarse twine seemed about as close as I was going to get; once the glue set, it was hard and rolled reasonably well.

Coarse twine sliotar

The goal was cobbled together using twine and mesh netting on a wooden frame.

Programming the winning goal motion on the Mecademic was a challenge; suffice to say, acceleration settings were key. Once the proper settings were found, though, Mike made the goal in ~ 75% of the shots. Here’s the final program used in the video:

You can watch the Robofiesta hurling video here.

Getting to Grips with Grippers

In many automated assembly applications, a well-thought-out custom gripper design is essential. In this article I’ll talk about the process and iterations needed to accomplish the Meca 500 Diode Load sequence in RoboFiesta’s Mecademic Meca 500 Diode Loading Demo on YouTube.

Some of the things you’ll need to consider are:

  • What’s being gripped / picked. Dimensions, fragility, prestage setup
  • Speed required for the application
  • Precision / repeatability required for the application
  • Incoming material variability
  • Placement location with regards to EOAT orientation
EOAT will change depending on material being handled, and pick/place location considerations

For a part in a given location / orientation- a diode mounted on a breadboard, for instance- the gripper design would need to change depending on which direction the gripper fingers extend from the gripper mechanism.

It’s a good idea to do some dry runs with mock material to determine the requirements. For the diode handling, we could have picked with the gripper fingers extending in either X or Z from the mechanical gripper body mounted on the robot flange:

Which directions the gripper fingers extend also affects the toolpath you will program. In our diode sequence, the gripper fingers extend down in X from gripper body.

It took several iterations of grippers to develop a design that would firmly grasp the slightly tapered diode body without slipping. The final design featured a small relief or notch feature to accommodate a small lip on the bottom of the diode body.

Gripper with relief feature for diode lip

Finally, having a capable 3D printer like the Flashforge Creator Pro is invaluable for on-the-fly iterations for functionality and changes in setup orientation of your grippers. I’m currently using 1.75mm ABS Transparent filament, it’s a great material for general purpose applications.

Watch a timelapse of a gripper print here.

There are other factors to take into consideration depending on the situation, but those are the basics I start with when making new gripper designs.

Mecademic Diode Load

Precision diode load

With 5um repeatability, the Mecademic 500 is uniquely suited for applications requiring a high degree of precision. Prestaging of components is key, however, when using purely motion with no vision or dynamic location. The CanaKit Raspberry Pi breadboard provides a good stage for this work, which could be adapted for backloading & soldering manufacturing applications. Watch the video here.

Battered Diode

Word of warning- have a few “burner” parts for use during setup. Once the diode legs get bent they are difficult to straighten!

It’s difficult to see, but the robot performs a “shimmy” action as it places the 2 diodes. This utilized the Mecademic’s ability to jog in very fine increments when building the program- in this case, 0.05mm and finer. This motion was to offset the variance in prestage presentation of the diodes, and the spring memory in the fragile diode legs. The program is included below.

Meca 500 placing diode