MCPcopy Index your code
hub / github.com/autonomous-viranjan/Interactive-Motion-Planning

github.com/autonomous-viranjan/Interactive-Motion-Planning @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
833 symbols 2,239 edges 49 files 28 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Interactive Motion Planning

Codebase for adaptive interactive mixed-integer model predictive control (aiMPC): an optimal control-based interactive motion planning algorithm for autonomous vehicles.

  • Real-time Software-and-Human-in-the-loop simulation in CARLA.

Test scenario illustration

Mandatory lane change scenario: a stopped truck on the right lane necessitates a lane change for the autonomous vehicle which needs to negotiate with a human-driven vehicle on the left lane. alt text - Blue vehicle is the ego vehicle and red vehicle is the human-driven neighboring vehicle (NV).

shil

  • aiMPC estimates NV's cost online and adapts the MPC.

A case when ego merges ahead

https://github.com/autonomous-viranjan/Interactive-Motion-Planning/assets/62226470/80b97b3e-c7b9-4cf5-933c-67992a033649

A case when ego merges behind

https://github.com/autonomous-viranjan/Interactive-Motion-Planning/assets/62226470/f22663f6-780c-471e-94e3-66f41bb8012c

A case where the NV's nature changes

https://github.com/autonomous-viranjan/Interactive-Motion-Planning/assets/62226470/bacb1f65-077f-4fc9-8c1b-87f18a4aafa8

  • αp and αa are the estimated NV cost weights.

Key dependencies:

  • CARLA simulator
  • Gurobi
  • ROS Noetic
  • MATLAB (data analysis)

Architecture

shil-arch-1

  • Cite as
@article{bhattacharyya2024automated,
  title={Automated Lane Change via Adaptive Interactive MPC: Human-in-the-Loop Experiments},
  author={Bhattacharyya, Viranjan and Vahidi, Ardalan},
  journal={IEEE Transactions on Control Systems Technology},
  year={2024},
  publisher={IEEE}
}

Core symbols most depended-on inside this repo

notification
called by 28
src/expt5/src/NV_.py
notification
called by 28
src/expt5/src/NV.py
notification
called by 28
src/expt3/src/NV.py
notification
called by 28
src/expt2/src/NV_.py
notification
called by 28
src/expt2/src/NV.py
notification
called by 28
src/expt1/src/NV_.py
notification
called by 28
src/expt1/src/NV.py
notification
called by 28
src/expt4/src/NV_.py

Shape

Method 628
Class 126
Function 79

Languages

Python88%
C++12%

Modules by API surface

src/expt5/src/NV_.py69 symbols
src/expt4/src/NV_.py69 symbols
src/expt2/src/NV_.py69 symbols
src/expt1/src/NV_.py69 symbols
src/expt5/src/NV.py68 symbols
src/expt4/src/NV.py68 symbols
src/expt3/src/NV.py68 symbols
src/expt2/src/NV.py68 symbols
src/expt1/src/NV.py68 symbols
src/expt5/src/ego_vehicle.py19 symbols
src/expt4/src/ego_vehicle.py19 symbols
src/expt3/src/ego_vehicle.py19 symbols

For agents

$ claude mcp add Interactive-Motion-Planning \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact