Pololu Blog (Page 3)
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 fourth post in a series about how to make a Balboa 32U4 robot balance. In earlier posts I covered the basic sensors and mechanical parts used for balancing; in this post I will show you how to put everything together to make the robot actually balance.
From earlier posts we have obtained six basic variables for use in balancing: Continued…
Julien de la Bruère-Terreault (also known as DrGFreeman on the Pololu Forum, creator of the Custom Mini Sumo robot and the Romi and Raspberry Pi robot shared on this blog) made “SharpDistSensor” an Arduino library for analog Sharp distance sensors. If you’re running a recent version of the Arduino IDE, you can install it with the Library Manager. The library reads the sensor’s analog voltage output, filters the data, and converts it to a distance measurement. By default it is calibrated to work with the Sharp GP2Y0A60SZLF analog distance sensor 10-150cm 5V, but you can calibrate it to other analog Sharp distance sensors (if you can fit a power function or a fifth order polynomial to the voltage vs distance response of your sensor). Pull requests are welcome for supporting other Sharp distance sensor models!
The readme, library code, and example sketches are available in the GitHub repository.
One of our customers used our custom laser cutting service to cut the birch plywood panels for his retro-gaming TV system that he sells on Etsy. The birch panels are stained with shellac. The system runs on a Raspberry Pi 3 Model B, to which you can connect (not-included) controllers with Bluetooth or USB. The Raspberry Pi’s Ethernet port, SD card slot, and 4 USB ports are accessible in the back.
Customer Lujing Cen’s team built two semi-autonomous 14-DOF quadrupeds using Mini Maestros for their high school class project at the California Academy of Mathematics and Science. The project syllabus includes making two separate robot designs and three total robots that work together. These quadrupeds were the “pack robots” described in the syllabus. An 18-channel Mini Maestro USB servo controller controls the twelve leg and two head servos. The project code includes a rewrite of Pololu’s Maestro C# USB SDK library in Python. The robot uses a camera and an RFID scanner to track its targets.
We added the FEETECH High-Torque Servo FS5115M to our expanding RC servo selection. This standard-size analog servo has a stall torque of 215 oz-in (15.5 kg-cm) at 6 V, more than twice the torque of our standard-size servos with plastic gears thanks to its powerful motor and all-metal gear train. This higher torque requires more power: this servo can draw bursts of current in excess of 3 A at 6 V, about three times higher than a typical standard-size servo. The output shaft is supported by two ball bearings for reduced friction.
Comparison to the Power HD 1501MG high-torque servo
This servo is a lower-cost alternative to the 1501MG from Power HD, which has nearly identical dimensions and similar performance. The two servos should be generally interchangeable for most applications. The picture below shows both the FS5115M and the 1501MG side by side:
Expect more new FEETECH servos in the coming weeks!
This is the third post in a series about how to make a Balboa 32U4 robot balance. Last week I talked about inertial sensors, especially the gyro. In this post I will talk about the Balboa’s built-in encoders, which allow accurate measurements of motor speed and distance.
To get your Balboa to balance, you will soon need to create a balancing algorithm, a program that takes sensor input and computes the appropriate motor speed settings to keep the robot upright. So far our only inputs, both from the gyro, are the rate of rotation and current angle of the robot. These are not quite enough to make a good balancer. To see why, suppose that your program tries to balance by holding the angle at a constant 90°. If your definition of 90° is even slightly off-balance, the robot will need to keep accelerating, driving faster and faster to maintain it, until it reaches top speed or hits an obstacle. You might be able to account for this by using the motor output settings themselves as an input to your algorithm, but this is difficult, especially at the low speeds used for balancing. Also, even if you can avoid accelerating, your robot will gradually drift in one direction or the other. The Balboa’s encoders are valuable additional sensor inputs that allow you to measure how fast the wheels are actually turning, so you can directly control acceleration and drift. As a bonus, encoders are great for driving straight, precision turns, and navigation. Continued…
The first kit includes everything you need to build a sleek line-following robot. It uses an Arduino-compatible A-Star 32U4 Micro as the main controller. It also uses a DRV8833 Dual Motor Driver Carrier, two Pololu micro metal gearmotors, brackets, and a 3/8″ ball caster.
The second kit is also based on the A-Star 32U4 Micro and DRV8833 carrier, and it includes much of the electronics needed to build a custom mini-sumo robot, including a buzzer, a voltage regulator, and an IR receiver for controlling it with a TV remote. It has two DRV8833 carriers, each with their channels paralleled to drive a total of two motors. There are connection points for 7 digital sensors (up to 5 can be analog).
tdrobótica.co’s mini-sumo main board kit.
We added the FEETECH Ultra-High-Torque, High-Voltage Digital Giant Servo FT5335M to our expanding RC servo selection. This giant-scale digital servo can deliver twice the torque of our strongest standard-size servo, offering up to 550 oz-in at 7.4V or 480 oz-in at 6 V. This torque requires significant power: the FT5335M can draw bursts of current over 9 A at 7.4 V, and unlike typical hobby servos, has an operating voltage range of 6 V to 7.4 V.
This servo is a lower-cost alternative to the very similar 1235MG from Power HD. The two servos are approximately the same size, though the mounting hole spacing differs between the two, and they have almost identical performance specifications. The output shaft of the 1235MG is supported by two ball bearings while the output shaft of the FT5335M is supported by bushings. The picture below shows both the FT5335M and the 1235MG side-by-side:
Expect more new FEETECH servos in the coming weeks!
We are now carrying the Aluminum Standoff for Raspberry Pi: 11mm Length, 4mm M2.5 Thread, M-F. The 11 mm body length is just right for mounting expansion PCBs or HATs with standard-size female headers on a Raspberry Pi. The male M2.5 threads extend another 4 mm past the standoff body, and the female M2.5 threads extend at least 6.35 mm into the body. We carry M2.5 nuts and 6 mm M2.5 screws separately.
Two of these standoffs are needed to mount a Raspberry Pi on a Balboa 32U4 robot:
Balboa 32U4 Balancing Robot with 80×10mm wheels and a Raspberry Pi 3 Model B.
We also carry a 11 mm standoff with longer, 6mm threads. (We do not recommend these for the Balboa because the threads hit the robot chassis.)
Forum user DrGFreeman has been busy making robots. I wrote earlier about his Custom Mini Sumo robot; now here is his Romi Chassis and Raspberry Pi robot. It solves mazes using a webcam to do line tracking and intersection identification. This robot is a great example of how a variety of Pololu robot parts can combine into an attractive and functional robot. A black Romi chassis kit provides the base for the robot, to which DrGFreeman added a encoder pair kit and ball caster kit. An A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge drives the motors and monitors four Sharp GP2Y0A60SZLF analog distance sensors and the Romi encoders. The robot controller and the Raspberry Pi communicate via I²C and are elevated above the chassis on a narrow Pololu RP5/Rover 5 expansion plate.