基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。
1.首先安装autoware ,大家可以以下一下博客进行安装,如果缺少库什么的直接问ai安装对应的库就行。ubuntu18.04安装Autoware1.14---GPU版 最全环境配置说明_autoware1.14安装教程-CSDN博客
安装成功后运行:
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch
2.接下来进行点云地图的录制,点击在autoware可视化操作界面中点击Topics页面中点击左下角Refresh刷新一下看有没有点云信息看/points_raw,然后点击右上角的Echo看有没有数据信息:
3.之后点击 有下角的ROSBAG Record点击最下面的Refresh刷新话题列表,选择录制的点云话题/points_raw,之后点击最上方的Ref选择文件的保存地址,之后点击下方的Start开始录制,录制结束后点击Stop即可在指定文件夹看到录制的bag包,当然也可以通过ros录制:
rostopic list
rostopic echo /points_raw
rostopic record -o 1.bag /points_raw
4.录制完bag包之后,点击Simulation中Ref选择我们录制的bag包之后点击play 会在下面显示详细地信息,之后点右下角的RViz界面,在弹窗里点击左下角的Add,之后选择By Topic中的/points_raw,并将fixed frame改为velodyne,之后就可以看到相应的点云数据。
5.之后在Simulation中点击Stop后重新点击play最后点击Pause使点云包处于以下状态便于时间同步。
6.之后点击Computing中Localization下的lidar_localizer中ndt_mapping进行点云地图的录制,首先点击app进行参数设置,在Method Type中可以默认选择第一个,当然如果有gpu,则选择第三个,在下面的Ref指定保存pcd文件的地址,之后关闭勾选ndt_mapping。
7.之后在Simulation中取消点击Pause使点云包处于播放状态便开始点云地图的制作:
注意: (processed/Input)的前后两个数字不要差超过1000否则后续加载地图会报错,如果两个数字差的太多就pause一下等等再接着加载。
8.保存完成后接下来开始录制循迹点,首先需要将刚才保存好的地图加载进来,在Point Cloud中右边的Ref中选择相应的PCD文件,同理TF选择/autoware/src/autoware/documentation/
autoware_quickstart_examples/tf_local.launch,点击右下角的RViz就可以看到相应的地图文件:
9.之后点击Setup中Localizer并选择 Velodyne,TF 按钮点击 Baselink to Localizer(默认值一般是 1.3, 0, 1.7, -1.5, 0, 0),然后点击 Vehicle Model,Autoware 会加载默认车辆模型
10.接着在Sensing页面进行传感器的设置,选择Velodyne HDL-32E,并需要选择Points Downsampler下的体素下采样voxel_grid_filter以及Points Preprocessor下的地面滤除ring_ground_filter,具体的参数可以默认就行(参数都在对应选项右边的app弹窗里面设置,设置完记得点ok保存)。
11.之后点击Computing中Localization下的lidar_localizer中ndt_matching进行点云定位,具体的参数设置如下图,注意选择Initipal Pos,点击ok保存,打开rviz中可以看到已经定位成功。
12.之后点击autoware_connector
下的vel_pose_connect进行车速位置连接,参数设置如下所示
13.接着点击 Mission Planning下的“lane_rule”和“lane_select”,参数采用默认设置:
14.之后 点击 Motion Planning 下的waypoint_loader的waypoint_marker中的waypoint_loader,在multi_lane中找到步骤3中保存的路径的csv文件saved_waypoints.csv,之后重新点击右下角Rviz就看到相应的路径点,如果没有重新加载就行。
15. 之后点击 Motion Planning 下的waypoint_planer的astar_avoid相应的astar_avoid和velocity_set相应的参数采用默认值。
16.最后点击 Motion Planning 下的waypoint_follower的pure_pursuit(如果对于弯道循迹,转弯半径过大将lookahead_ratio以及minimun_lookahead_distanced的参数调小一点即可)以及相应的twist_filter进行速度过滤,相应的参数采用默认值。
17.最后核对一下相应的选择是否正确,一切顺利的话会看到小车跑起来: