自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 XYZ Fixed Angles 和 ZYX Euler Angles的区别

欧拉角 分别绕世界坐标系的X Y Z轴旋转的角度分别称为roll pitch yaw。由于是绕着固定坐标系旋转,因此旋转矩阵相乘的顺序为。

2024-01-24 11:24:03 477

原创 Eigen的inverse方法和SVD分解法求逆耗时对比

取一个100行100列的矩阵,分别使用Eigen的SVD分解法再计算逆矩阵和直接用Eigen的inverse方法做个对比。inverse爆杀SVD后再求逆矩阵。

2024-01-12 11:00:49 702 1

原创 ubuntu编译GAlib时提示GA1DArrayGenome.C:225:3: error: there are no arguments to ‘initializer’ that depend

解决办法如下:原文链接

2023-12-25 11:46:43 384

原创 C++ std::greater用法及代码示例

https://blog.csdn.net/sandalphon4869/article/details/105419706

2023-09-07 11:32:14 220

原创 使用cmake构建ompl程序

【代码】使用cmake构建ompl程序。

2023-08-21 10:37:05 146

原创 C++标准库容器的emplace_back 和push_back方法的区别

的构造函数被调用两次,因为要先构造一个临时对象,然后将其复制到容器中。而使用 `emplace。等)中用于在容器末尾添加元素的方法。是 C++ 标准库容器(如。

2023-08-11 11:14:40 294

原创 齐次变换矩阵的旋转和平移顺序

先给出结论:齐次变换矩阵在进行坐标变换时,先进行旋转操作,再进行平移操作。可以看出先旋转时,旋转操作并不会影响旋转前的平移坐标。如果先平移再旋转的话,平移操作会改变旋转轴的坐标。

2023-08-08 16:48:23 1378

原创 Eigen的Transform类

Eigen库中的Transform类用于表示各种线性变换,如平移、旋转、缩放等,它支持不同的模式来表示不同类型的变换。下面是对这些模式的介绍:Affine(仿射变换):Affine模式表示一种保持直线平行性质的线性变换,包括平移、旋转、缩放和错切等。在Affine模式下,可以表示任意线性组合的这些变换,即平移、旋转、缩放、错切的组合。这种变换不会改变物体之间的相对位置关系,只会改变其大小、形状和方向。

2023-08-08 15:33:25 847

原创 cmake构建paho.mqtt.cpp时提示Could NOT find PahoMqttC (missing: PAHO_MQTT_C_LIBRARIES)的解决方法

通过查看git的readme,发现PAHO_BUILD_STATIC和PAHO_WITH_SSL默认是false,因此在cmake构建工程时需要把这俩值设为true。

2023-08-01 15:02:45 984 3

原创 wsl2访问windows11时的防火墙问题

【代码】wsl2访问windows11时的防火墙问题。

2023-07-30 15:38:12 528

原创 git学习总结

工作区:当前编写文档或者写程序的目录.当文件有了改动后,git会自动检测到文件的状态.文件处于工作区时,使用git status命令可以看到文件名会被标红.现在对hello.cpp中的内容进行修改后,再输入git status命令,此时会提示hello.cpp文件已经修改过,并且把文件标红.版本库:在执行git add . 命令后,文件会放在暂存区.在执行git commit命令后,文件会放在正式的版本库中.在执行git add . 后,再输入git status 命令,此时会被标记为绿色。

2023-06-25 00:06:17 49

原创 在linux脚本中打开一个新的命令行并执行其他脚本的方法

其中 -t表示新终端的名称;-c 表示在新终端中执行的指令;在命令中添加exec bash可以让新打开的终端执行完指令后不关闭。

2023-05-09 11:21:35 1072

转载 Linux环境下使用 VScode + CMake +CMakeTools开发调试 C++ 程序

https://blog.csdn.net/sinat_38245860/article/details/88766874

2022-03-08 20:40:01 208

原创 C++左右值引用

左值:1、等号左边的值2、可以取地址的变量,相当于是一个容器,在内存中有分配好的地址右值:1、不可以取地址的值,在内存中没有分配地址,只是一个数值。 int a = 10; int b = a;此时的a是一个左值,可以取地址,b是一个左值,可以取地址。10是一个右值,它只代表一个数,没有内存地址。通过赋值操作以后,才会把10这个数放进int类型的容器a中。左值引用: 引用的对象是一个左值,相当于是给变量取了一个别名。右值引用: 引用的对象是一个右值。 int a = 10; int

2021-06-23 20:59:11 167

原创 C++拷贝构造函数和赋值运算符

参考博客(一)参考博客(二)下面再写一些自己的总结吧1、发生拷贝构造还是赋值操作,主要是看有没有产生新的对象,如果有新的对象产生,则调用的是拷贝构造函数,如果没有新对象产生,则调用的是赋值操作。拷贝构造发生的场合:1)函数传参是以值传递的方式。此时会调用拷贝构造函数创建一个可以使用的实参。2)以值的方式作为函数返回值时。此时会调用拷贝构造函数创建一个temp对象,然后再返回这个temp对象。3)使用一个对象给另一个对象进行初始化。2、深拷贝和浅拷贝的区别浅拷贝:完全是把一个对象的成员复制给

2021-06-07 17:46:03 200

原创 C++的const类成员函数

原文(C++的const类成员函数)下面对几个要点做一些补充:1、C++中const类型的对象只能调用const类型的成员函数。在下面的代码中,我们在类中声明一个const类型的成员函数,再实例化一个普通类型的MyClass对象A和const类型的MyClass对象B。class MyClass{public: MyClass(); ~MyClass();public: void sum()const; void add();private: int a; mutable int

2021-06-06 21:28:15 582

原创 Qt多线程

Qt多线程有两种方法:1、定义一个QThread的派生类,重写run函数,run函数中的程序就是新线程中要执行的内容。在主线程中实例化该类,调用start函数,就可以实现多线程。2、定义一个QObject的派生类,把要在新线程中执行的内容写在一个槽函数中,然后把该派生类的对象传给QThread对象的moveToThread函数,用一个信号和槽函数绑定,当信号触发时,槽函数中的内容就会在子线程执行。第一种方法首先定义一个QThread的派生类#ifndef MTHREAD_H#define M

2021-06-02 22:35:31 4062 1

原创 遗传算法理解

遗传算法的具体步骤将在下面介绍,前面先介绍工具箱安装和常用函数。遗传工具箱算法安装此处提供matlab遗传算法工具箱下载链接link提取码:guwt下载压缩包后,解压,然后copy到matlab安装目录下的toolbox目录下然后打开matlab点击设置路径选项(此处使用matlab2020a)在弹出的界面点击添加并包含子文件夹,选择刚刚拷贝到matlab安装目录下的toolbox文件夹中的文件夹。然后点击确定,保存。至此遗传算法工具箱安装完成。然后再matlab命令行输入crtbp()

2021-05-27 21:28:15 1108

原创 转动惯量理解

转动惯量到底是什么

2021-05-18 14:48:56 2223

转载 C++lambda传参数

https://blog.csdn.net/zh379835552/article/details/19542181

2021-05-17 17:16:04 2810

原创 sysbios---信号量

需要注意,semaphore_post会让count递减。semaphore_pend让count递增。count的值一直是>=0的。post和pendiu类似于linux中的 wait和signal,在两个进程同时访问临界资源时,首先先执行wait(pend)函数,让count减一,当其中一个进程使用完临界资源退出时,再执行signal(post)函数,同时让count加1.只有count为=0的信号量执行semaphore_pend时,task才会被挂起。...

2021-05-12 15:53:51 766

原创 sysbios----任务

1、Task时可以被挂起的,当任务再等待某事件的发生时,将会被挂起,或者由于某个任务的优先级更高,所以被挂起。由下图可以看出,每个任务都有一个堆栈,因此任务是可以被挂起的。而软件中断一旦被调度,就需要一直执行完毕,之恶能是退出,不能是挂起。...

2021-05-12 15:33:38 597

原创 sysbios---软件中断

SWI是在单个的堆栈上运行。但也不允许被挂起,只能运行到结束。对于一些实时性要求不是很高的任务就可以放在软件中断中去执行。当HWI发布了swi_post()后,SWI会立刻准备好去运行。HWI中处理的事务是以微秒来计时的,SWI中处理的事务是以毫秒来计时的。以下图为例,HWI用来采集外设的数据,当外设数据采集到第9次的时候,HWI将会发布一个SWI来执行,当SWI还没执行完,但又有外设数据到来时,HWI会抢断SWI去执行。 当SWI执行完毕,HWI还没被触发时,将会去执行最低优先级的空闲线程。同.

2021-05-12 15:21:12 491

原创 sysbios定时器和时钟

2021-05-12 13:00:01 529

原创 sysbios硬件中断和空闲线程

在下图中,左边是经典的前后台软件框架,一般在裸机开发时经常会采用这种软件框架。先初始化一些系统参数,然后进入while循环一直执行一些必要的进程。有中断产生式,跳出while循环,进入ISR去执行,执行完后再回到while继续循环。其中while循环中的代码被称为后台,ISR中的代码被称为前台。右边的图是sysbios的的前后台调度方式,首先进行一些初始化参数的配置,然后启动bios,然后bios会调用HWI线程来执行,当HWI线程没有准备就绪时,则执行一些低优先级的线程。...

2021-05-12 12:53:23 487

原创 simulink-EtherCAT工具箱常用模块的简要介绍

在simulink-realtime工具箱中集成了对EtherCAT通信的工具,下图展示了工具箱中的所有模块。下面讲简单介绍下这些模块的使用方法。网络初始化模块(EtherCAT Init)对于支持EtherCAT通信的从站来说,从站厂商一定会提供一个记录设备信息的ESI文件(EtherCAT slave information),不同类型的设备会有一个不同的ESI文件。当多个设备挂在EtherCAT总线时,就会形成一个EtherCAT网络。此时主站要和要网络中的每台设备通信时,首先得知道网络中有那些设

2021-05-11 17:18:41 2406 1

原创 操作系统初始化

操作系统初始化BIOS全称:basic I/O system。是一段固化在ROM中的代码。

2021-05-04 18:53:13 111

转载 Chartview所有的方法和属性

https://blog.csdn.net/qyvlik/article/details/52001754

2020-08-07 10:47:38 1159 1

原创 C++给qml传入一个自定义数据结构的list

我在上一篇文章已经写过三个方法用C++给qml传入自定义list,但是那三个方法都不支持数据的更新,也就是说C++这边的数据发生了改变,listview是不知道数据发生变化的。这样使用起来局限性很大,特别是一些有数据变化的场合,就没法使用了。下面介绍第四种方法,可以更新listview的数值。整体思路是:step1:根据自己的项目需求创建自定义数据结构step2:创建数据模型step3:将定义的数据模型传入qml下面详细介绍每一步step1创建自定义数据结构class DeviceList {

2020-07-18 21:13:31 1434

转载 QML 中使用 QAbstractListModel 作为 ListView 的 model 实例

https://blog.csdn.net/CLinuxF/article/details/100662326

2020-07-12 14:05:22 615

原创 C++给QML传入一个list或者自定义的数据结构

C++给QML传入一个list或者自定义的数据结构在QML中,model可以在C++中定义,然后在QML中使用,这种方法对于暴露已经存在的C++数据模型或者其他复杂的数据集合给QML是非常有用的。一个C++类可以被定义为QStringList、 QVariantList、 QObjectList或者QAbstractItemModel.其中QStringList、 QVariantList、 QObjectList这三个类型的list用来暴露简单一点的数据给qml是非常有用的,QAbstractItem

2020-07-11 23:36:38 8887

空空如也

空空如也

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

TA关注的人

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