
Apollo open platform: the real barrier isn't the code
Got recommended by a friend doing port projects — he said don't write everything yourself, Apollo's stack is sitting right there. I originally worked on e-drive and battery management at BYD, and lately I've been on domain controller work too — a domain controller is basically fusing several controllers on the car into one box, stuffing perception and decision-making inside. Hearing him out, I wanted to see how much this open platform could actually save.
First, let me be clear about how I used it. This isn't something you download an app and run — you need a vehicle, sensors, a compute platform. On my end I borrowed a partner's developer kit — drive-by-wire chassis plus lidar plus integrated inertial navigation — got it running on a test rig first, then tagged along to two site visits to see real-vehicle deployment. So everything below is what I saw and touched, not bought-and-tested-at-home.
First impression: the layering is clean. It splits into four layers — hardware device platform, software core platform, software application platform, cloud services — and it absorbs some of the hardware pain for you upfront: drive-by-wire vehicles have a certification list, sensors and compute platforms have recommended models, interface standards are given. For a team starting from zero, that beats assembling your own. The code is open source, roughly 700k lines, with basic capabilities like tracking, lidar obstacle avoidance, vision obstacle avoidance all there. Tracking means the vehicle follows a pre-recorded trajectory — good enough for fixed-point shuttle runs.
Docs and community are its strength. Apollo Studio has courses, labs, competitions — wherever you get stuck, you can basically find someone who's been there.
They say the community has 200k+ developers globally, across 170+ countries and regions. I hit a coordinate frame transform issue and found something similar after flipping through two pages of posts.
But the hardware barrier you can't get around.
Drive-by-wire chassis — steering, braking, throttle all controlled by electrical signals, no mechanical linkage — that alone is expensive. Integrated inertial navigation is gyro plus accelerometer dead-reckoning position and attitude, paired with satellite positioning, also not cheap. Add lidar, millimeter-wave radar, cameras — a minimal runnable combo and the budget climbs. For an individual tinkering at home, basically no chance.
Second barrier is calibration. I've felt this firsthand — mentioned before that when the scene changes you have to redo calibration, perception drifts. Apollo gives you a reference implementation; landing it on your own campus, your own route, your own vehicle model, extrinsics need recalibration, control parameters need retuning. Open doesn't mean out-of-the-box; it gives you a starting point, the rest is on you.
Third is slow debug cycles. Change a parameter set, drive a lap, come back and dig through logs — you can't do many rounds in a day. The test rig is faster, but rig and real vehicle are far apart.
What this platform saves is the time of writing perception and planning from scratch. It can't save you hardware money, and it can't save you calibration effort.
So the judgment is: depends. Teams with a clear scenario are a fit — campus shuttles, ports, fixed routes — where the route is relatively fixed, get one working and it lasts a long time, hardware cost amortizes. People who can sit still and tune parameters are also a fit. Not a fit for two types: those who want to use it for mass-production passenger-car ADAS — mass production delivery goes a different route, not the same thing as this open platform; and individual hobbyists — the hardware barrier alone scares them off.
After two site visits, I actually have a question I haven't figured out: for building upper-layer applications now, is it faster to just stack on an off-the-shelf domain controller solution, or more solid to chew down from the open platform? The former is less work, the latter leaves more room to modify. How do you all choose?
Physix Frontier