Pololu Blog (Page 8)
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 tutorial shows how to build a basic Raspberry Pi robot with the Romi chassis and the Romi 32U4 Control Board, our Arduino-compatible microcontroller board designed specifically for the Romi. With this setup, the powerful Raspberry Pi can take care of high-level tasks like motion planning, video processing, and network communication, while the Romi 32U4 Control Board takes care of low-level tasks that the Pi is incapable of, such as motor control and sensing. Continued…
Don’t hold your applause: we are now offering the Verbal Machines VM-CLAP1 Hand Clap Sensor! This board is a low-power, microprocessor-based audio sensor that can detect hand claps or finger snaps while ignoring background noises such as human speech or music. It operates from 2.5 V to 5.5 V and offers a simple interface: when a clap or snap is detected, the output pin goes low for 40 ms, and the integrated blue LED lights up.
It has been over a year since my last/first blog post about my mini sumo robot. Since then, I have been busy studying to earn a mechanical engineering degree at the University of Nevada, Las Vegas, working at Pololu, and, of course, building cool robots. Recently, I have been working as part of a UNLV team, Rebel Robotics, to build a robot to compete in an intercollegiate competition organized by the American Society of Mechanical Engineers (ASME) called the Student Design Competition. My team’s robot, the Rebel WIP (work in progress), competed against teams from colleges across the western half of the United Sates in the Student Design Competition at an engineering festival hosted by UNLV and ASME called E-Fest West. Continued…
One of our customers built this six-foot tall balancing robot. The main microcontroller is a Teensy 3.6, and the stepper motors are driven by ST-M5045 drivers. For its drive train it uses two 3 A stepper motors connected to Pololu 90 mm wheels via Pololu universal aluminum mounting hubs.
Here’s what they have to say about using stepper motors:
I used stepper motors to take advantage of high torque at low RPM and zero backlash. This allows very steady stand-still performance. But dealing with the stepper-induced mechanical vibration was an issue. This was mostly solved with analog filters on the IMU and with an Extended Kalman Filter in software.
Additional description and pictures are available on the project page.
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…