Bengaluru Developers Achieve Autonomy with Redmi's Alto

2024-01-04

Recently, developer Mankaran Singh from Bangalore transformed a modified Maruti Alto K10 into a self-driving car using a second-hand Redmi Note 9 Pro. This was made possible by his creation of an open-source driving assistance system called "Flowpilot".

Flowpilot is a branch of Comma.ai's open-source project OpenPilot and can run on most Windows/Linux and Android-powered devices. In an exclusive interview with AIM, Singh stated that he did not train his own driving model but instead used Comma.ai's learning models, as training models require a large amount of data and millions of dollars in computing clusters to train them.

The inspiration for this project came from George Hotz, the founder of Comma.ai, who is also using smartphones and other proprietary devices to advance the development of self-driving cars.

Singh is not only an enthusiastic programmer and automation system enthusiast but also passionate about gaming and developing web applications. In addition to joining Ola, where he has been for three months, he is also dedicated to his passion project "Flow Drive", which is the brain behind Flowpilot.

Flowpilot supports features such as Adaptive Cruise Control (ACC), Automatic Lane Keeping (ALC), Forward Collision Warning (FCW), Lane Departure Warning (LDW), and Driver Monitoring (DM). It is compatible with a growing number of supported vehicle brands, models, and years maintained by the community.

It records data from road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, collisions, and operating system logs. Singh said, "You basically just need actuators, a steering controller, and air brakes to control the vehicle. If you have these, Flowpilot can run on almost anything."

He also added, "It supports all phones (Android) that support OpenCL. These are basically GPU drivers used for image processing, such as displaying neural networks."

Singh stated that the quality of the experience depends on the phone you use. "Typically, if you have a phone that costs around 20-25K, it is sufficient to run Flowpilot with reasonable performance. But if the power is lower, there will be delays, and the system will only display a warning; it will not start," he explained.

Flowpilot supports over 200 models, including brands such as Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, and Volkswagen. Even if a vehicle is not officially supported, if it has Adaptive Cruise Control and Lane Keeping Assist features, it is likely to be able to run Flowpilot.

However, Singh mentioned that Flowpilot is currently not supported for vehicles in India. "In India, no vehicle is supported out of the box. The only reason people use Flowpilot is because it is better than the stock system of the vehicle," he said.

Differences from Tesla

Singh explained, "Tesla has a long-term vision. They use eight cameras and complex neural networks, including advanced 3D perception. However, processing eight cameras brings a greater computational load. A smartphone can handle images from two to three cameras well, but when it comes to eight cameras, all running at a fast 50 Hz, it requires real-time processing on special chips designed for cars."

He believes that Flowpilot has great potential on highways. "With just one camera or a forward-facing camera and some other sensors, perhaps GPS and IMU, highway driving automation can be achieved," he said.

Singh stated that immediate use cases involve highway driving automation, and with features like Advanced Driver Assistance Systems (ADAS) becoming more common in cars, this area is rapidly developing. "Many car companies are incorporating highway automation because highways provide a more structured environment. In this case, the driver can sit back and relax, letting the vehicle cover the entire highway," he explained.

Other safety features include automatic emergency braking and blind spot monitoring. If a driver attempts to change lanes in the presence of an obstacle, the system will issue a warning. The operation speed of the machine learning-based braking system is much faster than human processing speed, allowing it to brake at the right time and potentially save lives.

As technology continues to advance, self-driving vehicles may find applications in private spaces such as university campuses and technology parks. Singh shared that these environments have controlled and predictable conditions, making them more suitable for automated traffic.

Limitations

When it comes to safety, Singh mentioned that there are people who try to customize motors on their own steering wheels, which he strongly advises against. "Given that your vehicle does not support Openpilot or Flowpilot, the only recommended method is to replace the steering wheel with one from a supported vehicle. Because these actuators are crucial for safety," he explained.

Although Flowpilot is a good starting point for self-driving vehicles in India, it has some limitations considering the condition of Indian roads. Flowpilot relies on mobile cameras instead of high-end systems with LiDAR and additional cameras, so it faces difficulties in low-light conditions, shadows, and unpredictable objects such as cyclists or animals. This fragility in perception can lead to misinterpretation of the environment and potentially cause accidents.

In addition, there is a significant variation in India's road infrastructure, with many roads lacking lanes, signs, and proper markings, posing challenges for accurate navigation of self-driving vehicles. Currently, Flowpilot can make a significant impact on highways that have better traffic flow and dedicated lanes for vehicles.

What's next?

Singh stated that he has no interest in commercializing "Flow Drive". "This is not a commercial company. My team and I have no interest in commercializing it. It is open-source software, given back to the community," he said, adding that he plans to do something in the field of robotics next, focusing on automation, manufacturing, or warehousing, as many underlying technologies are the same.

Regarding "Flow Drive", he mentioned that it will continue to exist. "We will support people and help the community build more on top of it, but it relies on donations, and it will continue to be that way in the future," he concluded.