Monowheel Balancing Robot Can’t Turn (Yet)

Self-balancing robots have become a common hobby project, and they usually require two wheels to work. [James Bruton] has managed to single wheel balancing robot by adding gyroscopic stabilization.

[James] has done other self-balancing robots, like his Sonic robot, but recently started experimenting with gyroscopic stabilization. In that project, he proposed the idea of combining the two stabilization methods to create a monowheel robot, and he followed through on that idea. The wheel is powered by a brushless motor and is stabilized conventionally around the wheel’s axis. Side to side balancing is achieved using a phenomenon known as gyroscopic precession, by tilting a pair of heavy spinning wheels. This is not to be confused with reaction wheels, which use rotational inertia for control. It appears the actuating the gyroscopes also affects the front-to-back stabilization, so at the moment the robots won’t stay on one spot. [James] plans to implement a second observation controller in software to solve this.

Another challenge with this robot is that it cannot turn at the moment. The gyroscopes are not in the correct orientation to effect rotation around the vertical axis, and changing their orientation would cause other problems. A fan, which works like a helicopter’s tail rotor is one option, and a reaction wheel on top might also work. We’re partial to the reaction wheel idea. Having a different mechanical control mechanism for each axis would make it quite an interesting robot.

Continue reading “Monowheel Balancing Robot Can’t Turn (Yet)”

Tardygrade Walker Is A Lesson In 3D Printed Design

The ability to quickly create complex parts with 3D printers has created a platform to show off mechanical design skills. This is true in the case of [Dejan Ristic]’s capable little Tardygrade walking robot, which uses only two servos and a bunch of clever 3D printed parts.

The robot’s chassis is split into two subassemblies, each with a pair of feet on diagonal corners. As one pair of feet lifts the robot, the other section of the robot can rotate before coming back down, allowing the robot to turn. One servo handles the actuation of the feet, while the other rotates the body as required. An ESP32 based controller creates a web server user interface, and power comes from a lipo cell.

The interesting part of this robot is in how [Dejan] designed it for printing and assembly. All the parts can print without support, and in the correct orientation to optimize strength. There are only six screws in the assembly holding the servo and servo horns, while everything else uses snap fits or short pieces of filament. Take a look at the videos after the break to gain some appreciation of the design effort and attention to detail that went into this robot. Even the contact surfaces of the feet were carefully designed for optimum walking over flat surfaces and small obstacles.

This reminds us of [gzumwalt]’s little 3D printed creations, like the fridge crawler and mechanical edge-avoiding robot.

Rover Uses Different Kind Of Tracks

Tracked robots usually require at least two wheels inside to work properly. However, [James Bruton] discovered a curious tractor design from the 1940s, the Fordson Rotaped, which only uses a single sprocket wheel inside each track. Being [James], he built a self-balancing robot around the rotaped concept.

Instead of a lot of short track sections, the Rotaped uses six long sections of track, about the same length as the wheel’s diameter. To keep the track on the wheel, a series of chains or an oval frame is used on the inside of the track.

As is usual for [James]’ projects, most of the mechanical parts are 3D printed. To hold the tracks in place, he stretches a bungee cord loop around three points on each side of the track. To make things more interesting, he made the robot balanced on the tracks. This took a bit of PID tuning to get working without oscillations, since the wheels experience a slight cogging effect inside the tracks. The wheels are driven by a pair of brushless motors with O-Drive controllers. The balancing is handled by an Arduino Mega, which reads processed position values from an Arduino Pro Mini connected to an MPU6050 IMU.

This might be a viable alternative to conventional tracks for certain applications, and the reduced part count is certainly an advantage. Let us know in the comments if it spawns any ideas. [James] has previously built another tracked rover, which uses flexible 3D printed track sections. By far, the biggest 3D printed tracked vehicle we’ve seen was [Ivan Miranda]’s ridable tank.

Continue reading “Rover Uses Different Kind Of Tracks”

ZeroBug: From Simulation To Smooth Walking

Thanks to 3D printing and cheap hobby servos, building you’re own small walking robot is not particularly difficult, but getting them to walk smoothly can be an entirely different story. Knowing this from experience, [Max.K] tackled the software side first by creating a virtual simulation of his ZeroBug hexapod, before building it.

Learning from his previous experience building a quadruped, ZeroBug started life in Processing as a simple stick figure, which gradually increased in complexity as [Max.K] figured out how to make it walk properly. He first developed the required movement sequence for the tip of each leg, and then added joints and calculated the actuator movements using reverse kinematics. Using the results of the simulations, he designed the mechanics and pulled it back into the simulation for final validation.

Each leg uses three micro servos which are controlled by an STM32F103 on a custom PCB, which handles all the motion calculations. It receives commands over UART from a python script running on a Raspberry Pi Zero. This allows for user control over a web interface using WiFi, or from a gamepad using a Bluetooth connection. [Max.K] also added a pincer to the front to allow it to interact with its environment. Video after the break.

The final product moves a lot smoother than most other servo-driven hexapods we’ve seen, and the entire project is well documented. The electronics and software are available on GitHub and the mechanics on Thingiverse.

Continue reading “ZeroBug: From Simulation To Smooth Walking”

Giving Control Of A Smartphone Robot To A Raspberry Pi

Most gadgets that interface with smartphones have a rather short lifespan and inevitably end up as E-waste. Unless hackers give them a second life, as is the case with the Romo, a little smartphone-controlled robot. [David Goeken] has successfully reverse-engineered the communication protocol to allow the Romo to controlled Raspberry Pi (or microcontroller)

The Romo was a little iPhone-controlled robot brought to market with a Kickstarter campaign back in 2013. It originally used the audio jack from the iPhone for the control interface, but was quickly followed by an updated version that used iPhone 4’s 30 pin connector and later the Lightning port. Romotive, the company behind Romo, eventually went out of business, but fortunately, they open-sourced the IOS app and the firmware. This has led to a few third-party apps currently on the app store.

[David] wanted to use other hardware for control, so he set about reverse-engineering the protocol using the open-source software and a logic analyzer. Unsurprisingly, it uses a serial interface to send and receive commands, with two additional pins to detect the connection and wake up the Romo. After breaking out the interface header on the board, he was able to modify the Romo to mount a Raspberry Pi Zero, and power it using the internal battery.

[David] has not made his code public yet, but it sounds like he plans to. It looks like Romo’s can be a fun little experimentation platform, and they can be found for cheap on eBay. We covered another cool Romo hack back in 2014, which used a projector and vision system to create a Mariokart-like game.  For a completely open-source smartphone robot, check out the OpenBot.

Ball Balancing Wheel Puts A Spin On Inverted Pendulums

If you march sufficiently deep into the wilderness of control theory, you’ll no doubt encounter the inverted pendulum problem. These balancing acts have emerged with a number of variants over the years, but just because it’s been done before doesn’t mean there’s no space for something new. Here, [David Gonzalez], has taken this classic problem and given it an original own spin–literally–where the balancing act is now a ball balanced precariously upon a spinning wheel. (Video, embedded below.) Mix in a little computer vision for sensing, a dash of brushless motor control, a bit of math, and you have yourself a closed-loop system that’s bound to turn a few heads.

[David’s] implementation is a healthy mix of classic control theory with some modern electronics. From the theory bucket, there’s a state-space controller to drive both the angle and angular velocity of the ball to zero. The “state” is a combination of four terms: the ball angle, the ball’s angular velocity, the wheel angle, and the wheel’s angular velocity. [David] weights each of these terms and sums them together to create an input value to adjust the motor velocity driving the wheel and balance the ball.

From the electronics bin, [David] opted for an ESP32 running Arduino, the custom Janus Brushless Motor Controller running SimpleFOC, and a Maix Bit Microcontroller with an added camera running MicroPython to compute the ball angle. Finally, if you’re curious to dig into the source code, [David] has kindly posted the firmware on Github.

We love seeing folks mix a bit of control theory into an amalgamation of familiar electronics. And as both precision sensors and motor controllers continue to improve, we’re excited to see how the landscape of projects changes yet again. Hungry for more folks closing the loop on unstable systems? Look no further than [UFactory’s] ball balancing robot and [Gear Down for What’s] two wheeled speedster.

Continue reading “Ball Balancing Wheel Puts A Spin On Inverted Pendulums”

Get Yourself A Pupper (For Education)

While the disquieting appearance of some of the robots coming out of DARPA and other labs might give us some reservations about how much intelligence we want to give to those robots, there’s a lot to be learned from them before their inevitable global takeover. This small quadruped called the Mini Pupper is just the robot for that job. With a low cost and familiar platform, it’s the ideal robot to learn some of the tricks of the trade.

For a quadruped so small, some unique changes had to be made to ensure the robot’s functionality. There have been a few developments since it was first shown over a year ago. The first was to design a custom servo that could handle the unique characteristics of this robot. From there, some other improvements were made to the robot chassis such as using threaded rods for ease of assembly and maintenance. Some other things have stayed the same though like using a Raspberry Pi to handle the control systems and self-navigation.

Of course everything needed to make this robot yourself is open source, from the code to the schematics. For experimenting with quadrupeds and even with automatic navigation, this would be a great way to get started, and the small size will also limit its ability for a Skynet-style takeover as well. That’s a nice bonus.

Continue reading “Get Yourself A Pupper (For Education)”