fast-lio2调试笔记
1. 为点云保存到地图中增加触发条件 1.1 添加控制参数 // 在现有全局变量区域添加 bool start_save_pcd = false; // 控制是否开始保存点云 1.2 修改publish_frame_world函数 将现有的publish_frame_world函数替换为以下版本: void publish_frame_world(const ros::Publisher & pubLaserCloudFull) { if(scan_pub_en) { PointCloudXYZI::Ptr laserCloudFullRes(dense_pub_en ? feats_undistort : feats_down_body); int size = laserCloudFullRes->points.size(); PointCloudXYZI::Ptr laserCloudWorld( \ new Poi...
网站自动申请续签SSL证书
1. 安装 acme.sh 使用root账户登录阿里云,然后安装此项目(由于阿里云国内服务器无法访问github,所以要使用gitee拉取项目,可以参考官方文档) git clone https://gitee.com/neilpang/acme.sh.git cd acme.sh ./acme.sh --install -m my@example.com my@example.com替换成自己邮箱 重新加载环境变量和切换CA证书类型 # 重新加载环境变量 source ~/.bashrc # CA证书类型默认使用ZeroSSL,切换成Let's Encrypt acme.sh --set-default-ca --server letsencrypt 2. 配置阿里云DNS API 一次选择阿里云控制台 - 访问控制 RAM - 身份管理 - 用户 - 创建用户 填写登录名称,勾选使用永久AccessKey访问 分别复制AccessKey ID和AccessKey Secret的值,并保存好 然后点击添加权限。搜索DNS,选择AliyunDNSFullAccess 3. 申...
Livox-mid360激光雷达运行fast-lio2
所用的环境: Linux版本:Ubuntu 20.04 ROS版:Noetic 1. mid-360配置 将mid-360通过网口与电脑相连,然后给mid360上电 设置有线连接的IPv4地址: 地址设为192.168.1.50 子网掩码设为255.255.255.0 网关设为192.168.1.1 2. 安装Livox SDK2 2.1 源码安装 git clone https://github.com/Livox-SDK/Livox-SDK2.git cd Livox-SDK2/ mkdir build && cd build cmake .. make -j sudo make install 2.2 运行Livox-SDK2示例 进入Livox-SDK2/samples/livox_lidar_quick_start这个文件夹,找到mid360_config.json,把 host_ip 改成 192.168.1.50 进入Livox-SDK2/build/samples/livox_lidar_quick_start这个文件夹运行如下代码 ./...
第十一章TRPO算法
TRPO算法的重点体现在策略函数的更新方式上 策略目标部分理论推导请参考强化学习教程相关章节 策略函数差异的约束主要体现在线性搜索部分 共轭梯度法的讲解见求解对称正定线性方程组的共轭梯度法
第十章Actor-Critic算法
虽然采用时序差分法来指导网络学习,但是此算法仍是在一个episode结束后才进行网络更新
第九章策略梯度算法
理论讲解部分过于简单,可参考强化学习教程相关章节
terrain_analysis参数解读
1. terrain_analysis scanVoxelSize 点云下采样的分辨率。室外环境可以调大一些,如0.1 decayTime 点云衰减时间阈值,即点云数据在多长时间后会被视为过时并从地图中移除。动态场景减少数值 noDecayDis 豁免点云衰减的距离阈值参数,保护车辆周围一定范围内的点云数据,即使这些数据的时间戳超过了阈值也不会被移除。动态场景减少数值 clearingDis 手动触发点云清除的距离阈值,允许用户或外部指令清除车辆周围指定范围内的所有点云数据 useSorting 决定是否使用排序分位数法来估计每个平面体素的地面高度。启用后抗噪声能力强,但计算量略大。结构化平坦道路可开启 quantileZ 地形高程估计的保守程度,决定了从排序后的点云高度数据中选择哪个分位数的值作为地面高度的估计。需要useSorting设为True才会发挥作用。 considerDrop 它决定是否将点云相对于地面的高度差的 绝对值用于障碍物判断,设为True同时考虑高于地面的障碍物和低于地面的凹陷,否则只关注高于地面的障碍物。地面存在凹陷时开启 limitG...
local_planner参数解读
1. localPlanner中的参数 pathFolder 存放离线待选路径的位置 vehicleLength,/vehicleWidth 车辆尺寸,用于近距离旋转碰撞检测 sensorOffsetX / sensorOffsetY 传感器转换到车辆参考点 twoWayDrive 能否倒车行驶 laserVoxelSize / terrainVoxelSize 激光雷达点云/地形点云的降采样体素网格大小。较大值会更强下采样,减少点云量,提高速度但丢细节;较小值保留更多点但计算量增大。 useTerrainAnalysis 是否启用地形分析,决定了是使用原始激光雷达点云还是预处理后的地形点云进行障碍物检测和路径决策 checkObstacle 是否启用障碍物检测 checkRotObstacle 是否检测车辆旋转时车身与障碍物的碰撞风险 adjacentRange 路径规划时考虑障碍物的最大范围和路径搜索范围 obstacleHeightThre 障碍物高度阈值,当点云的intensity即地形高度超过该阈值时,视为障碍物 groundHeightThre 地面高度阈值...
TARE代码解读
本代码主只是用来做自主探索时的上层路径规划和重定位 exploration_path keypose_graph navigation_boundary_publisher rolling_grid tare_planner_node utils graph lidar_model planning_env rolling_occupancy_grid tare_visualizer viewpoint grid_world local_coverage_planner pointcloud_manager sensor_coverage_planner tsp_solver viewpoint_manager 1. exploration_path 实现探索路径的类 2. keypose_graph 3. navigation_boundary_publisher 在Matterport3D 仿真环境时,从src/tare_planner/data/boundary.ply文件读取探索边界信息并发送出去 输入为空 输出为/navigation_boundary 4. rol...