自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 机器人动力学建模之牛顿欧拉法推导

机器人动力学建模之牛顿欧拉法推导最近在研究多连杆的机器人建模,发现许多使用牛顿欧拉法的建模方式,都直接采用了如下的一条公式:Fextj=MjVj˙+βjF_{extj}=M_j \dot{V_j}+\beta_j Fextj​=Mj​Vj​˙​+βj​其中:Vj=[UjΩj],这是连杆j相对于惯性系的速度和角速度组成的六维向量(表示在j系下)。V_j=\left[\begin{ma...

2019-07-24 21:23:31 13062 14

原创 Matlab绘图?学会一招就够了——源代码

hello,欢迎来到我的博客你应该是b站来的小伙伴吧~~谢谢你的关注这篇博客的内容是以下这个视频的源代码:Matlab绘图?学会一招就够了代码如下:clc; clear all;close all;%% 生成图窗clc; % 清楚command窗口的文字fig = figure(); get(fig) % 获取figure的相关属性% 需要重点关注的属性% Position,Units属性%% 生成坐标轴区clc;ax = axes;get(ax) % 获取axes.

2022-04-11 16:29:00 2088

原创 Word、PPT、Visio里面怎么插入latex mathcal的数学字符?

欢迎来到我的博客~~今天的问题是怎么在Office的软件里插入latex中mathcal用到的数学字符呢?要明白这个问题,首先得知道latex里mathcal的数学字体是什么?这个字体实际上是math calligraphy,是一种书法字体,里面的每一个字母都有对应的Unicode编码,所以直接在Office软件里输入对应字母的Unicode编码就可以了。比如你想输入F\mathcal{F}F,那么具体方法是:首先到下面这个网址里查表找到F花体对应的Unicode编码,也就是‘U+1D4D5.

2022-03-06 17:29:37 10165 2

原创 鱼眼相机模型和标定

Hello,欢迎来到我的博客~今天的内容是鱼眼相机的建模方法和标定工具的使用主要会介绍鱼眼相机和普通透视相机的联系,以及一种简单的鱼眼相机模型,和标定方法1 鱼眼相机与普通透视相机的关系普通透视相机是我们在日常生活最常用的相机,它的成像模型想必大家都很了解。而鱼眼相机拍摄的图像和普通相机拍摄的有着天壤之别,所以我们直观上很难想象它是如何成像的。但是这里有一种很简单的方法,就可以将一个普通相机改造成鱼眼相机:没错,在普通相机前面加一个反射镜就可以等效成一个鱼眼相机了。大家注意了,这也是给鱼眼.

2021-09-12 11:07:50 5263 1

原创 巴特沃斯数字低通滤波器的设计步骤

Hello,欢迎来到我的博客~~~1 低通滤波器性能指标低通滤波器的主要性能指标有四个:通带截止频率:通带内幅值下降至一定程度时对应的频率,单位为:Hz或角频率阻带截止频率:阻带内幅值高于一定程度时对应的频率,单位为:Hz或角频率通带纹波(衰减):通带中最大幅值和最小幅值之间的差值,单位为:dB阻带衰减:阻带中最大幅值和通带最大幅值的差值,单位为:dB幅值单位:dB,计算方式:20log⁡10A20\log_{10}A20log10​A示例:假如幅值响应是100,那么相当于20.

2021-08-23 13:04:56 33416 4

原创 控制器设计中的传感数据滤波——IIR滤波器的Matlab辅助设计

实际的控制中,传感器的数据总是带有噪声,直接使用容易导致控制器的震荡。因此,对传感器数据进行滤波是需要特别考虑的。由于控制器通常由计算机运算,因此无论是传感信号还是控制信号都是数字信号,所以需要设计数字滤波器。FIR和IIR是两种常用的数字滤波器实现方法,这篇博客将会介绍如何设计一个经典的IIR数字滤波器。1 IIR滤波器IIR滤波器的形式为(离散域形式):H(z)=Y(z)X(z)=∑p=0Mapz−p∑p=0Nbpz−pH(z)=\frac{Y(z)}{X(z)}=\frac{\sum.

2021-08-15 22:44:44 1181

原创 导引律原理介绍

导引律,英文为guidance law,是一种用来引导飞行器到目的点或与目标相遇的算法。它常用在导弹的控制,飞机进场着陆,交会对接过程中。通常,制导系统包含三种类型,包括自主控制,自动寻的,以及遥控制导。其中,自动寻的制导是由导引头感受目标辐射或者反射的能量,自动形成制导指令,控制自身飞向目标的制导技术。这种方式无需人工干预,完全自主控制,因此有重要的应用价值。本文将会介绍在自寻的制导中重要的三类导引律,分别为追踪法,平行接近法,以及比例导引法。1 自寻的制导的相对运动方程相对运动方程是描述导弹和目

2021-08-07 17:25:11 16835 3

原创 非线性扰动观测器NDOB的推导与实例

Hello,欢迎来到我的博客干扰观测器是机器人控制中很重要的一种手段,今天要分享的是一种简单的非线性干扰观测器NDOB的推导,请享用吧1 朴素NDOB观测器推导假设非线性系统方程为:x˙=f(x)+g1(x)u+g2(x)dy=h(x)(1)\begin{aligned}\dot{x}&=f(x)+g_1(x)u+g_2(x)d\tag{1}\\y&=h(x)\end{aligned}x˙y​=f(x)+g1​(x)u+g2​(x)d=h(x)​(1)其中,ddd为扰.

2021-05-26 08:28:15 2935 5

原创 OpenCV Error: Bad argument (Unknown interpolation method) in resize 问题解决

Hello,欢迎来到我的博客这篇博客是关于ROS下使用OpenCV遇到的问题的解决方法,而今天这个问题更为特殊,是在ROS下使用OpenCV的detect功能(如HOG-SVM)时会遇到的。1 问题描述本文的操作环境系统:Ubuntu 18.04ROS版本:melodicOpenCV版本:3.4.3Python版本:3.6IssueOpenCV Error: Bad argument (Unknown interpolation method) in resize, file /b.

2021-03-10 13:52:08 3257 3

原创 ROS 工作空间下编译库文件,安装库头文件到devel文件夹

Hello,欢迎来到我的博客我们在ROS工作空间下编程时,可能会出现这一种情况:我们在一个package下写了一个库,而在另一个package要引用这个库这个时候该怎么处理呢?这篇文章就会告诉你。ROS工作空间编译库文件的方法这个相信大家都不陌生,只要在CMakeLists.txt文件中,加入如下命令即可:add_library(${library_name} ${library_source_file})target_link_libraries(${library_name} ****.

2021-03-05 21:12:16 3300

原创 Nvidia TX2 安装系统教程

1 准备步骤1.1 需要的硬件一台安装有Ubuntu 16.04或者Ubuntu 18.04的主机,也可以是虚拟机。需要注意,截止目前为止,还不支持使用Ubuntu 20.04的主机来给TX2刷机想要给TX2安装Ubuntu 16.04,就使用Ubuntu 16.04的主机。同理,安装Ubuntu 18.04也是一样。注意,通常主机上需要预留40多个G的空间TX2 开发板USB数据线(一头是正常USB口,一头是mini USB口)网线以及路由器1.2 需要的软件Nvidia

2020-10-19 17:05:16 4314

原创 Windows+VSCode+MinGW+CMake环境配置

引言这篇博客介绍的是,如何在windows环境下搭建基于CMake和GCC的开发环境。这里使用的编辑器是VSCode。害怕麻烦的同学不应该搭建这个开发环境,应该直接使用VS Studiao的集成开发环境。而我之所以要搭建这个环境,是因为为了方便在Windows下写好程序,直接移植到Linux系统,这样配置基本可以做到不需要怎么改。OK,让我们开始吧~~~1 软件安装配置这个环境的前提是要安装好:VSCodeCMakeMinGW关于这三个软件的安装,这里就不多介绍了,但是需要注意的是,.

2020-07-09 16:04:49 6404 2

原创 科研小技巧——论文投稿视频制作指南

引言论文投稿视频是投稿论文的补充材料,用于更加清晰直观地展示实验或者仿真结果,吸引审稿人的眼球,给审稿人留下一种高大上的影响。因此,为达到这一目的,我们在制作视频时,要尽可能使视频结构清晰,多用动画的形式展示实验数据,而不是在视频中粘贴论文中的图片,另外对视频的颜色搭配和调色也需要格外注意。1 应用软件视频剪辑:Adobe Premire动画制作:Matlab,Solidworks视频压缩:小丸工具箱2 注意事项视频的尺寸,一般为16:9,也就是通常的1920×10801920\tim.

2020-06-27 11:19:29 3236 3

原创 科研小技巧——MATLAB的编码风格

引言MATLAB是我们在科研工作常用的一种语言,虽然最近有说MATLAB开始禁止一部分中国高校对其的使用,将来国产软件也会逐步赶上,但是目前来说,MATLAB还是值得我们进一步学习的。这一篇文章介绍了MATLAB代码的编写规范,可以帮助我们写出更好的,更可读的代码。毕竟有这么一句话:Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

2020-06-27 08:28:42 937

原创 科研小技巧——制作学术会议报告视频的完整流程

引言近期由于受到疫情的影响,许多学术会议都转到线上举行了。由于各个地方时区不同,许多参会者有可能没办法在自己作报告的时间按时进入线上会议,所以许多会议都要求提供学术报告的视频版本,这篇文章就会介绍,制作学术会议报告视频的全套流程。1 先期准备1.1 必备软件MS Office Word:撰写演讲稿MS Office PowerPoint: 制作PPTGolden Wave:录制、处理、剪辑音频OBS Studio:录屏Adobe Premiere:视频剪辑ARCTIME:字幕工具小.

2020-06-13 09:07:53 3468 5

原创 机器人运动估计——IMU运动方程与ESKF原理介绍(下)

Hello! 欢迎来到我的博客今天的内容关于机器人中常用的传感器IMU,我们用它来实现机器人姿态、速度、位置的估计。今天将会介绍使用低成本IMU进行机器人运动估计的一个常用方法——ESKF。3 Error State Kalman Filter(ESKF介绍)3.1 动机3.2 完整流程3.3 Nominal State 更新3.4 Error State 更新3.5 量测更新...

2020-03-30 13:54:43 8100 13

原创 机器人运动估计——IMU运动方程与ESKF原理介绍(上)

Hello! 欢迎来到我的博客今天的内容关于机器人中常用的传感器IMU,我们用它来实现机器人姿态、速度、位置的估计。今天将会介绍使用低成本IMU进行机器人运动估计的一个常用方法——ESKF。1 四元数基础四元数,英文名称为:quaternion。正如一个单位复数可以表示在复平面上的旋转一样,单位四元数也可以用于表示三维空间中的旋转,并且由于其在更新过程中不会发生奇异现象,因此在惯性导航...

2020-03-29 23:54:54 5195 1

原创 机器人系统辨识——基于MATLAB的非线性系统辨识

Hello,欢迎做客我的博客。这里会介绍关于机器人的方方面面,希望对你有所帮助。今天的内容关于机器人动力学模型的参数辨识,这是在做机器人控制前的关键一步!工具和参考链接由于机器人动力学模型往往都是非线性的,这里用到的工具是:MATLAB的System Identification Toolbox(系统辨识工具箱),其中的Nonlinear Grey-Box Models(非线性灰箱建...

2020-03-25 17:08:29 9226 9

原创 机器人路径规划——关于贝塞尔曲线方程的理解

一阶贝塞尔曲线(包含两个控制点)假设控制点为P0P_0P0​和P1P_1P1​,曲线方程为:B(t)=(1−t)P0+tP1=P0+(P1−P0)t\begin{aligned}B(t)&=(1-t)P_0+tP_1\\&=P_0+(P_1-P_0)t\end{aligned}B(t)​=(1−t)P0​+tP1​=P0​+(P1​−P0​)t​其中t∈[0,1]t...

2020-03-20 14:07:28 2309

原创 机器人运动估计系列(番外篇)——从贝叶斯滤波到卡尔曼(下)

# 机器人运动估计系列(番外篇)——从贝叶斯滤波到卡尔曼(下)前面两篇文章里首先介绍了贝叶斯滤波的理论框架,之后对机器人模型做了线性高斯假设,推出了卡尔曼滤波的迭代方程组。在这篇文章中,就将进一步介绍当机器人模型为非线性时该如何使用贝叶斯滤波。我们将介绍扩展卡尔曼滤波器以及无迹卡尔曼滤波器的由来。《贝叶斯滤波与平滑》,作者:希莫·萨日伽,译者:程建华等。 英文原版:《Bayesian

2020-03-12 17:01:13 604

原创 机器人动力学仿真——状态空间模型的离散化

Hello,欢迎做客我的博客!在动力学仿真中,我们不得不采用迭代的方法进行数值计算,这个时候我们会用到离散化的数学模型。可是,我们在建立模型时,考虑的都是连续的情况,那么如何将一个连续的模型转换为离散模型呢?这篇文章将告诉你答案。1 模型表示方法1.1 连续模型X˙=AX+BUY=CX+DU\begin{aligned}\dot{X}&=AX+BU\\Y&=C...

2020-03-12 15:45:04 3723 1

原创 机器人动力学建模之理解惯性张量

惯性张量是什么?惯性张量是用于描述刚体转动惯性的一个量,并且它是一个矩阵。它通常表示为:I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]I=\left[\begin{array}{lll}I_{x x} & I_{x y} & I_{x z} \\I_{y x} & I_{y y} & I_{y z} \\I_{z x} & I_{...

2020-03-02 18:42:52 13331 2

原创 ROS-RQT学习笔记: 编写一个自己的RQT插件(下)

全文目录什么是RQT?一个RQT Plugin的工程目录各文件详细说明程序运行逻辑编写RQT插件的具体操作步骤4 程序运行逻辑运行顺序:scripts/rqt_mypkg >> src/rqt_mypkg/mypkg.py >> src/rqt_mypkg/mypkg_widget.py5 编写RQT插件的具体操作步骤5.1 创建空工程cd cat...

2020-03-01 19:14:14 779

原创 ROS-RQT学习笔记: 编写一个自己的RQT插件(上)

1 什么是RQT?RQT是ROS中一个基于QT的GUI开发框架, 在这个框架内可以搭载许多GUI小应用, 这些小应用也被叫做rqt_plugin. 利用这个框架就可以在同一个界面内组合多个小应用, 然后打造属于自己的个性化界面,因此非常方便. 另外, 基于RQT框架编写GUI程序, 可以使用统一的API, 关于订阅话题, 发布话题等等都会比较方便, 最重要的是, 这样写出来的GUI小应用不仅可...

2020-03-01 17:07:39 2029 1

原创 Ubuntu+ROS+Pycharm联合调试指南

原理对于ROS里面用Python写的节点,是可以直接用python your_node_name这句话运行的,所以只要我们设置好了PYTHONPATH的依赖路径,就可以用Pycharm来调试ROS的节点.操作步骤1 打开终端2 加载ROS环境变量,以及当前工作空间的环境变量source /opt/ros/kinetic/setup.bashsource your_ROS_wors...

2020-02-28 10:01:23 952

原创 机器人动力学仿真BUG调试记录——速度更新应该放在位置更新前吗?

机器人动力学仿真BUG调试记录——速度更新应该放在位置更新前吗?导言Hello,欢迎做客我的博客。你也在机器人动力学仿真过程中,遭遇了许多BUG吗?没关系,在这里或许能找到你想要的答案!正文先来考虑一个很简单的情况,假设有一个椭圆形物体放置在水中,其密度与水完全相等,并且通过一个光滑铰链固定,此外,假设水没有阻力。如下图所示:1 建模关于这个物体的动力学方程可以列写如下:θ˙=...

2020-02-25 15:25:52 453 5

原创 MATLAB:对于状态空间方程的系统辨识

MATLAB:对于状态空间方程的系统辨识本文介绍了如何利用MATLAB辨识状态空间方程中的未知参数。假设我们的被控系统的表达如下:X˙=[01K1K2]X+BU\dot{{X}}=\left[\begin{matrix}0 & 1\\K_1 & K_2\end{matrix}\right]X + BUX˙=[0K1​​1K2​​]X+BUY=XY=XY=X...

2019-11-17 20:26:50 10264 20

原创 两连杆机器鱼的简单建模以及MATLAB仿真(2)

两连杆机器鱼的简单建模以及MATLAB仿真(2)上一篇文章中,写过了关于两连杆机器鱼建模的方法。实际上,有一个细节值得注意,那就是在联立(1)和(2)方程,求解鱼头加速度,这一步中,是如何联立求解的。一般有两种方式:(1) 假设当前加速度已知,因此,鱼尾的力可以根据(2)式求出,从而把求出的F代入到(1)式中去,求出VbV_bVb​。这也是我们上一篇文章中,使用到的联立求解办法。(2) 假...

2019-10-30 14:04:03 2340 1

原创 两连杆机器鱼的简单建模以及MATLAB仿真

两连杆机器鱼的简单建模方法在机器鱼的建模过程中,无可避免地会遇到一个问题,那就是:机器鱼的推进力是如何产生的呢?如果不想明白这个问题,我们没有对推力建模,机器鱼甚至都无法前进,这样我们的建模工作自然就无法往下进行了。如何对这个问题的解答呢?生物学家会认为鱼类会利用身体摆动产生反卡门涡街,向后喷射,从而获得推进力,但貌似具体的建模方法有些复杂。一些文献中,把鱼尾巴当做是一个机翼,用翼型理...

2019-10-27 23:43:08 4497 2

原创 机器人动力学建模之刚体动力学基础学习

刚体动力学基础学习1 符号rrr:刚体上某个质量微元对固定点O的位置矢径rPr_PrP​:刚体上一点P对固定点O的位置矢径ρ\rhoρ:刚体上某个质量微元对基点P的位置矢径ρc\rho_cρc​:刚体质心C对P的位置矢径mmm:质量vkv_kvk​:点k的速度ω\omegaω:角速度aka_kak​:点k的加速度QQQ:动量GkG_kGk​:关于点k的绝对动量矩Gk′G...

2019-08-28 14:29:41 4887 2

原创 关于机器人运动学与动力学建模的几点领悟

关于机器人运动学与动力学建模的几点迷思疑问1:运动学应该从速度开始推还是从位置开始推?为什么会产生这样的疑问?我们可以从下面这个问题开始!简单说明这幅图的含义:我们定义了两个坐标系,惯性系{s}和移动系{b}。s和b分别是两个坐标系的原点,P是由s点指向b点的向量。现在我们要来考察,两个坐标系原点间的相对速度了!!!表达形式1:直接写速度的关系式Vb=Rsb⋅VsV_b=R_s^b...

2019-07-20 12:30:45 7497 8

原创 《Modern Robotics》阅读笔记6——前向运动学

《Modern Robotics》阅读笔记6——前向运动学前向运动学(Forward Kinematics)是《Modern Robotics》一书的第三章,这章主要介绍的内容就是如何基于旋量理论使用PoE(Product of Exponentials)形式求解机器人的前向运动学。有了之前对于旋量理论的了解,这一章的内容非常简单。前向运动学:描述的是从关节角(关节平移)到机器人末端位姿的映射...

2019-06-05 13:33:23 2476

原创 MPU6050/MPU9150传感器的DMP数据读取中遇到的问题总结

MPU6050/MPU9150传感器的DMP数据读取中遇到的问题总结源代码的问题,本文就不啰嗦了,大家参考正点原子的MPU6050例程即可。MPU9150和MPU6050用一模一样的代码就可以。本文只罗列在DMP使用过程中遇到的坑和解法。问题1:MPU6050的AD0引脚接了3.3V,器件地址在程序中设置了是0X69,但是初始化不成功?首先,一般的初始化代码大致如下://初始化MPU60...

2019-06-01 12:14:03 14818 26

原创 STM32F4 读取双相编码器(附源码)

STM32F4 读取AB相编码器(附源码)1. 原理1.1 AB相编码器1.2 定时器的编码器模式2. 代码代码的流程有三步:GPIO口初始化定时器编码器模式初始化读取定时器计数值源代码如下:void encoder_tim3_init(void){ // GPIO口初始化 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, E...

2019-05-26 15:34:02 13892 10

原创 《Modern Robotics》阅读笔记5——刚体的运动(五)

《Modern Robotics》阅读笔记5——刚体的运动(五)前面铺垫了那么久,今天终于要讲到正题了。1. 前文小结这关于刚体运动的这五篇文章实际上就是在讲两件事:1.刚体旋转如何表示?2.刚体运动(包括刚体的旋转+平移)如何表示?对于1刚体旋转我们介绍了两种表示法,一种是旋转矩阵,另一种是轴角表示法(指数表示法)旋转矩阵:R∈SO(3):3×3R \in S O(3) ...

2019-05-23 20:40:11 1225 2

原创 《Modern Robotics》阅读笔记4——刚体的运动(四)

《Modern Robotics》阅读笔记4——刚体的运动(四)1. 旋转的指数坐标表达法上图中,我们假设p(0)p(0)p(0)向量,沿着ω^\hat{\omega}ω^轴旋转θ\thetaθ

2019-05-22 17:29:12 990

原创 一篇“从入门到上手”的Solidworks机械设计教程

一篇“从入门到上手”的Solidworks机械设计教程

2019-05-17 20:19:25 11151

原创 一篇“从入门到上手”的PCB设计教程

一篇“从入门到上手”的PCB设计教程这是一篇面向神马都不懂的小白玩家的PCB设计教程。希望能帮助大家快速上手PCB的设计。1 预备知识1.1 常用工具(1)做图工具:Altium Designer(2)PCB板加工:嘉立创(3)元件封装搜索:Electronic Components Datasheet Search(4)元件3D模型搜索:3D ContentCentral(5)...

2019-05-16 14:43:23 116212 14

原创 《Modern Robotics》阅读笔记3——刚体的运动(三)

《Modern Robotics》阅读笔记3——刚体的运动(三)这篇文章主要讨论了角速度和旋转矩阵的表示方法。1. 角速度定义这幅图的左图中,坐标系{x^,y^,z^}\{\hat{x},\hat{y},\hat{z}\}{x^,y^​,z^}绕着ω^\hat{\omega}ω^旋转,经过Δt\Delta{t}Δt的时间,旋转了Δθ\Delta{\theta}Δθ的角度。假设Δt\Del...

2019-05-06 08:52:52 819 1

原创 《Modern Robotics》阅读笔记2——刚体的运动(二)

《Modern Robotics》阅读笔记2——刚体的运动(二)在这篇文章中,主要讲述的是旋转矩阵和角速度的内容。1. 旋转矩阵与特殊正交群(刚体的三维运动表示方法)旋转矩阵的概念不用再介绍。我们知道,旋转矩阵有9个元素,但其中可以自由选取的元素只有3个,因为旋转矩阵必须满足额外的6个约束,这些约束可以总结为下面的式子:RTR=IR^TR = IRTR=I以及:detR=Idet R ...

2019-04-24 08:42:42 716

IEEE期刊名称缩写官方文件

IEEE期刊名称缩写,期刊用词写作规范,官方文件,保证权威

2020-06-03

MATLAB参数辨识的小例子.zip

一个关于MATLAB的系统辨识工具箱的小例子。以最简洁的形式展示了MATLAB系统辨识工具箱用于非线性系统辨识的操作方法。

2020-03-25

VideoDVR驱动.zip

VideoDVR和EasyCap驱动以及视频软件,驱动适用于Win10操作系统。VideoDVR和EasyCap驱动以及视频软件,驱动适用于Win10操作系统。VideoDVR和EasyCap驱动以及视频软件,驱动适用于Win10操作系统。

2019-10-26

STM32开发快速入门资料

STM32F4快速入门资料,STM32F4开发指南-库函数版本_V1.1

2018-10-17

空空如也

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

TA关注的人

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