MCPcopy Create free account
hub / github.com/LiJiangnanBit/path_optimizer_ilqr

github.com/LiJiangnanBit/path_optimizer_ilqr @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
177 symbols 316 edges 26 files 11 documented · 6% updated 7mo ago★ 23010 open issues

Browse by type

Functions 128 Types & classes 49
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

path_optimizer_ilqr

Path planning for autonomous vehicles.
The problem formulation is basically the same as path_optimizer and path_optimizer_2, but solved through constrained ilqr.

Demo

image

Yellow line: initial path;
Blue dots: free space boundaries;

Features

  • Problem formulated under the frenet frame;
  • Kappa and kappa rate constraints;
  • Compared to the previous work, there is less accuracy loss on the safety constraints and the vehicle dynamics due to the ilqr solver.

Method

(...)

Depencencies

Usage

A png image is loaded as the grid map. You can click to specify the global reference path and the start/goal state of the vehicle.

roslaunch frenet_ilqr_test demo.launch

(1) Pick reference points using "Publish Point" tool in RViz.

  • Pick at least six points.
  • There are no hard and fast rules about the spacing of the points.
  • If you want to abandon the chosen points, just double click anywhere when using the "Publish Point" tool.
  • You can replace gridmap.png with other black and white images. Note that the resolution in demo.cpp is set to 0.2m, whick means that the length of one pixel is 0.2m on the map.
  • In application, the reference path is given by a global path or by a search algorithm like A*.

选点.gif

(2) Pick start state using "2D Pose Estimate" tool and pick goal state using "2D Nav Goal" tool.

  • Currently, it's not strictly required to reach the goal state. But this can be changed.
  • The start state must be ahead of the first reference point.

规划.gif

Core symbols most depended-on inside this repo

Shape

Method 119
Class 46
Function 9
Enum 3

Languages

C++100%

Modules by API surface

src/path/path_costs.h31 symbols
src/test/eigen2cv.hpp23 symbols
src/solver/problem_manager.h23 symbols
src/solver/solver.h12 symbols
src/path/spline.cpp12 symbols
src/solver/variable.h9 symbols
src/path/spline.h8 symbols
src/path/free_space.h8 symbols
src/test/reference_line_processor.h7 symbols
src/path/path_problem_manager.cpp7 symbols
src/test/reference_line_processor.cpp5 symbols
src/path/reference_line.cpp5 symbols

For agents

$ claude mcp add path_optimizer_ilqr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page