hi there 👋

:D

Nginx搭建WebDAV服务器

GitHub产物需要有个服务器来存放,于是使用WebDAV来搭建一个简单的文件服务器。产物用GitHub CI中命令行curl命令上传文件到WebDAV服务器。 ...

FAST-LIO论文阅读

论文:《FAST-LIO: Fast LiDAR-Inertial Odometry with Robust Initialization》 I. 介绍 同时定位与地图构建(SLAM)是移动机器人(如无人机)的基本前提。视觉(惯性)里程计(VO),如立体视觉里程计[1]和单目视觉里程计[2, 3],由于其轻量和低成本,常用于移动机器人。尽管提供了丰富的RGB信息,视觉解决方案缺乏直接的深度测量,并且需要大量计算资源来重建3D环境以进行轨迹规划。此外,它们对光照条件非常敏感。光检测和测距(激光雷达)传感器可以克服所有这些困难,但对于小型移动机器人来说一直过于昂贵(且体积庞大)。 ...

GitHub搭建Android自动构建

每当项目打标签就会自动构建APK并上传到GitHub Release。目前body_path对应的文件不会取符合当前tag标签的那段文字,而且全部内容都会被上传到Release的body中。 ...

GBPlanner2论文阅读

论文:《Autonomous Teamed Exploration of Subterranean Environments using Legged and Aerial Robots》 I. 介绍 机器人系统的集体进步使得它们能够在多种自主探索和绘图任务中得到应用。现在,航空和地面机器人被用于多种搜索和救援[1-4],工业检查[5-12],监视[13],行星探索[14-19]和其他任务场景。尽管取得了进步,但仍有一些环境对机器人的自主探索特别具有挑战性,并挑战了机器人导航和自主性的最新技术。其中,地下环境如地下矿山,地铁基础设施和洞穴网络尤其艰难。受到DARPA地下挑战[20]的目标和愿景的激励,这项工作在自主探索路径规划的一系列发展中达到了高潮,这些发展使得CERBERUS团队的机器人能够探索地下矿山,多层电厂,隧道,下水道,洞穴,熔岩管等。 ...

GBPlanner1论文阅读

论文:《Graph-based Subterranean Exploration Path Planning using Aerial and Legged Robots》 1. 介绍 机器人技术的集体进步使得自主机器人探索和映射任务的潜力扩展到了越来越多的应用中,无论是在民用还是军事领域。目前,空中和地面机器人已经被用于大量的搜索和救援(Balta等人,2017;Delmerico等人,2019;Michael等人,2012;Tomic等人,2012)、工业检查(Balaguer等人,2000;Bircher等人,2015;Bircher, Kamel, Alexis, Burri等人,2016;Caprari等人,2012;Gehring等人,2019;Hutter等人,2018;Kolvenbach等人,2019;Sawada等人,1991)、监视(Grocholsky等人,2006)和商业应用(Rao等人,2016)。尽管在系统和方法上都取得了显著的进步,但仍有许多关键环境对于机器人的接入和弹性自主性特别具有挑战性。这尤其与地下环境有关,其自主探索仍然特别困难,需要新的贡献。这一事实反映在围绕国防高级研究计划局(DARPA)地下挑战组织的社区的协调努力中。地下世界呈现出一系列特性,使得机器人自主性,无论是地面还是空中,都变得困难,包括它们通常非常长且大规模,特别狭窄和封闭,多分支和多层次,自相似,感知降级,和通信匮乏。此外,它们通常具有粗糙和动态的地形,包括泥浆,瓦砾和楼梯。尽管存在这些挑战,但地下机器人自主性的重要性及其在多个应用领域的相关优势呼吁加速相关研究。用于矿山救援、地下城市基础设施(例如,地铁和下水道)的检查,以及在地球和太空的洞穴和熔岩管内的探索和科学任务的机器人都是典型的领域。 ...

UWB定位资料整理

基于时间的UWB定位 测量算法: ToA(Time of Arrival):基站发送信号,目标接收信号,计算时间差,计算距离 TDoA(Time Difference of Arrival): AOA(Angle of Arrival) RSS(Received Signal Strength) 常用的是ToA和TDoA。AoA系统太复杂,RSS效果不理想。 ...

机器人运动规划归总

缩写 MR: 移动机器人(Mobile Robot) MP: 运动规划(Motion Planning) RL: 强化学习(Reinforcement Learning) DL: 深度学习(Deep Learning) WMR: 轮式移动机器人(Wheeled Mobile Robot) UGV: 地面无人车(Unmanned Ground Vehicle) UAV: 无人机(Unmanned Aerial Vehicle) AUV: 自主水下机器人(Autonomous Underwater Vehicle) 架构图 经典MRs运动规划方法 环境表示方法: ...

Voronoi图论文阅读

《Efficient grid-based spatial representations for robot navigation in dynamic environments》 关键概念 DM: 这是距离地图地图(Distance Map)的缩写,它是一种在计算机图形学和计算机视觉中常用的数据结构。距离地图是一个二维数组,其中每个单元格包含到最近的障碍物的距离。距离地图可以用来加速碰撞检测、路径规划和机器人定位等问题的解决。在本文中,我们将距离地图用于表示机器人周围的空间,以便在动态环境中更新机器人的配置空间。 ...

Ubuntu18.04运行GLIBC版本较高的软件

以DEB格式的Lunacy为例,安装后不能运行,报错 ❯ ./Lunacy ./Lunacy: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./Lunacy) ./Lunacy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./Lunacy) ./Lunacy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./Lunacy) 解决办法是安装linuxbrew,然后使用linuxbrew安装需要的库 ...

Hybird A*算法

混合A*算法论文原文:《Practical Search Techniques in Path Planning for Autonomous Driving》 Hybrid-State A*搜索 图2 图2中左边是A*,中间是场D*和Theta*,右边是混合A*。 和传统A*搜索不同的是,混合A*每个栅格关联了一个车辆的连续3D状态,如图2所示。 ...

Qt Windows打包后启动失败问题解决

说明 使用msys2 mingw64 Qt的windeployqt打包Windows应用的时候出现打包后动态库找不到的问题,此时将C:\msys64\mingw64\bin下对应的动态库拷贝到应用程序当前目录可以解决,但是仍然报启动失败 ...

Jetson使用问题总结

安装perf工具 碰到CPU占用100%的问题,需要perf工具来分析,参考文章来编译perf工具(不能通过apt安装,因为源里面没有包含) https://blog.csdn.net/nigaoshang/article/details/127276275 获取Jetpack版本 ...

Realsense的T265识别AprilTag

概念梳理 内参 width:图片像素宽度 height:图片像素高度 ppx:图像主点的水平坐标,从左边边缘偏移的像素数 ppy:图像主点的垂直坐标,从顶部边缘偏移的像素数 fx:图像平面的焦距,像素宽度的倍数 fy:图像平面的焦距,像素高度的倍数 model:图像失真模型 coeffs【5】:失真系数。Brown-Conrady:[k1,k2,p1,p2,k3]。F-Theta 鱼眼的阶次: [K1,K2,K3,K4,0]。其他模型有各自的解释 相机失真模型 Brown-Conrady 环境搭建 [!IMPORTANT] Realsense最新的驱动已经移除了对T265的支持,默认安装最新的Realsense库打开realsense-viewer设备列表找不到T265,需要安装2.50.0的库。dkms包可以默认安装。 ...

markdown测试页面

用来测试主题配置和博客显示内容样式 1. 标题 标题1 标题2 标题3 标题4 标题5 1.1 标题ID ### 我的大标题 {#custom-id} html如下 <h3 id="custom-id">My Great Heading</h3> 2. 段落 I really like using Markdown. 要创建段落,请使用空白行将一行或多行文本进行分隔。 ...

ROS1代码迁移到ROS2

创建包 # ament_cmake,默认 ros2 pkg create --build-type ament_cmake <package_name> # cmake ros2 pkg create --build-type cmake <package_name> 迁移包 <depend>foo</depend> <!-- <depend>等于以下 --> <build_depend>foo</build_depend> <build_export_depend>foo</build_export_depend> <exec_depend>foo</exec_depend> <!-- ros2没有以下 --> <run_depend>foo</run_depend> 迁移接口 消息,服务和动作在ROS统称接口(interfaces) ...