-
Notifications
You must be signed in to change notification settings - Fork 14
FlowPilot: FAQ
It is an open-source software foundation for interfacing with hardware to provide level-2 "self driving" capabilities for cars. It is based on Open Pilot made by Comma AI. Flow Pilot is not a good place to start for those interested in self-driving equipment for their car, as it doesn't provide any consumer-friendly hardware or software. This is more a repository for those to tinker with atypical Open-Pilot-like hardware setups.
First you need to make sure you have a device that can actually run Flow Pilot. Technically, the software may run on any Android device or Linux system. However, in practice, certain hardware works much better while others don't at all. I personally use an LG G8 phone and I have seen it running on an Xiaomi Poco F3. OnePlus 7T may also work. Make sure to get a variant that can be rooted (for example, apparently AT&T LG G8's are hard to root).
Why those devices? They can be rooted, run Android 11+ (I recommend and run Android 13 with Lineage OS), have an ultra-wide camera and a SnapDragon 855 (or faster) processor. Non-snapdragon devices have not been tested, and some models might not work at all that require "SNPE" acceleration (a snapdragon model running system). Fortunately, the latest "thneed" models do appear to need "SNPE".
Newer phones probably exist now that might be better options that an LG G8, but haven't been tested. It would be nice to find a phone that is easier to root and open to remove the battery, which are the biggest downsides to the LG G8.
Desktop, Linux devices are the least supported at this point, but it could theoretically work if you can get OpenCL acceleration working on it.
Flow Pilot isn't just some app or APK that you download and install. You need to follow installation instructions strictly, as the app needs a specific "termux" background environment running. There are also 2 current installation methods with pros and cons:
-
Use my tarball method. This is what I use, and it runs the latest "thneed" models from Open Pilot and works with my latest Flow Pilot app that is more efficient, handles image processing better, and basically is a reliable daily driver system. This fork was originally fine tuned for my LG G8 and 2019 Kona EV. However, improvements in compatibility have been made and VW with a Poco F3 phone has been shown working (which means getting even more phones and cars working is likely). You will likely have to do some tweaking yourself to get your phone and car working (ideally you have a known working phone from the list above). My "master" branch is the more compatible one, while I have forked "phr00tkona" for myself.
-
Use the official flowpilot installation instructions. This might be more "compatible" out of the box, as it hasn't been fine tuned for any car or purpose. It runs very old models in a suboptimal way. Unfortunately, this fork (and method) has been abandoned and is prone to errors due to changes in repositories during installation. You will have to at least bypass a login screen which points to a broken server. I do not recommend this method, but you may be able to get something working, that will likely be better than stock lane assist.
Your car needs lane assist features for Flow Pilot to work at all. I've heard VW cars can work without lane assist features... it may be more useful to ask around the Open Pilot community for their supported car list. Basically, you need one of those camera harnesses up near your rear view mirror, where the lane assist camera is. There is a plug that you will need to hook into. Also, for full support, you need "smart" or "dynamic" cruise control. It is possible to run Flow Pilot without "smart" cruise control: I do it myself! However, Open Pilot was originally designed to only work with "smart" cruise control.
You can see here, a phone configured with Flow Pilot is just 1 piece of the puzzle. The most important other part you will need is a "panda" device. You can get "panda" devices from Comma AI, Mr.One's store or other places. I recommend Mr.One's "mini-all-in-one black panda", as it includes the "harness box" and "black panda" part you'd otherwise be spending a ton for straight from Comma AI. It is what I use!
Flow Pilot Phone -> USB C "OTG" Adapter (get one that splits power and OTG data) -> Black Panda (mini-all-in-one) -> Car-specific Comma AI harness connector -> Lane Assist Camera Port (rear view camera)
You probably won't need the RJ-45 and Comma Power thing, as that is one way to provide power for your Flow Pilot device. However, the mini-all-in-one Panda can provide power from the Lane Assist Camera Port. You can also try just using the phone battery, but that runs out and can be a safety hazard in hot car dash situations.
Yes! See here: https://github.com/phr00t/flowpilot/wiki/How-to-make-an-LG-G8-Flow-Pilot-Device
This guide is designed for an LG G8, but many of the steps are essential for most phones (like setting up the software and hardware modifications for safety and reliability).
Flow Pilot isn't for you, then. I'd head over to Comma AI's store or Mr.One's "clone" store to buy a more consumer-level device. A Comma AI "C3X" or its clones will get you a device that is more compatible with cars out-of-the-box and works with more versions of Open Pilot. The Comma.AI community is much larger too, so I'd say most people would be better served there.
Flow Pilot is made for tinkerers and developers who want to spend less money in exchange for skill (and frankly, time).
... maybe? I see this asked from time to time and I haven't seen it working nor has my fork been designed with USB external cameras in mind. However, it might be possible if you hook up a USB camera and it just gets added as another "Camera ID" and can be interfaced with just like an internal camera. A possible way to test that is seeing if the camera shows up on an app like Open Camera (where I think it also lists Camera IDs) easily. You will likely have to do some debugging, troubleshooting and perhaps development of your own. If you make any progress here or find out any more information, please share! Ideally, I recommend you have a phone with a good camera and modified to handle heat (e.g. battery removed), so you can just mount the whole thing on your windshield (where the display is also easy to see).
Great! I recommend forking my repository. My repository works with the latest "thneed" models from Comma AI and has a newer image processing system for controlling exposure, among many other things. You could work on moving this into the official flowpilot repository, or you can start with that stuff already working on this fork. This fork needs compatibility work though, as I only had my car and phone to test with.
You will need to know Python for starters.