Maker Faire Bay Area Robot’s View

Thanks to everyone who helped this year’s Maker Faire Bay Area so special! We are looking forward to seeing everyone next year and are already improving our show. Below is a photo our booth before the event started. It is hard to believe over one thousand people visited us over the course three days!  

Maker Faire Bay Area

Want to see how our autonomous robots experienced Maker Faire Bay Area? Check out the video below, generated based on the stimuli, emotions, and actions of HipMonsters’ two robots over the course of three days at the Maker Faire.

The robots recorded the following sensory data:

💙 Noise: A sudden, loud noise. Represented by the color Blue.

💚 Distance: Motion within 1 foot. Represented by the color Green.

🧡 Movement: Motion within 6 feet. Represented by the color Orange.

💛 Speech: The spoken word “robotics”. Represented by the color Gold.

💗 Touch: Contact on the touch sensor. Represented by the color Pink.

🤖 Frequency of Stimuli: How often or rarely the robots received stimuli. Captured by the Movement of the cube.

🔉 Mood: Happy or overstimulated. Reflected in the choice of Sound.

Turn up the volume of the video! It’s not music you’re hearing, but the robots’ moods given the stimuli.

Since we engaged the Touch sensor at the end of each demo, this means we ran 420 complete demos over 3 days. Our robots have been well socialized!

YouTube player

Happy Creating!

Getting Started with Raspberry PI

Originally, we set up this site to focus on woodcrafting and painting but as our interests grew, we have increasingly used Raspberry Pis to add motion and life into our work. This post will get you started using Raspberry Pi’s in your creations.

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.

Why Raspberry Pi?

  1. Powerful computing platform with easy-to-use languages.
  2. Low energy consumption and runs quietly and cooly.
  3. Rich online support and user base.
  4. Has 26 pins built in enabling rapid integration with Internet of Things (IoT) technology.

RaspberryPi 5

Peripherals

Today, most people developed on a laptop or tablet, but Raspberry Pi’s require old fashion peripherals: power cables, screen, keyboard and mouse. You need to setup a physical development environment and make sure you have all the necessary peripherals. Newer Raspberry Pi uses a Micro HDMI port so you will need a converter. We do a lot of coding on the couch so built a makeshift laptop as seen below.  

DIY RaspberryPi Laptop

A side view of our Raspberry Pi laptop.

DIY RaspberryPi Laptop

A front view of our laptop.

A mouse can get some to get use to so we recommend a wireless keyboard (seen above) with a built-in trackpad. One plus is the keyboard + trackpad only uses up one USB port.

The Hard Drive

A Raspberry Pi’s OS is stored on a Micro SD. To start we recommend getting two with at least 64 GB. If you do any images or sound the drive fills up fast. You will also need at least two readers. One USB A for the Raspberry Pi when you transfer code and one for your other machine to build the OS image from.

SD card and reader

Building the OS Image

You can buy Micro SD cards with built in OS. If you do not have a laptop or desktop that is you only real option. You can also build your own OS image using tool provided by Raspberry Pi. You dan download it here: raspberrypi.com/software.

We recommend modifying the advance setting to pre-configure your login and Wi-Fi password.

Booting the Device

Make sure to use the appropriate power supply as specified by RaspBerryPi. Depending on the version, booting can take a while. Once it has completed booting you should see a screen that looks like most standard desktop environments.

Linux Desktop

Raspberry Pi’s OS is ARM version of Linux. If you have used Linux most of the standard tools will be available. If you have only used Windows or OSX the environment should seem very familiar. All the desktop environments follow the same basic principles. If you have never used a desktop environment this is a great place to start!

Configuring Your Environment

The keyboard defaults to UK. If you are not in the UK many of the keys will not work as expected. In Preferences, open up the Mouse and Keyboard Setting then click the Keyboard layout button at the bottom. In the combo box choose the appropriate country.

We also recommend a smaller or not image for the background to use less memory.

Developing Your Next Big Thing!

We started using Scratch as a development tool. If that works for you and makes sense keep using it! Here is a link on how to install it on a Raspberry PI.

We have migrated to mow using Python and C++. To write code we use the Geany Programmer’s Editor. It lacks some features of Visual Studio Code (what we develop on in Windows and OSX) but has a light foot print.

Typically, we write code for a Raspberry Pi on both a MacBook and the Raspberry Pi itself. We do find the MacBook is similar enough environment we do not need to change our code too much. If you look at our code in GitHub we you we often have different logic based on which environment the code is run on. Note: there are some packages that only work on Raspberry Pi such as interfaces to sensors. In these sections of the code, we have non-functioning stub if the platform is OSX.

We transfer code using the SD reader. Both OSX and Linux auto-detect SD cards when attacked but with Linux it can take a bit so be patient. Also, sometimes Linux cannot write to large SD card so try a small on first.

Our next post will dive deeper into the basic of programming Python on a Raspberry Pi. For now, if you have never used Linux or a desktop environment we recommend just browsing the Web using Chromium (the open source base to Chrome) to familiarize yourself.

Happy Creating!

 

 

 

 

 

 

Number One On Its Own

Number One looks very simple, it’s just a burnt out hair drier with wheels. As out first design we opted for a wheeled robot that followed a more traditional form, but it has been repeatedly updated over the years and now is completely autonomous with a mind of its own, making it one of our most complex robots. Powered by a RaspberryPi, our new Number One is now a Edge AI mobile sensor.

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.

DIY wheeled robot

The handle of the blow drier servers as a functional hub for the electronic component. The two batteries (one for the RaspberryPi and one for the motors) are attached to the back to allow for quick replacement. The camera is mounted at the top to provide a good overall view. The display, which is mostly for show, is forward facing. We added “bumpers” to the screen on each counter to help protect it in from falling or bumping in to something. The first screen hit a end table and developed a crack, which convinced us that it needed some armor.

DIY Wheeled Robot RaspberryPi

To protect the range finder, we added wooden bumper. Originally the range sensor had no protection, but after a few good hits we decided a bumper was a good idea. The range finder has proven to be sturdy but the wires to tend to fall off.

DIY Wheeled Robot RaspberryPi

Above is a back view. When we first built Number One it the components were completely attached using electrical tape. While this worked surprisingly well, it did not look good. Most components are now bolted on or attached using leather to help the robot look more aesthetic.

DIY Wheeled Robot RaspberryPi

The RaspberryPi is attached in front for easy access. The USB and other access ports are easily accessed allowing for quick repairs. We use a wireless keyboard to control the RaspberryPi. While the robot is autonomous (it makes decisions on its own) when it first gets power the AI part of the robot does not turn on. The robot can only become active after we execute a command. The original model turned on automatically, but that proved to be a bit of a headache when something went wrong.

Robot layout

The above image is the layout design using software from Fritzing.org. This is a far simpler layout that what we made for Number Two and Number Three. We may add more sensors over time, but to enable a fast response and to reduce power needs we decided to keep the number of sensors to a minimum.  Another difference is we are not using an Arduino to control the movement. For beginners this is a better design to learn with.

Here is Number One in action! Come see it live at this year’s Bay Area Maker Faire! 

You can download the code from our GitHub.

Happy Creating!

Bay Area Maker Faire Update

The HipMonster’s team was quiet online over the summer but working hard in our workshop finishing up our educational presentation on robotics, Robot Freedom. Here is a quick preview of our Robot Freedom which you can see in person at this year’s Bay Area Maker Faire.

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.

DIY pneumatic robot with bell.

Here is our pneumatic robot designed to put a ring into robotics! Learn how to power a robot by just using your own strength and coordinating with a friend. See how many times you can ring the bell!

DIY Wheeled robot.

Our DIY robotic car is completely controlled by our emotional AI platform. It uses sensors to learn from its surroundings and go in the right direction. See it navigate the world with emotions and learn how you can build one too.

DIY steampunk Leibniz Calculator

Add, subtract, multiply, and divide using our DIY Leibniz calculator. A steampunk computer that you can build at your home. This calculator can do amazing math with a relatively simple design. Before there was electronics, there was gears!

Steampunk autonomous robot

See the updated Number Three, now a fully autonomous android with emotions. It takes in information from a variety of sensors and processes the information to change its mood. Help it learn to not be afraid of humans!

Steampunk autonomous robot (centaur)

And Number Two (our centaur robot) has gotten updated as well. The AI platform will soon be available on GitHub so you can build your own emotional AI.

Number Three and Number Two also have a hidden feature when you activate a certain sensor.

We are looking forward to seeing all of you at this year’s Maker Faire!

Happy Creating!

Wiring of Number Two and Three

The HipMonster’s sister team decided to push our robotics to the next level. They were dissatisfied with remote controlled robots with no personality or pre-programmed robots who were predictable. What they wanted was a more independent android which could interact with and learn from its environment. While AI would drive this vision, just as important would be sensors and mechanics to enable the robots to come to life.

To start upgrading Number Two and Number Three, we explored different wiring layouts using Fritzing. Fritzing is an open source software program that lets you design and prototype component layouts virtually. This is a great tool for experts and beginners alike and can save you time and money in developing your next electronic project. The images below are exported from Fritzing and show layouts for our improved robots.

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.

Fritzing diagram of steampunk robots

The above image is the layout for the Arduino and motors that allow the robots to move, as well as a decorative LED light. The linear actuators are controlled by H-Bridges and the motors by relays. We use a 12 volt battery for power. The Arduino receives commands from a RaspberryPi, which controls the LED light and  brings everything together. Written in C++, the code for the Arduino is based off of our Walker code.

Sensor diagram for steampunk robot

The above image is the layout for the RaspberryPi and the sensors. The signal processing and AI that is written in Python would live on the RaspberryPi. After much experimenting, we found it was best to have most sensors connected directly to the RaspberryPi and dedicate the Arduino completely to movement. Here is a good tutorial on using a motion sensor with a RaspberryPi.

While we wanted a robot with modern AI and technology, we still wanted a steampunk feel. So we decided to use wood for the baseboard, use vintage wiring techniques, and use leather to secure components and wires.

Computer parts for a robot

Once the layouts were finalized and the components acquired for our design, we started exploring different layouts for the baseboard. The baseboard is the most critical piece for our robot’s design. Not only does it secure all the electronics, but also provides structural support for the arm movements. While wiring the board, finding the right layout proved to be more of an art than science. The electronics, power, wiring and the robot’s skeleton all needed to fit together seamlessly, but often one or two components would refuse to play well with the others. The biggest issue was arranging the cabling to minimize stress on the connectors. For example, the HDMI slot needs to point downward or the stress would bend it over time. Number Two and Number Three also needed slightly different boards to work well with their different designs.

Wooden computer baseboard

Above is the final form of the baseboard with the mounting screws attached. Remember to test the sizing on the mounting screws on each component before attaching them to the board. Also make sure to double check your measuring before drilling holes.

Wiring robot components together

Here we are wiring the board for Number Two. We found it was good to test each connection after it was attached to make sure the wires had a clean connection and would not come off. While wiring two or three wires is easy, but after wiring a larger amount, mistakes can be made. If just one wire was in the wrong place or was stripped incorrectly, you could spend hours tracking it down. Thankfully both the Arduino and RaspberryPi are forgiving, but the sensors are not. If you wire a sensor incorrectly it will overheat and burn out.

Here is another view of us wiring the board. Before attaching it to the robots, we tested everyone repeatedly. Even our cat helped in the testing by batting the wires as the motors kicked in.

And here is the Number Three with its new board in action! The color circle indicates which sensor is receiving input. When the robot receives stimuli, it responds by either moving or speaking to try and encourage more stimuli.

Come see Number Three, Number Two, and more at this year’s Bay Area Maker Faire.

Happy Creating!

AI as Art

When designing Robot Freedom, our educational presentation on robotics, the HipMonsters  team wanted to make robotics and artificial intelligence (AI) approachable to a mass audience in hopes of inspiring the creators within all of us. To achieve this, the core principles for our AI design were defined by the Hip Monster’s sister team (ages 9 and 12 at the time), namely, robots should have distinct personalities, emotions, curiosity and be first and foremost pieces of art.

Robot Freedom's AI platform using S-O-R theory.

Given these principles, the foundation of our artificial intelligence framework (show above) is based on Stimulus Organism Response (S-O-R) Theory. S-O-R theory is a psychological framework that enables researchers to explore how stimuli (such as a bell) can impact an organism’s responses, (a dog salivating). Like Pavlov’s dog salivating at the sound of a bell, our robots learn and adapt as they experience outside stimuli and are always eager for more. The robot’s AI is driven by five personality traits that govern how they interpret and respond to stimuli. Below is how a signal from a sensor (stimuli) flows through our AI (organism) and results in an action (response).

Robot Freedom's artificial intelligence platform using S-O-R theory. Agent Stack

Central to the robot’s stimuli exploration is a sensor array of ten sensors ranging from sound to touch. When a robot receives a stimulus, it first processes the information based on its preset personality, then uses past experiences to choose a response based on its personality. Below is a color key to the robot’s sensor display panel.
Robot Freedom's sensor color chart.

 

These experiences are weighted based on the outcome of the robot’s actions allowing the robot to adapt responses to new stimuli. The robots can move, change visual effects, or talk using a chatbot. Below is the full software stack used in our robots.

Robot Freedom's AI platform using S-O-R theory full stack

All the processing is run on a Raspberry Pi and you can download if on our GitHub. Come see this in action at this year’s Bay Area Maker’s Faire!

Happy creating!

Project 75762- Maker Faire 2024!

We are delighted to say the Hip Monsters will present Robot Freedom at the this year Bay Area Maker Faire!

Robot Freedom is a celebration of robotics and steampunk designed to teach kids of all ages the basics of robotic design with fun hands-on demonstrations presented by an autonomous android powered by feelings. See how a mechanical mind works, power a music robot with your own strength, and watch how a robot sees a world filled with stimuli!

Please join us October 18 through 20th!

Read more about our exhibit here.

Steam punk robots going to Maker Faire

Making of Number Six and Number Seven

After finishing Number three, we wanted to make smaller and lighter walking robots. Leveraging what we had learned from building our first walking robot, we made two mini robots, Number Six and Number Seven!

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

Because we had a completed robot design it was easy to make sure we had all the parts we needed before beginning. Since Number Six and Number Seven were smaller we were able to spend about the same amount of money but use lighter steal parts. We hoped the reduced weight would make for better walking performance.

making a robot

The steal tubes also had bolt threads as apposed to pipe threads. Pipe threads are “V” shaped which made it difficult to get a piece tightened pointing the correct direction. With bolt threads we could use a nuts to tighten the connection between the tube and the pivot joints however they were positioned.

Working as a team the assembling went fast and in less than a day we had the beginnings of two robot. One trick we have learned is to use the floor as an assembling space. We are cramped for space and using step stools can be tricky in a workshop so the floor tends to be safer.

Here is a completed frame. It cannot stand yet and has to be held up. Here we had the initial knee designs. The knee design was important when we were developing the first walker. Later we switched to a tube in the piston rod that acted more like a spring to prevent the leg from over extending. What is critical in our approached is letting the robot fall forward but stop the fall before the robot is in a position it cannot recover from. The sister team learned this trick from a class at school where the teacher said when humans walk forward it is more like a controlled fall.

Now we start on installing the air pistons. We had to repeat this process many time because we kept switching around to position of the pistons and the direction of the air tube couplings. If the pistons are not the same on both side the robot will veer to one side and if the coupling are facing apposing ways the tubing becomes impossible to arrange.  We have found facing the coupling up is typically the best orientation.

We did have to modify the piston attachment by removing the peg. This did require a parent’s help as the clip that secured the peg was difficult to remove without breaking it.

making a robot

Next we began attaching the pneumatic air tubes. When measuring make sure to know were the pneumatic solenoid valve will be attached and account for the full movement of the legs. It is best to do one tube, test it, then do the opposites side. We found as we added tubes we had to change the initial lay of of the tubes. The tube work is a bit of an art form much like wiring a control unit.

Here is a close up of the all the piston installed.

 

making a robot

Here is another view of the tubing being fitted and a close up of the pneumatic solenoid valve. Make sure to do clean, straight cuts with a sharp scissors to assure not leakage when attaching to the couplings.

making a robot

Here is a front view of a completed design for Number Six and Number Seven. For testing we used a leather book strap so we could reposition the components as needed. We also tested a number of different air pumps. This pump, which we did not use in the final design, was the quietest and used the least amount of power.  Latter, we switched to another model because this model kept shutting off after prolonged use.

DIY Robot

Like with other designed we used a garage door remote controller because it reverse polarity to the pneumatic solenoid valve which switches the air flow from one leg to the other enabling the robot to walk. It is the small black box in the center of the robot.

DIY Robot

The battery we secure to the underside for protection (the light blue box under Number Six). Instead of doing lead acid battery for Number Six and Number seven, we switched to a 12V 6Ah Lithium Iron Phosphate Battery from our lead-acid battery due to it much lighter weight and increased amps.

DIY Steampunk walking robot Number 6Here is Number Six walking in our yard.

DIY Steampunk walking robot Number 7

Here is Number Seven walking in our workshop.

Steampunk DIY walking robots

And here we have all three robots, Number Five, Number Six, and Number Seven going for a walk together! The larger robot is Number Three. Number Seven is in front and Number Six is on the left.

Happy creating!

Upgrades to Number Three

Since we discovered how to make Number Five move, we decided to upgrade Number Three. We tried to preserve as much of the original design as possible, so we didn’t mess with the decorations or redesign the frame. We also made the legs stronger so the robot could support itself easily and won’t fall. Professor Brockenhoff was very pleased with being able to more effectively scare strangers!

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

We started off by disassembling Number Three. Given how Number Three was designed as a framework, it was pretty easy to take apart.

Robotic Arm being built

Number Three’s Arm being Upgraded

We wanted to upgrade Number Three to make it move. Since walking with two legs is incredibly hard, we decided to only make the arms and hands move. We first used hinges to upgrade the hands so that they could open and close. Next, we had to replace the fixed joints with movable joints. Borrowing from extra part from Number Five, we added flexible joints for pipes to power a air brush. The added weight of the metal join required use adding more support for the legs. We tried plastic joints, but they failed durning testing.

Then we attached lightweight linear actuators to the joints to move them. Given we wanted more controlled movement and a quieter robot for our front parlor, we opted for electronic verse pneumatic power. We attached the linear actuators so that when they extended, the arms reached out and when they pull back, the arms bent.

And finally, for controls, we used a remote control unit for garage doors. Since we need the polarity to switch (the wires reverse, positive/negative to negative/positive) to have the linear actuators go in and out we had to make sure the control unit reversed the polarity not just turned the power off and on.

And now you see the update Number Three testing its arms with Professor Brockenhoff at the controls!

Happy Creating!