6.Autoware.ai 1.13 cpu版本与gazebo仿真与使用

慈云数据 2024-04-27 技术支持 55 0

6.Autoware.ai 1.13 cpu版本与gazebo仿真与使用

在这里插入图片描述

前期基础 : 5.autoware.ai 1.13安装教程

1.安装gazebo

下载

cd vehicle_sim_workspace/src/
git clone https://github.com/yukkysaito/vehicle_sim.git --recurse-submodules

编译

cd vehicle_sim_workspace
catkin_make

测试

source  devel/setup.sh
roslaunch vehicle_sim_launcher world_test.launch

bug1

#启动gazebo后一片空白,其实是gazebo在下载需要资源,如果没点科技,只能使用本地缓存包了,后续有需要的我会贴出来

解决方案

cd .gazebo
#替换models
2.使用:
#执行终端命令后
#会出现三个界面,一个rviz,一个gazebo,一个rqt的控制控件
#然后启动autoware.ai
#roslaunch runtime_manager runtime_manager.launch 

在这里插入图片描述

#在已经出现的rviz中左上角的File->open config 选择
autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/default.rviz

回到runtime_manager界面,由于gazebo已经提供了base_link到velodyne的坐标系转换,并加载了汽车模型。所以我们只需要关注Map、Sensing、Computing三个部分。在这里插入图片描述

1.进入到Map

配置下面三个

在这里插入图片描述

#point与vector勾选对应地图文件,有需求后续我会放出。
#tf选择autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/tf_local.launch
设置好后,需要点击三个图标,视为启动
#rviz设置
在rviz左下角点击Add按钮弹出的显示框中点击By topic按钮,找到话题/vector_map的MakerArray并添加,则rviz中出现了矢量地图。

2.进入到sensing

勾选右侧Points Downsampler的voxel_grid_filter与Points Preprocessor的ring_ground_filter
app为配置按钮,具体配置在下文

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.进入到Computing

需要启动的模块一览

在这里插入图片描述

接下来从左到右,从上到下依次介绍

  1. 点击lidar_localizer下ndt_matching右侧的app按钮,在弹出的页面中topic:/config/ndt选择Initial Pos选项,x,y,z,roll,pitch,yaw的值表示激光数据的初始位姿,如果有GNSS设备可以选择GNSS进行初始定位。Method Type选择pcl_general,即使用CPU进行点云匹配计算,然后点击OK,最后勾选ndt_matching,完成ndt定位。
  2. 点击autoware_connector下vel_pose_connect右侧的app按钮,在弹出的界面中取消勾选Simulation_Mode,退出并勾选vel_pose_connect。
  3. 点击lidar_detector下lidar_euclidean_cluster_detect右侧的app按钮,在弹出的界面中,设置output_frame为map,input_points_node为/point_no_ground,clip_min_height和clip_max_height表示检测障碍物的高度范围,然后点击OK退出后勾选lidar_euclidean_cluster_detect。
原生1.13版本想实现跟踪障碍物(lidar_tracker)需要修改订阅节点,在文件autoware1.13/src/autoware/core_perception/lidar_kf_contour_track/nodes/lidar_kf_contour_track/lidar_kf_contour_track_core.cpp中48行,把订阅节点改成/detection/lidar_detector/cloud_clusters
#重新编译
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
#rviz设置
在rviz左下角点击Add按钮,弹出的显示框中点击By display type按钮,找到BoundingBoxArray类型并添加,话题设置为/op_planner_tracked_boxes,此时rviz中出现了彩色矩形块。
  1. 点击lidar_tracker下lidar_kf_contour_track右侧的app按钮,在弹出的界面中,参数Vector Map Filter Distance设置为0,点击OK退出后勾选lidar_kf_contour_track。

  2. 点击OpenPlanner-Global Planning下op_global_planner后面的app按钮,勾选 Replanning、Smooth和Rviz Goals选项, Replanning用于到达目标点后,可以重新规划到下一个目标点,Smooth用于平滑全局路径,Rviz Goals用于在rviz中设置导航目标点,点击OK退出后勾选op_global_planner。

    #rviz设置
    在rviz左下角点击Add按钮,弹出的显示框中点击By topic按钮,找到话题/vector_map_center_lines_rviz的MakerArray并添加,则rviz中汽车正前方出现了一条中线。
    
  3. 在rviz中 2D pose Estimate设置起点,2DNav Goal 设置终点,后如果成功,界面会有一条蓝色路径

    在这里插入图片描述

  4. 点击OpenPlanner-Local planning下op_common_params右侧的app按钮,弹出如下界面,参数Plan Ditance是局部路径长度,Path Density是局部路径上两个路径点的间距,Horizontal Density是相邻两个局部路径的间距,Rollouts Number是局部路径的条数,Max Velocity是路径上的执行速度,避障时速度减半,Follow DIstance为沿着路径从多远开始检测障碍物,Avoid Distance为沿着路径从多远开始避障,Lateral Safety和Longitudinal Safty是汽车安全框尺寸,设置完参数点击OK退出,勾选op_common_params。避障打开Enable Avoidance。

  5. 点击OpenPlanner-Local planning下op_trajectory_generator右侧的app按钮,弹出如下界面,参数Tip Margin是车辆中心到横向采样点的距离,其长度决定了在两条轨迹之间切换时转向的平稳性,Roll In Margin是指从Car tip到外部极限的平行横向采样点的距离,这部分的长度和速度成正比,设置完参数点击OK退出,勾选op_trajectory_generator。

  6. 勾选op_motion_predictor、op_trajectory_evaluator和op_behavior_selector。

#rviz设置
在rviz左下角点击Add按钮,弹出的显示框中点击By topic按钮,找到话题/local_trajectories_eval_rviz的MakerArray并添加,则rviz中出现了多条局部路径。
  1. Motion Planning下可以看到waypoint_follower,点击pure_puesuit右侧的app按钮,弹出如下界面,路点跟随的速度选择为Waypoint,点击OK按钮后勾选pure_puesuit。

  2. 点击twist_filter右侧的app按钮,弹出如下界面,对速度进行滤波,参数默认即可,点击OK按钮后勾选twist_filter

    到此,已经可以成功运行。

    在这里插入图片描述

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon