/carla_ros_bridge_pnc

通过carla-ros-bridge在carla上实现自动驾驶planning and control。

Primary LanguageC++

carla_ros_birdge_pnc

通过carla-ros-bridge在carla上实现自动驾驶planning and control。

视频演示链接:

Lattcice Planner

EM Planner

Control

Table of Contents

横向控制:LQR, PurePuresuit, Stanley

纵向控制:PID

LQR1

LQR2

简易场景下的路径规划

Global planner: A* (carla_ros_bridge 自带)

Local planner: Lattice Planner、EM Planner

lp2-16872379376268

lp3

Build

1.安装依赖:

​ 安装配置手册:https://carla-scenariorunner.readthedocs.io/en/latest/getting_scenariorunner/

2. 配置工作空间

快速配置方式:

cd scripts
./quickly_setup.sh

手动配置方式:

1.创建src文件,放置功能包源码:
  mkdir -p ~/catkin_ws/src

2.进入src文件夹
  cd ~/catkin_ws/src

3.将功能包复制到的src目录下

4.初始化文件夹
  catkin_init_workspace

5.编译工作空间
  catkin build
  
  #catkin build -DCMAKE_BUILD_TYPE=Debug  #for debug

Run Controller Demo

终端1:启动carla

cd path/to/carla/root

./CarlaUE4.sh

终端2:启动控制结点

source devel/setup.bash

Pure Pursuit

roslaunch controller controller_demo.launch control_method:="PurePursuit"

Stanley

roslaunch controller controller_demo.launch control_method:="Stanley"

LQR

roslaunch controller controller_demo.launch control_method:="LQR_kinematics"
roslaunch controller controller_demo.launch control_method:="LQR_dynamics"

Run Planning Demo

终端1:启动carla

cd path/to/carla/root

./CarlaUE4.sh

终端2:启动Planning结点

source devel/setup.bash

Lattice Planner

roslaunch planning planning_demo.launch planning_method:="Lattice"

EM Planner

roslaunch planning planning_demo.launch planning_method:="EM"

终端3:启动scenario runner

scenario_runner-0.9.11目录下

python scenario_runner.py --scenario Avoid_and_Follow_1 --waitForEgo   #用于Lattice Planner
python scenario_runner.py --scenario Avoid_1 --waitForEgo			   #用于EM Planner

终端4:启动控制结点

source devel/setup.bash

roslaunch controller controller.launch

To-Do-List

  • MPC的实现
  • EM planner速度规划
  • local planner应用场景的泛化

Reference

Casper Auto

Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame

driving planning

B站老王