Keyboard shortcuts

Scrolling

dorCtrl+d
Scroll down
uorCtrl+u
Scroll up
Ctrl+e
One line down
Ctrl+y
One line up
gtheng
Top of article
G
Bottom of article

Articles

j
Older article
k
Newer article
O
Open original
H
Open hackernews
R
Open reddit

Lists

jor↓
Next item
kor↑
Previous item
gtheng
First item
G
Last item
oorEnter
Open selected item

Go to

gthenforgtheni
Feed
gthen1–9
Open feed entry
gthenb
Browse
gthenp
Preferences

Search and help

⌘+kCtrl+kor/
Global search
?
Show this help
Esc
Close this help

openpilot 0.10.3

blog.comma.ai original

The Cool People’s Model 😎 (#36249) comes with two minor changes in the model’s architecture and simulator training conditions.

We changed the encoding of the Vision Features, Desire Signal (lane changes, turns, etc.), and Traffic Convention (left-hand drive vs right-hand drive) from a fixed-length non-causal attention layer to a variable-length causal attention layer. While this does not change the behavior of the current training stack, it opens up the possibility to train with variable temporal lengths and makes more sense from an architectural point of view.

Temporal policy

In order to make the model robust to real-world physics noise, we introduce a wide array of noise types during on-policy training in the simulator [1]. This release includes a small change in those noise models, making them start at a noise-free initial value, which is a required change to train using the World Model Simulation.

Left: a simulation rollout using the previous noise model (starts at a deviated state) and the reprojective simulator (tinysim)
Right: a simulation rollout using the new noise model (starts at a noise-free state) and the world model simulator (mlsim)

We are incrementally adding incoming comma four segments to the driver monitoring training dataset, which will improve the experience overall, but especially for comma four users. The comma four driver-facing camera has a different position compared to the comma three and 3X, which is why training on those segments is important. If you just received your comma four, please consider turning on the “Record and Upload Driver Camera” toggle.

Device type distribution in the new training set

Device type distribution in the new training set

MSGQ, openpilot’s custom pub-sub IPC, previously allocated a 10MB ring buffer for every service, regardless of the service’s message size. This also meant that tiny low-frequency services, such as clocks, may take weeks of runtime to reach steady state memory usage. While wasteful, this was fine when openpilot had fewer services, however this ballooned to 711MB over the years.

This PR (#36884) reduces MSGQ’s memory usage to 90MB by setting up configurable buffer sizes per-service. In the future, we’ll explore using the capnproto schema and service frequency definitions to automatically determine suitable buffer sizes.

We refreshed our web flasher with a new guided wizard to make it easier to get your device back to a factory state (flash#177). Using our new custom USB Vendor ID, we’re able to cut some steps out of the flashing procedure for comma four.

Flash

openpilot is built by comma together with the openpilot community. Get involved in the community to push the driving experience forward.

Want to build the next release with us? We’re hiring.


[1] Peng, Xue Bin, et al. “Sim-to-real transfer of robotic control with dynamics randomization.” 2018 IEEE international conference on robotics and automation (ICRA). IEEE, 2018.