通过carla-ros-bridge在carla上实现自动驾驶planning and control。
视频演示链接:
横向控制:LQR, PurePuresuit, Stanley
纵向控制:PID
简易场景下的路径规划
Global planner: A* (carla_ros_bridge 自带)
Local planner: Lattice Planner、EM Planner
-
Ubuntu 18.04/20.04
-
ROS Melodic/Noetic
-
Eigen
-
cmake >= 3.5
-
python3.X
-
安装配置手册:https://carla.readthedocs.io/en/latest/start_quickstart/
-
ROS bridge for CARLA simulator(0.9.11)
安装配置手册:https://carla.readthedocs.io/projects/ros-bridge/en/latest/ros_installation_ros1/
安装配置手册:https://carla-scenariorunner.readthedocs.io/en/latest/getting_scenariorunner/
快速配置方式:
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
终端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"
终端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
- MPC的实现
- EM planner速度规划
- local planner应用场景的泛化
Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame