Saturday, July 29, 2023

Mojo5 - First concepts and Franken-prototype (#2)

Mojo5: Building a New Robot!

To kick off the design process, the main concept behind Mojo5 was to closely bind the servos together while using an unconventional material – chopsticks(!) – to create a minimalistic chassis.

Initial CAD Drawings:

The journey started with creating initial CAD drawings to visualize the robot's structure and mechanics.

Servo mount is binding the two leg servos together

(Blue) knee servo arm, linkage, and co-axial cam
(Yello) Upper-Leg also co-axial, servo connected

Microcontroller and Servo Driver:

For Mojo5, a major change was adopting the ESP32 controller instead of the simpler Arduino mini-pro used in previous Mojo variants. The ESP32 provides added functionality, including built-in Wi-Fi and Bluetooth connectivity, and ample I/O pins to accommodate future expansions.

Mojo5: ESP32 Micro-controller connected to PCA9586 Servo Driver


To drive the servos, I chose the PCA9685 servo driver, utilizing I2C communications. Although my existing 11kg servos are not the most powerful, the PCA9685 still manages to control them effectively. Furthermore, my familiarity with this driver makes it a suitable choice for use with the ESP32.


The Franken-Prototype:

To quickly test the concept feasibility, an initial prototype was assembled. It consisted of a newly designed 'upper-leg' or 'femur' and a knee-cam sharing the same axis as the upper-leg. Other parts were recycled from earlier robots, giving birth to what we affectionately call a 'franken-prototype'. Franken-prototyping is a common and pragmatic approach to quickly determining the feasibility of an idea.

The first test was crucial – connecting the servos to the PCA9685 and ESP32. I taped the servos together and assembled the required components. Powering the system with a 5V source, I eagerly sought to witness the initial motion and validate the success of this build. And to my delight, it worked! This promising outcome lays a solid foundation for the upcoming design iterations.

Mojo5: Franken-Prototype

In addition to the Prototype, I was able to set up a new repository for the Mojo5 code, and test out the basic set up, communications, and loops.

With Mojo5's initial movements validated, I'm excited to delve deeper into refining and enhancing its capabilities for even greater achievements in the future!

Sunday, July 16, 2023

Mojo5 - Minimal Viable Mojo

 


Lately, I've been on a bit of a hiatus from robot building, due to the stresses of life and my role as the technical lead in a startup. Yet my thoughts have never strayed from the topic, frequently returning to many different types of robots. But quadrupeds – they have a special place in my heart. You always go back to your first love.

In recent times, there have been numerous discussions about the prerequisites for a good, affordable quadruped. Since embarking on this journey, I've seen a few open-source designs come into existence, such as the Stanford Puppers. To me, the real thrill lies in creating my own, even though I do keep an eye on the work of others in this field.

Looking back, the primary challenges with my previous designs stemmed from the strength of the servos and the overall weight of the robot. To be successful, you need 25+ kg/cm servos with speeds of less than 0.2 seconds for 60 degrees. These servos typically cost $20-25 each (when on sale), and a basic 8-degree-of-freedom quadruped would need eight of them. Before I take the plunge and invest in these high-end servos, I want to try one more design to see if it might be possible to work with the 11 kg/cm servos I currently have.

Enter the Minimal Viable Mojo - Mojo5.

For my Mojo5 design, I aim to strip everything down to the bare minimum necessary to create a walking quadruped.

Minimal parts:

  • 4 leg assemblies
  • 4 quadrant servo mounts
  • 8x MG995 servos (60g each) 480g
  • Light weight wooden dowels connecting the parts
  • Arduino nano pro
  • 7.4v battery for servos
  • 9v battery for controller

This MVM - minimal viable mojo will be a mini-mini quadruped.

Moving forward with this reduced configuration, we have to address several fundamental challenges, the foremost being power optimization. Lighter and less powerful servos mean we have to be extra diligent about weight distribution and energy efficiency.

We're dealing with MG995 servos that are a bit less powerful than the ideal 25+ kg/cm servos, hence the need to maintain a weight that falls within their operating parameters. Every gram of weight matters in our design, hence the decision to use lightweight wooden dowels as linkages.

The Arduino Nano Pro will be the brain of the Mojo5, controlling the servos and coordinating their movement to achieve walking and possible turning. It's a cost-effective and well-documented controller, which makes it ideal for this type of application. However, there will be some limitations due to the lower processing power compared to higher-end controllers.

Power-wise, we're going with a 7.4v battery for the servos and a separate 9v battery for the controller. This dual power source approach is necessary to avoid a brownout scenario when the servos draw a significant amount of current, which could lead to a temporary loss of control.

One innovative aspect of the Mojo5's design will be its cam, pushrod-controlled lower leg. This type of mechanism can provide the torque needed for locomotion without adding much weight, but it does introduce some complexity into the design and programming.

For the leg assemblies, we're starting with 70cm sections. This is a reasonable starting point, but it's likely that we'll have to iterate and adjust these dimensions as we move forward with the project and start testing the prototype. It's going to be a careful balancing act to ensure the legs are long enough for effective locomotion, yet not so long as to place too much strain on our MG995 servos.

Overall, the Mojo5 design will be a journey of continuous iteration and improvement. Each step will likely present new challenges, from structural tweaks to software adjustments, but that's part of the excitement of building our own quadruped from scratch. Stay tuned as we start prototyping and begin to bring Mojo5 to life. We're looking forward to sharing this journey with you.

Tuesday, July 11, 2023

Robots in the Wild!

Have you ever heard the phrase "as rare as seeing a unicorn in the wild"? Well, the times they are a-changing, and a new, equally exciting creature is becoming more and more common in our everyday lives - robots. As you know, they're leaving the labs and factories and starting to roam free in our streets, our parks, and even our homes! This is a just migration, not an invasion, let's not panic. It's "Totally" Not Evil, I promise.

Earlier this year, I was taking a leisurely stroll around the magnificent grounds of the Belvedere in Vienna. I was there to admire the exquisite Baroque architecture and to gaze at the mesmerizing works of Klimt. However, I spotted something extraordinary, a Robot in the Wild. A Husqvarna robot, completely autonomous, humming a silent tune as it meticulously trimmed the luscious green carpet surrounding the palace. It's quite something to see these machines tending the gardens of such historic landmarks - as if the future decided to pay a visit to the past. Who needs garden gnomes when you have lawn-mowing robots?

Robot mowing the gardens at the Belvedere, Vienna

As I continued my travels, this time to an airport in Phuket, Thailand, the robots made their presence felt yet again. As I waited for my flight, a cute, round robot diligently scrubbed the floors, tirelessly ensuring cleanliness for the thousands of footfalls it would encounter every day. While we all were busy staring at our screens, this little robo-janitor was doing its part to keep our world a tad cleaner and shinier. 

Airport floor cleaner - Phuket, Thailand

Remember how I mentioned special purpose robots? Well, let's turn the spotlight to the solar industry. At a recent convention, there were 4-5 solar robot cleaner companies exhibiting. These little machines, like well-trained bees in a hive, were cleaning the dust off solar panels, making sure the path for sunlight was as clear as day. Why climb up the roof under the scorching sun when you can delegate it to these handy helpers?

Solar panel cleaner robot at InterSOLAR

two models - Solar panel cleaner robot at InterSOLAR

Finally, at a Power and Energy AWS convention, I spotted the ANYMAL robot. This four-legged, dog-like creation is something out of a science fiction movie. They are designed to operate in challenging environments, like inspecting offshore oil rigs, navigating through disaster-stricken areas, or simply delivering packages - your personal mechanical courier!

The ANYmal robot

Every day, the presence of robots in our world becomes less of a novelty and more of a norm. Some might find this unsettling, but remember, they're here to help us, to make our lives easier, safer, and more efficient. So, the next time you spot a robot in the wild, give them a nod, a wave, or a friendly beep-boop-beep in their language. Its best to be friends with them! ;)

In this thrilling time of transformation, we'll continue to document these mechanical marvels in their new habitats – our world. So, stay tuned for more chronicles of Robots in the Wild. You may think it's unusual to see a robot in your daily surroundings, but take a moment and observe. Are they becoming more common? Are they quietly blending into our everyday lives? You might be surprised.