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
需要启动的模块一览
接下来从左到右,从上到下依次介绍
- 点击
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_connector
下vel_pose_connect
右侧的app
按钮,在弹出的界面中取消勾选Simulation_Mode
,退出并勾选vel_pose_connect。 - 点击
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中出现了彩色矩形块。
- 点击
lidar_tracker
下lidar_kf_contour_track
右侧的app
按钮,在弹出的界面中,参数Vector Map Filter Distance
设置为0,点击OK
退出后勾选lidar_kf_contour_track
。 - 点击
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中汽车正前方出现了一条中线。
- 在rviz中 2D pose Estimate设置起点,2DNav Goal 设置终点,后如果成功,界面会有一条蓝色路径
- 点击
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
。 - 点击
OpenPlanner-Local planning
下op_trajectory_generator
右侧的app
按钮,弹出如下界面,参数Tip Margin
是车辆中心到横向采样点的距离,其长度决定了在两条轨迹之间切换时转向的平稳性,Roll In Margin
是指从Car tip到外部极限的平行横向采样点的距离,这部分的长度和速度成正比,设置完参数点击OK
退出,勾选op_trajectory_generator
。 - 勾选
op_motion_predictor
、op_trajectory_evaluator
和op_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
到此,已经可以成功运行。
版权归原作者 以太羊 所有, 如有侵权,请联系我们删除。