The Perfect Desktop Kit For Experimenting With Self Driving Cars

When we think about self-driving cars, we normally think about big projects measured in billions of dollars, all funded by major automakers. But you can still dive into this world on a smaller scale, as [jmoreno555] demonstrates.

The build consists of a small RC car—an HSP 94123, in fact. It’s got a simple brushed motor inside, driven by a conventional speed controller, and servo-driven steering. A Raspberry Pi 4 is charged with driving the car, but it’s not alone. It’s outfitted with a Google Coral USB stick, which is a machine learning accelerator card capable of 4 trillion operations per second. The car also has a Wemos D1 onboard, charged with interfacing distance sensors to give the car a sense of its environment. Vision is courtesy of a 1.2-megapixel camera with a 160-degree lens, and a stereoscopic camera with twin 75-degree lenses. Software-wise, it’s early days yet. [jmoreno555] is exploring the use of Python and OpenCV to implement basic lane detection and other self driving routines, while using Blender as a simulator.

The real magic idea, though, is the treadmill. [jmoreno555] realized that one of the frustrations of working in this space is in having to chase a car around a test track. Instead, the use of a desktop treadmill allows the car to be programmed and debugged with less fuss in the early stages of development.

If you’re looking for a platform to experiment with AI and self-driving, this could be an project to dive in to. We’ve covered some other great builds in this space, too. Meanwhile, if you’ve cracked driving autonomy and want to let us know, our tipsline is always standing by!

An Android Phone Powers A Self Driving Car

As auto manufacturers have brought self-driving features to their products, we’re told about how impressive their technologies are and just how much computing power is on board to make it happen. Thus it surprised us (and it might also surprise you too) that some level of self-driving can be performed by an Android phone. [Mankaran Singh] has the full details.

It starts with the realization that a modern smartphone contains the necessary sensors to  perform basic self-driving, and then moves on to making a version of openpilot that can run on more than the few supported phones. It’s not the driver-less car of science fiction but one which performs what we think is SAE level 2 self driving, which is cruise control, lane centering, and collision warning. They take it out on the road in a little Suzuki on a busy Indian dual carriageway in the rain, and while we perhaps place more trust in meat-based driving, it does seem to perform fairly well

Self driving features are codified into a set of levels for an easy reference on what each is capable of doing. We’ve taken a look at it in the past, should you be interested.

Ask Hackaday: Why Do Self Driving Cars Keep Causing Traffic Jams?

Despite what some people might tell you, self-driving cars aren’t really on the market yet. Instead, there’s a small handful of startups and big tech companies that are rapidly developing prototypes of this technology. These vehicles are furiously testing in various cities around the world.

In fact, depending on where you live, you might have noticed them out and about. Not least because many of them keep causing traffic jams, much to the frustration of their fellow road users. Let’s dive in and look at what’s going wrong.

Continue reading “Ask Hackaday: Why Do Self Driving Cars Keep Causing Traffic Jams?”

Forgotten Tech — Self Driving Cars

The notion of self driving cars isn’t new. You might be surprised at the number of such projects dating back to the 1920s. Many of these systems relied on external aids built into the roadways. It’s only recently that self driving cars on existing roadways are becoming closer to reality than fiction — increased computer processing power, smaller and power-efficient computers, compact Lidar and millimeter-wave Radar sensors are but a few enabling technologies. In South Korea, [Prof Min-hong Han] and his team of students took advantage of these technological advances and built an autonomous car which successfully navigated the streets of Seoul in several field trials. A second version subsequently drove itself along the 300 km journey from Seoul to the southern port city Busan. You might think this is boring news, until you realize this was accomplished back in the early 1990s using an Intel 386-powered desktop computer.

The project created a lot of buzz at the time, and was shown at the Daejeon Expo ’93 international exposition. Alas, the government eventually decided to cancel the research program, as it didn’t fit into their focus on heavy industries like ship building and steel production. Given the tremendous focus on self-driving and autonomous vehicles today, and with the benefit of hindsight, we wonder if that was the best choice. This isn’t the only decision from Seoul that seems questionable when viewed from the present — Samsung executives famously declined to buy Andy Rubin’s new operating system for digital cameras and handsets back in late 2004, and a few weeks later Android was purchased by Google.

You should check out [Prof Han]’s YouTube channel showing videos of the car’s camera while operating in various conditions and overlaid with the lane recognition markers and other information. I’ve driven the streets of Seoul, and that alone can be a frightening experience. But [Han] manages to stretch out in the back seat, so confident in his system that he doesn’t even wear a seatbelt.

Continue reading “Forgotten Tech — Self Driving Cars”

Tesla Begins “Full Self Driving” Public Beta As Waymo And Cruise Go Unattended

Self-driving technology is a holy grail that promises to forever change the way we interact with cars. Thus far, there’s been plenty of hype and excitement, but full vehicles that remove the driver from the equation have remained far off. Tesla have long posited themselves as a market leader in this area, with their Autopilot technology allowing some limited autonomy on select highways. However, in a recent announcement, they have heralded the arrival of a new “Full Self Driving” ability for select beta testers in their early access program.

Taking Things Up A Notch

Telsa’s update notes highlight the new “Full Self-Driving” capabilities. Drivers are expected to pay continuous attention and be prepared to take over at any time, as the system “may do the wrong thing at the worst time.”

The new software update further extends the capabilities of Tesla vehicles to drive semi-autonomously. Despite the boastful “Full Self Driving” moniker, or FSD for short, it’s still classified as a Level 2 driving automation system, which relies on human intervention as a backup. This means that the driver must be paying attention and ready to take over in an instant, at all times. Users are instructed to keep their hands on the wheel at all times, but predictably, videos have already surfaced of users ignoring this measure.

The major difference between FSD and the previous Autopilot software is the ability to navigate city streets. Formerly, Tesla vehicles were only able to self-drive on highways, where the more regular flow of traffic is easier to handle. City streets introduce far greater complexity, with hazards like parked cars, pedestrians, bicycles, and complicated intersections. Unlike others in the field, who are investing heavily in LIDAR technology, Tesla’s system relies entirely on cameras and radar to navigate the world around it. Continue reading “Tesla Begins “Full Self Driving” Public Beta As Waymo And Cruise Go Unattended”

Was The Self Driving Car Invented In The 1980s?

The news is full of self-driving cars and while there is some bad news, most of it is pretty positive. It seems a foregone conclusion that it is just a matter of time before calling for an Uber doesn’t involve another person. But according to a recent article, [Ernst Dickmanns] — a German aerospace engineer —  built three autonomous vehicles starting in 1986 and culminating with on-the-road demonstrations in 1994 for Daimler.

It is hard to imagine what had to take place to get a self-driving car in 1986. The article asserts that you need computer analysis of video at 10 frames a second minimum. In the 1980s doing a single frame in 10 minutes was considered an accomplishment. [Dickmanns’] vehicles borrowed tricks from how humans drive. They focused on a small area at any one moment and tried to ignore things that were not relevant.

Continue reading “Was The Self Driving Car Invented In The 1980s?”

Table-Top Self Driving With The Pi Zero

Self-driving technologies are a hot button topic right now, as major companies scramble to be the first to market with more capable autonomous vehicles. There’s a high barrier to entry at the top of the game, but that doesn’t mean you can’t tinker at home. [Richard Crowder] has been building a self-driving car at home with the Raspberry Pi Zero.

The self-driving model is trained by first learning from the human driver.

[Richard]’s project is based on the EOgma Neo machine learning library. Using a type of machine learning known as Sparse Predictive Hierarchies, or SPH, the algorithm is first trained with user input. [Richard] trained the model by driving it around a small track. The algorithm takes into account the steering and throttle inputs from the human driver and also monitors the feed from the Raspberry Pi camera. After training the model for a few laps, the car is then ready to drive itself.

Fundamentally, this is working on a much simpler level than a full-sized self-driving car. As the video indicates, the steering angle is predicted based on the grayscale pixel data from the camera feed. The track is very simple and the contrast of the walls to the driving surface makes it easier for the machine learning algorithm to figure out where it should be going. Watching the video feed reminds us of simple line-following robots of years past; this project achieves a similar effect in a completely different way. As it stands, it’s a great learning project on how to work with machine learning systems.

[Richard]’s write-up includes instructions on how to replicate the build, which is great if you’re just starting out with machine learning projects. What’s impressive is that this build achieves what it does with only the horsepower of the minute Raspberry Pi Zero, and putting it all in a package of just 102 grams. We’ve seen similar builds before that rely on much more horsepower – in processing and propulsion.