- 1.打开相机、毫米波雷达(包括kvaser)和YOLO
roslaunch camera_radar pre_fusion.launch
- 2.启动融合程序
roslaunch camera_radar fusion.launch
- 1.启动相机和毫米波雷达
roslaunch calibration calibration_pre.launch
- 2.打开ROS动态调参界面
roslaunch calibration camera_radar_calibration.launch
- 3.保存参数
rosparam dump ~/fusion/src/calibration/result/params.yaml
- 录包
rosbag record -a -x "(.*)/compressed(.*)"
roslaunch galaxy_camera MER-231.launch
roslaunch kvaser_interface kvaser_can_bridge.launch
roslaunch lidar test.launch
- autoware
- 小车模型prius_description
- slam
roslaunch lidar_localizer ndt_mapping.launch
- 在栅格地图实现A*算法
roslaunch plan plan_test.launch
- 根据xml文件绘制节点拓扑图发布成ROS的markerarray格式
roslaunch plan drawmap.launch
- 读取pcd将其转化为nav_msgs::Occupancy栅格地图,再使用map_server保存
roscore
rosrun pcd2pgm pcd2topic
rosrun map_server map_saver -f bitmap
- 根据pcd点云图或栅格地图,手工绘制节点拓扑图
- 启动标定程序,通过rviz 2D Pose Estimate 选定关键点,并自动给出序号
roslaunch graph_tool graph_tool.launch
- 使用说明:
- 默认开启捕捉模式,捕捉半径在launch文件设置,searchradius
- 添加两点连线,勾选add_path
在rviz使用initialpos,先选定第一个点,在选定第二个点,自动实现连线
- 删除一个点,勾选delete_point
在rviz使用initialpos,选定要删去的点
- 删除一条线,勾选delete_path
与添加连线方法相同
- 注:
- 连线与删除过程,对两点的顺序不敏感
- rviz可能会出现未识别到用户鼠标点击的情况,建议查看终端输出信息,再酌情处理
- 不按照使用说明使用本工具,可能造成无法预知的问题
- 启动rviz可视化高精地图以及全局路径规划
roslaunch osmmap osmmap.launch
- 打开USB串口权限,如果需要,目前GPS不能从USB读取数据,原因不明
sudo chmod 777 /dev/ttyUSB0
rosrun serial serialPort
- 全部GPS/IMU信息,发布fsd_common_msgs::comb, topic = "/comb"
- 里程计信息,发布fsd_common_msgs::Gnss, topic = "/gnss_odom"
- IMU,发布sensor_msgs::Imu, topic = "/gnss_imu"
- ROS标准GPS格式,发布sensor_msgs::NavSatFix, topic = "/gps/fix"
rosrun odometry_publishergnss_odom_pub
- 各种msg,在CmakeList.txt和package.xml设置依赖可以实现跨包调用
- CmakeList.txt
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
geometry_msgs
nav_msgs
fsd_common_msgs
)
add_dependencies(serialPort ${PROJECT_NAME} fsd_common_msgs_gencpp)
- package.xml
<build_depend>fsd_common_msgs</build_depend>
<exec_depend>fsd_common_msgs</exec_depend>
!!!!!bug多!!!!!
- 匈牙利算法
- 多线程控制ROS多回调函数
- 等
- 实现基础融合功能和标定
- 新增显示雷达点属性功能
- 新增初步匹配功能,仅能运行
- 新增匈牙利算法匹配雷达点与yolo检测框
- test包基本实现视觉检测帧间匹配
- 完善iou匹配,引入锚框做法
- 封装kvaser_interface
- 新增单目测距
- 改进融合包config.yaml,实现topic动态配置
- anchor_generate新增越界保护功能
- 函数接口优化
- 匹配策略混合使用
- 测试版,无意义
- 自定义C++,使用缓存队列存放消息,多线程融合,完成ROS多话题融合
- 新增lidar欧式聚类
- 新增plan模块,实现A*全局规划,globalplan节点实现简单仿真效果
- 新增lidar_localizer模块,简化cpu版autoware激光slam
- 新增autoware小车模型prius_description
- 新增pac2pgm模块,读取pcd点云发布nav_msgs::OccupancyGrid格式,还需map_saver保存pgm和yaml文件
- 新增graph_tool模块,交互性标注slam地图得到节点拓扑图并保存成xml格式
- 更新graph_tool模块,实现双模功能。建立全新xml地图isnew=true,使用已有xml地图再编辑isnew=false
- 更新graph_tool模块,新增删除点、删除线的方法。
- 新增srv_tools模块
- graph_tool模块加入原始点云地图
- 优化graph_tool使用体验,实现建图过程只使用鼠标
- 优化graph_tool对点的编号问题,当删去的是最后一点时回收该id,暂时未能解决id跳跃的问题
- 优化graph_tool保存问题,每次存储新的文件,存储格式为文件名-当前时间.xml
- 新增lanelet/osmmap模块,解析lanelet2标准osm地图得到ros下的可视化效果
- 目前完成道路边界显示,道路中心线计算与显示
- 优化lanelet/osmmap模块
- 完成基础A*算法迁移,现阶段基于生成的道路中心线做全局规划,道路信号标志暂未实现与道路中心线关联
- 支持通过rviz,通过initialpose选取道路起始点,通过move_base_simple/goal选取道路终点
- 全局路径规划目前只精确到路段,后续优化到具体某一道路中心点
- 预留GPS接口,后续可以与定位模块联动,接口暂未确定
- 优化lanelet/osmmap模块
- 全局路径规划可以精确到具体某道路中心线的一点
- 交通信号标志已经完成与道路中心线的关联,实现关联的程序分布在map_relation.cpp和centerway.cpp
- 道路中心线的id = 相应的道路边界的id = xml原始relation的id
- 实现某点到该道路两侧的距离估计
- 使用三次样条插值实现路径平滑,缺少车辆动力学约束
- 发布导航信息,当前只发布起点所在路段的道路信息,具体信息内容参见navigation.msg
- 当前重规划存在浪费算力问题,后期考虑优化成基于增量模式,只重规划少部分路径
- 新增serial、odometry_publisher和fsd_common_msgs
- 用于实时从串口读取GPS数据
- 优化lanelet/osmmap模块
- 部分解决重规划问题,如果原始的规划数据满足要求则不再重复A*,但不能更新cost权重
- 修正原node模块墨卡托投影问题,现使用GeographicLib库,已集成到osmmap模块,坐标转换接口在mapio内
- 优化原始点经度、维度、高度数据输入方式,现在launch文件中设置
- 本模块初步具有实时全局规划并提供导航信息的能力,但还存在一些细节问题,比如:当车走到最后一段路时,全局路径失效
- 新增地图若干,有多车道、双向等场景
- 在lanelet定位具体点坐标的方式存在缺陷,在环形道路会出现问题
- 优化lanelet/osmmap模块
- 优化全局路径搜索,如果当前点与目标点在同一路段,可以获得该路段的具体中心点的导航
- 支持同向多车道,发布的导航信息会包括当前路段的可行相邻路段
- 初步增加换道功能,目前只能在某些固定点换道
- 新增停车区接口,但还没连接到地图上
- lanelet定位具体点的方式不变,只需绘制地图时弯道转角不超过180度,则当前程序可行
- 优化部分接口
- 优化lanelet/osmmap模块
- 新增初步换道策略,偶尔出现问题,原因暂时不明确
- 全面优化各函数接口,加入const限定
- map_io和map_core分离,在map_core中调用map_io,预置地图基础四类元素的常量指针
- 优化地图输出信息,目前包括导航信息、车辆状态信息,还需完善车道信息
- 下一版本预计解决停车位问题、地图数据传输问题
- 新增jps2d和jps3d两种搜索方式
- 更改path_optimer_2为path_boost,改输入地图格式为pcl点云
- 下一版本大改osmmap,预计支持多模态路径规划
- 新增open_space泊车功能,使用apollo混合A*
- osmmap导航方式优化,当超过地图范围和无法搜索出可行道路时,取和车头朝向相同的最近lanelet作为定位结果,尝试再次A*
- 高精地图新增人行横道
- 优化类内变量和函数命名
- 新增点云配准定位
(功能包较乱)
- osmmap导航功能支持GPS、PCD配准、lgsvl仿真三种
- 路径平滑方式使用apollo的二次规划piecewise_jerk_path_problem
<<<<<<< HEAD
- 最后一版ubuntu18.04 =======
- 更新ubuntu20.04版本
20230106