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

以太羊 2024-07-12 09:31:01 阅读 70

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

在这里插入图片描述

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

1.安装gazebo

下载

<code>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

在这里插入图片描述

<code>#在已经出现的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

配置下面三个

在这里插入图片描述

<code>#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

需要启动的模块一览

在这里插入图片描述

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

点击<code>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定位。点击autoware_connectorvel_pose_connect右侧的app按钮,在弹出的界面中取消勾选Simulation_Mode,退出并勾选vel_pose_connect。点击lidar_detectorlidar_euclidean_cluster_detect右侧的app按钮,在弹出的界面中,设置output_frame为map,input_points_node为/point_no_ground,clip_min_heightclip_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中出现了彩色矩形块。

点击lidar_trackerlidar_kf_contour_track右侧的app按钮,在弹出的界面中,参数Vector Map Filter Distance设置为0,点击OK退出后勾选lidar_kf_contour_track

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

#rviz设置

在rviz左下角点击Add按钮,弹出的显示框中点击By topic按钮,找到话题/vector_map_center_lines_rviz的MakerArray并添加,则rviz中汽车正前方出现了一条中线。

在rviz中 2D pose Estimate设置起点,2DNav Goal 设置终点,后如果成功,界面会有一条蓝色路径

在这里插入图片描述

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

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

勾选op_motion_predictorop_trajectory_evaluatorop_behavior_selector

#rviz设置

在rviz左下角点击Add按钮,弹出的显示框中点击By topic按钮,找到话题/local_trajectories_eval_rviz的MakerArray并添加,则rviz中出现了多条局部路径。

Motion Planning下可以看到waypoint_follower,点击pure_puesuit右侧的app按钮,弹出如下界面,路点跟随的速度选择为Waypoint,点击OK按钮后勾选pure_puesuit

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

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

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。