Pololu Blog (Page 5)
Welcome to the Pololu Blog, where we provide updates about what we and our customers are doing and thinking about. This blog used to be Pololu president Jan Malášek’s Engage Your Brain blog; you can view just those posts here.
This is the first post in a series about how to make a Balboa 32U4 robot balance. Today I will talk about selecting mechanical parts for your Balboa. We offer a variety of gearmotors and wheels that work with the Balboa, and the Balboa kit includes five different gear ratios for the external gearbox, so even without considering non-standard modifications, there are many possible configurations of the robot. In this post I will give you some guidance about choosing the right parts. Continued…
Customer Carlos Ambrozak developed an “Introduction to Robotics” course that includes a lab where students work on visual object tracking. The example project is two Zumo 32U4 robots playing cat and mouse. One Zumo has a large blue ball on it and drives around avoiding obstacles. The other has a CMUcam5 Pixy on a pan-tilt mount that looks for the blue ball and follows the other robot. The Zumo 32U4 controls the camera via I2C. The lesson’s provided source code is available on GitHub.
Get FREE copies of Circuit Cellar magazine’s December 2016, January 2017, February 2017, and March 2017 issues with your order, while supplies last. To get your free issues, enter the coupon codes CIRCUIT1216, CIRCUIT0117, CIRCUIT0217, and CIRCUIT031716 to your shopping cart, or click those links. Each magazine will add 6 ounces to your order weight when calculating your shipping options.
For back issues and more information, see our free Circuit Cellar magazine offers.
We added some new M3 screw lengths to our catalog: 6 mm, 10 mm, 12 mm, 14 mm, 16 mm, and 20 mm. (We already had 5 mm, 8 mm, 25 mm screws, and M3 nuts.) Along with the general usefulness of a large selection of hardware, this greater variety of available lengths will help make it easier to mount accessories to your new Balboa 32U4 balancing robot’s M3-compatible mounting points.
Customer Mike McGurrin made this animatronic talking skull that uses Amazon Alexa for interactive voice control. The central part of the project is a Lindberg 3-axis animatronic skull and audio servo controller, which makes the jaw movements follow the audio voice. In this project, the nod, turn, tilt, and eye movements of the skull are controlled by a 12-channel Maestro servo controller running a custom Maestro script that uses one of the channels as an input that is triggered by the Raspberry Pi. The Amazon Alexa integration is handled by AlexaPi.
More details including a parts list and the Maestro Script are available on the project page.
I am excited to announce the release of the Balboa robot! The Balboa is a two-wheeled balancing robot platform that is small enough to tempt you to run it on a desktop, but it’s quick enough that you should probably stick to bigger, softer surfaces. Or at least put a safety net or foam pit around your desk. Here is a short video showing it kicking up into balancing position and driving around:
A look inside the external gearbox on the Balboa 32U4 Balancing Robot.
One of our main goals in designing our robots is to make them complete and engaging on their own while making them open and expandable enough for all kinds of projects. We also don’t want them all to be the same. Most of the Balboa robots in our pictures have 80 mm wheels, but the chassis can also work with our 90 mm wheels (and to a lesser, barely practical extent, our 70 mm wheels). Because the chassis is made for our micro metal gearmotors, you have a few options for gear ratios as with our Zumo sumo robots, but what’s really exciting about the Balboa design is that there is an extra stage of gear reduction for which you get five different options (all included, and you can easily change the gear ratio from whatever you initially choose). The design also allows the drive wheels to be supported on ball bearings, reducing the stress on the micro metal gearmotor output shafts.
The Balboa chassis has a built-in battery holder for six AA cells, which typically give you several hours of run time, even if you add some extra power-hungry electronics like a Raspberry Pi.
Balboa 32U4 Balancing Robot with battery cover removed.
The main microcontroller is an Arduino-compatible ATmega32U4, which is powerful enough to read the on-board IMU sensors and encoders and to control the motors to balance the robot; it’s also great for introductory projects like line following or reading an RC receiver to make a radio-control balancing robot. For advanced projects, the Balboa is ready for you to add a Raspberry Pi computer to perform high-level algorithms while the ATmega32U4 microcontroller takes care of low-level tasks like motor control.
We will be adding more content to the Balboa’s product page and user’s guide, and we will have more blog posts about the Balboa robot. For today, we’ll end with some slow-motion footage of Balboa popping up on its own and then recovering when Paul knocks it around a bit:
It’s been more than two years since my last post. I thought I would post an update a year ago, when Eve was born, but that didn’t go very well, and the uncertainty about how things would turn out with her made it difficult to rally around her birth as some celebratory point from which to start moving on. I feel at once as if I have lost two years of my life, making no progress, and yet that my life has completely transformed in that time. But I know things have gotten better because I am usually free of the sadness and fear that still filled me a year ago, around Dez’s first birthday. Continued…
Forum user DrGFreeman has been posting about his custom Mini Sumo robot. He designed the chassis in CAD and 3D printed it; the model is available on Thingiverse. An A-Star 32U4 robot controller reads the QTR-1RC reflectance and Sharp GP2Y0A60SZLF analog distance sensors while powering the motors with its dual onboard motor drivers. DrGFreeman plans to build two copies of the robot: one with 75:1 micro metal gearmotors and one with 50:1 micro metal gearmotors so he can pit them against each other and figure out whether more speed or torque does better. This video shows the behavior he’s programmed so far:
The whole build log along with more pictures and discussion is in the forum post.
At Pololu we maintain around thirty open-source Arduino libraries, and we keep adding new ones whenever we make a new carrier board or Arduino shield. People typically use these libraries with Arduino-compatible boards, such as our A-Star programmable controllers or Arduinos. We also have Arduino libraries for our user-programmable robot kits like the Romi 32U4 robot, Balboa 32U4 robot and Zumo 32U4 robot.
Sometimes we need to make changes to a lot of libraries at once, like when we wanted to add all of our libraries to the Arduino Library Manager. For us, library manager compatibility requires changing the directory layout, but doesn’t require changing the library or example code. With this many libraries to change, there is a risk of potentially breaking a working library by misspelling or moving a file incorrectly. Fortunately, customer Walt Sorensen introduced us to PlatformIO and Travis CI, which let us test compiling Arduino libraries every time they are pushed to GitHub.
Setting this up is easy enough that we encourage you to do it on your Arduino libraries! First, sign up for Travis CI (a testing service, free for open-source projects) and enable it for the GitHub repository you want to test. Now, every time you push new code to your repository, Travis CI will try to see if there is a .travis.yml file in the top level with instructions for running tests.
If your project has the structure of an Arduino Library Manager project and you have at least one example sketch, our short .travis.yml file should work. This file instructs Travis CI to compile the library and its examples against all the supported Arduino boards (specified in the “env” list of the .travis.yml file). The results can be seen on Travis CI’s website (for example, here is Pololu’s Travis CI page). The Arduino compiler is provided by PlatformIO, an open source ecosystem for internet-of-things development, which supports a long list of Arduino-compatible boards.
You can share your Travis CI build status by embedding a badge into your GitHub readme page:
Of course, for most library changes, we still have to test on actual hardware, but now every time we update our libraries (or a contributor submits a pull request), we can be sure they will at least compile on every supported board.