{"id":1976,"date":"2026-07-18T06:31:12","date_gmt":"2026-07-18T13:31:12","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=1976"},"modified":"2026-07-18T06:31:12","modified_gmt":"2026-07-18T13:31:12","slug":"driving-rl","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/driving-rl\/","title":{"rendered":"Driving RL"},"content":{"rendered":"\n<p><strong>RL hub:<\/strong> ReinforcementLearning.md (ReinforcementLearning.md) \u00b7 neural policies:<\/p>\n\n\n\n<p>rl net enable driving \u2014 MathNN.md (MathNN.md).<\/p>\n\n\n\n<p>Driving RL is a simulation-first reinforcement-learning subsystem for lane<\/p>\n\n\n\n<p>keeping, lead-vehicle following, intersections, traffic controls, pedestrian<\/p>\n\n\n\n<p>yielding, bad-weather behavior, and emergency braking.<\/p>\n\n\n\n<p>Treat this as simulation\/review tooling unless a separate safety-certified<\/p>\n\n\n\n<p>control layer exists. Do not connect it directly to a real vehicle actuator.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quick Start<\/h2>\n\n\n\n<p><em>[text]<br><\/em>driving rl status<br>driving rl features<br>driving rl actions<br>driving rl dry-run on<br>driving rl shield on<br>driving rl adapter set generic_driving<br>driving rl scenario lane_keep 120<br>driving rl scenario road_sign_stop 120<br>driving rl scenario speed_limit_sign 120<br>driving rl dashboard<\/p>\n\n\n\n<p>Training smoke run:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl curriculum start sensor_smoke<br>driving rl scenario lead_follow 200<br>driving rl scenario stop_sign 200<br>driving rl scenario road_sign_stop 200<br>driving rl scenario speed_limit_sign 200<br>driving rl scenario traffic_light 200<br>driving rl scenario pedestrian_yield 200<br>driving rl checkpoint tag baseline<\/p>\n\n\n\n<p>Optional local DQN run:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl dqn on<br>driving rl train<br>driving rl scenario road_sign_stop 300<br>driving rl scenario speed_limit_sign 300<br>driving rl dqn save checkpoints\/driving_road_sign_dqn.txt<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modes<\/h2>\n\n\n\n<p><em>[text]<br><\/em>off<br>assist<br>train<br>eval<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl on<br>driving rl assist<br>driving rl train<br>driving rl eval<br>driving rl off<br>driving rl status<\/p>\n\n\n\n<p>driving rl on enables driving and starts in assist mode with auto algorithm.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algorithms<\/h2>\n\n\n\n<p><em>[text]<br><\/em>heuristic<br>qtable<br>dqn<br>auto<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl algorithm heuristic<br>driving rl algorithm qtable<br>driving rl algorithm dqn<br>driving rl algorithm auto<br>driving rl dqn on<br>driving rl dqn status<br>driving rl dqn save checkpoints\/driving_mathnn_dqn.txt<br>driving rl dqn load checkpoints\/driving_mathnn_dqn.txt<br>driving rl epsilon &lt;value&gt;<\/p>\n\n\n\n<p>auto uses Q-table while training and heuristic behavior outside training. If<\/p>\n\n\n\n<p>the MathNN\/RLAgentNet driving policy is enabled, the neural policy can select<\/p>\n\n\n\n<p>actions through the existing driving policy slot. dqn enables the local<\/p>\n\n\n\n<p>MathNN-backed DQN learner for the driving agent and trains it from Driving RL<\/p>\n\n\n\n<p>transitions while mode is train.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">State Vector<\/h2>\n\n\n\n<p>DrivingState now has 32 normalized features:<\/p>\n\n\n\n<p><em>[text]<br><\/em>s0&nbsp;&nbsp; lane offset normalized around center<br>s1&nbsp;&nbsp; time-to-collision risk<br>s2&nbsp;&nbsp; collision probability<br>s3&nbsp;&nbsp; vehicle velocity normalized<br>s4&nbsp;&nbsp; lead vehicle distance normalized<br>s5&nbsp;&nbsp; steering angle normalized<br>s6&nbsp;&nbsp; left lane x normalized<br>s7&nbsp;&nbsp; right lane x normalized<br>s8&nbsp;&nbsp; lead relative velocity normalized<br>s9&nbsp;&nbsp; track stable flag<br>s10&nbsp; lead vehicle present flag<br>s11&nbsp; lane width normalized<br>s12&nbsp; lane confidence<br>s13&nbsp; road curvature<br>s14&nbsp; speed-limit ratio<br>s15&nbsp; stop-sign flag<br>s16&nbsp; traffic-light risk<br>s17&nbsp; pedestrian risk<br>s18&nbsp; intersection proximity<br>s19&nbsp; route progress<br>s20&nbsp; lane-departure\/offroad risk<br>s21&nbsp; visibility risk<br>s22&nbsp; jerk\/comfort cost<br>s23&nbsp; safety context flag<br>s24&nbsp; road-sign model confidence<br>s25&nbsp; road-sign proximity<br>s26&nbsp; road-sign stop\/yield requirement<br>s27&nbsp; road-sign speed-limit present flag<br>s28&nbsp; posted-speed overage<br>s29&nbsp; road-sign warning\/no-entry\/crosswalk flag<br>s30&nbsp; road-sign x position<br>s31&nbsp; road-sign control signal<\/p>\n\n\n\n<p>The DrivingPerception input now supports lane confidence, road curvature,<\/p>\n\n\n\n<p>speed limits, route progress, intersection distance, traffic lights, stop signs,<\/p>\n\n\n\n<p>pedestrians, crosswalks, visibility, jerk, lane departure, offroad, and<\/p>\n\n\n\n<p>collision events in addition to the original lane\/lead vehicle fields. It also<\/p>\n\n\n\n<p>accepts trained road-sign detector output: label, confidence, bounding box,<\/p>\n\n\n\n<p>estimated distance, stop\/yield\/speed-limit\/warning\/no-entry flags, and posted<\/p>\n\n\n\n<p>speed limit.<\/p>\n\n\n\n<p>The driving camera loop passes the active object-detection model rows into<\/p>\n\n\n\n<p>Driving RL. Labels such as stop sign, stop_sign, yield_sign,<\/p>\n\n\n\n<p>speed_limit_35, traffic_light_red, traffic_light_yellow, wrong_way,<\/p>\n\n\n\n<p>school, crosswalk, and similar road-sign classes are normalized into the<\/p>\n\n\n\n<p>road-sign state features and safety shield.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Actions<\/h2>\n\n\n\n<p><em>[text]<br><\/em>0&nbsp;&nbsp; maintain<br>1&nbsp;&nbsp; accelerate<br>2&nbsp;&nbsp; coast<br>3&nbsp;&nbsp; brake_light<br>4&nbsp;&nbsp; brake_moderate<br>5&nbsp;&nbsp; brake_heavy<br>6&nbsp;&nbsp; steer_left<br>7&nbsp;&nbsp; steer_right<br>8&nbsp;&nbsp; lane_center<br>9&nbsp;&nbsp; yield<br>10&nbsp; emergency_stop<br>11&nbsp; crawl_forward<\/p>\n\n\n\n<p>Use:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl actions<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Safety Shield<\/h2>\n\n\n\n<p>The safety shield wraps any selected policy action. It can override exploration,<\/p>\n\n\n\n<p>Q-table, heuristic, or neural choices when the perception state indicates:<\/p>\n\n\n\n<p><em>[text]<br><\/em>collision event<br>critical lead vehicle risk<br>red light or stop sign near intersection<br>road-sign model stop\/yield\/no-entry signal<br>posted speed-limit overage<br>pedestrian near crosswalk<br>lane departure or offroad state<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl shield on<br>driving rl shield off<br>driving rl dry-run on<br>driving rl dry-run off<br>driving rl explain<\/p>\n\n\n\n<p>Keep dry-run on unless the recommendation is only being consumed by a<\/p>\n\n\n\n<p>simulation harness.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Curriculum<\/h2>\n\n\n\n<p>Recommended phase order:<\/p>\n\n\n\n<p><em>[text]<br><\/em>sensor_smoke<br>lane_keep<br>lead_follow<br>stop_sign<br>road_sign_stop<br>speed_limit_sign<br>traffic_light<br>pedestrian_yield<br>intersection<br>merge<br>bad_weather<br>emergency_brake<br>mixed_eval<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl curriculum status<br>driving rl curriculum start [phase]<br>driving rl curriculum next<br>driving rl curriculum phase &lt;name&gt;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Synthetic Scenarios<\/h2>\n\n\n\n<p>The scenario runner feeds synthetic DrivingPerception ticks through the normal<\/p>\n\n\n\n<p>DrivingRL pipeline. It is useful for fast smoke testing and checkpoint creation.<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl scenario list<br>driving rl scenario lane_keep 120<br>driving rl scenario lead_follow 200<br>driving rl scenario stop_sign 200<br>driving rl scenario road_sign_stop 200<br>driving rl scenario speed_limit_sign 200<br>driving rl scenario traffic_light 200<br>driving rl scenario pedestrian_yield 200<br>driving rl scenario bad_weather 200<br>driving rl scenario emergency_brake 200<br>driving rl scenario lane_departure 200<br>driving rl scenario merge 200<\/p>\n\n\n\n<p>These scenarios are not a substitute for a real simulator such as CARLA, Gazebo,<\/p>\n\n\n\n<p>or a custom physics sim, but they are good for verifying command paths, rewards,<\/p>\n\n\n\n<p>shield overrides, logging, and checkpoint behavior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Rewards And Feedback<\/h2>\n\n\n\n<p>The reward favors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>lane centering,<\/li>\n\n\n\n<li>safe time-to-collision,<\/li>\n\n\n\n<li>reduced collision probability,<\/li>\n\n\n\n<li>obeying road-sign model stop\/yield signals,<\/li>\n\n\n\n<li>slowing when above a detected posted speed limit,<\/li>\n\n\n\n<li>route progress,<\/li>\n\n\n\n<li>recovery from lane-departure risk.<\/li>\n<\/ul>\n\n\n\n<p>The reward penalizes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>collision risk,<\/li>\n\n\n\n<li>pedestrian\/crosswalk risk,<\/li>\n\n\n\n<li>red-light\/stop-sign acceleration,<\/li>\n\n\n\n<li>accelerating through detected road-sign control signals,<\/li>\n\n\n\n<li>accelerating while above a detected posted speed limit,<\/li>\n\n\n\n<li>offroad\/lane departure,<\/li>\n\n\n\n<li>jerk\/comfort cost,<\/li>\n\n\n\n<li>unnecessary braking and throttle,<\/li>\n\n\n\n<li>safety shield overrides.<\/li>\n<\/ul>\n\n\n\n<p>Manual feedback:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl reward good [note]<br>driving rl reward bad [note]<br>driving rl reward &lt;number&gt; [note]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Replay, Dashboard, And Checkpoints<\/h2>\n\n\n\n<p>Default directory:<\/p>\n\n\n\n<p><em>[text]<br><\/em>D:\/driving_rl_logs<\/p>\n\n\n\n<p>Files:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving_rl_checkpoint.txt<br>driving_rl_transitions.csv<br>driving_rl_events.jsonl<br>driving_rl_dashboard.json<br>driving_rl_checkpoint_&lt;tag&gt;.txt<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl dashboard<br>driving rl replay summary [path]<br>driving rl checkpoint tag &lt;tag&gt;<br>driving rl checkpoint list<br>driving rl checkpoint rollback &lt;tag&gt;<br>driving rl save<br>driving rl load<br>driving rl save mysql<br>driving rl load mysql<\/p>\n\n\n\n<p>MySQL checkpoints use the configured driving_rl_checkpoint_profile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Adapter Boundary<\/h2>\n\n\n\n<p>Adapters should populate DrivingPerception from a simulator or perception<\/p>\n\n\n\n<p>stack:<\/p>\n\n\n\n<p><em>[text]<br><\/em>lane lines and confidence<br>lead vehicle distance, velocity, TTC, collision probability<br>ego speed, steering angle, jerk<br>traffic light and stop sign state<br>pedestrian\/crosswalk distance<br>visibility\/weather\/night condition<br>route progress and intersection distance<br>lane departure\/offroad\/collision events<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving rl adapter status<br>driving rl adapter set &lt;name&gt;<br>driving rl features<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lua Globals<\/h2>\n\n\n\n<p>The subsystem exposes Driving RL helpers to Lua through<\/p>\n\n\n\n<p>_DrivingRL::RegisterLuaGlobals:<\/p>\n\n\n\n<p><em>[text]<br><\/em>driving_rl_status()<br>driving_rl_set_mode(mode)<br>driving_rl_scenario(name, ticks)<br>driving_rl_shield(enabled)<br>driving_rl_dashboard()<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Safe Workflow<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Feed simulation perception only.<\/li>\n\n\n\n<li>Start with driving rl dry-run on and driving rl shield on.<\/li>\n\n\n\n<li>Run synthetic scenarios.<\/li>\n\n\n\n<li>Inspect driving rl explain, driving rl dashboard, and replay summaries.<\/li>\n\n\n\n<li>Train in a real simulator only after synthetic checks pass.<\/li>\n\n\n\n<li>Save checkpoint tags before changing algorithms or epsilon.<\/li>\n\n\n\n<li>Evaluate offline before using a learned policy as an assist recommendation.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>RL hub: ReinforcementLearning.md (ReinforcementLearning.md) \u00b7 neural policies: rl net enable driving \u2014 MathNN.md (MathNN.md). Driving RL is a simulation-first reinforcement-learning subsystem for lane keeping, lead-vehicle following, intersections, traffic controls, pedestrian yielding, bad-weather behavior, and emergency braking. Treat this as simulation\/review tooling unless a separate safety-certified control layer exists. Do not connect it directly to a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1976","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/comments?post=1976"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1976\/revisions"}],"predecessor-version":[{"id":1977,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1976\/revisions\/1977"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=1976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=1976"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=1976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}