自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (5)
  • 收藏
  • 关注

原创 MATLAB Robotics toolbox插件使用及绘图

机器人仿真与编程技术

2023-02-25 19:54:58 961 1

原创 matplotlib 绘制三维图添加文本标注& 绘制二维折线图

隐藏 Matplotlib 中的坐标轴标签/文本

2023-02-07 14:08:15 1036

原创 点到平面的距离、向量与平面夹角

点到平面的距离、向量与平面夹角

2022-11-23 12:57:56 324

原创 RGB与十六进制颜色码转换工具

RGB 16进制转换

2022-11-10 12:49:08 288

原创 【Pytorch-OpCounter】计算模型Parameters和FLOPS

除了能够统计各种模型结构的参数以及FLOPS, 还能为那些特殊的运算定制化统计规则。

2022-10-17 09:52:03 220

原创 IDEA项目配置记录

maven配置文件setting.xml的位置

2022-03-06 15:47:41 171

原创 MATLAB小球目标追踪示例

MATLAB小球目标追踪示例代码

2022-03-05 16:20:49 4108

原创 Linux Anacona 对应python版本安装 & CUDA多版本切换(软链接)

清华镜象元https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D与python版本对应 : https://docs.anaconda.com/anaconda/packages/oldpkglists/linux上安装Anaconda并创建一个虚拟环境:https://zhuanlan.zhihu.com/p/69799707

2021-12-07 21:50:10 1713

转载 四元数和向量相乘作用及其运算规则

作用:四元数和向量相乘表示这个向量按照这个四元数进行旋转之后得到的新的向量。比如:向量vector3(0,0,10),绕着Y轴旋转90度,得到新的向量是vector3(10,0,0)。在unity中表示为:运行结果为:复合旋转就是四元数依次相乘,最后乘以向量运算过程将四元数的四个值分别计为:(w,x,y,z),unity中的四元数中的四个数字是(x,y,z,w),不影响下面的计算过程。绕任意轴旋转任意角度的四元数为:那么绕着Y轴旋转90度的四元数就是q = (√2/2 , 0 , √2/

2021-09-25 21:51:41 5416 1

原创 正则表达式

正则表达式30分钟入门教程 作者:deerchao知乎:正则表达式的15个应用

2021-08-30 20:38:07 66

原创 神经网络通道、卷积层、池化层、全连接层等

1 channel的含义一般 channels 的含义是,每个卷积层中卷积核的数量假设现有一个为 6×6×3的图片样本,使用 3×3×3 的卷积核(filter)进行卷积操作。此时输入图片的 channels 为 3 ,而卷积核中的 in_channels 与 需要进行卷积操作的数据的 channels 一致(这里就是图片样本RGB,为3)。接下来,进行卷积操作,卷积核中的27个数字与分别与样本对应相乘后,再进行求和,得到第一个结果。依次进行,最终得到 4×4 的结果。上面步骤完成后,由于只有一

2021-08-19 21:02:12 249

转载 三维坐标变换(旋转矩阵&旋转向量)

矩阵运算显然是计算机三维坐标变换最简单方便的计算方法,因此在 opencv、opengl、工业机器人等开发中,提到位姿旋转变换,多半用的是旋转矩阵。然而,用矩阵来表示一个旋转关系有两个缺点:首先,通过旋转矩阵不能直观地看出旋转的方向和角度,假设给定一个旋转矩阵,要求旋转方向不变,旋转角度变成一半,那么新的旋转矩阵计算起来就比较麻烦了。另一方面,旋转变换本身只有3个自由度,但旋转矩阵有9个元素,因此旋转矩阵中的元素不是相互独立的,这在非线性优化中会带来问题。用 opencv 进行过双目相机标定的同学都

2021-08-14 13:05:43 6914 1

转载 最短路径问题——Dijkstra算法

转载自 Ouyang_LianjunDijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点的集合:T,初始时,原点 s 的路径权重被赋为 0 (dis[s] = 0)。若对于顶点 s 存在能直接到达的边(s,m),则把dis[m]设为w(s, m),同时把所有其他(s不能直接到达的)顶点的路径长度设为无穷大。初始时,集合T只有顶点s。然后,从dis数组选择最小值,则该值就是源点s到该值对应的顶点的最短路径,并且把该点加入到T中,OK

2021-08-08 21:58:58 307

原创 Kruskal算法构造最小生成树——并查集

并查集(Disjoint Set)用于判断一个图里是否有环或者两个结点是否在同一个集合里。设 parent[i] = x 表示结点 i 的父节点为 x并且初始化 parent [ i ] = i当我们随机遍历的时候,我们可能会产生多个树,如果遍历到最后有两个树要合并时,我们一般都是通过链接两个树的的根节点,但是这种算法有一个缺陷:两个结点间要判断成环的成本非常大,时间复杂度达到了O(n)。路径压缩令parent[2]=parent[1]简单来说,a是b的属下,c是b的属下,那么c也是a的属下

2021-08-08 21:19:32 116

原创 memset(G, 0x3f, sizeof(G))涵义

1 当我们想将某个数组全部赋值为无穷大时(例如解决图论问题时邻接矩阵的初始化)memset(G, 0x3f, sizeof(G))分析:最精巧的无穷大常量取值是0x3f3f3f3f, 它的十进制是1061109567,也就是10^9级别的,而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用。2 如果想要将某个数组清零,我们通常会使用memset(G,0,sizeof(G))补充:负无穷大用0xcfcfcfcf比较好。...

2021-08-08 15:20:07 836

原创 机械臂工具标定

对于工业机器人来说,基坐标B与 末端法兰面所在坐标系 T之间的关系在制作机器人的时候已经设定好,每次机械臂在运动时,每一个关节的旋转扭角在变化,进而计算出各个关节的坐标系变换标定过程可以分为两个部分:(1)工具中心点位置(TCP) 标定(2)工具坐标系姿态标定(TCF)1 TCP位置标定1.1 标定步骤控制机械臂移动工具从不同方位触碰空间中某个固定点,记录N组数据(n ⩾ 3 );计算获得工具末端点相对机械臂末端点的位置变换;1.2 原理得到位置关系。2 TCF姿态标定

2021-07-18 15:36:12 3055

原创 【数据结构】红黑树

挖坑待填30张图带你彻底理解红黑树

2021-07-10 22:57:48 90 2

原创 霍夫Hough变换

参考:https://blog.csdn.net/qq_15971883/article/details/80583364MATLAB帮助文档Hough变换是一种使用表决方式的参数估计技术,其原理是利用图像空间和Hough参数空间的线-点对偶性,把图像空间中的检测问题转换到参数空间中进行。利用Hough变换检测直线记住:直角坐标系中的一条直线对应于极坐标系下的一个点。这里的直角坐标系对应于原始图像空间,极坐标系对应于参数空间(也叫Hough空间)。给定一幅图像,如下所示,图像中有一条直线

2021-07-02 16:17:50 350 1

转载 单应性矩阵的理解及求解

转自 :https://blog.csdn.net/liubing8609/article/details/85340015其他资料: 从零开始学习「张氏相机标定法」(一)相机成像模型单应性在计算机视觉中的应用单应性在计算机视觉领域是一个非常重要的概念,它在图像校正、图像拼接、相机位姿估计、视觉SLAM等领域有非常重要的作用。1.图像校正用单应矩阵进行图像矫正的例子如下图所示,最少需要四个对应点对(后面会给出原因)就可以实现。2. 视角变换单应矩阵用于视角变换的例子如下图所示,可以方便地将左

2021-06-30 22:45:08 3245

转载 各尺寸学术会议海报模板[转]

在线下载Poster模板的网址:https://www.posterpresentations.com/free-poster-templates.html自己网上收集的模板:链接:https://pan.baidu.com/s/1ylDr_G5_BolVRXheWyDPcg提取码:hday复制这段内容后打开百度网盘手机App,操作更方便哦PS:校徽扣去背景,设置成白色的方法:在线去底网址:https://www.aigei.com/bgremover (用谷歌、火狐浏览区打开,容差值可以选择

2021-06-25 11:18:55 6601

原创 MFC框架 afx_msg && CComboBox OnDropdown

MFC afx_msgafx是 application framework 应用程序框架产生的消息映射函数例如:afx_msg void OnBnClickedButton1();其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;而在map宏定义中,就有具体消息和此函数的映射定义(可以是自定义,也可以是系统自动完成的)如定义一个Edit的Change处理函数:一、在类的头文件(*.h)中增加 : //{{AFX_MSG(CDialogDemo) afx_msg

2021-05-25 15:14:51 351 2

原创 将NumPy数组转储到csv文件中

csv <==> matrix1.csv ==> matriximport numpymy_matrix = numpy.loadtxt(open("D:\\test.csv","rb"), delimiter=",", skiprows=0)2.matrix ==> csvimport numpynumpy.savetxt("new.csv", my_matrix, delimiter=',')1 tofile是执行此操作的便捷函数:import numpy a

2021-05-11 21:31:22 282

原创 C++ Eigen类

http://eigen.tuxfamily.org/dox/classEigen_1_1Matrix.htmlEigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >_Scalar Numeric type, e.g. float, double, int or std::complex<float>. User defined scalar types are supported as well

2021-04-29 21:06:42 112

原创 Matlab Robotics Toolbox 正逆运动学及轨迹规划

https://www.cnblogs.com/zhongyuliang/p/11077103.html1 理论知识理论知识请参考:机器人学导论++(原书第3版)_(美)HLHN+J.CRAIG著++贠超等译机器人学课程讲义(丁烨)机器人学课程讲义(赵言正)2 机器人建模本仿真程序仿照fanuc_M20ia机器人进行建模。2.1 利用DH矩阵建立机器人模型(modified)经测绘,用如下代码建立DH矩阵使用robot.teach()函数,进行机器人示教clc;%

2021-04-26 21:45:58 1494

转载 Matlab Robotics 逆运动学求解函数(ikine)分析

一. 源代码的解释%SerialLink.ikine Inverse kinematics by optimization without joint limits%% Q = R.ikine(T) are the joint coordinates (1xN) corresponding to the robot% end-effector pose T which is an SE3 object or homogenenous transform% matrix (4x4), and N i

2021-04-25 22:35:21 8953 6

原创 Git学习

https://www.liaoxuefeng.com/wiki/896043488029600/9009379356296641 简介版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。第一步,选择一个合适的地方,创建一个空目录第二步,通过git init命令把这个目录变成Git可以管理的仓库瞬间Git就把仓库建好了,而且告诉你是一

2021-04-23 21:12:11 50

原创 如何在在win10上安装Git

https://www.cnblogs.com/hdlan/p/14395189.htmlGit连接github仓库

2021-04-23 16:08:44 69

原创 MFC学习

1.解决方案相关文件.sln文件和.suo文件为MFC自动生成的解决方案文件,它包含当前解决方案中的工程信息,存储解决方案的设置。2.工程相关文件.vcxproj文件是MFC生成的工程文件,它包含当前工程的设置和工程所包含的文件等信息。.vcxproj.filters文件存放工程的虚拟目录信息,也就是在解决方案浏览器中的目录结构信息。3.应用程序头文件和源文件应用程序向导会根据应用程序的类型(单文档、多文档或基于对话框的程序)自动生成一些头文件和源文件,这些文件是工程的主体部分,用于实现主框架、文

2021-04-17 13:47:23 82

原创 机械臂的动力学:牛顿欧拉法

《运动学好像够用了,我们为什么还需要动力学》干货 | 机械臂的动力学(一):牛顿欧拉法干货 | 机械臂的动力学(二):拉格朗日法我们知道,机械臂是由关节和连杆组成的:关节能够对它所连接的连杆在特定方向施力;连杆则是有质量、有大小(所以惯性张量不可忽略)、不会变形的刚体。由此可见,机械臂动力学的实质就是刚体动力学。欧拉第一运动定律(牛顿定律): 线性动量的变化率等于物体所受的外力刚体可以看作是无数个particle【质点】的集合,刚体的线性动量等于这些particle线性动量的总和。最终,我们

2021-04-10 22:08:12 1587

原创 自适应控制

自适应控制自适应控制所讨论的对象,一般是指对象的结构已知,仅仅是参数未知,而且采用的控制方法仍是基于数学模型的方法但实践中我们还会遇到结构和参数都未知的对象,比如一些运行机理特别复杂,目前尚未被人们充分理解的对象,不可能建立有效的数学模型,因而无法沿用基于数学模型的方法解决其控制问题,这时需要借助人工智能学科,也就是智能控制自适应控制与常规的控制与最优控制一样,是一种基于数学模型的控制方法自适应控制所依据的关于模型的和扰动的先验知识比较少,需要在系统的运行过程中不断提取有关模型的信息,使模型愈来愈

2021-04-09 21:27:31 1293

原创 Matlab S function

s-function利用flag依次调用各个子程序。t是时间,x是中间变量,u是输入,ABCD是赋予的系统参数function sys=mdlDerivatives(t,x,u,A,B,C,D)sys = A*x + B*u; % end mdlDerivatives首先,这些参数传递给mdlDerivatives的 Ax + Bu,计算之后赋予sys,mdlDerivative对该sys进行积分,积分后的值赋予x,然后进行下一个flag。function sys=mdlOutputs(t,x,

2021-04-08 19:09:24 369

原创 径向基函数(RBF)

摘录自:https://blog.csdn.net/qq_42732229/article/details/109514793径向基函数是某种沿径向对称的标量函数,通常定义为样本到数据中心之间径向距离(通常是欧氏距离)的单调函数(由于距离是径向同性的)。理解RBF网络的工作原理可从两种不同的观点出发:当用RBF网络解决非线性映射问题时,用函数逼近与内插的观点来解释,对于其中存在的不适定(参考中有讲解)问题,可用正则化理论来解决;当用RBF网络解决复杂的模式分类任务时,用模式可分性观点来理解比较方便

2021-04-06 16:22:27 794

原创 VS调用堆栈窗口

启动项目后,同时按下 crtl+ alt+c,完成调用堆栈窗口调出。

2021-04-06 15:22:29 3454

原创 科氏加速度

这样就得到理论学中的公式了:绝对速度=牵连速度+相对速度看公式①可以总结一个规律:在定系中考察一个矢量的变化,和在动系中考察一个矢量的变化,结果是不同的,二者相差W{W}W叉乘这个矢量本身。开始公式推导:为何系数是2:从上面的推导其实已经看出来为何会产生2这个系数了,其中一项来自于牵连运动速度的改变,一项来自于相对运动速度改变。前者改变了不同牵连点处的速度大小,后者改变了相对速度的方向(整篇里,我最爱这句话)(我发现有别的答案还给出了很好的物理证明,多翻翻看)力前面为何是负号:其实不仅.

2021-04-01 20:33:42 3439

原创 MATLAB矩阵操作及免疫算法

矩阵元素的查找:矩阵排序:导入txt、excel文件M = importdata('test.txt'); % M 为1*1 structS = M.data; % S 为数据W = xlsread('test.xls')) %读取excel文件免疫算法学习资料来源:【图文】免疫算法_百度文库https://wenku.baidu.com/view/39eb47ec551810a6f52486ee.html?sxts=1523143415445《智能优化算法以及matlab

2021-04-01 15:30:25 165

转载 Tensorflow Session使用和浅析

部分转自知乎:https://zhuanlan.zhihu.com/p/111214142一、 运行机制总的来说,Tensorflow的运行机制包括: 定义计算图和运行计算图两个部分,计算图即模型的构建。其中,比较重要的几个含义如下:tensorflow是一个“符号式编程框架”,所有的计算步骤(包括数据定义等等)都要在一个graph中事先定义好,然后通过session来执行这个graph(全部或部分),得到结果。tensorflow中的Graph(图)和Session(会话)的关系。Tensorf

2021-03-28 22:39:07 347

原创 机器人动力学方程——拉格朗日法

拉格朗日法建立六轴机器人TX90动力学模型机器人动力学方程(二):拉格朗日法尚书提供的代码直接运行存在未定义,此资源可正常运行

2021-03-27 13:56:38 2830 1

原创 机器人惯性参数辨识

尽管一个机器人的惯性参数是一个确定的常量,但由于机器人部件的复杂性及装配误差,使得有些惯性参数甚至对机器人制造者来说也是未知的。而为了建立机器人的动力学模型,其惯性参数又是必须知道的,因此人们开始研究如何通过机器人本身的测量装置所能获得的数据来辨识机器人惯性参数。自从20 世纪 80 年代中期人们认识到机器人的动力学特性是其惯性参数的线性函数后,就把机器人惯性参数的辨识问题转化为解线性方程组的问题:τ=W(q,q˙,q¨)⋅θ\tau = W(q, \dot{q}, \ddot{q}) · \theta

2021-03-26 15:26:56 1359

原创 矩阵的条件数、奇异值分解(SVD)

矩阵的条件数(condition number)是数值分析和线性代数中的一个重要概念,它刻画了矩阵某方面的特性。为矩阵 A 的条件数。结合上面提到的几何意义,条件数同时描述了矩阵A 对向量的拉伸能力和压缩能力,换句话说,令向量发生形变的能力。条件数越大,向量在变换后越可能变化得越多。奇异值分解(SVD)也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:其中 U是一个 m * m 的矩阵, Σ\SigmaΣ 是

2021-03-23 19:10:13 1763

原创 CSDN添加表格神器

一个能将EXCEL表格转化成HTML格式的在线网址:http://pressbin.com/tools/excel_to_html_table/index.html

2021-03-19 13:44:55 88

STL综合练习(演讲比赛).zip

1.1 比赛规则 学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。 比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛 每名选手都有对应的编号,如 10001 ~ 10012 第一轮分为两个小组,每组6个人。 整体按照选手编号进行抽签后顺序演讲。 当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮的比赛。 第二轮为决赛,前三名胜出 每轮比赛过后需要显示晋级选手的信息 1.2 程序功能 开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段 查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csv后缀名保存 清空比赛记录:将文件中数据清空 退出比赛程序:可以退出当前程序

2021-04-21

C++ STL(vector+multimap容器)案例

公司今天招聘了10个员工,10名员工进入公司之后,需要指派员工在那个部门工作 员工信息有: 姓名 工资组成; 部门分为:策划、美术、研发 随机给10名员工分配部门和工资 通过multimap进行信息的插入 key(部门编号) value(员工) 分部门显示员工信息 实现步骤: 创建10名员工,放到vector中 遍历vector容器,取出每个员工,进行随机分组 分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中 分部门显示员工信息

2021-03-16

C++ STL案例(vector+deque容器)

案例-评委打分 有5名选手:选手12345,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。 实现步骤: 创建五名选手,放到vector中 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中 sort算法对deque容器中分数排序,去除最高和最低分 deque容器遍历一遍,累加总分 获取平均分

2021-03-14

C++ 类模板案例实践

实现一个通用的数组类,要求如下: * 可以对内置数据类型以及自定义数据类型的数据进行存储 * 将数组中的数据存储到堆区 * 构造函数中可以传入数组的容量 * 提供对应的拷贝构造函数以及operator=防止浅拷贝问题 * 提供尾插法和尾删法对数组中的数据进行增加和删除 * 可以通过下标的方式访问数组中的元素 * 可以获取数组中当前元素个数和数组的容量

2021-03-12

职工管理系统C++实现

职工管理系统可以用来管理公司内所有员工的信息(利用C++来实现一个基于多态的职工管理系统) 公司中职工分为三类:普通员工、经理、董事长,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责 【普通员工职责:完成经理交给的任务】 【经理职责:完成老板交给的任务,并下发任务给员工】 【董事长职责:管理公司所有事务】 管理系统中需要实现的功能如下: 【退出管理程序】:退出当前管理系统 【增加职工信息】:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号 【显示职工信息】:显示公司内部所有职工的信息 【删除离职职工】:按照编号删除指定的职工 【修改职工信息】:按照编号修改职工个人信息 【查找职工信息】:按照职工的编号或者职工的姓名进行查找相关的人员信息 【按照编号排序】:按照职工编号,进行排序,排序规则由用户指定 【清空所有文档】:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删)

2021-03-09

空空如也

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

TA关注的人

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