{"id":1502,"date":"2024-10-08T17:00:49","date_gmt":"2024-10-08T09:00:49","guid":{"rendered":"http:\/\/110.42.248.92\/onsite-learning-center\/?page_id=1502"},"modified":"2026-04-27T09:21:15","modified_gmt":"2026-04-27T01:21:15","slug":"%e5%bc%80%e5%a7%8b-%e5%86%b3%e7%ad%96-%e8%a7%84%e5%88%92-%e8%bf%90%e5%8a%a8%e8%a7%84%e5%88%92","status":"publish","type":"page","link":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e8%a7%84%e5%88%92-%e5%86%b3%e7%ad%96\/%e5%bc%80%e5%a7%8b-%e5%86%b3%e7%ad%96-%e8%a7%84%e5%88%92-%e8%bf%90%e5%8a%a8%e8%a7%84%e5%88%92\/","title":{"rendered":"Start - Decision-Making and Planning - Motion Planning"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_4 1_4 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><\/div><nav class=\"awb-menu awb-menu_column awb-menu_em-click mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_v-stacked awb-submenu_cm_accordion\" style=\"--awb-line-height:var(--awb-typography3-line-height);--awb-margin-top:80px;--awb-margin-bottom:80px;--awb-text-transform:var(--awb-typography3-text-transform);--awb-bg:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 95%));--awb-border-radius-top-left:5px;--awb-border-radius-top-right:5px;--awb-border-radius-bottom-right:5px;--awb-border-radius-bottom-left:5px;--awb-gap:20px;--awb-items-padding-top:20px;--awb-items-padding-bottom:20px;--awb-items-padding-left:30px;--awb-color:var(--awb-color8);--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-active-color:var(--awb-color5);--awb-active-bg:hsla(var(--awb-color4-h),var(--awb-color4-s),var(--awb-color4-l),calc(var(--awb-color4-a) - 95%));--awb-submenu-sep-color:hsla(var(--awb-color2-h),var(--awb-color2-s),calc(var(--awb-color2-l) - 3%),var(--awb-color2-a));--awb-submenu-items-padding-top:15px;--awb-submenu-items-padding-bottom:15px;--awb-submenu-font-size:var(--awb-typography5-font-size);--awb-submenu-text-transform:var(--awb-typography5-text-transform);--awb-submenu-line-height:var(--awb-typography5-line-height);--awb-submenu-letter-spacing:var(--awb-typography5-letter-spacing);--awb-main-justify-content:center;--awb-sub-justify-content:center;--awb-mobile-nav-button-align-hor:center;--awb-mobile-bg:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 98%));--awb-mobile-trigger-font-size:22px;--awb-mobile-trigger-color:var(--awb-color8);--awb-mobile-nav-trigger-bottom-margin:10px;--awb-mobile-font-size:var(--awb-typography3-font-size);--awb-mobile-text-transform:var(--awb-typography3-text-transform);--awb-mobile-line-height:var(--awb-typography3-line-height);--awb-mobile-letter-spacing:var(--awb-typography3-letter-spacing);--awb-mobile-justify:center;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-box-shadow: 0px 0px ;;--awb-fusion-font-family-typography:var(--awb-typography3-font-family);--awb-fusion-font-weight-typography:var(--awb-typography3-font-weight);--awb-fusion-font-style-typography:var(--awb-typography3-font-style);--awb-fusion-font-family-submenu-typography:var(--awb-typography5-font-family);--awb-fusion-font-weight-submenu-typography:var(--awb-typography5-font-weight);--awb-fusion-font-style-submenu-typography:var(--awb-typography5-font-style);--awb-fusion-font-family-mobile-typography:var(--awb-typography3-font-family);--awb-fusion-font-weight-mobile-typography:var(--awb-typography3-font-weight);--awb-fusion-font-style-mobile-typography:var(--awb-typography3-font-style);\" aria-label=\"Quick Start\" data-breakpoint=\"640\" data-count=\"0\" data-transition-type=\"fade\" data-transition-time=\"300\"><button type=\"button\" class=\"awb-menu__m-toggle\" aria-expanded=\"false\" aria-controls=\"menu-%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\"><span class=\"awb-menu__m-toggle-inner\"><span class=\"collapsed-nav-text\">Menu<\/span><span class=\"awb-menu__m-collapse-icon\"><span class=\"awb-menu__m-collapse-icon-open fa-bars fas\"><\/span><span class=\"awb-menu__m-collapse-icon-close fa-times fas\"><\/span><\/span><\/span><\/button><ul id=\"menu-%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\" class=\"fusion-menu awb-menu__main-ul awb-menu__main-ul_column\"><li  id=\"menu-item-898\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-898 awb-menu__li awb-menu__main-li awb-menu__main-li_regular\"  data-item-id=\"898\"><span class=\"awb-menu__main-background-default awb-menu__main-background-default_fade\"><\/span><span class=\"awb-menu__main-background-active awb-menu__main-background-active_fade\"><\/span><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5\/\" class=\"awb-menu__main-a awb-menu__main-a_regular\"><span class=\"menu-text\">Perception<\/span><\/a><button type=\"button\" aria-label=\"Open submenu of Perception\" aria-expanded=\"false\" class=\"awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_click awb-menu__open-nav-submenu_main awb-menu__open-nav-submenu_needs-spacing\"><\/button><ul class=\"awb-menu__sub-ul awb-menu__sub-ul_main\"><li  id=\"menu-item-1537\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1537 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5-%e8%af%ad%e4%b9%89%e5%88%86%e5%89%b2\/\" class=\"awb-menu__sub-a\"><span>Code-Semantic Segmentation<\/span><\/a><\/li><li  id=\"menu-item-1535\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1535 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5-%e6%b7%b1%e5%ba%a6%e4%bc%b0%e8%ae%a1\/\" class=\"awb-menu__sub-a\"><span>Code - Depth Estimation<\/span><\/a><\/li><li  id=\"menu-item-1533\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1533 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5-2d%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b\/\" class=\"awb-menu__sub-a\"><span>Code-2D Object Detection<\/span><\/a><\/li><li  id=\"menu-item-1566\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1566 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5\/%e5%bc%80%e5%a7%8b-%e6%84%9f%e7%9f%a5-%e7%9b%ae%e6%a0%87%e8%bf%bd%e8%b8%aa\/\" class=\"awb-menu__sub-a\"><span>Code - Goal Tracking<\/span><\/a><\/li><\/ul><\/li><li  id=\"menu-item-1473\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1473 awb-menu__li awb-menu__main-li awb-menu__main-li_regular\"  data-item-id=\"1473\"><span class=\"awb-menu__main-background-default awb-menu__main-background-default_fade\"><\/span><span class=\"awb-menu__main-background-active awb-menu__main-background-active_fade\"><\/span><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b\/\" class=\"awb-menu__main-a awb-menu__main-a_regular\"><span class=\"menu-text\">Prediction<\/span><\/a><button type=\"button\" aria-label=\"Open submenu of Prediction\" aria-expanded=\"false\" class=\"awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_click awb-menu__open-nav-submenu_main awb-menu__open-nav-submenu_needs-spacing\"><\/button><ul class=\"awb-menu__sub-ul awb-menu__sub-ul_main\"><li  id=\"menu-item-1926\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1926 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b-%e8%bd%a8%e8%bf%b9%e9%a2%84%e6%b5%8b%ef%bc%9a%e5%8d%95%e8%bd%a6%e5%8d%95%e6%a8%a1%e6%80%81%e8%bd%a6%e8%bd%a8%e8%bf%b9%e9%a2%84%e6%b5%8b\/\" class=\"awb-menu__sub-a\"><span>Code \u2013 bicycle trajectory prediction<\/span><\/a><\/li><li  id=\"menu-item-1545\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1545 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b-vru%e8%bd%a8%e8%bf%b9%e9%a2%84%e6%b5%8b\/\" class=\"awb-menu__sub-a\"><span>Code-VRU trajectory prediction<\/span><\/a><\/li><li  id=\"menu-item-1658\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1658 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b\/%e5%bc%80%e5%a7%8b-%e9%a2%84%e6%b5%8b-%e6%9c%ba%e5%8a%a8%e8%bd%a6%e8%bd%a8%e8%bf%b9%e9%a2%84%e6%b5%8b-cloned\/\" class=\"awb-menu__sub-a\"><span>Code-Multi-vehicle trajectory prediction<\/span><\/a><\/li><\/ul><\/li><li  id=\"menu-item-897\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-897 awb-menu__li awb-menu__main-li awb-menu__main-li_regular\"  data-item-id=\"897\"><span class=\"awb-menu__main-background-default awb-menu__main-background-default_fade\"><\/span><span class=\"awb-menu__main-background-active awb-menu__main-background-active_fade\"><\/span><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e8%a7%84%e5%88%92-%e5%86%b3%e7%ad%96\/\" class=\"awb-menu__main-a awb-menu__main-a_regular\"><span class=\"menu-text\">Decision\/Planning Problems<\/span><\/a><button type=\"button\" aria-label=\"Open submenu of Decision\/Planning Problems\" aria-expanded=\"false\" class=\"awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_click awb-menu__open-nav-submenu_main awb-menu__open-nav-submenu_needs-spacing\"><\/button><ul class=\"awb-menu__sub-ul awb-menu__sub-ul_main\"><li  id=\"menu-item-1530\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1530 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e8%a7%84%e5%88%92-%e5%86%b3%e7%ad%96\/%e5%bc%80%e5%a7%8b-%e5%86%b3%e7%ad%96-%e8%a7%84%e5%88%92-%e8%a1%8c%e4%b8%ba%e5%86%b3%e7%ad%96\/\" class=\"awb-menu__sub-a\"><span>Code-Bike Decisions<\/span><\/a><\/li><li  id=\"menu-item-1742\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1742 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e8%a7%84%e5%88%92-%e5%86%b3%e7%ad%96\/%e5%bc%80%e5%a7%8b-%e5%86%b3%e7%ad%96-%e8%a7%84%e5%88%92-%e5%8d%8f%e5%90%8c%e5%86%b3%e7%ad%96\/\" class=\"awb-menu__sub-a\"><span>Code - Collaborative Decision Making<\/span><\/a><\/li><li  id=\"menu-item-1532\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1532 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e8%a7%84%e5%88%92-%e5%86%b3%e7%ad%96\/%e5%bc%80%e5%a7%8b-%e5%86%b3%e7%ad%96-%e8%a7%84%e5%88%92-%e8%bf%90%e5%8a%a8%e8%a7%84%e5%88%92\/\" class=\"awb-menu__sub-a\"><span>Code-Motion Planning<\/span><\/a><\/li><\/ul><\/li><li  id=\"menu-item-899\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-899 awb-menu__li awb-menu__main-li awb-menu__main-li_regular\"  data-item-id=\"899\"><span class=\"awb-menu__main-background-default awb-menu__main-background-default_fade\"><\/span><span class=\"awb-menu__main-background-active awb-menu__main-background-active_fade\"><\/span><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6\/\" class=\"awb-menu__main-a awb-menu__main-a_regular\"><span class=\"menu-text\">Control<\/span><\/a><button type=\"button\" aria-label=\"Open submenu of Control\" aria-expanded=\"false\" class=\"awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_click awb-menu__open-nav-submenu_main awb-menu__open-nav-submenu_needs-spacing\"><\/button><ul class=\"awb-menu__sub-ul awb-menu__sub-ul_main\"><li  id=\"menu-item-1538\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1538 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6-%e6%a8%aa%e5%90%91%e6%8e%a7%e5%88%b6\/\" class=\"awb-menu__sub-a\"><span>Code - Horizontal Control<\/span><\/a><\/li><li  id=\"menu-item-1539\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1539 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6-%e7%ba%b5%e5%90%91%e6%8e%a7%e5%88%b6\/\" class=\"awb-menu__sub-a\"><span>Code-vertical control<\/span><\/a><\/li><li  id=\"menu-item-1540\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1540 awb-menu__li awb-menu__sub-li\" ><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6\/%e5%bc%80%e5%a7%8b-%e6%8e%a7%e5%88%b6-%e8%80%a6%e5%90%88%e6%8e%a7%e5%88%b6\/\" class=\"awb-menu__sub-a\"><span>Code-coupling control<\/span><\/a><\/li><\/ul><\/li><li  id=\"menu-item-2558\"  class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2558 awb-menu__li awb-menu__main-li awb-menu__main-li_regular\"  data-item-id=\"2558\"><span class=\"awb-menu__main-background-default awb-menu__main-background-default_fade\"><\/span><span class=\"awb-menu__main-background-active awb-menu__main-background-active_fade\"><\/span><a  href=\"http:\/\/110.42.248.92\/onsite-learning-center\/en\/%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b\/%e5%bc%80%e5%a7%8b-%e7%ab%af%e5%88%b0%e7%ab%af\/\" class=\"awb-menu__main-a awb-menu__main-a_regular\"><span class=\"menu-text\">End-to-End Autonomous Driving<\/span><\/a><\/li><\/ul><\/nav><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_3_4 3_4 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:75%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.56%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.56%;--awb-width-medium:75%;--awb-order-medium:0;--awb-spacing-right-medium:2.56%;--awb-spacing-left-medium:2.56%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\" style=\"--awb-font-size:38px;--awb-line-height:var(--awb-typography1-line-height);--awb-letter-spacing:var(--awb-typography1-letter-spacing);--awb-text-transform:var(--awb-typography1-text-transform);--awb-text-font-family:var(--awb-typography1-font-family);--awb-text-font-weight:var(--awb-typography1-font-weight);--awb-text-font-style:var(--awb-typography1-font-style);\"><p>Decision-Making and Planning - Motion Planning<\/p>\n<\/div><div class=\"fusion-text fusion-text-3\" style=\"--awb-content-alignment:left;--awb-font-size:18px;--awb-line-height:2;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p style=\"text-align: left\">Here is a hands-on example for \"Decision\/Planning Problem - Motion Planning\". The example implements a path optimization algorithm based on Lattice planning, which is used for decision-making and path planning tasks of autonomous vehicles in complex environments. The algorithm can effectively deal with obstacles and dynamic scenes of complex roads, providing a safe and smooth path for autonomous vehicles. The download link for the complete project is:<a href=\"https:\/\/github.com\/TOPSlearningcenter\/Lattice\">https:\/\/github.com\/TOPSlearningcenter\/Lattice<\/a><\/p>\n<\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4\"><p>Given below<strong>Model Overview<\/strong>, click on the right to run the code online.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_1_3 1_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div style=\"text-align:left;\"><a class=\"fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/datalore.jetbrains.com\/notebook\/AfjtZktn1B4WuL3U7WV2mF\/i909myoLufHZoNmfSwBEO2\"><span class=\"fusion-button-text\">Run Code Online<\/span><\/a><\/div><\/div><\/div><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-2 fusion_builder_column_inner_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-3 fusion_builder_column_inner_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-4 fusion_builder_column_inner_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;width:100%;\"><div class=\"fusion-separator-border sep-double\" style=\"--awb-height:20px;--awb-amount:20px;border-color:var(--awb-color3);border-top-width:1px;border-bottom-width:1px;\"><\/div><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-5 fusion_builder_column_inner_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\" style=\"--awb-font-size:24px;--awb-line-height:1;--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><h4 style=\"padding-left: 0px\">Model Overview<\/h4>\n<\/div><div class=\"fusion-text fusion-text-6\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p><strong>1. Model overview:<\/strong><\/p>\n<p style=\"padding-left: 40px\">Lattice Planning is a common path-planning method used to generate diverse feasible paths for autonomous vehicles. It discretizes the state space and turns a continuous path-planning problem into a search between a finite set of lattice nodes. Lattice planners are particularly suitable for high-dimensional continuous state and action spaces and are widely used in autonomous driving and robot navigation.<\/p>\n<p style=\"padding-left: 40px\">This project aims to combine a lattice-based path generator with obstacle detection and trajectory optimization to plan vehicle paths that pass safely and smoothly through complex traffic environments.<\/p>\n<p style=\"padding-left: 40px\">\uff081\uff09<strong>Lattice planning<\/strong>: Lattice planning is an algorithm for generating paths by discretizing state space and action space. This method places a grid in the vehicle's driving space. The nodes on the grid represent possible path points, and the vehicle's path is constructed by connecting these nodes. Specifically, the Lattice planner discretizes the state space (e.g., position, velocity, acceleration) within which the vehicle can make action decisions.<\/p>\n<p style=\"padding-left: 40px\">The core of Lattice Planning is to construct a set of candidate trajectories, optimize them against vehicle dynamic constraints and environmental information such as obstacles, and select the best path to follow.<\/p>\n<p style=\"padding-left: 40px\">\uff082\uff09<strong>Trajectory optimization<\/strong>: During the path generation process, the Lattice planner generates multiple candidate trajectories. To ensure that the vehicle can drive safely and smoothly, these trajectories need to be evaluated and optimized. The goal of trajectory optimization is to select a path that maximizes vehicle driving stability while avoiding obstacles.<\/p>\n<p style=\"padding-left: 40px\">In this project, trajectory optimization is mainly implemented through the following steps:<\/p>\n<ul>\n<li><strong>path matching<\/strong>: Match the trajectory points through the reference path to ensure that the vehicle can effectively follow the planned path.<\/li>\n<li><strong>Obstacle detection<\/strong>: Use sensor data to detect obstacles in the environment and avoid collisions with them during path planning.<\/li>\n<li><strong>Sampling and Expansion<\/strong>: For scenarios where no feasible solution is found, the algorithm will expand the sampling range to ensure a safe path is found.<\/li>\n<\/ul>\n<p><strong>2. Implementation:<\/strong><\/p>\n<ul>\n<li><strong>Initialization:<\/strong>\n<ul>\n<li>Load reference-path data from the input path file.<\/li>\n<li>Initialize the vehicle state, including position, velocity, acceleration, and other information.<\/li>\n<li>Initialize obstacle information, including obstacle positions, sizes, and headings.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Trajectory-point matching:<\/strong>\n<ul>\n<li>Match the vehicle\u2019s current position with the reference path to generate initial trajectory points.<\/li>\n<li>\u00a0Initialize the trajectory sampling basis from the matched path points and obstacle information.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Path Planning:<\/strong>\n<ul>\n<li>Use LocalPlanner for local path planning to generate a set of feasible candidate trajectories.<\/li>\n<li>Evaluate each trajectory to determine whether it avoids obstacles, then select the best trajectory to follow.<\/li>\n<li>If no feasible path is found, expand the sampling range and plan again.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Real-time updates:<\/strong>\n<ul>\n<li>At each time step, update the trajectory based on the vehicle\u2019s current state and adjust the path in real time.<\/li>\n<li>Also plot the vehicle\u2019s current path, obstacle positions, and optimized trajectory to observe the driving process.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"text-align: left\"><strong>3. Algorithm Optimization:<\/strong><\/p>\n<ul>\n<li>Obstacle detection and path avoidance: after detecting an obstacle, the algorithm adjusts trajectory points to avoid potential collisions. If no safe path is found, it expands sampling to enlarge the search space and find a safe trajectory.<\/li>\n<li>Dynamic sampling: dynamically adjust the trajectory sampling range according to the vehicle\u2019s current speed, heading, and environmental information to ensure smooth driving.<\/li>\n<\/ul>\n<\/div><\/div><\/div><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;width:100%;\"><div class=\"fusion-separator-border sep-double\" style=\"--awb-height:20px;--awb-amount:20px;border-color:var(--awb-color3);border-top-width:1px;border-bottom-width:1px;\"><\/div><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-6 fusion_builder_column_inner_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-7 fusion-text-no-margin\" style=\"--awb-font-size:24px;--awb-line-height:1;--awb-margin-bottom:0px;--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:300;\"><h4 style=\"padding-left: 0px\">Code walkthrough<\/h4>\n<\/div><div class=\"fusion-text fusion-text-8\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p><strong>0. Preparation:<\/strong><\/p>\n<ul>\n<li>Python 3.x<\/li>\n<li>numpy: for numerical calculations<\/li>\n<li>matplotlib: for path visualization<\/li>\n<li>Custom classes:\n<ul>\n<li>Obstacle: Define obstacles and their related properties<\/li>\n<li>TrajPoint: trajectory point class, used to represent the current trajectory status<\/li>\n<li>SampleBasis: sampling base class, used to generate path sampling points<\/li>\n<li>LocalPlanner: Local planner, responsible for generating feasible trajectories and selecting optimal paths<\/li>\n<li>CalcRefLine`: Calculates the reference line the vehicle should follow<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div><div class=\"fusion-text fusion-text-9\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-margin-top:3%;--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p><strong>1. Steps:<\/strong><\/p>\n<\/div><div class=\"fusion-text fusion-text-10\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p style=\"padding-left: 40px\">(1) Place the path data file roadMap_lzjSouth1.txt in the project root directory. The file should contain the path\u2019s X and Y coordinates.<\/p>\n<p style=\"padding-left: 40px\">(2) Run the program using the following command:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-1 > .CodeMirror, .fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-1 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_1\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_1\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_1\" data-readonly=\"nocursor\" data-linenumbers=\"1\" data-linewrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">python main.py<\/textarea><\/div><div class=\"fusion-text fusion-text-11\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p style=\"padding-left: 40px\">(3) The program displays planning results in the terminal and shows the vehicle path and obstacles graphically. If no feasible path is found, it automatically expands the sampling range and attempts to find a suitable trajectory.<\/p>\n<\/div><div class=\"fusion-text fusion-text-12\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-margin-top:3%;--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p><strong>2. Notes:<\/strong><\/p>\n<\/div><div class=\"fusion-text fusion-text-13\" style=\"--awb-content-alignment:left;--awb-font-size:16px;--awb-line-height:1.5;--awb-letter-spacing:var(--awb-typography3-letter-spacing);--awb-text-transform:var(--awb-typography3-text-transform);--awb-text-font-family:&quot;Outfit&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><ul>\n<li>The vehicle speed and heading thresholds can be adjusted through the v_tgt and theta_thr parameters to suit different scenarios.<\/li>\n<li>The current version handles static obstacles. Dynamic obstacles or more complex scenarios can be addressed by extending LocalPlanner.<\/li>\n<li>If path planning fails frequently, adjust the sampling range and heading threshold for better planning performance.<\/li>\n<\/ul>\n<\/div><\/div><\/div><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;width:100%;\"><div class=\"fusion-separator-border sep-double\" style=\"--awb-height:20px;--awb-amount:20px;border-color:var(--awb-color3);border-top-width:1px;border-bottom-width:1px;\"><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":0,"parent":508,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"inline_featured_image":false,"iawp_total_views":917,"footnotes":""},"class_list":["post-1502","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/pages\/1502"}],"collection":[{"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/comments?post=1502"}],"version-history":[{"count":4,"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/pages\/1502\/revisions"}],"predecessor-version":[{"id":2545,"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/pages\/1502\/revisions\/2545"}],"up":[{"embeddable":true,"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/pages\/508"}],"wp:attachment":[{"href":"http:\/\/110.42.248.92\/onsite-learning-center\/en\/wp-json\/wp\/v2\/media?parent=1502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}