-
伦理学导论读书笔记 TOP NEW
屈原既放,三年不得复见。竭知尽忠而蔽障于谗。心烦虑乱,不知所从。乃往见太卜郑詹尹曰:“余有所疑,愿因先生决之。”詹尹乃端策拂龟,曰:“君将何以教之?” 屈原曰:“吾宁悃悃款款,朴以忠乎,将送往劳来,斯无穷乎?……….(节略)” 詹尹乃释策而谢曰:“夫尺有所短,寸有所长;物有所不足,智有所不明;数有所不逮,神有所不通。用君之心,行君之意。龟策诚不能知此事。” 詹尹的话我非常喜欢。虽然事物有其不及的地方,智谋有其不明白的地方,术数有算不到的地方,神明也有不知道的东西,但我们只应该遵从自己的内心,按照自己的意志和准绳做人做事就可以了,正所谓————莫向外求,无愧于心。即使读完这本书,我也仍然“有所不及,有所不明,有所不逮,有所不通”,但我想,我确实需要找到一种我认可的道... Read More
-
priority_queue和STL比较函数备忘 TOP NEW
C++优先队列 重载比较器有两种方式:重载小于号和自定义比较函数(重载括号)。其中,重载小于号可以直接写在你的类里面,需要注意的就是两个const。重载括号需要新开一个类写。 需要注意的是,优先队列实际的排序顺序和你比较器里面定义的顺序(或者说和其他STL模板相比)是反过来的,例如下面的程序: #include <iostream> #include <vector> #include <queue> #include <algorithm> // 方法1:重载小于号 class myPoint1 { public: int x, y; myPoint1(int x, int y) : x(x... Read More
-
西方哲学简史笔记 TOP NEW
今天刚了解到一个概念,知识除了获得成本之外,还有维护成本,也就是你不让你忘掉的成本。这虽然是显然的,但是很多时候我们并没有将其考虑在内。 本来是西方哲学简史这本书的读书笔记,后来看了张志伟老师的课程,就成了课程笔记了。 1. 希腊哲学的精神和问题 中、希腊、印度三国哲学与宗教的关系;三国哲学的表达风格。 希腊哲学的特质:非宗教的,思辨的。 希腊神话世界观的特征、背景和自然环境 早期的自然并非自然事物的总称,而是类似于nature,运动和变化的本源,包括基质和原则。 闲暇是哲学思辨的必要条件。 希腊哲学思辨的特点:静观、辩证、演绎、理智和实践。 2. 早期自然哲学 2.1 伊奥尼亚派 水本源:泰勒斯。观察到水对于生成、生命的意义。... Read More
-
简单汇编/restrict/宏粘连符/(un)likely笔记 TOP NEW
-
Linux内核学习笔记1-进程与调度 TOP NEW
单内核和微内核 单内核是指将内核作为一个整体的大过程实现,运行在一个单独的地址空间上。在磁盘上以一个单独的二进制文件存储。好处是简单和性能高效。 微内核是指将内核的功能分成一个个小的服务器,各自保持独立运行在自己的内存空间里。所以,就不能像单内核那样直接调用函数,而是采用进程间通讯IPC机制互通消息。这样的设计保证了一个崩溃了不会殃及全局,并且,内核的组件可以动态改变。但是同样的,IPC占用时间大于函数调用,效率没有单内核高。 任何改变都要能通过简洁的设计和可靠的实现来解决现实中确实存在的问题。 进程和线程 进程是指处于执行期的程序以及其它资源的总称。线程是在进程中活动的对象。 每个线程都拥有自己独立的程序计数器、进程栈和一组进程寄存器 内核的调... Read More
-
卡尔曼滤波学习笔记3(没写完) TOP NEW
状态外插方程 使用状态外插方程,能够基于当前系统状态预测下一个系统状态。它把当前n时刻的状态向量外插至未来n+1时刻。状态外插方程的一般形式是: \[\boldsymbol{\hat{x}}_{n+1,n} = \boldsymbol{F\hat{x}}_{n,n} + \boldsymbol{Gu}_{n} + \boldsymbol{w}_{n}\] 其中: $\boldsymbol{\hat{x}}_{n+1,n}$ 是n时刻对n+1时刻状态的预测 $\boldsymbol{\hat{x}}_{n,n}$ 是n时刻系统状态向量的估计 $u_n$ 是 控制向量 或 输入向量 - 该系统的一个 可测量的(确定性的)输入 $w_n$ 是 过程噪声 或 扰动 -... Read More
-
卡尔曼滤波学习笔记2 TOP NEW
一维无过程噪声的卡尔曼滤波 我们知道,估计值的不确定性很容易得到,因为我们只需要等到下一个时刻的测量值出来,计算方差就可以了。但是,不能忽略的还有测量误差,或称测量的不确定性,用高中物理的话说,系统误差。度量测量误差的量是方差。需要注意的是,状态估计的方差也应当进行外插。 这里再重复一下外插,GPT给出的解释是,利用当前时刻的状态估计和系统模型,对下一时刻的状态进行预测。这一步是基于状态转移方程完成的。状态转移方程描述了系统状态如何随时间变化。说白了,外插就是你根据刚刚得到的测量值和已有的规律对下一时刻进行的预测。 那么,状态估计的方差应当如何外插?在上一篇第一个事例里,金条的重量是固定的。此时方差显然不变,有: \[\hat{p}_{n+1,n}=\hat{p}_{n... Read More
-
卡尔曼滤波学习笔记 TOP NEW
“如果你不能把它解释地足够简洁,说明你还不够理解它。” ————阿尔伯特·爱因斯坦 基本概念 以雷达探测一架飞机为例,我们可以使用$[x,y,z,v_x,v_y,v_z,a_x,a_y,a_z]$这样一组参数来描述飞机的状态,这一组参数成为系统状态。 而我们又知道,由牛顿运动方程可知: \(x=x_0+v_{0x}t+\frac{1}{2}a_{0x}t^2\) \(y=y_0+v_{0y}t+\frac{1}{2}a_{0y}t^2\) \(z=z_0+v_{0z}t+\frac{1}{2}a_{0z}t^2\) 这一组方程描述了预测算法的输入和输出之间的关系,称之为动态模型或状态空间模型 测量噪声:雷达显然无法绝对精确的测量出飞机的位置,其测量的噪声或不确定性成为测... Read More
-
Windows11安装wsl与基本环境配置 TOP NEW
笔者默认看到此文的人都熟悉Ubuntu的常用命令和基本知识,如换源、ssh等知识,文中不再赘述。 wsl子系统的安装和卸载 查看当前安装的子系统 wsl --list 注销(卸载)当前安装的Linux的Windows子系统 wsl --unregister Ubuntu 我还发现,命令行卸载完了需要进入设置->应用列表里面搜索ubuntu,卸载所有发行版,不然可能会出问题。 移动wsl到其它盘 这一步并不是必要的,甚至笔者是不推荐的。如果你有强迫症,晚上睡觉一想到有个wsl正在占用你宝贵的C盘空间你就睡不着觉,那么不妨按照这个做一下。本质是打包、移动、导入三步,但是有人提出,这样会损坏依赖目录和配置文件。所以,还是不动为好,不过动了之后其实也没啥问题,至少我没用出... Read More
-
Jekyll 学习笔记 TOP NEW
文章头结构 典型的文章头结构具有下面的信息: layout: 文章类型 title: 文章大标题 subtitle: 文章小标题 author: 作者 banner: 横幅 image: 横幅图片。注意的是,所有资源都可以通过 /assets/images/... 这样的形式引用 categories: 归类的文件夹 tags: 标签,和文件夹不同。此二者均可在网站的右上角直接访问. published: 布尔值,令其为false则不发布。 top: 布尔值,令其为1则置顶 启动服务器的命令 cd到文件夹根目录下,bundle exec jekyll serve即可 注意文件格式 md文件格式必须是utf... Read More
-
C++文件调用C语言里定义的函数/extern声明外部函数 TOP NEW
客舟上 照月华 一点星子别残霞 杯中泪 江心洒 身似浮萍逐浪花 —《玉珠花》 1. 问题背景 现有cpp文件main.c,需要调用C文件fun.c里定义的函数fun(),应该如何声明该函数? 2. 为什么不能直接调用 因为cpp为了支持函数重载等功能,cpp编译器会对编译后产生的函数加上独特的函数修饰符,例如你在cpp里声明一个int fun(int a, float b, int c),为了能够正确的链接对应函数,编译器会为函数产生一个独一无二的函数特征描述符,例如,在C++编译器下: int fun(int a, float b, int c); 产生的符号是:?fun@@YAHHMH@Z,怎么看这个符号?你故意声明这个函数但是不定义, 编译看报错就可以: #... Read More
-
卷积层详解/多通道多特征图卷积详细步骤/彻底搞懂卷积层输入输出尺寸shape TOP NEW
悟已往之不谏,知来者之可追。 实迷途其未远,觉今是而昨非。 –陶渊明 0. 前(fei)言(hua) 我曾经以为我是天下第一倒霉蛋,既不是富二代,也谈不到恋爱,脑子也是笨蛋,又是高度近视,直到考上研才发现我其实一直都很走运,尤其是在这种重要的人生节点,我总是能走运,获得我的努力配不上的成绩。虽然我不信命运,但是既受此天恩,又岂能不抚壮而弃秽兮? 大二的时候用C++写过全连接的网络,很简单,现在有个网络需要部署在开发板上,内存1M,除了用cpp写我想不出别的办法了;往年竟然有人在这板子上面跑python,我只能说是我孤陋寡闻了。奈何笨鸟先飞,虽然用cpp重构费事了些,但是也不妨为一个很好的练手程序。我听说同校有的社团大一招新就是手写卷积层,确实是我菜了。我一直以为卷积层这玩意... Read More
-
CMake初级简明教程 TOP NEW
我藏在人群中 然后失去晴空 像我的名字 从你的记忆清空。 –《你头顶的风》 本文仅仅介绍了一些常用函数的参数的简单写法以及个人理解,如果你想了解更多,可以去查找专门介绍该函数的博客。本文只能保证你读完之后对各个函数有基本的认识,以及最基本的应用。 个人认为,想要提高自己写cmakelist能力的最好方法有两个。其一者,自己编写更加复杂的工程文件。其二者,阅读、修改现有库的cmakelist。有的库的cmakelist有上百行(比如PCL库),但是其实看明白之后就是很简单的几个模块判断、引入。尤其是后者,小学写过的字帖都有三部分:描红,仿影,临帖。先看人家怎么写,学会笔法之后再写自己的,编程学习之法可谓相同。 笔者才疏学浅,知识均由自学得来,故可能多有错漏。本文仅作抛砖引玉... Read More
-
verilog键盘输入示例代码及分析(摩尔型有限状态机) TOP NEW
往昔鸳鸯戏水,而今不相依偎,美景良辰纵然抚媚亦徒留伤悲。—-《美人画卷》 本代码是一生一芯项目中,南京大学nvboard开源项目键盘扫描示例代码。我们抛开上层连接不谈,分析一下这个代码。同时我自己也理清一下思路,不然总是感觉些许混乱,或者说,明明用51单片机写的时序接收这么好理解,为什么这个程序我没有一眼看出来他在干什么。因为这段代码本身确实蕴含着一个设计思想,请务必读到最后。 南京大学数电实验网站:点此 nvboard GitHub(即本文源码出处):https://github.com/NJU-ProjectN/nvboard.git 源代码著作权归原作者所有。本文完全尊重原作者的著作权,仅引用、注释以供学习,不参与网站创作激励,不具有商业、盈利性质。 0. 源代... Read More
-
Verilated model didn‘t converge报错原因及解决 TOP NEW
还留着你的回忆,分不清南北东西 我真的不想从此迷失在这幻境 —-《迷失幻境》 想必你急于知道原因,不想听笔者解决问题的过程,所以我先放结论,再说我发现的过程。 1.错误原因 一句话概括,根本原因是: 有一个量在极快的变化 verilog官网原图: verilog官网上的原文是: This is because the signals keep toggling even with out time passing. Thus to prevent an infinite loop, the Verilated executable gives the DIDNOTCONVERGE error. 翻译:这是因为信号在不停的变换即使时间没有流逝。所以,为了防止无限循... Read More
-
一生一芯 算术逻辑部件 ALU verilog浅析与实现 TOP NEW
仙歌音,玉笛灵,酒盏玉露清 剑舞轻,潇洒过白袍影。—-《谪仙》 一生一芯项目,预学习部分,数电实验学习记录,笔者电子寄术挂科,基础知识甚是不熟,故文中可能多有错漏,恳请指出! 0. 前言 笔者是新手,verilog很不熟练,写这个只是记录自己的学习过程避免遗忘,同时希望能够帮助后来者省去一些查资料的时间,所以代码肯定写的很烂,也多有错漏,恳请读者评论指出! 1. 项目要求 功能选择只需要一个case语句就可以完成,后面的运算也都是基本运算,直接用内置的运算符就可以。但是尤其注意的是,这里需要设计的是补码运算功能。作为挂科学生,必须复习一下补码的运算法则了(感觉这玩意就算你没挂估计你也记不得了吧,毕竟平时用的不多) 2. 补码知识复习 这一部分多为网上资料,... Read More
-
超前进位加法器原理与递推式超详细推导+verilog实现与测试 TOP NEW
-
Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) TOP NEW
0.CMkae简介 CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的makefile或者project文件,并且主流的各种库均提供了.cmake文件提供调用支持,使用方便。在opencv上说,使用它可以使多个版本的CV环境共存,且随意调用任意切换互不影响。 如果你使用gcc/g++开发套件供cmake编译,那么你在各个平台上获得的报错信息都是一样的,不会随着使用开发平台的变化而变化(对,说的就是qt的阴间报错) 需要注意的就是cmake仅仅是构建工具,连编译器都不是。需要你指定编译器(开发套件),一般windows下面指定的是MinGw,Ubuntu下指定自带的gcc/g++。 它和轻量美观的vs code... Read More
-
VTK库cmake编译时找不到Qt5UiPlugin_DIR和QT5Sql_DIR TOP NEW
-
一文看懂map、odom、base_link、laser之间的tf关系 TOP NEW
这三者之间的关系到底是怎样的?尤其是map坐标系到odom坐标系之间的变换,到底是有什么意义呢?我当时被这个问题也是困扰了很久。现在经过实践终于有机会记录一下拙见,如有错误,还请指正! 这张经典的图大家都见过吧,已经不知道被偷了多少遍了🤣浅浅的手画了几张图,来说明一下几者的关系。 首先说一下这三个坐标系分别是什么,再来解释变换关系。 map_frame 顾名思义,指地图坐标系。也就是你开map_server让他去发布的那个地图。 在map.yaml可以指定map坐标系的原点。 map坐标系是固定的,永恒不变的,相当于数轴。一般来说,定位的需求就是要返回在map坐标系下的坐标。 里程计是什么? 机器人通过读取轮子上每个电机的编码器数据,能... Read More