操作手册
导入各种Launch文件(重要)
TF转换及车子模型选择(不重要)
点云图及矢量图选择(重要)
参数配置 (非常重要)
[Localication]
确定车辆在地图上的准确位置和姿态
[gnss_lozalizer]- 将GPS消息转换到(x,y,z,侧倾,俯仰,偏航)位置。
[fix2tfpose] 将GPS位置信息(通常使用Fix消息)转换为本地坐标系中的姿态信息(通常使用tfpose消息)
[nmea2tfpose] 接受nmead话题的消息,转换后发送给tf库PoseStamped消息,实现 map 坐标系 到 gps 坐标系的转换
[lidar_localizer]- 使用来自LiDAR的扫描数据和预先安装的3D地图信息,计算车辆在全球坐标中的自我定位(x,y,z,侧倾,俯仰,偏航)位置。
[ndt_mapping] 基于正态分布变换(NDT)算法建立环境地图,使用激光雷达或其他传感器数据来获取环境中物体的位置和形状信息,并将这些信息融合为一张三维地图
[approximate_nat_mapping]
[ndt_matching] 定位和姿态估计
[ndt_matching_monitor] 监控和可视化NDT Matching算法的状态和结果
[icp_matching] 定位和姿态估计,基于迭代最近点匹配(Iterative Closest Point, ICP)
[fusion_localizer]
[ekf_status_converter] 将扩展卡尔曼滤波器(Extended Kalman Filter, EKF)的状态信息进行转换和解析,转换为 Autoware 中常用的消息格式
[twist_generator]
[vehicle_status_converter] 车辆状态信息进行转换和解析。如车速、方向盘角度、加速度、制动状态等
[autoware_connector]
[can2odom] 将来自控制器区域网络(CAN)总线的数据转换为里程计(Odometry)信息。如车速、方向盘角度、转速等,并将这些数据转换为描述了车辆的运动状态,包括位置、方向、速度等
[vel_pose_connect] 将车辆速度信息(Velocity)和姿态信息(Pose)进行连接和融合
[localizer_diagnosis]
[vel_pose_diff_checker] 检测车辆速度和姿态之间的差异
[Detection]
识别和检测道路上的物体和障碍物
[vision_detector]
[vision_ssd_detector] 从图像或视频中检测和识别目标物体
[vision_darknet_yolo3] 使用 Darknet 和 YOLOv3 目标检测算法,从图像或视频中检测和识别目标物体
[vision_darknet_yolo2] 使用 Darknet 和 YOLOv2 目标检测算法,从图像或视频中检测和识别目标物体
[vision_tracker]
[vision_beyond_track]
[lidar_detector]
[lidar_edclidean_cluster_detect] 实现目标的跟踪,,使用目标跟踪算法来实现目标的连续定位和姿态估计。
[lidar_cnn_baidu_detect] 基于激光雷达数据进行目标检测
[lidarpoint_pillars]
[lidar_naive_l_shape_detect]
[lidar_shape_estimation]
[lidar_fake_preception]
[fusion_tools]
[pixel_cloud_fusion] 将图像信息和点云信息进行融合
[range_vision_fusion]
[trafficlight_recongnizer]
[feat_proj] 将特征点(feature point)从图像坐标系投影到三维空间中,将图像中的目标位置与点云数据对应起来,需要将图像中的特征点在三维空间中进行投影和匹配
[region_tlr]
[region_tlr_mxnet]
[region_trl_ssd]
[Semantics]
[laserscan2costmap] 使用激光扫描生成代价地图
[potential_field] 用于自动驾驶中障碍物避障和路径生成
[grid_map_filter] 用于栅格地图处理和滤波,栅格地图用于表示环境中的信息,例如障碍物、高度、颜色等
[wayarea2grid] 将车道区域(wayarea)转换为栅格地图(grid map),车道区域是指定义了车辆可以驶过的区域,
[road_occupancy_processor] 检测和估计道路上的车辆和障碍物的占用情况。
[costmap_generator] 生成代价地图,以支持路径规划和避障决策
[Mission Planning]
确定车辆的行驶路径和任务计划
[lane_planner]
[lane_navi] 提供自动驾驶车辆在车道上的导航和控制,基于感知数据和路径规划结果,帮助车辆在车道内准确行驶,并根据导航需求进行路径跟踪和控制
[lane_rule] 指导自动驾驶车辆在车道上的行驶行为
[lane_stop] 识别并处理车道上的停止标志和停止线,以实现自动驾驶车辆的停车行为
[lane_select] 选择适合当前自动驾驶车辆行驶的车道或路径
[freespace_planner]
生成自动驾驶车辆的自由空间地图和规划路径,以实现车辆在自由空间中的安全行驶。
[astar_navi] 一种常用的图搜索算法,用于在图或网络中找到最短路径
[openPlanner-Global Planning]
OpenPlanner是基于vector map的,因此首先要加载vector map,并导入相应的tf关系。
[op_global_planner] 用于生成自动驾驶车辆的全局路径规划,能够考虑地图信息、目标输入和路径规划算法,以生成适合当前场景的路径
[Motion Planning]
确定车辆的具体行驶轨迹
[waypoint_maker]
[waypoint_loader] 加载和管理预定义的路径点集合,以供路径跟踪和控制模块使用
[waypoint_saver] 保存当前路径点集合到文件或其他存储介质,以便后续使用或分享
[waypoint_clicker] 通过点击地图或界面来添加路径点,以创建自定义的车辆行驶路径
[waypoint_creator] 创建和定义车辆的行驶路径,生成预定义的路径点集合,具有自动路径生成的功能
[waypoint_velocity_visualizer] 可视化车辆行驶路径上每个路径点的速度信息
[waypoint_planner]
[astar_avoid] 用于在车辆行驶过程中根据障碍物信息动态生成避障路径
[velocity_set] 设置车辆的期望速度或速度限制,以实现路径跟踪和控制
[waypoint_follower]
[pure_pursuit] 计算车辆如何追踪给定路径并生成相应的转向控制指令
[mpc_follower] 使用模型预测控制MPC方法来实现车辆的轨迹跟踪和控制
[twist_filter] 对车辆的速度信息进行滤波和平滑处理, 提高自动驾驶系统的性能和稳定性。
[wf_simulator] 允许用户在计算机上创建虚拟的道路场景,并模拟车辆在其中的行驶,以验证和调试自动驾驶算法和系统。
[lattice_planner]
[lattice_velocity_set] 根据车辆的动力学和约束条件,在离散化的格点上生成合理的速度设置
[path_select] 在给定的候选路径集合中选择最优的路径用于路径跟踪和控制
[lattice_trajectory_gen] 生成车辆在离散化的格点上的合理轨迹,以满足约束条件和路径跟踪的要求
[lattice_twist_convert] 将路径规划生成的离散化格点轨迹转换为平滑的速度和角速度指令,以供控制模块执行相应的车辆操作
[Decision]
根据感知数据、规划结果和环境信息做出车辆行驶的决策
基于感知和规划结果做出决策,确定车辆在特定情况下应采取的行动和动作
[state_machine(old)] 用于管理自动驾驶系统中不同状态之间的转换和控制流程
[decision_maker(experimental)] 用于生成自动驾驶系统的决策和行为指令,以实现车辆在特定情况下的动作和操作
播放bag文件
B站学习视频:
https://www.bilibili.com/video/BV1Bh41147im/?p=1&vd_source=ea570df72423745d7387cbcd1e870d41
Point Cloud:点云是由离散的点坐标组成的数据集,每个点表示空间中的一个位置,并可能包含其他属性,如反射强度或颜色信息。点云数据通常由激光雷达或深度相机等传感器生成。
Vector Map:矢量地图是由线段、多边形、点等几何要素组成的地图数据。每个要素都具有几何形状和属性信息,如道路中心线、车道边界、交通标志等。矢量地图通常是由地理信息系统(GIS)或地图提供商生成的。
Point Cloud主要用于环境感知和障碍物检测,而Vector Map主要用于地图加载、车道线检测、路径规划等任务。两者可以结合使用,以提供更全面和准确的环境信息,并支持自动驾驶系统的各项功能。