Control A Swarm Of RC Vehicles With ESP8266

Over at RCgroups, user [Cesco] has shared a very interesting project which uses the ever-popular ESP8266 as both a transmitter and receiver for RC vehicles. Interestingly, this code makes use of the ESP-Now protocol, which allows devices to create a mesh network without the overhead of full-blown WiFi. According to the Espressif documentation, this mode is akin to the low-power 2.4GHz communication used in wireless mice and keyboards, and is designed specifically for persistent, peer-to-peer connectivity.

Switching an ESP8266 between being a transmitter or receiver is as easy as commenting out a line in the source code and reflashing the firmware. One transmitter (referred to as the server in the source code) can command eight receiving ESP8266s simultaneously. [Cesco] specifically uses the example of long-range aircraft flying in formation; only coming out of the mesh network when it’s time to manually land each one.

[Cesco] has done experiments using both land and air vehicles. He shows off a very hefty looking tracked rover, as well as a quickly knocked together quadcopter. He warns the quadcopter flies like “a wet sponge”, but it does indeed fly with the ESP’s handling all the over the air communication.

To be clear, you still need a traditional PPM-compatible RC receiver and transmitter pair to use his code. The ESPs are simply handling the over-the-air communication. They aren’t directly responsible for taking user input or running the speed controls, for example.

This isn’t the first time we’ve seen an ESP8266 take the co-pilot’s seat in a quadcopter, but the maniacal excitement we feel when considering the possibility of having our very own swarm of flying robots gives this particular project an interesting twist.

Zip Tie Quadcopter Frame Is As Cheap As They Come

We’ve seen some cheap quadcopter builds over the years, but this one takes the cake. After seeing somebody post a joke about building a quadcopter frame out of zip ties and hot glue, [IronMew] decided to try it for real. The final result is a micro quadcopter that actually flies half-way decently and seems to be fairly resistant to crash damage thanks to the flexible structure.

The first attempts at building the frame failed, as the zip ties (unsurprisingly) were too flexible and couldn’t support the weight of the motors. Eventually, [IronMew] realized that trying to replicate the traditional quadcopter frame design just wasn’t going to work. Rather than a body with arms radiating out to hold the motors, the layout he eventually came up with is essentially the reverse of a normal quadcopter frame.

Zip ties reinforced with a healthy coating of hot glue are arranged into a square, with a motor at each corner. Then four zip ties are used to support the central “pod” which holds the battery and electronics. No attempt is made to strengthen this part of the frame, and as such the heavy central pod hangs down a bit in flight. [IronMew] theorizes that this might actually be beneficial in the end, as he believes it could have a stabilizing effect when it comes time to record FPV video.

He mentions that he’s still struggling to get the PID values setup properly in the flight computer, but in the video after the break you can see that it’s flying fairly well for a first attempt. We wouldn’t recommend you tear into a bag of zip ties when it comes time to build your first quadcopter, but it does go to show that there’s plenty of room for experimentation.

We’ve covered a number of unique quadcopter frames if you’re looking for something to set your next build apart from the rest. If you’ve got a big enough bed you can 3D print a very nice frame, but if you’ve got more time than equipment, you could always cut one out of a piece of plywood.

Continue reading “Zip Tie Quadcopter Frame Is As Cheap As They Come”

Quantifying Latency In Cheap RC Transmitters

For those just starting out in the world of RC, a low cost transmitter like the Flysky FS-i6S can be very compelling. But is buying a cheap transmitter setting yourself up for failure down the line? The general feel in the RC community has been that cheaper transmitters have higher latency or “lag” on their inputs, which is precisely the kind of thing you want to avoid when flying along at 40+ MPH. As such, the general wisdom has been that your transmitter is one area where you don’t want to cheap out.

Wanting to put that theory to the test, [Marek Baczynski] set out to compare the response time between the Flysky FS-i6S and the more established Taranis X9D. In the video after the break, he uses his Saleae logic analyzer to time how long it takes movement on the transmitter sticks to get interpreted as servo commands at the receiver.

[Marek] connects the logic analyzer directly to the gimbals of both transmitters, allowing him to see user input before any processing is done by the electronics. It’s particularly interesting to see how the smooth analog curves of the gimbals are converted to a “staircase” digital output.

The final results of the latency test end up being fairly surprising. To put it simply: the cheaper Flysky radio not only more accurately interprets the user’s input, but does it considerably faster than the Taranis. [Marek] says he was so surprised by these results that he re-ran the test three times to verify.

But even taking into account the apparently higher fidelity of the cheap radio, he cautions you shouldn’t swap out your gear just yet. Higher end transmitters have a number of other features which make them worth hanging on to, even if the newer generation of radios is slightly faster. The real takeaway from this video is that if you’re just getting into the RC game, these cheaper transmitters aren’t necessarily the kiss of death the community makes them out to be.

Experiments like this and the recent detailed analysis of common hobby motors show just how seriously people take the world of RC. It’s unlikely this single experiment will quell the debate about “cheap” RC transmitters, but perhaps it’s a start.

Continue reading “Quantifying Latency In Cheap RC Transmitters”

Analyzing Hobby Motors With An Oscilloscope

We always like finding new excuses reasons to use our test equipment, so we couldn’t help but be intrigued by this tip from [Joe Mosfet]. He uses the ever-popular Rigol DS1054Z to demonstrate the differences between a handful of brushless motors when rotated by his handheld drill at a constant RPM. Not only is he able to identify a blown motor, but it allows him to visualize their specifications which can otherwise seem a bit mystifying.

One wire from each motor is used as the ground, and channels one and two are connected to the remaining wires. Despite the DS1054Z having four channels, [Joe] is actually only using two of them here. The third channel being displayed is a virtual channel created by a math function on the scope.

After wiring them up, each motor got put into the chuck of his drill and spun up to 1430 RPM. The resulting waveforms were captured, and [Joe] walks us through each one explaining what we’re seeing on the scope.

The bad motor is easy to identify: the phases are out of alignment and in general the output looks erratic. Between the good motors, the higher the Kv rating of the motor, the lower voltage is seen on the scope. That’s because Kv in the context of brushless motors is a measurement of how fast the motor will spin for each volt. The inverse is also true, and [Joe] explains that if he could spin his 2450Kv motor at exactly 2450 RPM, we should see one volt output.

Beyond demonstrating the practical side of Kv ratings, [Joe] also theorizes that the shape of the wave might offer a glimpse into the quality of the motor’s construction. He notes his higher end motors generate a nice clean sine wave, while his cheaper ones show distortion at the peaks. An interesting note, though he does stress he can’t confirm there’s a real-world performance impact.

Last year we featured a similar method for identifying bad brushless motors using a drill press and an oscilloscope, but we liked that [Joe] went through the trouble of testing multiple motors and explaining the differences in their output.

[via /r/multicopter]

MIT Breaks Autonomous Drone Speed Limits By Not Sweating Obstacles

How does one go about programming a drone to fly itself through the real world to a location without crashing into something? This is a tough problem, made even tougher if you’re pushing speeds higher and high. But any article with “MIT” implies the problems being engineered are not trivial.

The folks over at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) have put their considerable skill set to work in tackling this problem. And what they’ve come up with is (not surprisingly) quite clever: they’re embracing uncertainty.

Why Is Autonomous Navigation So Hard?

Suppose we task ourselves with building a robot that can insert a key into the ignition switch of a motor vehicle and start the engine, and could do so in roughly the same time-frame that a human could do — let’s say 10 seconds. It may not be an easy robot to create, but we can all agree that it is very doable. With foreknowledge of the coordinate information of the vehicle’s ignition switch relative to our robotic arm, we can place the key in the switch with 100% accuracy. But what if we wanted our robot to succeed in any car with a standard ignition switch?

Now the location of the ignition switch will vary slightly (and not so slightly) for each model of car. That means we’re going to have to deal with this in real time and develop our coordinate system on the fly. This would not be too much of an issue if we could slow down a little. But keeping the process limited to 10 seconds is extremely difficult, perhaps impossible. At some point, the amount of environment information and computation becomes so large that the task becomes digitally unwieldy.

This problem is analogous to autonomous navigation. The environment is always changing, so we need sensors to constantly monitor the state of the drone and its immediate surroundings. If the obstacles become too great, it  creates another problem that lies in computational abilities… there is just too much information to process. The only solution is to slow the drone down. NanoMap is a new modeling method that breaks the artificial speed limit normally imposed with on-the-fly environment mapping.

Continue reading “MIT Breaks Autonomous Drone Speed Limits By Not Sweating Obstacles”

DroNet: learning to fly by driving

Delivery Drones Can Learn From Driving And Cycling

Increasingly these days drones are being used for urban surveillance, delivery, and examining architectural structures. To do this autonomously often involves using “map-localize-plan” techniques wherein first, the location is determined on a map using GPS, and then based on that, control commands are produced.

A neural network that does steering and collision prediction can compliment the map-localize-plan techniques. However, the neural network needs to be trained using video taken from actual flying drones. But generating that training video involves many hours of flying drones at street level putting vehicles and pedestrians at risk. To train their DroNet, Researchers from the University of Zurich and the Universidad Politecnica de Madrid have come up with safer sources for that video, video recorded from driving cars and bicycles.

DroNet
DroNet

For the drone steering predictions, they used over 70,000 images and corresponding steering angles from the publically available car driving data from Udacity’s Open Source Self-Driving project. For the collision predictions, they mounted a GoPro camera to the handlebars of a bicycle and drove around a city. Video recording began when the bicycle was distant from an object and stopped when very close to the object. In total, they collected 32,000 images.

To use the trained network, images from the drone’s forward-facing camera were fed into the network and the output was a steering angle and a probability of collision, which was turned into a velocity. The drone remained at a constant height above ground, though it did work well from 1.5 meters to 5 meters up. It successfully navigated road lanes and avoided moving pedestrians and bicycles. Intersections did confuse it though, likely due to the open spaces messing with the collision predictions. But we think that shouldn’t be a problem when paired with map-localize-plan techniques as a direction to move through the intersection would be chosen for it using the location on the map.

As you can see in the video below, it not only does a decent job of flying down lanes but it also flies well in a parking garage and a hallway, even though it wasn’t trained for either of these.

Continue reading “Delivery Drones Can Learn From Driving And Cycling”

3D Printing A Better Quadcopter Frame

Before you smash the “Post Comment” button with the fury of Zeus himself, we’re going to go ahead and say it: if you want to build a decent quadcopter, buy a commercial frame. They are usually one of the cheaper parts of the build, they’re very light for how strong they are, and replacement parts are easily available. While you could argue the cost of PLA/ABS filament is low enough now that printing it would be cheaper than buying, you aren’t going to be able to make a better quadcopter frame on a 3D printer than what’s available on the commercial market.

The frame features a surprisingly low part count.

Having said that, [Paweł Spychalski] has recently shown off his 3D printed FPV racing quadcopter frame with some surprising results. The frame ended up being surprisingly stiff, and while the weight is a bit high, it’s actually lighter than he expected. If you’re looking to build a quad with the absolute minimum of expense his design might be something to look into.

Of course, [Paweł] is hardly the first person to think about printing a quad frame. But he did give his design some extra consideration to try and overcome some of the shortcomings he noticed in existing 3D printed designs. For one, rather than have four separate arms that mount to a central chassis, his design has arms that go all the way across with a thick support that goes between the motors. The central chassis is also reassuringly thick, adding to the overall stiffness of the frame.

The key here is that [Paweł] printed all the parts with 2 mm thick walls. While that naturally equates to longer print times and greater overall weight, it’s probably more than worth it to make sure the frame doesn’t snap in half the first time it touches the ground.

Beyond the printed parts, all you need to assemble this frame are about a dozen M3 nuts and bolts. Overall, between the hardware and the plastic you’re looking at a total cost of under $5 USD. In the video below [Paweł] puts the frame through its paces doing some acrobatic maneuvers, and it looks like 5 bucks well spent to us.

If you want to go all-in on 3D printed quadcopter parts, you can pair this frame with some printed propellers. Perhaps even a printed camera gimbal while you’re at it. Continue reading “3D Printing A Better Quadcopter Frame”