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) ...

Falco论文阅读

《Falco: Fast likelihood‐based collision avoidance with extension to human‐guided navigation》 介绍 采用分层方法把规划问题分为两个子问题,第一个问题解决的是全局规划问题,可能会辅以启发式方法,以确保路径不会陷入局部最小值。第二个问题是解决并行运行的局部规划问题,以跟踪全局路径并避开障碍物。在本文中,我们提出了一种可大大降低计算复杂度的方法,从而利用航空飞行器上的轻量级计算来确保安全飞行。 ...

DBSCAN聚类

Density-based spatial clustering of applications with noise https://static.hlt.bme.hu/semantics/external/pages/deep_learning/en.wikipedia.org/wiki/DBSCAN.html 理论 考虑某个空间中的一组要聚类的点。设 \(\varepsilon\) 是一个参数,指定邻域相对于某个点的半径。出于DBSCAN聚类的目的,这些点被分类为核心点、(密度)可达点和异常值,如下所示: ...

TARE论文阅读

《TARE: A Hierarchical Framework for Efficiently Exploring Complex 3D Environments via Smoothing and Mapping》 论文网站:https://www.cmu-exploration.com/tare-planner 相关工作 Frontier-based Exploration(基于前沿探索):已经建图区域和没有建图区域的边界。探索的时候,机器人朝着前沿走,不断扩展已经建图区域知道整个环境已经被探索。虽然这些方法中的大多数都贪婪地选择边界进行探索,但Faigl和Kulich的方法通过解决画廊问题的变体来确定覆盖边界的最小视点集。类似地,我们的方法也找到最小视点集,但通过递归和随机采样视点来实现。 ...

Ubuntu下的GitLab服务器搭建和配置

GitLab安装 curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null sudo echo "deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/gitlab-ce.list sudo apt-get update sudo apt-get install gitlab-ee 修改/etc/gitlab/gitlab.rb文件,尤其是external_url,可以改为局域网的域名,例如code.io ...

常用的脚本整理

检查各个ros包仓库git状态 #!/usr/bin/python3 import os import subprocess import sys from prettytable import PrettyTable # 获取命令行参数 dir = sys.argv[1] # 切换到指定目录 os.chdir(dir) # 获取当前目录下的所有子目录 subdirs = [d for d in os.listdir('.') if os.path.isdir(d)] # 创建表格 table1 = PrettyTable(['子目录', '工作区', '本地分支']) table2 = PrettyTable(['子目录', '工作区', '本地分支']) # 遍历所有子目录 for subdir in subdirs: # 检查子目录是否是Git仓库 if os.path.exists(os.path.join(subdir, '.git')): # 切换到子目录 os.chdir(subdir) # 检查工作区是否clean if subprocess.call(['git', 'diff', '--quiet']) == 0: workspace = 'clean' else: workspace = 'dirty' # 检查本地分支是否和远程分支保持同步 if subprocess.call(['git', 'diff', '@{upstream}', '--quiet']) == 0: branch = '同步' else: branch = '不同步' # 添加行到表格 if workspace == 'clean' and branch == '同步': table1.add_row([subdir, workspace, branch]) else: table2.add_row([subdir, workspace, branch]) # 切换回上级目录 os.chdir('..') # 打印表格 print('符合条件的结果:') print(table1) # 打印表格 print('不符合条件的结果:') print(table2) 下载Google Drive文件脚本 原脚本地址: https://github.com/HongbiaoZ/autonomous_exploration_development_environment/blob/melodic/src/vehicle_simulator/mesh/download_environments.sh ...

Git命令使用记录

子仓库 移动子仓库 打开命令行终端,并进入包含 Git 仓库的父目录。 使用以下命令进入子模块所在的目录: cd path/to/submodule 将 path/to/submodule 替换为您子模块的实际路径。 使用以下命令将子模块的路径更改为新的目标路径: ...

Logseq笔记使用记录

快捷键 快捷键 作用解释 CTRL+K 搜索页面或创建新的页面 CTRL+Enter 转为待办任务 功能使用 别名 alias:: name1, name2 标题 title:: this is my title 属性 property:: value 内置属性: 值 作用 icon 页面的图标 title 标题,带空格标题要加 tags 标签 template 把一个页或者块设置为标题 template-including-parent 指定在使用模板时是否应包括所选块的父级内容 alias 别名 filters 设置链接的引用展示内容(下面) public 是否可以导出 exclude-from-graph-view 不在图谱上显示出来 隐藏的内置属性: ...

Scan Context论文阅读

介绍 亮点: 高效的数据编码方式。这种编码对点云的密度和法线具有不变性。 保存点云的内部结构。 有效的两相匹配算法。 与其他最先进的空间描述符进行了彻底的验证。 图1 ...

PID控制算法

流程 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 输入输入比例调节比例调节积分调节积分调节微分调节微分调节执行机构执行机构测量元件测量元件++--输出输出Viewer does not support full SVG 1.1 代码 限制速度加速度的PID控制 ...

Pure Pursuit路径跟踪算法实现

介绍 纯跟踪算法是一种路径跟踪算法,它通过计算曲率来将车辆从其当前位置移动到某个目标位置。该算法的整个重点是选择一个距离车辆在路径上前方一定距离的目标位置。纯跟踪算法这个名称来源于我们用来描述该方法的类比。我们倾向于认为车辆正在追逐其前方某个距离的路径上的点——它正在追求那个移动点。这种类比通常用来将此方法与人类驾驶方式进行比较。我们倾向于看着汽车前面一段距离并朝着那个位置行驶。这种预瞄性距离会随着我们行驶而改变,以反映道路的扭曲和视觉遮挡。 ...

自动驾驶中的路径规划

自动驾驶中的路径规划分为 pipeline planning 和 end-to-end planning pipeline planning:基于规则的规划方式,需要和其他自动驾驶任务一起完成,比如感知、定位和控制。好处是可以理解的,当某个流程出问题后能够很快确认。 ...