hi there 👋

:D

JetCompose状态管理

内容由AI生成,后续使用过程中逐渐完善 在 Jetpack Compose 中,状态管理是其响应式编程的核心机制。以下是 Jetpack Compose 中常用的状态管理方法,结合使用场景和示例代码详细说明: ...

ROS的docker镜像重新打包操作记录

拉取镜像 docker pull ros:melodic-ros-base 运行镜像 docker run -it ros:melodic-ros-base 命令进入容器 docker exec -it <镜像名称或ID> /bin/bash 进入容器后可以安装需要的软件包,注意清除不需要的缓存 复制文件 从容器复制文件到主机 docker cp <容器ID>:/root/xxxx yyyy 从主机复制文件到容器 docker cp yyyy <容器ID>:/root/xxxx 查看docker镜像信息 docker inspect ros:melodic-ros-base 将容器重新打包成镜像 docker commit <容器ID> <新镜像名称> 启动 docker run --restart unless-stopped -it -d \ -v /data:/data \ -p 2345:2345 \ --name guizhou-ros-container \ guizhou-ros:latest 更推荐使用Docker Compose ...

Ubuntu18.04使用最新的vscode

起因 最新的vscode里面copilot插件更新了很多版本,而使用apt安装的vscode在ubuntu 18.04上最后的版本是1.85,从官网下载的deb包安装后报glibc错误 ...

Ubuntu18.04驱动Ryzen5800H核显

起因 笔记本是联想的小新,CPU为Ryzen 5800H,因为工作需要,需要在Ubuntu18.04上安装AMD的驱动,不然ROS运行带GPU的功能会有问题,Gazebo仿真也会卡死崩溃。 ...

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下对应的动态库拷贝到应用程序当前目录可以解决,但是仍然报启动失败 ...