自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (4)
  • 收藏
  • 关注

原创 vins fusion 学习(更新中)

白色的小点是图像中的特征点对应到空间中的特征点。可以看到rosbag发布了以下数据。图像中红色的是特征点。

2023-10-31 13:41:07 379

原创 imu预积分学习(更新中)

这样如果我们优化之后,第i帧的位姿变了,那么IMU积分的结果(也就是计算出来的相对位姿)不就不准了吗?直白的解决方法是拿优化后的位姿再积分一遍,不久解决了吗,但是这样运算量太大了,而且解决不了根源问题。以上面那个经典图片为例子,IMU可以通过六轴数据,拿到第i帧和第j帧之间的相对位姿,这样不就可以去用来添加约束了吗。需要注意的是,预积分相比暴力重新计算,只是用来减少计算量的,而不能提高精度。这也就是预积分的预的由来。

2023-10-23 22:00:09 436

原创 C++ 什么时候用`.template` 和 `::template`

简单来说,就是你有一个未知类型T**(这个T本身就是模板)**编译环境: gcc/g++ 13.2 -std=c++17。你需要使用T. 或者 T:: 去调用他们,并且要。假设这个T是一个类,这个类里包含了一些。

2023-10-16 01:18:59 394

原创 自己的类支持基于范围的for循环 (深入探索)

观察伪代码,关于迭代器用到的运算符,用到了所以我们需要对迭代器实现以下的内容然后根据c++标准(编译器)规定,我们还需要对对应的类实现begin和end函数,返回对应的迭代器。

2023-10-15 02:42:23 480

原创 C++ 模板同时使用默认参数和偏特化

正常的偏特化都很简单,但是如果和默认参数碰到一起就会复杂一点点。在这里标出了1,2,3的寻找顺序。

2023-10-14 00:19:57 262

原创 linux: nohup &

linux常用执行命令 nohup cmd &比如。

2023-10-10 11:18:48 97

原创 C++实现enum反射,类似magic_enum,支持enum classes

有一个首先我们想实现这样打印出来的就是对于这个字符串,我们只需要知道;T N =后面跟的内容是啥就实现了我们的目标但是我们不想像这样把参数写在模板了,而是想用一个函数直接传参也就是想实现但是这样有问题,因为n是变量,无法传入模板。T1T2T3这样子可以保证传入模板的是常量并且可以动态判断了到这里我们其实已经可以实现反射了。但是很显然这个代码有那么一个问题:函数这样只能判断有限个数值,如果有更多数值呢,写无限个if吗。

2023-10-09 16:34:23 417

原创 cartographer 学习

由于cartographer整体分成了两个包其中所有的launch文件会被复制一份到install_isolated的share中。也就是,而修改launch文件是不需要重新编译的。

2023-09-06 14:28:53 462

原创 TEB (Timed Elastic Band)

移植了官方的teb源码,实现了普通优化和多路径优化。移植参考ros源码。无需ros框架即可运行,并使用opencv进行显示。并用 google 的 ceres-solver 替换 g2o 进行单路径优化。主要用来解决局部路径规划问题,和DWA属于同一级别使用到了Ceres/g2o等优化库进行优化,使得输出的曲线更加平滑,通过加入机器人运动学约束,从而生成更加符合机器人动力学特性的轨迹。

2023-09-04 23:41:19 219

原创 侯捷课程笔记(一)(传统c++语法,类内容)

由于很多时候我们写类是在头文件中(声明在头文件),这时候,如果成员函数定义在类内,不也就是把函数放在了头文件吗,编译器比较智能,也就。

2023-09-02 20:10:04 651

原创 使用卡尔曼滤波解算六轴数据

教程链接: https://www.bilibili.com/video/BV1nh411w7b4/核心代码在文件里github首页README中的公式可能会乱码,可以下载后用其它LATEX工具查看(推荐typora查看md文件)

2023-05-16 21:44:36 1334

原创 petalinux axidma驱动使用

注意中断需要连接,注意发送和接收连接顺序dma的设计,注意地址位宽为40bits,设备数也需要改成相应的0x28(40)PS侧没啥需要注意的,有一个PCIE可关可不关,都是可以正常启动的,在led部分不关PCIE会无法启动。

2023-02-21 20:42:23 814

原创 zshrc config

zshrc config。

2022-10-12 21:27:24 279

原创 nfs使用

假设B设备想要访问A设备某个文件夹下的内容。

2022-10-10 15:04:00 413

原创 c++难点关键词使用

在类外部使用::只有三种情况静态数据成员、静态成员函数和嵌套类型。

2022-10-08 16:03:22 661

原创 arm开发,使用除法报错undefined reference to `__aeabi_idiv

arm开发,使用除法报错undefined reference to `__aeabi_idiv’makefile里的ld指令里加入。在start.s汇编文件里末尾加入。由于arm里没有除法,就要用库,缺少raise对除0的处理。前面就是你的编译器库路径。这时候应该就能编译通过了。

2022-09-21 11:23:40 578

原创 安装petalinux

参考https://stackoverflow.com/questions/62980416/python-error-when-installing-xilinx-petalinux-on-ubuntu-20-04。可能会有一个python环境怎么都不行,原因是安装程序会通过dpkg检测python安装状态,就算我们安装了,dpkg里status也没有,我们就要手动伪造,文件在。注意,安装版本要和vivado版本和sdk版本都要对应起来,我用的是2019.1。参考手册:UG1144。

2022-08-22 19:46:41 719

原创 shell

shell创立的目的就是把一些常规的命令封号,本质是c语言写的,编译成二进制,一些shell脚本存放在/usr/bin目录中,打开可以看到是二进制文件shell有很多种,有sh,bash,zsh等我们可以把一些命令写到文件当中,下次我们直接执行这个文件方便很多,这种就是shell脚本在windows中是*.bat在linux中一般(约定俗成)是.sh文件结尾shell脚本规则第一行(SheBang):#!/bin/bash第一行使用#!............

2022-08-14 20:13:56 1096

原创 ubuntu 20.04 安装软件踩坑

网站:https://github.com/zq1997/deepin-wine。时发现卡住主要是网络原因,换下手机热点就好了。vscode clion pycharm 等等。官网:https://v2raya.org/按照github教程就可以了。flameshot 截图软件。

2022-08-02 17:13:48 4159

原创 使用python修改注册表 任务栏时间显示秒

注册表使用方法:https://www.bilibili.com/video/BV11Y4y1n7wY代码:感觉这个还是挺好用的,比较遗憾的是win11取消了这个操作,感觉win11很多地方设置很难受,很多很好用的东西都取消了,包括磁铁,时间线啥的,特别是时间线吹爆好吧!...

2022-07-02 00:14:08 263

原创 ORB_SLAM3环境搭建及demo演示

github:https://github.com/UZ-SLAMLab/ORB_SLAM3编译前需要安装相关依赖,相关可以查看README,安装依赖都是可选安装依赖:https://github.com/IntelRealSense/librealsense下载源码后直接执行 文件中也就是一些编译执行指令**注意:**由于编译内容众多,中间很可能会报错,这样建议手动执行build.bash一遍,然后默认的make核心比较少,可以自行改多一点网址:https://projects.asl.ethz.ch

2022-06-21 00:38:15 1430 3

原创 git使用

2 管理项目初始化:会在文件夹生成 文件夹下图为git存储流程常用命令:使用:3 分支常用命令:使用:4 gitee/github绑定本地获取SSH公钥:gitee / github 端填写相应公钥进行测试:成功:首先云端有一个仓库,知道了仓库的ssh地址关联远程仓库: git remote add 关联错了或者需要重新关联可以:查看远程仓库:推送到远程仓库: 可以-f 表示强制覆盖使用:2.6 远程仓库其它常用命令git clone .........

2022-06-21 00:33:56 199

原创 安装EIGEN库

官网:https://eigen.tuxfamily.org/index.php?title=Main_Page源码链接:https://gitlab.com/libeigen/eigen/-/releases/3.4.0解压出来:安装使用方法在文件下:我们按照自己习惯来:安装完成下次在cmake就可以使用了

2022-06-19 01:01:31 736

原创 clion 远程开发

起因为vmware中开发代码太卡了,想用windows使用远程开发以vmware创建的虚拟机为例,系统为ubuntu20.04使用查看ip地址可以尝试连接22端口,如果连接不上需要安装openssh-serverclion设置设置好后可以检查连接,应该是可以直接连接成功的在映射部分选择相应的目录可以勾选自动上传/下载,这个远程开发的本质也就是基于文件系统做的正常情况下就可以进行开发了,但是可能会出现代码补全和识别问题,主要是工具链环境变量没有设置好需要手动设置一下...

2022-06-14 02:05:30 445

原创 学习cmake的使用和CMakeLists.txt

基础目录结构编译方法:1.2 让每个源文件目录都包含一个CMakeLists.txt使用添加子目录其中外部CMakeLists.txt文件内容为src目录下CMakeLists.txt文件内容为其中中的bin指定了编译的输出文件夹,也就是build目录下会生成一个bin目录,目标文件就生成在那里使用命令将内容安装到目录中添加一些版权COPYRIGHT README runhello.sh doc/* 等内容语法:INSTALL(关键字决定内容 内容 目的 路径)其中路径如果使用相对

2022-06-01 11:47:49 723

原创 stm32 使用hal+spi驱动st7789中景园屏幕

stm32 使用hal+spi驱动中景园屏幕文章目录stm32 使用hal+spi驱动中景园屏幕1.开发介绍:2.cubemx配置3.注释事项4.源代码5.使用示例1.开发介绍:硬件是中景园1.47英寸 172*320 屏幕stm32h750是用stm32cubemx+hal库开发环境 vscode+eide编译器 ARMCC6屏幕引脚定义:引脚含义VDD接到3V3GND接地SCL时钟线-接SCLKSDA数据线-接MOSICSS

2022-04-14 19:20:13 5438

原创 clion使用Eigen

clion使用Eigen目录clion使用Eigen1.下载Eigen库2.解压-跳过3.将Eigen文件夹添加到工程4.修改CMakeLists.txt5.main.cpp修改6.编译测试就可以了1.下载Eigen库下载连接:http://eigen.tuxfamily.org/index.php?title=Main_Page#Download2.解压-跳过3.将Eigen文件夹添加到工程4.修改CMakeLists.txt加入include_directories(./Eigen)

2022-04-04 00:55:04 1476 1

原创 linux 路径的知识

linux 路径的知识目录内容含义.当前目录..上级目录/根目录~用户目录路径用cd命令举例子示例作用cd ~回到用户目录cd /回到根目录cd /bin去根目录下的bin文件夹cd ./test去当前路径下的test文件夹,注意不要漏 .cd ~/Desktop去当前用户的桌面cd ..回上一级额外千万注意 / 和 ./ 不是一个东西注意cd ~/Desktop和cd ~/

2022-04-02 01:06:27 830

原创 ros 话题订阅

ros 话题订阅(只发送端)环境搭建就跳过了,假设你已经学会了编译运行了1.发布端代码#include "ros/ros.h"#include "std_msgs/String.h"#include "sstream"int main(int argc, char *argv[]){ /* code */ //set code use chinese setlocale(LC_ALL,""); //ros init ros::init(argc,arg

2022-03-31 12:04:26 638

原创 vscode配合ROS

vscode配合ROS对比非图形化界面可参考链接https://blog.csdn.net/my_id_kt/article/details/123769451文章目录vscode配合ROS1.基础配置2.创建tasks.json3.修改其它配置4.编写文件5.编译6.运行1.基础配置假设已经安装ros插件假设已经使用好了工作区在当前目录终端输入命令:code .使用vscode打开当前目录2.创建tasks.json输入ctrl+shift+b创建一个默认任务将以下内容替换进

2022-03-29 22:57:55 740

原创 linux安装terminator

linux安装terminator1.安装sudo apt install terminator2.使用安装后按ctrl+alt+T发现启用的终端变了右键可以看到不同选项,可以分屏了当有多个终端时,按ALT+方向键可以快速切换终端。

2022-03-29 19:52:13 542

原创 arm-none-eabi 编译器打印不了浮点数

arm-none-eabi 编译器打印不了浮点数平台:gd32f407现象:使用armcc6可以打印,使用arm-none-eabi打印不了浮点数解决方法:链接器选项里里加入:-lc -lrdimon -u _printf_float

2022-03-28 00:35:20 512

原创 arm-none-eabi 报错 undefined reference to `operator new(unsigned int)‘

arm-none-eabi 报错 undefined reference to `operator new(unsigned int)’编写stm32时报错:arm-none-eabi 报错 undefined reference to `operator new(unsigned int)'解决方法:链接器加入:-lstdc++再次编译就可以了

2022-03-27 20:19:23 1767

原创 ROS 最简单地输出helloworld

ROS 最简单地输出helloworld文章目录ROS 最简单地输出helloworld1.构建工作区1.1创建一个文件夹rosTest,文件夹内创建一个src文件夹。1.2进入rosTest文件夹,执行catkin_make1.3进入src目录2.编写文件2.1 编写helloworld.cpp2.2 更改cmake内容3.编译4.运行4.1 开启ros核心4.2 执行代码1.构建工作区1.1创建一个文件夹rosTest,文件夹内创建一个src文件夹。(注意第二个文件夹必须名字要是src)1.2

2022-03-27 11:11:19 682

原创 linux 安装pip

linux 安装pip使用pip可以帮你安装使用python编写的包pip对应python2pip3对应python3下面以安装pip3为例1.首先检查是否安装python3python3 --version2.安装pip3sudo apt install python3-pip3.查看pip3是否安装成功pip3 --version如果是要安装pip(python2),对应位置修改即可。...

2022-03-26 16:32:28 6870 1

原创 linux(ubuntu)安装ROS系统

linux安装ROS系统官方安装教程,建议对比使用http://wiki.ros.org/cn/noetic/Installation/Ubuntu文章目录linux安装ROS系统1.确定软件更新设置2.执行命令(相应准备)2.1 更换源2.2设置密钥2.3更新3.安装ROS4.添加环境变量1.确定软件更新设置勾选画的四项2.执行命令(相应准备)ctrl+alt+T打开终端2.1 更换源将国外更换为国内源,以下任选一个更换中科大源sudo sh -c '. /etc/lsb-re

2022-03-26 12:49:20 4327 2

原创 Vscode C/C++ 按住ctrl 声明定义相互跳转

Vscode C/C++ 按住ctrl 声明定义相互跳转默认情况下声明可以很容易跳转到定义但是定义很多时候按住ctrl不会自动跳转,而是会给你预览窗口选项自己找更改设置如图更改设置即可就可以不会显示预览而直接跳转匹配...

2022-03-21 14:40:04 3994

原创 stm32 设计一个按键驱动,可以检测单机,连击,长按等操作

stm32 设计一个按键驱动,可以检测单机,连击,长按等操作1.期望:设计一个通用驱动代码:不需要外部中断不限制于stm32,可以快速移植到各种单片机可以轻松识别单机,连击,长按不需要堵塞延时,写在主函数也不会堵塞其它代码执行代码尽量多次分层,减少计算量,写在中断也不会占用过长时间使用宏定义,可以快速更改时间间隔软件完美消抖,减少硬件电路设计2.实现效果:3.先来看驱动代码使用宏定义,可以快速更改成想要的时间和方便移植#define ERROR_TOUCH_T 50 //误触

2022-03-15 23:04:44 1378

原创 linux将clion添加到任务栏

linux将clion添加到任务栏首先进入到clion的bin目录./clion.sh打开clion

2022-03-01 02:54:43 980

原创 linux 环境变量

linux 环境变量查看环境变量位置使用echo $PATH查看环境变量路径,用:隔开的是不同的路径使用env命令,可以看到各种环境变量,=号右边就是环境变量的值帮助理解环境变量的小问题有一些执行文件或者我们编译出来的文件如果没加绝对路径或者相对路径,linux默认会到环境变量底下去找,没找到就会报错或者没反应,例如下图直接test没反应使用相对路径./test 就可以了正常执行了绝对路径例如/home/kt/Desktop相对路径例如./gxt不使用上面的 test

2022-03-01 02:45:34 188

自制串口调试助手,V1.21,QT+CPP

自制串口调试助手,V1.21,QT+CPP

2022-02-19

LLVM 11.0windows安装包

网速慢就可以下载,官网下载页面:https://releases.llvm.org/download.html 实际下载地址:https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe

2022-02-14

智能寻药小车全部资料-国一.zip

智能寻药小车全部资料-国一 包含k210,openmv,stm32f407 记得看readme

2022-01-19

FREERTOS.zip

已经精简修改,配合博客直接移植使用

2021-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除