PIXKIT自动驾驶底盘使用Autoware开源自动驾驶软件。
Autoware 是世界上第一款用于自动驾驶汽车的“一体化”开源软件。Autoware的功能主 要适用于城市,但高速公路和非市政道路同样可以使用。同时在依赖ROS 建立的Autoware自动驾驶开源软件可以提供丰富的开发和使用资源。
更丰富的资料请参见官方GitHub:https://github.com/Autoware-AI/autoware.ai
PixKit开发文档详见:https://pixmoving-moveit.github.io/pixkit-documentation-cn/
一、准备工作
1.1确保设备正常连接网络
1.2GNSS和IMU标定
进入192.1.168.110,检查GNSS是否连接,下图右上角出现绿色connected
首页点击start开始融合(需在户外空旷场景,绕八字),出现下图,则代表标定成功。仅需标定一次。
1.3CAN连接检查
终端输入candump can0,看是否有输出。如若没有,执行~/Downloads/EMUC_B202/start.sh脚本,多次执行,直至无输出。再次测试candump can0
1.4传感器检查
雷达
ping 192.168.1.125
GNSS
ping 192.168.1.110
二、建图
2.1 启动autoware
注意:需在~/pix/pixkit/Autoware路径下
source install/setup.bash
ros2 launch autoware_launch autoware.launch.xml vehicle_model:=pixkit sensor_model:=pixkit_sensor map_path:=/home/pixkit/pix/autoware_map/xxx
xxx为地图文件夹
点击绿色箭头2D Pose Estimate,在图上给定初始点后,可看到点云数据。如果无法给定初始点或不出现点云,同时Localization状态为黄色,则代表出现问题,尝试重启autoware。如果无效,保持autoware打开,终端执行home路径下activte_ouster.sh脚本
./activte_ouster.sh
2.2启动rosbag录制
首先在/home/pix/ros2_bag/路径下创建rosbag.txt文件,txt文件内容如下,为话题路径。
在该路径下打开终端,执行下述命令,开始录制,录制结果保存于该路径下。
ros2 bag record $(cat rosbag.txt)
录制时,开动车辆,车动起来之后开始录制,车辆行驶尽量平缓,路线回环,刚开始时保持直行,转弯时转弯路径不要过小,保持平缓,停止时超出起始点一段距离。
录制结束后,直接C掉结束录制,可在/home/pix/ros2_bag/路径下查看录制结果,进入录制文件夹,执行下述命令,检查数据。
ros2 bag info xxx.db3
2.3导出pcd地图
首先一定要关闭autoware
进入~/pix/mapping_ws/路径,执行下述命令,启动lio_slam建图
source install/setup.bash
ros2 launch lio_sam run.launch.py
在录制数据文件夹下,执行下述命令,即可在lio_slam建图程序中播放rosbag
ros2 bag play xxx.db3 --clock
保存地图。在播放rosbag终端上,新建一窗口,执行下述命令(首先要source),保存pcd地图。地图保存在Downloads/LOAM下,GlobalMap.pcd
source install/setup.bash
ros2 service call /lio_sam/save_map lio_sam/srv/SaveMap
可执行下述命令,查看pcb图
pcl_viewer GlobalMap.pcb
三、画图
打开网址:https://tools.tier4.jp/vector_map_builder_ll2/
完成注册登录
点击左上角file下Import PCD导入PCD图
点击Create下的Create Lanelet2Maps创建maps
打开Lane,开始画行驶车道,按Esc可结束绘画。可分多段绘制,转弯时,多选择一些节点,确保弯道平滑,同时转弯半径不易过小。
点击右上角Charge Lanelet Width更改车道宽度,默认值为2。车道代表车辆可行驶的区域
按shift键选中两段车道, 点击Join Lanelets,可连接两段断开的车道。
绘制完成后,点击 File下Export Lanelet2Maps,导出Lanelet2地图。
更详细画图步骤请参考:
Lanelet2地图 - Pixkit Documentation (pixmoving-moveit.github.io)
四、开始自动驾驶
在Home/pix/autoware_map/路径下,创建文件夹,文件夹下需包含lanelet地图、pcd地图、origin.yaml文件,注意文件命名需与下图相同。
启动autoware,如2.1步骤所示,map_path改为上述地图文件夹路径。如果给定起始点后无点云,执行active_ouster.sh文件,然后再次给定起始点。可能在出现点云后地图消失,此时尝试重启autoware。
起始点只需给定大致位置,可自动校正位置。
给定起始点后, 给出目标点,目标点需在所画的可行驶区域内。
注意在启动自动驾驶前,需在下图位置设置速度限制(输入速度后,点击send velocity limit),否则在启动自动驾驶后,小车速度会过快。
设置好速度后,点击AUTO,遥控器打开自动驾驶模式,开始自动驾驶 。(操作人员需离开车辆附近)
到达目标点后,车辆会自动停下。