Fork me on Gitee
摘要: 1.安装 下载pip并解压,在解压目录下打开cmd,输入如下命令: python setup.py install 2.使用 查看版本号: pip --version 升级版本: pip install -U pip 使用pip安装包: pip install SomePackage # 最新版本 阅读全文
posted @ 2022-04-22 00:17 Yu_tiann 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 写法: 读法以及latex写法: 阅读全文
posted @ 2022-04-13 14:44 Yu_tiann 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:https://blog.csdn.net/zhouchen1998/article/details/108893660 该问题出现是因为Windows和Linux对待硬件时间的处理方法不同(注意是硬件时间,这也就是为什么时间异常时点击与服务器同步就能恢复的原因),Linux将硬件时间看 阅读全文
posted @ 2022-04-01 00:25 Yu_tiann 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 设置字体颜色 使用的宏包: \usepackage{color} 使用示例: \textcolor[rgb]{1,0,0}{需要变色的内容} 设置粗体 使用示例: \textbf{想要设置粗体的字符} 设置花体 使用示例: \mathcal{想要变成花体的字符} 输入根号: 使用示例: \sqrt{ 阅读全文
posted @ 2022-01-14 12:51 Yu_tiann 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 建立系统的数学模型 (1)使用tf函数建立传递函数模型 对于下面这个传递函数: 第一种模型建立方式: num = [12 15] den = [1 16 64 192]; G = tf(num, den) 其中num为分子多项式的系数,den为分母多项式的系数。 第二种模型建立方式: s = tf( 阅读全文
posted @ 2022-01-07 16:42 Yu_tiann 阅读(367) 评论(0) 推荐(0) 编辑
摘要: Dijkstar算法思想: 较抽象: 设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将加入到集合S中,直到全部顶点都加入到S中,算法就结束了),第二组为其余未确定最短路径的顶点集合(用U表 阅读全文
posted @ 2021-11-26 00:05 Yu_tiann 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1、问题背景 配置好了rviz+Arbotix的仿真环境之后,进入仿真,发现无法使用键盘控制小车移动。 但是使用rostopic list命令查看当前的话题列表时显示需要的话题都已经产生,如下图所示: 2、解决方法 首先需要注意,在例程中使用的mrobot_teleop功能包中对应小车前进的按键是i 阅读全文
posted @ 2021-11-17 20:15 Yu_tiann 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 问题原因 报错信息: Joint state with name: “base_l_wheel_joint” was received but not found in URDF 是关节名字的问题,教程中提供的源码左右轮的关节名为left_wheel_joint和right_wheel_joint 阅读全文
posted @ 2021-11-17 17:56 Yu_tiann 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 问题原因 mbot_teleop.py不是可执行文件,需要把mbot_teleop.py改成可执行文件 解决办法 进入到目录:/urdf_ws/src/mrobot_teleop/scripts(其中urdf_ws是我的工作空间) 找到文件:locate mbot_teleop.py 在py文件上右 阅读全文
posted @ 2021-11-17 17:50 Yu_tiann 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1、安装方法 首先进入需要使用Arbotix功能包的ros项目的工作空间下的src目录,例如catkin_ws/src/目录,下载Arbotix源码 git clone -b indigo-devel https://github.com/vanadiumlabs/arbotix_ros.git 注 阅读全文
posted @ 2021-11-17 17:22 Yu_tiann 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1、问题背景 ubuntu系统无法打开系统设置、无法右键打开文件属性、无法播放视频 进行以上操作的时候,系统都会自动锁定(类似重启),会黑屏几秒,然后弹出登录界面,登录进来之后,所有之前打开的软件都自动关闭了。 2、问题分析 刚开始只是发现无法打开系统设置,后来发现双击播放的时候也会出现相同的现象, 阅读全文
posted @ 2021-11-15 10:59 Yu_tiann 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 解决方法 sudo gedit ~/.ignition/fuel/config.yaml 讲原文中的 url : https://api.ignitionfuel.org 注释掉 在注释的地方添加如下的内容: url: https://api.ignitionrobotics.org 如下图所示: 阅读全文
posted @ 2021-11-14 21:03 Yu_tiann 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 进入文件>首选项>设置,打开设置界面,在常用设置下找到Editor:Word Wrap选项(可以直接搜索找到),默认为off,设置为on即可。 如图: 自动换行效果: 阅读全文
posted @ 2021-11-13 16:50 Yu_tiann 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 参考博客:https://blog.csdn.net/yjw123456/article/details/119696726 1、问题背景 在使用git提交代码时,发现有如下报错: remote: Support for password authentication was removed on 阅读全文
posted @ 2021-11-13 16:09 Yu_tiann 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 使用NSCD命令刷新DNS: sudo systemctl restart nscd 阅读全文
posted @ 2021-11-13 11:42 Yu_tiann 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 1、问题背景 ROS安装好了,但是如果直接运行roscore命令进行测试,仍然会报错: Command 'roscore' not found, but can be installed with: sudo apt install python-roslaunch' 2、解决方法 依次执行如下命令 阅读全文
posted @ 2021-11-12 16:36 Yu_tiann 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 1、问题背景 Ubuntu18.04 安装ROS Melodic。 在安装过程中执行命令: rosdep update 报错如下: ERROR: error loading sources list: The read operation timed out 主要原因是国外的服务器访问受限的问题。 阅读全文
posted @ 2021-11-12 12:37 Yu_tiann 阅读(1443) 评论(0) 推荐(0) 编辑
摘要: 1、问题背景 在台式机上安装win10和ubuntu18.04的双系统,安装完成后发现,在win10下可以联网(这里指有线网),在ubuntu下无法联网(甚至右上角不显示网络的图标)。 电脑主板型号:华硕B550M TUF GAMING 2、确定问题所在 由于win10上可以联网,则可以确定不是硬件 阅读全文
posted @ 2021-11-09 21:20 Yu_tiann 阅读(4127) 评论(4) 推荐(0) 编辑
摘要: 参照文章:https://www.cnblogs.com/dingdangsunny/p/12312966.html 阅读全文
posted @ 2021-10-09 18:16 Yu_tiann 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 字体介绍 相信大家都遇到这么一个问题:matlab初始字体非常难看,对写代码极不友好。但是切换字体后中文又会乱码,相当恶心。 现在提供一种字体方案,英文字体:Consolas;中文字体:YaHei。 效果如下: 安装方式 首先下载字体文件,提供一个github地址:https://github.co 阅读全文
posted @ 2021-10-04 16:23 Yu_tiann 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 本文来源:https://blog.csdn.net/qiuchangyong/article/details/51245293 1、前期准备 由傅里叶变换的定义,可以得到: 因此我们可以知道,频谱函数的实部和虚部分别为: 进而我们可以知道,频谱函数的幅值和相位分别为: 2、x(t)为实函数的情况 阅读全文
posted @ 2021-09-25 10:11 Yu_tiann 阅读(4010) 评论(0) 推荐(0) 编辑
摘要: 本文主要参考: https://zhuanlan.zhihu.com/p/41455378 https://www.zhihu.com/question/38841975/answer/105878252 1、傅里叶级数的由来 傅里叶级数最早提出是想用三角函数的线性组合去表达一个复杂函数。 既然是线 阅读全文
posted @ 2021-09-24 23:12 Yu_tiann 阅读(4286) 评论(0) 推荐(0) 编辑
摘要: 本文主要参考了知乎文章:https://zhuanlan.zhihu.com/p/35363670 1、概念的基础 这两种信号概念是建立在无穷大的时间积分的基础上的 2、信号的能量和功率 首先我们提到信号的能量可能是一个比较突兀的概念,我们不妨从一个大家认同的能量概念谈起:电路中的能量。 电路中的能 阅读全文
posted @ 2021-09-24 18:18 Yu_tiann 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 本文参考博客:https://blog.csdn.net/weixin_43091089/article/details/99792892?spm=1001.2014.3001.5501 1、问题背景 《Python编程:从入门到实践》17.2.1节中绘制条形图“GitHub上受欢迎程度最高的Pyt 阅读全文
posted @ 2021-09-02 00:24 Yu_tiann 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 1、priority_queue是什么 priority_queue属于容器适配器,它也就是我们常常提到的优先级队列 另外在一些算法相关的书籍中提到的大顶堆、小顶堆等数据结构也是指priority_queue priority_queue定义了一个元素有序排列的队列,默认队列头部的元素优先级最高 因 阅读全文
posted @ 2021-08-31 17:35 Yu_tiann 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1、Dictionary(字典)是什么 字典是另一种可变容器模型,且可存储任意类型对象 字典的每个键值key->value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中 例如: d = {key1 : value1, key2 : value2 } 2、创建字典 直接创建字典 阅读全文
posted @ 2021-08-19 22:53 Yu_tiann 阅读(145) 评论(1) 推荐(0) 编辑
摘要: 1、List(列表)是什么 列表是Python中最基本、最常用的数据结构,列表的数据项不需要具有相同的类型 列表中的每个元素都分配一个数字作为它的索引,第一个索引是0,第二个索引是1,依此类推 例如: List1=[1,2,3,”hello world”,”3.1415926”,[1,2,3]] 列 阅读全文
posted @ 2021-08-19 19:46 Yu_tiann 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 1、unordered_set是什么 unordered_set 容器,可直译为“无序 set 容器”。即 unordered_set 容器和 set 容器很像,唯一的区别就在于 set 容器会自行对存储的数据进行排序,而 unordered_set 容器不会。 unordered_set的几个特性 阅读全文
posted @ 2021-08-19 13:50 Yu_tiann 阅读(2907) 评论(0) 推荐(1) 编辑
摘要: 1、vector是什么 vector我们常将其称作向量,是STL中实现的一个容器,其本质是一个动态数组 2、vector的初始化 仅指定长度 不具有初值 //定义具有10个整型元素的向量(尖括号为元素类型名,模板参数) vector<int>a(10); 指定长度 且指定初值 //定义具有10个整型 阅读全文
posted @ 2021-08-18 14:53 Yu_tiann 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 几种排序算法的联系 希尔排序相当于直接插入排序的升级,同属于插入排序类; 堆排序相当于简单选择排序的升级,同属于选择排序类; 快速排序是最慢的冒泡排序的升级,属于交换排序类; 快速排序的基本思想 快速排序是通过不断比较和移动交换来实现排序的,只不过它的实现增大了记录的比较和移动的距离,将关键字较大的 阅读全文
posted @ 2021-08-17 18:07 Yu_tiann 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 归并排序算法简介 归并排序就是利用归并的思想实现的排序方法 假设初始序列含有n个记录,看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到 |n/2|(|x|表示不小于x的最小整数)个长度为2或1的有序子序列;再两两归并,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2路 阅读全文
posted @ 2021-08-17 14:46 Yu_tiann 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 堆排序算法用到的大顶堆/小顶堆 以使用大顶堆的堆排序算法为例,其实堆排序算法的原理就是不断将剩余的未完成排序的数据构造成一个大顶堆,然后每次将大顶堆的堆顶元素(也就是最大的元素)取出,如此循环即完成了堆排序。 大顶堆:每个结点的值都大于或等于其左右孩子结点的值,如下图所示,就是一个大顶堆: 堆排序算 阅读全文
posted @ 2021-08-17 00:29 Yu_tiann 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树删除操作的几种情况 要删除的结点在二叉排序树中是叶子结点: 则可以直接删除,因为删除它们对于整棵树来说,其他节点的结构并不受到影响 要删除的结点只有左子树或者右子树: 删除结点后,将它的左子树或右子树移动到删除结点的位置即可(子承父业) 要删除的结点既有左子树又有右子树: 简单的想法:让删 阅读全文
posted @ 2021-08-13 19:46 Yu_tiann 阅读(1714) 评论(0) 推荐(0) 编辑
摘要: 关键路径VS最短路径 关键路径算法一般会在最短路径算法的后面进行讲解。 这就需要我们首先区分出关键路径算法和最短路径算法在前提上的不同: 最短路径算法是找尽可能短的路来保证路径长度最小,你只需要找出一条最短的路就行。 但是在关键路径里,一个顶点是有多个前提的,只有前提的路径都走完,才能发生该顶点的事 阅读全文
posted @ 2021-08-11 18:18 Yu_tiann 阅读(579) 评论(1) 推荐(0) 编辑
摘要: 1、前言 首先,我们需要大致理解Kmp算法的整体思想以及大致原理,同时需要学会手算next数组的方法。这些都是很简单并且容易理解的,本文不再赘述,如对以上内容仍有疑问,推荐一个B站视频讲解:BV1jb411V78H 另外本文的所有图片出处:B站视频 BV16X4y137qw 2、代码 以下是本文讲要 阅读全文
posted @ 2021-08-07 16:15 Yu_tiann 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 背景:一个项目需要完成一个工件表面粗糙度的测量系统,该系统的驱动方式是双路的步进电机,分别驱动X轴和Y轴的工作太移动,以完成粗糙度的测量。 硬件介绍: 主控:STM32F103C8T6 电源:CJ7805 + AMX1117 电机:42步进电机 驱动:DRV8825模块*2 通信:USART 采样: 阅读全文
posted @ 2021-03-29 14:17 Yu_tiann 阅读(1350) 评论(0) 推荐(0) 编辑
摘要: 背景:在做一个中国象棋机器人的项目,项目中需要识别象棋棋子上的汉字,计划采用CNN的方式实现这一功能。在制作CNN训练的数据集的时候,需要一个截取象棋中心文字的问题。当我们定位到一个象棋的位置之后,我首先将包裹象棋的一个50*50的矩形取阈截取出来,但是,发现如果只是做矩形的截取的话,截取的图像仍然 阅读全文
posted @ 2021-03-29 13:09 Yu_tiann 阅读(2042) 评论(0) 推荐(0) 编辑
摘要: 1、首先确认libcanberra-gtk是否安装: 在终端输入如下命令: locate libcanberra-gtk-module.so 若输出如下,则说明libcanberra-gtk已经安装: yutian@linux-yutian:~$ locate libcanberra-gtk-mod 阅读全文
posted @ 2021-03-09 11:23 Yu_tiann 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 参考资料: 1)cJson源码:https://sourceforge.net/projects/cjson/ 2)知乎《从零开始的 JSON 库教程》系列专栏:https://zhuanlan.zhihu.com/json-tutorial 1、Json是什么: JSON(JavaScript O 阅读全文
posted @ 2021-02-08 00:52 Yu_tiann 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1、多于一条语句的宏: 当C语言中的宏定义包含了多余一条语句时,如下面这种情况: #define M() a(); b() 如果后面的程序需要使用这个定义的宏M(),则可能产生错误。 2、错误演示: #define M() a(); b() if (cond) M(); else c(); /* 预 阅读全文
posted @ 2021-02-07 16:25 Yu_tiann 阅读(282) 评论(0) 推荐(0) 编辑