MCPcopy Index your code
hub / github.com/GoGoGo13579/Planning-and-Control-based-on-Carla-and-ROS2

github.com/GoGoGo13579/Planning-and-Control-based-on-Carla-and-ROS2 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,198 symbols 4,543 edges 232 files 739 documented · 62%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

简介

使用Carla和ros2使用C++复现了B站up主忠厚老实的老王的规控教程,供朋友们参考。 initial_version是初代版本,之后的规控算法在plus_version里更新

软件配置

Ubuntu20.04(用的WSL2)
ros2-foxy
Carla-0.9.13
osqp0.6.3
osqp-eigen0.8.0
matplot++最新版就可以,这个和其他是独立的,没啥依赖关系
这些配置都是安装Carla-ros-bridge时候官方要求的配置,我这里是推荐大家直接使用这一套的,不然会出现各种各样的问题,很浪费时间

算法实现

控制算法:纵向串级PID,横向LQR,横纵向MPC 规划算法:参考线平滑,路径DP+QP,速度DP+QP

使用方法

我写的源代码在my_planning_and_control这个文件夹里,如果想对算法做出修改,也是改这个文件夹。
运行案列我是借助的carla_ad_demo(这是carla-ros-bridge里自带的案例),在它的场景里运行自己规控算法,并没有自己写场景。
运行指令为
colcon build
. install/setup.bash
ros2 launch carla_ad_demo carla_ad_demo.launch.py

视频展示

https://www.bilibili.com/video/BV1bT421e7CM/?share_source=copy_web&vd_source=c6672cbc9ac3f70466950e7ef1e8855a

Core symbols most depended-on inside this repo

loginfo
called by 73
plus_version/ros_compatibility/src/ros_compatibility/node.py
loginfo
called by 73
initial_version/ros_compatibility/src/ros_compatibility/node.py
publish
called by 51
plus_version/carla_ros_bridge/src/carla_ros_bridge/carla_status_publisher.py
publish
called by 50
initial_version/carla_ros_bridge/src/carla_ros_bridge/carla_status_publisher.py
wait_for_message
called by 48
plus_version/ros_compatibility/src/ros_compatibility/node.py
wait_for_message
called by 48
initial_version/ros_compatibility/src/ros_compatibility/node.py
logwarn
called by 40
plus_version/ros_compatibility/src/ros_compatibility/node.py
logwarn
called by 40
initial_version/ros_compatibility/src/ros_compatibility/node.py

Shape

Method 851
Class 185
Function 162

Languages

Python83%
C++17%

Modules by API surface

plus_version/carla_manual_control/src/carla_manual_control/carla_manual_control.py38 symbols
initial_version/carla_manual_control/src/carla_manual_control/carla_manual_control.py38 symbols
plus_version/carla_ros_bridge/test/ros_bridge_client_ros2_test.py24 symbols
initial_version/carla_ros_bridge/test/ros_bridge_client_ros2_test.py24 symbols
plus_version/ros_compatibility/src/ros_compatibility/node.py23 symbols
plus_version/carla_ros_bridge/test/ros_bridge_client.py23 symbols
initial_version/ros_compatibility/src/ros_compatibility/node.py23 symbols
initial_version/carla_ros_bridge/test/ros_bridge_client.py23 symbols
plus_version/carla_ros_bridge/src/carla_ros_bridge/camera.py22 symbols
initial_version/carla_ros_bridge/src/carla_ros_bridge/camera.py22 symbols
plus_version/carla_common/src/carla_common/transforms.py20 symbols
initial_version/carla_common/src/carla_common/transforms.py20 symbols

For agents

$ claude mcp add Planning-and-Control-based-on-Carla-and-ROS2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page