自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

置心一处,便无事不办

机器人技术分享,结构设计、控制算法 ... ...

  • 博客(35)
  • 收藏
  • 关注

原创 MATLAB 动画技术

绘制动画的每一帧,组合起来按照帧率播放每次运行程序,实时计算和绘制动画(适用于实时计算量不大,动画复杂度较低)记录每一帧动画组合成影片,离线保存或播放。

2024-09-19 23:14:59 799

原创 Ubuntu 安装中文输入法

如果你使用英文安装 Ubuntu 的话,安装完成后,系统默认只有英文的语言支持包,不能进行输入法切换。

2024-06-18 20:08:58 534

原创 Ubuntu 安装快速文件搜索工具 FSearch

FSearch 是一个快速的文件搜索实用程序,灵感来自 Everything Search Engine。它是用 C 编写的,并基于 GTK3。>> 官网地址。

2024-06-18 20:06:56 649

原创 Ubuntu 安装完成后的常用系统设置

Ubuntu 安装完成后,通常需要对系统进行一些设置开改善我们的使用体验,本文只针对系统设置,进一步优化使用体验的文件见 [[Ubuntu 优化体验]]

2024-06-18 20:03:25 409

原创 QRandomGenerator 生成随机数

Qt 6 已经舍弃了Qt 5 中产生随机数的方法 qrand() 和 qsrand(),取而代之的是 QRandomGenerator 类,它可以产生高质量的随机数。

2024-06-18 19:58:31 982

原创 使用 connectSlotsByName 自动匹配信号和槽

在使用 designer 设计图形化交互界面添加信号槽功能时,我们是不需要手动进行信号和槽函数的 connect 的,因为在生成的 ui_XXX.h 文件中调用了 QMetaObject::connectSlotsByName它能够自动将子对象的信号与槽进行连接。只要满足以下格式就能自动连接上。

2024-06-18 19:55:38 275

原创 Qt 使用前置声明而不直接包含对应头文件的目的

Qt 是 C++ 一个最为流行的开发框架,初学 Qt 时,如果 C++ 的基本功不够,对于 Qt 中的一些代码可能不能理解。例如下方代码:使用 Qt Creator 新建带有 MainWindow 的默认 GUI 工程Q_OBJECTpublic:private:delete ui;推荐使用前置声明,尽量避免直接包含对应头文件自定义类、函数和变量的名字时,不要和 Qt 框架内置的类、函数、变量重名。

2024-06-18 19:52:31 862

原创 Qt 项目中 include 搜索路径及包含过程

C/C++ 中,头文件的引入通常使用#include一般规定,用于引入系统标准头文件,优先从系统路径中搜索;用于引入用户自定义的头文件 ,优先从当前目录搜索。

2024-06-18 19:50:51 404

原创 QTimer 定时器

QTimer 是软件定时器,其父类是 QObject。QTimer 的主要功能是设置以毫秒为单位的定时周期,然后进行连续定时或单次定时。启动定时器后,定时溢出时 QTimer 会发射 timeout() 信号,与 timeout() 信号关联的槽函数可以进行定时处理。属性属性值类型功能intervalint定时周期,单位是毫秒singleShotbool定时器是否为单次定时,true 表示单次定时timeType定时器精度类型activebool。

2024-06-17 09:33:02 393

原创 QElapsedTimer 计时器

QElapsedTimer 用于快速计算两个时间的间隔时间,是软件计时器。QElapsedTimer 没有父类,其计算精度可以达到纳秒级。QElapsedTimer 的主要用途是比较精确地确定一段程序的运行时长。函数原型功能复位并启动计时器返回已运行的时间,单位:毫秒返回已运行的时间,单位:纳秒重新启动计时器。

2024-06-17 09:32:09 440

原创 Qt 日期时间数据

日期数据:2019/8/12,2023/7/16,时间数据:13:10:34,21:45:32QTime:表示时间数据类型,例如:12:41:16QDate:表示日期数据的类,例如:2023-7-16QDateTime:表示日期时间数据的类,例如:2023-7-16 12:41:16这 3 个类都没有父类,它们只用于存储日期时间数据,并定义接口函数用于数据处理。为了在 UI 界面上输入和显示这些日期时间数据,Qt 定义了几个用于日期时间数据处理的界面组件类。

2024-06-17 09:31:02 407

原创 Qt 常用数据类型符号和常用函数

Qt 开发中,涉及一些常用的数据类型以及数据运算函数,在此做记录便于查阅和使用。

2024-06-17 09:29:34 952

原创 Qt 添加资源文件(.qrc)

在编写程序的时候经常用到图片来美化应用程序的 UI 界面,除了图片外,还有视频、音频等等其他类型的资源文件。所谓资源文件,即程序可以从中读出需要的各种预先添加好的文件。Qt 提供了一套管理资源文件的方法,本文介绍如何使用 Qt Creator 管理和使用资源文件。

2024-06-17 09:27:09 599

原创 Qt 工具链及项目的构建、编译过程

Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们介绍 Qt 使用到的工具链。Qt 安装后会出现Qt CreatorDesignerAssistantLinguist等工具,他们有什么用呢?观察 Qt 项目编译后的输出目录,会发现有那么几个特定的文件:moc_xxx.cpp、moc_xxx.h、qrc_xxx.cpp、qrc_xxx.h、ui_xxx.h。

2024-06-17 09:23:46 1297

原创 Qt 构建套件

MSVCMinGWAndroid本文主要讲解构建套件 MinGW 和 MSVC>> 构建套件的安装路径:假设 Qt 的安装根目录为D:\Qt当我们在选择构建套件(Kit)后,其安装路径为「mingw_64」和「msvc2019_64」 这两个目录下各自包含了在目标平台下使用 Qt 框架开发所需要使用的类、库以及工具。Qt 类库目录结构详情见Qt 安装目录结构分析。

2024-06-17 09:21:18 616

原创 Qt 字符集与编码

有时候程序显示的中文是乱码,这就需要对编码有一定的了解才能避免中文乱码的问题。

2024-06-17 09:18:41 775

原创 Qt 安装目录结构分析

了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。

2024-06-17 09:16:19 1171

原创 Windows 搭建 Qt 开发环境

随着 Qt 的更新换代,Qt 的版本非常多,目前大部分可能还在使用 Qt 5 系列,随着 Qt 6 的到来,Qt 的安装方式采用在线安装,不同于以往的离线安装,在线安装的方式便捷但也可能遇到问题。Qt 的版本选择,如果对旧版没有特殊要求的话,建议选择最新的长期支持版(LTS),确保软件稳定运行的同时还能及早享受新特性新功能的好处。目前 Qt 5 系列最后一个长期支持版是 Qt 5.15 LTS,Qt 6系列截至目前 2023.5.18,最新的长期支持版为 Qt 6.5 LTS。Qt 6.5。

2024-06-17 09:13:43 788

原创 (Git)Git Bash 常用操作

【代码】(Git)Git Bash 常用操作。

2024-06-17 09:06:33 175

原创 (Conda)conda 和 pip 混用

在没有办法用 Conda 下载包的时候,只能使用 pip 工具。但我们要清楚当前使用的 pip 所属于哪一个环境下。只会显示系统环境中的 pip 和 conda 安装目录下的 pip。Conda 的包数量远小于。环境或退出环境时,使用。

2024-06-17 09:01:59 323

原创 (Conda)Mamba 的安装和使用

Conda作为目前使用较为广泛的开源包管理系统和环境管理系统工具,可以使我们方便快捷的部署针对不同项目的隔离环境,以及安装和管理第三方库、软件包。但美中不足的是,即使使用连接速度更快的国内镜像,也摆脱不了其单线程挨个下载资源导致的低效问题。而Mamba(黑曼巴)专为加速Conda而生,其改写了Conda下载资源的固有方式,以多线程的方式对网络资源进行并行下载,从而大幅提升Conda效率当然Mamba并不是重写了Conda所有的功能,只是针对一些Conda低效的功能进行重写,并添加了一些实用的新功能。

2024-06-17 08:59:54 3700 3

原创 (Conda)Conda 基本使用

Conda 允许创建单独的环境,其中包含不与其他环境交互的文件、包及其依赖项。环境中的包在小环境中依然可以调用,因此不需要在每个环境里都安装一遍。基础环境里最好不要装任何包,除非你清楚这个包对原生环境的影响。的 Python 环境。但是,如果不想将包安装至默认的。可以创建单独的环境以使程序彼此隔离。当开始使用 conda 时,默认拥有一个名为。

2024-06-17 08:55:30 377

原创 (Conda)Conda 概述

Conda 是一个运行在 Windows、macOS 和 Linux 上的开源包管理系统和环境管理系统。最常见的就是,利用 Conda 工具方便快捷的创建多个互相独立的 Python 环境,以满足对 Python 环境有不同要求的项目。Conda 可以认为是一个工具,用来下载、安装和更新包。

2024-06-17 08:51:13 1056

原创 (坤维KWR62B)自定义串口协议解码

KWR62B 采样频率 1 kHz,适用于 RS422 通信、RS422 转 USB 通信,在使用 RS485 接收设备连接本型号传感器时,传感器只发送数据,不接收数据。

2024-06-16 23:20:32 1030

原创 (Touch™)搭建 Ubuntu 开发环境

Touch™ 力反馈设备支持 Windows 和 Linux 平台,本文将介绍如何在 Linux 平台上安装 Touch™ 驱动及运行开发包自带的 demo 示例>> 注意:虚拟机中无法正常安装使用 Touch™。

2024-06-16 23:12:37 1000

原创 (Touch™)搭建 Windows 开发环境

> OpenHaptics 开发包参考文档。

2024-06-16 23:10:54 645

原创 五次多项式轨迹生成

三次多项式轨迹虽然在速度上连续,但加速度却不连续,为了使电机在加速度上也获得连续,因此除了首尾位置和速度的约束,还需要对首尾的加速度进行约束。因此共有六个约束条件:起始位置s0s_0s0​、结束位置sfs_fsf​、起始速度s˙0\dot{s}_0s˙0​、结束速度s˙f\dot{s}_fs˙f​、起始加速度s¨0\ddot{s}_0s¨0​、结束加速度s¨f\ddot{s}_fs¨f​sta0a1ta2t。

2024-06-16 23:00:47 1138 1

原创 轨迹生成——三次多项式

一段平滑的运动轨迹,至少要求位移曲线平滑、速度曲线连续,即至少需要满足四个约束条件:起始位置s0s_0s0​、结束位置sfs_fsf​、起始速度s˙0\dot{s}_0s˙0​、结束速度s˙f\dot{s}_fs˙f​sta0a1ta2t2a3t3(1)sta0​a1​ta2​t2a3​t31缺点:虽然速度连续,但加速度是不连续的,因此存在柔性冲击,对电机的运作和寿命不利。

2024-06-16 22:58:50 883

原创 机器人六维力传感器的重力补偿

在机器人末端加装六维力传感器,可以感知外界力输入,由此可以实现机器人的柔顺控制。实际使用时,六维力传感器将安装在机器人末端法兰与工具之间,工具的重量会反应在六维力传感器的读数中,为了使六维力传感器的读数直接代表工具与外界产生的接触力,需要对工具进行重力补偿。压力传感器由于自身系统误差(受温度、装配松紧程度影响),在无负载时零点可能不为 0,但一般来说为常值,同时可能存在零点漂移现象。每次上电后,六维力传感器的零点不同零点在一次上电后保持为常值本篇主要考虑六维力传感器的零点,忽略零点漂移的影响。

2024-06-16 22:52:58 1348 2

原创 MATLAB函数的相关使用

MATLAB的4种函数使用【主函数、子函数、嵌套函数和重载函数】函数编写基本格式function[输出参数] = 函数名(输入参数)函数体end注意事项:函数名可以和文件名不同,因为调用时是以文件名来调用函数,因此在函数名不同时,依旧可以通过文件名(参数)的方法调用end可以不加主函数M文件中一个函数为主函数,其余函数皆为子函数,调用该文件函数时,率先调用主函数子函数在一个M文件种,除主函数外的所有函数皆为子函数,子函数不能与主函数重名嵌套函数函数体内定义其他函数,所有函数

2021-02-24 21:33:39 594

原创 2021-01-06

VS2019 永久配置OpenCV :前言避免重复配置Opencv库,提高工作效率,记录配置过程提示:以下是笔者实际操作经验,仅供参考一、步骤流程1、创建新项目2、选择空项目(其他也可以)3、保存在桌面,方面后面找到他的属性文件4、点击属性管理器5、找到Debug|x64右键新建属性表6、取个明眼的名字,方便后期使用7、找到新建的属性表,右键属性8、按照图所示的步骤添加opencv的包含目录和库目录9、添加依赖项,Debug模式选择opencv_world4

2021-01-06 17:26:03 101

原创 手动安装配置runtime后,matlab无法识别runtime问题(完美解决)

手动安装配置runtime后,matlab无法识别runtime问题(完美解决)废话省略,解决步骤如下在 Matlab 命令行窗口输入 compiler.runtime.download按 Ctrl + C 键,终止下载,复制此时弹出的下载连接地址,粘贴到网页正常下载下载完成后,正常安装,之后进入matlab应用程序中继续选择桌面独立应用打包选项仍出现需要从Web下载runtime窗口,选择是,等待数分钟识别配置runtime成功,后续打包过程正常,问题解决注:本方法可能是第一个解决该类问

2020-06-26 22:07:03 7900 4

原创 Opencv-Python学习笔记(三) 第二章 Opencv的GUI特性(2)

Opencv-Python学习笔记第二章 Opencv的GUI特性(2)2.2 对视频的操作2.2.1 用摄像头捕获视频此文档为本人(初学)主要参考由段力辉翻译的OpenCV-Python中文教程官方教程,并结合多方资料总结成学习笔记,如有侵权请联系本人第二章 Opencv的GUI特性(2)2.2 对视频的操作目标:学会读取视频文件,显示视频,保存视频文件学会从摄像头获取并显示视频...

2019-08-08 15:02:24 280

原创 Opencv-Python学习笔记(二) 第二章 Opencv的GUI特性(1)

Opencv-Python学习笔记第二章 Opencv的GUI特性2.1 对图片的操作2.1.1 读入图像此文档为本人(初学)主要参考由段力辉翻译的OpenCV-Python中文教程官方教程,并结合多方资料总结成学习笔记,如有侵权请联系本人第二章 Opencv的GUI特性2.1 对图片的操作2.1.1 读入图像目标:学会读入图像、显示图像、保存图像学习函数:cv2.imread()...

2019-08-07 19:51:48 340 3

原创 Opencv-Python学习笔记(一) 第一章 学习前的准备工作

Opencv-Python学习笔记第一章 学习前的准备工作1.1 安装python1.2 开发环境的搭建1.3 安装需要的python包1.4 学习前的小试身手此文档为本人(初学)主要参考由段力辉翻译的OpenCV-Python中文教程官方教程,并结合多方资料总结成学习笔记,如有侵权请联系本人第一章 学习前的准备工作1.1 安装python安装步骤可参考Python的下载和安装*笔者安...

2019-08-06 11:29:09 335 1

空空如也

空空如也

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

TA关注的人

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