First Robotics Competition in SF

We had a lot of fun at the First Robotics Competition at St Ignatius College Preparatory in San Francisco CA. We cannot think of a better way to spend the weekend than watching teams of highly skills robotics engineers compete for fame and glory!

Above is a photo the entrance to St Ignatius located in the heart of the Sunset district in San Francisco.

Below is a video showing one set of the robotic competition.

YouTube player

The goal is for your team to finish as many tasks as possible before the time runs out. Each team has three robots: two that are focused on competing tasks and one that tries to disrupt the other team’s robots. The court is divided in two with each team having one side as their home where they perform their tasks. The tasks are placing the tubes in a slot, throwing a ball and lifting themselves up at the end of the round.


Here is a close up of one of the robots, number 6822. It is amazing to see how many different and creative designs the teams come up with. For example, some receive the tubes from feeding machine while others scoop them up from the floor.

Here is another robot, 7667, waiting to be serviced.

Above is a photo of a typical repair station. Like with the robots, each team has their own layout and collection of tools optimized for their robot’s design. We had serious tool envy as we walked through the pit.

While none of our photos have people, the event was crazy crowded. We made sure to exclude people when taking photos, so missed about half of the teams at the events. Below is a sample of some of the teams there.

The Otter Bots.

The Aztechs from Alameda, California.

And team 846 with the absolute coolest pin dispenser ever!

The Breaker Bots.

The Pirate Robolution!

The Bot-Provoking.

Bora Robotics from Türkiye!

Blue Magpies from Taiwan!

Find your inspiration!

Wand Making

At the beginning of the Covid pandemic, we wanted to create magic for ourselves and our friends and hone our wood crafting skills. After much debate, we settled on wand making.

Our yard in the San Francisco, CA has several trees and shrubs that require routine maintenance.  Over the years, we carefully trimmed and stored the best branches for future use. One of our more numerous shrubs is boxwood and we have a large birch tree which both provide great material for wand making.

Please note, this material is provided for informational purposes only and is not a guide on how to create the designs. Please take a look at our disclaimer.

The three essential tools for wand making are:

Selecting the perfect branch can be hard and a lot depends on what sort of wand you are looking for. When selecting a branch to turn into a wand, make sure that it is not too green or too dry. Also, you want the branch’s width to be wider than you want at the start. Spokeshaving takes off more material than you would imagine. Straighter branches are easier, but we prefer ones that curve slightly to make the wand more interesting. Many pieces of wood also have natural handles that works great on the wand.

YouTube player

When cutting the wand make sure to not cut it too short, once you start crafting the ends you may find you need to trim it a bit more.

Wooden cut for making wands

Once you have trimmed the branch it is time to prepare it for spokeshaving.

To prepare for spokeshaving the wands, cure them in a mixture of water, dishwasher soap, and a little oil. Soak them for at least two days depending on how dry the wood was to begin with. If the wood is too dry it can by difficult to charge and split when spokeshaving. After two days of soaking, take the wands out of the solution, wipe them dry and store them in a cool dry place for at least one day to dry out. If your wood starts out very wet, you should not soak the wood and instead leave it to dry out for a bit.

Our technique for wand making involves lots of spokeshaving to shape the wand. The best thing about spokeshaving is it is great for all ages. Kids as young at six can spokeshave simple branches and adults can find it very rewarding after a long day at work.

When spokeshaving make sure not to cut into the wood. This can happen if the blade is not aligned correctly or your use too aggressive of an angle. If you do cut into the wood, we recommend not trying to smooth out the grove with the spokeshave. Instead, use a craving tool to widen the grove before returning to spokeshaving, or use a rasp to smooth it out. When spoke shaving it is best to use as little strength as possible and get into a rhythm to make the tooling as consistent as possible.

YouTube player

Once the wand is in the shape you want then move on to shaping the ends.

YouTube player

After years of practice we find repeated passes with a spokeshave can get the tip to the shape we prefer. You can use a carving knife as well, but with harder wood it can require a lot more force.

Sanding a wooden wand

After you get the shape and look you want move onto sanding. For wands sanding is really important. The wand needs a well-finished, smooth surface or it just will not feel right. Use multiple grades of sandpaper starting with the lowest grade sandpaper and ending with the finest.

Using wood stain on wands

Once the wand has the feel you want start applying the stain. Make sure to apply the stain in an open and well ventilated space. Remember, staining your wands will take multiple days, so you need a place where the wands will be safe and protected from rain or harsh sun. We stain our wands outside under our porch.

Above is a long line of wands after staining. Since it can take weeks to complete one wand we usually have several in the works at a given time. We also sand the wand after staining them because staining can make the wood feel rougher. Sanding can also give the wands an older look.

Waxing a wooden wand

After the last coat of stain has dried, apply beeswax to add another layer of protection and to give it a well-used feel. You want to wand to feel old and magical. This can require multiple coats of beeswax applied over several days depending on the condition of the wood.

Polishing the wands

The last step is to polish the wand using a rag or a bit of leather. We found leather does a great job getting a well-worn, ancient looking patina.

Now your wands are ready for use and harness the magic within!

Happy creating!

Pneumatic Robotic Arm Workshop

This pneumatic robotic arm workshop is design to introduce basic concepts of robotics and making to grade-school students. The design is based on ones used in middle school and high school robotic competitions. We have created a simplified version for one-time workshops with kids of all ages.

Please note, this material is provided for informational purposes only and is not a guide on how to create the designs. Please take a look at our disclaimer.

The two main science concepts are:

  • Leverage: A lever is a simple machine consisting of a bar that pivots on a fixed point (fulcrum). Levers are used to amplify input force. The robotics arm requires placing the syringes in positions that exploit leverage. You can find out more here.
  • Pneumatic:Pneumatic power uses compressed air as an energy source. Basic components of a pneumatic engine are: reservoir, pump, value and cylinder. In this workshop the syringe is the pneumatic engine. Pneumatic power is widely used in robotics and industry. Here is a link for other project ideas. 

Required Supplies:

Each student will require:

  1. x4 syringes
  2. x2 4-inch piece of tubing
  3. 1  4×4 piece of wood
  4. x5 Popsicle sticks
  5. X2 nut and bolts

The photo below is the full-scale model used in high school competitions. It requires 2-3 students to control. One of the Hip Monster sisters built it at a Sacred Heart Robotics Camp in San Francisco, CA.

Here is a side view with the arm down.

The competition involves stacking blocks and the score is based on time it takes to move all the blocks and height of the stack. Controlling the arm is a true team effort with 2-3 students working together to move the arm. The winning design not only requires good engineering but perfect team work. Engineering competitions are ideal ways for kids to develop technical as well as social skills.  Below is a video of the arm in action:

<video of it working>

For our grade school work shop we choose a smaller and simpler design that only required one student to control the robotic arm. You can still have a team competition with two students per robot (one controlling each syringe) if desired.

Below are several views of our simplified design. Instead of zip ties we use rubber bands and tape.

Here is a view from above. This design does not use hot glue and is suited for all ages.

This is another design suited for more advanced students.

Here is a side view showing the placement of the syringe in the middle of the base to provide better range of movement.

In the video below one of the Hip Monster’s sister’s team does a quick build of an arm.

 

YouTube player

Here are the step by step instructions:

  • Drill a hole in the center of the square plywood which will be the base for your robotic arm.
  • Now push a bolt through the hole and secure it using a nut. The bolt will be the support for your arm.
  • Drill a hole on one end of four popsicle sticks.
  • Use the two popsicle sticks placed on either side of the bolt with the holes on the top.
  • Secure using rubber bands making sure to let it pivot.
  • Secure a syringe to a popsicle stick. This popsicle stick provides leverage helping move the arm.
  • Use rubber bands instead of tape or glue. Rubber bands let the mechanism flex as the pump extends pushing the arm.
  • Attach the piping and connect another syringe.
  • Adjust the two syringes so when you depress one the other extends.
  • Attach one end to the popsicle stick using a rubber band.
  • Next secure the other end to the edge of the base using tape.
  • Slow depress the syringe pump your arm will move!
  • Now attach two popsicle sticks to the top of the arm.
  • Secure with a bolt and nut.
  • Secure the syringe pump to the forearm with rubber bands.
  • Now attach the syringe base to the arm using tape.
  • Connect the other syringe.
Now you pneumatic robotic arm is complete!

To improve performance you can turn your pneumatic robot to a hydraulic powered one by just adding water! You can get more information here.

YouTube player
Happy Creating! 

Number 10 Gets A Screen

We have started upgrading all our robot to run the new RobotFreedom.AI framework. For Number Ten, the main missing piece was a screen. Some of our early designs were not built with a screen in mind and adapting the design has taken a few iterations.

Please note, this material is provided for informational purposes only and is not a guide on how to create the designs. Please take a look at our disclaimer.

Here is a list of some materials and components used:

Number Ten was a tricky design to fit a screen on and keep to its original design. After many attempts we settled on using a L-Bracket placed at the front the body to mount the screen.

Now we reassembled the legs onto the body. Number Ten was one of several experiments the Hip Monster’s sister team built to come up with the most unusual way to move a robot. The robot moves forward, left and right by sliding one foot forward. On the bottom of each foot is edge shaped gripers that provide traction when pushed against but slide when pushed forward.

The screen is light enough to only need a few attachments to hold it in place. For added support we used a wire at the top of the screen to keep it secure while moving. Number Ten has never fallen forward so we need less protection for the electronics and screens than some of out other designs.

Our we assemble the various components Number Ten will need. We recommend using a usb hub  for the wireless keyboard dongle. If you have several robots you will want to reuse the keyboard and will need quick access to the dongle. Typically, once we settle on a final layout for the RaspberryPi it is in a secure but difficult to each place making removing the dongle difficult. For people with less than perfect eye sight we recommend using a magnifying glass and bright lights when connection the GPIO pin to the RaspberryPi.

YouTube player

And here is a quick video of Number Ten display screen working. It is a light weight version of our main display better suited for older RaspberryPis.

YouTube player

Happy creating!

A Selection of Wands

We make wands to relax and to practice our woodworking skills. The process usually involves spokeshaving, sanding, staining, and waxing the wood. We always use wood from our yard to make the wands extra unique. Here is a selection of some of our wands!

DIY Wooden Wands
This piece of wood had a handle that bends that was very difficult to spokeshave, but turned out very well. We stained it red and brown then sanded the wood for the marbled finish.
DIY Wood Wands

Unusual for us, this wand is made from bamboo. Instead of spokeshaving, we just sanded this wand to maintain the classic look of the bamboo. The black color of the wood is natural, not stained.

DIY Wooden wands

This wand is nice and strait. We spoke shaved it smooth and stained it mahogany to add a pop of color. This wand was also sanded to have a smooth finish.

Happy creating!

Paxton Gate

Whenever we go to Valencia Street in San Francisco, we always go to one of our favorite stores called Paxton Gate. An eye catching store that is full of interesting natural wonders and oddities.

Store Paxton Gate, San Francisco, CA

When we go in Paxton Gate we always will stay there for a very long time, because there is so much to see and explore!

Store Paxton Gate, San Francisco,CA

Here are some interesting rocks and minerals, including opal, aragonite, and bismuth! We love to pick out some new and interesting rocks to add to our rock collection.

Store Paxton Gate, San Francisco,CAHere are some more rocks! We love looking at and picking up all of the different rocks. One particular favorite is a desert rose crystal. We like then because they are very beautiful and remind us of a rose. We also love bismuth because it reminds us of Gunnerkrigg Court.

Store Paxton Gate, San Francisco,CA

Here are some animals and other random curiosities that are preserved in glass. There is even a human brain in a jar!

Store Paxton Gate, San Francisco,CA

These are animals displays and animal figurines. We love to look through all of the animal figurines to try and find our favorite animals.

Store Paxton Gate, San Francisco,CA

These are some cool skeletons and bones of different animals, including the skull of a muskrat.

Store Paxton Gate, San Francisco,CA

Paxton Gate also has a variety of plants. We love to hang out in the plant section to try and find a new addition for the yard.

Store Paxton Gate, San Francisco,CA

More plants! The weirder the plant the better. We love to have odd looking plants in our garden.

Store Paxton Gate, San Francisco,CA

Here are some fossil trilobites, ancient creatures that lived in the ocean. There are a variety of sizes. We are especially interested in them because trilobites are the family sign for the Heterodyne family in Girl Genius.

Store Paxton Gate, San Francisco,CA

Here are some glass eyes used for taxidermy which we find creepy but cool.

Store Paxton Gate, San Francisco,CA

These strange stones are actually owl pellets! Owl pellets are undigested food that an owl would regurgitate.

Store Paxton Gate, San Francisco,CAAnd a friendly skeleton watches over the store while you explore!

We hope you find you inspiration!

Updates to RobotFreedom.AI

Since our last update at Maker Faire, we’ve made significant improvements to our robot lineup, focusing on increasing autonomy, human interactions and emotional expression. Core to this is our AI framework, RobotFreedom.AI now available on GitHub.

The design principle for our autonomous AIs ():

  1. Runs completely locally on a RaspberryPi (no third-party API call out)
  2. Has distinctive personalities based on the big 5 personality traits
  3. Learns from interactions (initiated when in sleep mode)
  4. Makes informed decisions based on a knowledge graph
  5. Can carry on a conversation between themselves and with a human

To achieve this we used an Agentic AI framework rather than just tapping direction into a chat bot. By having a core AI that was designed to meet our specifics goals we had more control of its behavior and could also directly see how the AI worked in real-time which provide to be a great educational tool.

One of the key upgrades is the addition of machine learning algorithms, which enable the robots to learn from their interactions and adapt quickly adapt new situations. This allows them to become even more autonomous in their decision-making processes, making them more efficient and effective in completing tasks.

We’ve also made notable strides in expanding the robots’ interactive capabilities, incorporating features such as voice recognition, gesture control, and tactile feedback. These enhancements enable users to engage with the robots on a deeper level, fostering a more immersive and engaging experience.

Some of the specific updates include:

* Advanced sensor arrays for improved navigation and obstacle detection

* Enhanced machine learning algorithms for adaptive decision-making

* Voice recognition and speech-to-text capabilities

* Tactile feedback mechanisms for haptic interaction

These updates have significantly enhanced the robots’ autonomy, interactivity, and overall user experience. We’re excited to continue refining our designs and pushing the boundaries of what’s possible with robotics and AI.

We have been busy working on our next release of our robot software platform

Major features:

  • Robots can coordinate actions using web socket communication
  • Dedicated http server for each robot
  • Added Piper TTS for voice
  • Added Vosk for speech recognition
  • Added Ollama and LangChain for chat bot.
  • Improved random movement generator.
  • Tons of bug fixes
  • Improved debug mode
  • Low memory mode for RaspberryPis 1-3

Tested on OsX and RaspberryPi 1-5.

You can see our Robotic AI platform in action here.

Happy creating!

Arduino Robotic Controller Software Update

The RobotFreedom robots are controlled by two code bases. The first runs on a RaspberryPi and is written in Python. You can read more about it here. The second code base controls the movements and lights on the robot. It is written in C and runs on a Arduino. This article will get you started on developing with that code base. You can download it GitHub.

Please note, this material is provided for informational purposes only and is not a guide on how to create the designs. Please take a look at our disclaimer.

The movement controller is designed to be light and simple compared to the main AI code-base and is ideal for a beginner. The focus is to provide an interface for a human or AI to control a robot’s moving components (arms, legs and wheels). We use a Arduino Mega Board because it has a plenty of digital pin to attach our components to. Below is an image of a Arduino Mega board.

Arduino’s can be controlled via serial communication through a USB port or you can code it to run independently. Our robotic walkers are controlled only by an Arduino. This project is intended to be controlled by an AI installed on a RaspberryPi.

The purpose of the program is to receive incoming messages and perform the requested action. For example ‘a’ means raise the left arm. When the program receives an ‘a’ command it sends a command to a H-Bridge which then send power to a linear actuator to raises the left arm.

To start, install the Arduino IDE on your preferred development OS. Linux, OXS and Windows is supported. You can get the code here.

Next, download the required library and copy them to your development folder.

Adafruit_BusIO
Adafruit_I2CDevice
Adafruit-GFX-Library
FastLED

Launch the Arduino IDE and from the menu bar select:
Sketch>Include Library>Add Zip Library…

Launch the Arduino IDE and from the menu bar select:
Sketch>Include Library>Add Zip Library…

Then point to one of the zip files you have downloaded. Repeat for each required library.

To open the project, double click on the movement_controller.ino file and the Arduino IDE should automatically launch. If it does not launch you can load the sketch by selecting File>Open then navigate to your project file.
Now choose a board type. When you connect your Arduino board it should be auto-detected by the IDE. For some brands you may have to manual select it from the combo box. For off-brand Arduino we recommend searching forums for the best match. Many specify incorrect boards in their descriptions.

Next select >Sketch>Verify Compile. At the bottom of the IDE a console will appear and provide a detailed log. If you missed any libraries you will receive an error message. Loading any required libraries and try again.

Once the code is compiled select sketch>upload to deploy your code.

Below is a list of the components the code can control:

H-Bridge
FastLED
Linear Actuator

The image below is the wiring for the Arduino:

To test select Tools>Serial Monitor from the main menu. At the bottom of the IDE a new tab titled “Serial Monitor” will appear. From this console you can directly communicate with the Arduino.

 In the console window type “5”. You should see a response from the Arduino in the console and if the LED is connected to the Arduino it should turn white and flash in a circular pattern.

Now you can control your own robot!
Happy Creating!

 

Number Nine is Rewired

We are learning weight is everything when it comes to good performance from our robots. One of our best jumpers, Number Nine, used splicing connectors that had very useful push handles but were way too heavy for continued use.

Please note, this material is provided for informational purposes only and is not a guide on how to create the designs. Please take a look at our disclaimer.

The old connectors were perfect when we were prototyping designs but once we settled on a wiring diagram it was time to move on to the much lighter push-in designs. The video below is a sped up video of one of the Hip Monster’s sister team (age 13) rewiring Number Nine with the new connector:

YouTube player

And now for testing! Here is a video of Number Nine is back in action and ready for more upgrade:

YouTube player

Happy creating!

Gunnerkrigg Court S13

When people visit our workshop, the first thing they would see is a big box of parts labeled S13. The HipMonsters sister team use that box for all the leftover pieces when we upgrade our robots (mostly parts from Number Two and Number Three).

The idea for the box came from the online graphic novel series Gunnerkrigg Court, which is one of our all-time favorite works of fiction. This is the mysterious S13 box in Gunnerkrigg Court waiting to be assembled.

This is the one page that sent the Hip Monster’s team on a four year journey to build a robot that could carry on a conversation.

During the Covid pandemic, being able to build your own robot to play with was very appealing to the Hip Monster’s sister team. Gunnerkrigg Court and Girl Genius Online made building robots seem easy. Years later, the whole team now knows that building robots is fun, but also hard and tedious. Our robots can now talk and move on their own, but are still not as good as S13. Given we lack etheric powers (what the supernatural force is called in Gunnerkrigg court) we think we did fairly well.

It was raining over the weekend and we are tired of working on real robots (some of which now talk back at us) so decide to rebuild our first non-work robot from the scraps.

Above is our real-life replication of the assembly of S13. Here in the top left photo we have laid out all of the pieces we found in the box. In the top right photo we are assembling the legs.

The rebranded S13 almost complete.

Gunnerkrigg Count was probably the work of fiction that was the most influential in our decision to build robots. During the pandemic, the adventurous spirit of the two central characters (Annie and Kat) challenged us to push ourselves.

Our emotional AI which controls all our robots is loosely based on S13’s conversation with another robot later in the series about having an ocean of feelings to swim in. When we designed the AI we made sure that at a high level, the code held true to the ocean analogy. Our robots swim in emotions, stimuli, and personality. There is an algorithm that runs deep in the code that lets the robot adjust its behavior given what it experiences.

Here is our very much over used copy of the first volume of Gunnerkrigg Court. We are saving up to buy new hardcover additions.

we hope you find your inspiration.