自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 【PX4飞控】右手坐标系与右手系旋转正方向的定义与判断方法

右手坐标系与右手系的旋转正方向的定义与判断方法

2025-06-10 22:53:59 224

原创 【Linux】服务器反向代理自动续签免费 Let‘s Encrypt 证书报错解决方法

服务器反向代理自动续签免费 Let's Encrypt 证书报错解决方法

2025-06-10 11:03:37 386

原创 【Linux】使用1Panel 面板让服务器定时自动执行任务

服务器就是一台24小时开机的主机,相比自己家中不定时开关机的主机更适合完成定时任务,例如下载资源、备份上传,或者登录某个网站执行一些操作,只需要编写 脚本,然后让服务器定时来执行这个脚本就可以。点击创建计划任务,有多种类型,如果只是每几个小时执行一个 python 脚本,就选择第一种。确认后,点击执行(立即运行一次任务),再查看报告,发现命令是以 root 用户执行的。我们希望是以普通用户,如 ubuntu,执行脚本。用绝对路径指定脚本,执行周期根据个人需要修改,可以有多个周期。

2025-06-09 22:38:15 369

原创 【MPC-C++】qpOASES 源码编译与链接,编译器设置细节

一些对实时性要求高的场合比如 MPC,可以进一步考虑开启架构适配。让编译器自动检测你当前编译机器的 CPU 架构,并为该 CPU 生成最优的本地代码。但是这样可能带来额外的适配性问题,网上有较多的讨论,也不能过于依赖编译器。需要综合数学问题转换、数值求解原理(如根据问题特点选择 qpOASES/OSQP/HPIPM)、求解器配置、代码实现和编译器配置来调优。同样建议指定项目的构建版本和优化等级。指定了 O3 的最高优化等级。之后就可以在自己的项目中链接库和头文件。接下来是构建,有一些细节。

2025-06-09 20:45:18 384

原创 【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法

本文分析了MAVROS中三个携带经纬度信息的ROS话题:/mavros/global_position/raw/fix、/mavros/gpsstatus/gps1/raw和/mavros/global_position/global。

2025-06-09 18:44:25 1154

原创 【Linux】Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法

对于标准的.desktop总结一下,如果想为普通用户创建应用图标,可以优先将 .desktop 文件放在前两个路径下,不需要 sudo 权限。另外路径1是将图标放在系统的桌面,也就是开机后看到的界面上,路径2则是放在菜单中,点击 All 展开后可以看见图标。

2025-06-07 19:16:48 1072

原创 【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式

针对Visio/PPT中Mathtype公式渲染差且Ubuntu支持不佳的问题,推荐使用跨平台绘图工具drawio。该工具提供在线版和桌面版(支持Win/Ubuntu系统),内置丰富元素库,可绘制坐标图、流程图等,并支持LaTeX公式插入。编辑文件可导出为多种图片格式,虽无直接EPS输出,但可通过先导出PDF再使用Inkscape转换为EPS(Ubuntu命令示例已给出)。工具界面支持中文,适合需要高质量公式渲染的技术绘图需求。

2025-06-07 18:53:12 441

原创 【Linux】为 Git 设置 Commit 提交模板方法,可统一个人或者项目的提交风格

Git Commit 提交模板设置方法

2025-06-05 15:15:58 258

原创 【Linux】Ubuntu 20.04 英文系统显示中文字体异常

解决新安装的 Ubuntu 20.04 英文系统中文字体显示问题

2025-06-02 11:20:35 405

原创 【Linux】如何清除 Ubuntu 留下的 EFI 分区,Windows 磁盘管理器右键删除卷是灰色

在重装 Ubuntu 时,在 Windows 磁盘管理器中无法删除受保护的 EFI 分区的解决方法

2025-05-18 01:40:38 320

原创 【PX4飞控】在 Matlab Simulink 中使用 Mavlink 协议与 PX4 飞行器进行交互

在 Matlab/Simulink 环境中,通过 Mavlink 协议与 PX4 飞行器进行交互,可以实现多种功能。首先,可以编写 m 脚本建立 UDP 连接,实时可视化 Mavlink 消息内容,或离线分析数据,利用 Matlab 的 Plot 功能定制化显示信息,作为 QGC 和 Mavros + plotjuggler 的补充。其次,通过 m 脚本与飞行器建立 UDP 连接,可以拉取或批量刷飞控参数,统一多飞行器参数,提高效率。此外,在 Simulink 中实现推送/拉取航点、设置/拉取参数的方法,虽

2025-05-15 22:02:05 330

原创 【Matlab】2024a 版本 Simulink 编译生成 ROS代码,Python 解释器路径未设置报错解决方法

记录 Ubuntu 系统 2024a 版本 Simulink 生成 ROS 代码,Build Model 过程中 Path to Python Executable is not set. Set the path to the Python executable using ROS Toolbox preferences. 报错解决方法

2025-02-14 17:26:09 280

原创 【PX4飞控】推力矢量+偏航角转四元数源码阅读与算法分析

PX4 使用了串级 PID 控制器,其中速度控制器的输出是一个三维的推力矢量,代表了机体Z轴期望的方向,结合用户直接输入的偏航角,经过转换算法得到四元数与总油门(归一化的推力)。之后,四元数输入内环控制器(角度+角速度)进行响应,得到力矩指令。三个轴的力矩结合总油门经过混控,最终分配到四个电机油门,再经过非线性补偿与PWM发生,交给电调去响应…可以看到速度控制器的输出是推力矢量,并不是直接输入到角度控制器中的。角度控制器需要的是使用四元数描述的期望姿态。因此需要一个转换环节。这篇文章讨论一下这个转换算法

2025-02-13 19:36:50 1031

原创 【Linux】列出所有连接的 WiFi 网络的密码

Ubuntu 系统电脑列出所有连接过的 WiFi 网络的密码

2025-01-24 16:07:50 749

原创 【Airsim 仿真】查找配置文件 settings json 的路径优先级

Airsim 查找配置文件 settings json 的路径优先级

2025-01-24 13:50:43 573

原创 【Airsim 仿真】项目结构分析

分析 Airsim 最核心的 AirLib 项目结构,以及其与 Unreal 项目的关系

2025-01-21 14:32:43 638

原创 【PX4飞控】mavros_msgs PositionTarget 字段含义与发布方法

mavros_msgs/PositionTarget 发布方法

2025-01-05 12:53:49 1165

原创 Word 右键内容不显示段落/字体问题解决

Word 右键内容不显示段落/字体问题解决方法

2024-12-06 22:41:07 1695

原创 【PX4飞控】二次开发1—加速度转期望姿态算法修改

PX4 v1.14.0 的加速度转换姿态四元数代码有些问题,z轴期望加速度不为0时,xy轴期望加速度会移入额外误差,这个 BUG 在 PX4 v1.15.1 中已经修正,但是又有额外的问题。因此还是使用 v1.14.0,只是修复相关代码。

2024-12-06 22:39:17 741

原创 【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados

20241114 记录一下 Ubuntu 20.04 下安装 MPC 中两种常用开源 NLP 优化器 CasADi + Ipopt / acados

2024-11-14 10:36:12 3017

原创 【Linux】Github 仓库克隆速度慢/无法克隆的一种解决方法,利用 Gitee 克隆 Github 仓库

介绍了 Github 仓库克隆速度慢/无法克隆的一种解决方法,利用 Gitee 克隆 Github 仓库

2024-11-13 23:27:25 920

原创 【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装

给出判断 sudo make install 命令往系统中安装了什么的方法,以应对:比如 sudo make install 接下来可能破坏系统中的一些依赖关系,又或者出于其他安全考虑;如果是一名开发者,也不一定会将动态库安装到公共目录下。

2024-11-13 01:38:29 518

原创 【Simulink】使用 ZOH 离散化二阶积分器系统,如何理解精确的离散时间系统模型 含仿真代码

常见的离散化方法有很多,大致可分为解析与数值两类,核心都是在精度与成本之间做取舍,工程中了解每种方法的精度的损失来源与排序,选择满足自己要求的离散模型即可。这篇文章重点是讨论“精确”离散化这一概念与ZOH离散化方法的理论推导,并以二阶积分器系统为例,给出具体实现步骤。

2024-11-11 23:13:46 1434

原创 【ROS1】如何在程序中判断 roscore 是否正常运行 强制结束 rosmater 进程方法

介绍几种在程序中判断 rosmaster 是否正常运行,以及如何强制杀死后台运行的 rosmaster 的方法。

2024-11-11 21:07:27 532

原创 【ROS1-Simulink】使用 Simulink 按时间序列发布航点到 ROS 话题 可同时在线发布多个个体的航点 Simulink 发布 PoseStamped 消息注意事项

使用 Simulink 按时间序列发布航点到 ROS 话题,可同时发布多个个体的航点,包含 Simulink 发布 PoseStamped 消息注意事项

2024-11-11 15:15:53 910

原创 【PX4飞控】位置控制器源码阅读与算法分析(带速度饱和的比例控制)

使用 v1.14.0 版本 PX4飞控,分析外环的位置控制器代码。飞控主要使用带水平与Z轴速度饱和的比例控制方法。

2024-11-10 23:29:40 1828

原创 【Qt】在 Qt Creator 中使用图片资源方法(含素材网站推荐)

在 Qt Creator 中使用图片资源方法(含素材网站推荐)

2024-11-10 23:13:48 1462

原创 【Linux】CMake 新/旧版本的安装方法

建议优先选择自己项目需求的版本,可以手动源码安装高版本的CMake,以便使用最新特性。

2024-11-09 23:38:59 1616

原创 【Qt-ROS开发】Ubuntu 20.04 + Qt 5.15.2 + Qt Creator 10.0.1 + ROS Noetic + ros_qtc_plugin 联合开发环境配置

Ubuntu 20.04 + Qt 5.15.2 + Qt Creator 10.0.1 + ROS Noetic + ros_qtc_plugin 联合开发环境配置

2024-11-09 23:25:02 1339

原创 【Linux】如何通过终端命令查看当前可用网络 WIFI + 设置已配置网络的连接优先级 + 连接/断连网络

通过命令行检查和配置网络状态,调整wifi连接优先级与策略。

2024-11-08 22:53:54 915

原创 【Qt-ROS开发】使用 Qt Creator 构建和编译含 ROS 库的 Qt 项目

实际中,更多的使用场景是,在Qt 界面的主线程实例化一个ROS节点,如果还需要开启 ROS 的事件处理循环(使用订阅者和定时器回调才需要,只是发布者不需要)可以放在 QThread 启动的其他线程中。在 Qt Creator 中想要调用 ROS 相关库需要设置相关环变量,告诉 CMake 构建工具 ROS 的安装路径。

2024-11-08 22:14:15 637

原创 【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒

自定义快捷键执行终端命令,执行完毕会有弹窗提醒。比如设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒。

2024-11-08 15:57:18 480

原创 【MPC-Simulink】EX04 信号归一化简化权重调节过程与提高数值计算质量

参考Matlab官网手册,在 MPC 控制器中指定缩放因子,可以简化权重调节过程,提高数值计算质量。

2024-11-08 15:40:40 1072 1

原创 【Linux】获得同一子网下当前在线设备IP/Latency/MAC 通过nmap指定CIDR扫描当前在线设备

Nmap 是一个强大的网络扫描工具,提供了丰富的功能,用于发现网络中的主机、服务、操作系统、版本、漏洞等信息。通过 Nmap 可以实现扫描指定子网下当前在线设备的 IP 地址、通信时延与 MAC

2024-11-07 15:55:18 1378

原创 【MPC-Simulink】EX03 基于非线性系统线性化模型MPC仿真(MIMO)

参考 Matlab 官网手册,以零初始状态条件下的非线性系统在线性化后得到的多输入多输出(MIMO)预测模型为例,使用 Simulink 闭环仿真模型预测控制(MPC)。

2024-11-07 14:02:35 1462

原创 【MPC-Simulink】EX02 高阶线性系统MPC仿真与调试(LTI-MISO)

参考 Matlab 官网手册,以多输入单输出(MISO)的线性时不变( LTI)系统为例,通过 Matlab 循环与 Simulink 模型两种方式闭环仿真模型预测控制(MPC)。

2024-11-07 03:36:49 2812

原创 【ROS1-Simulink】EX01 大小可变消息发布原理 & *MultiArray与String消息发布方法

有时需要通过 ROS1 发布多个同一类型的信号作为信号源,用于控制与记录,ROS 中专门提供了一类名字带有 MultiArray 的消息可以满足需求。想要在 Simulink 中发布这些消息,需要额外配置一些参数,以下是配置方法。

2024-11-06 16:35:18 738

原创 【MPC-Simulink】EX01 二阶积分器系统MPC仿真(LTI-SISO)

然后加入MPC模块,mv端口连接第一个积分器输入加速度控制信号,mo端口接第二个积分器输出的位置信号(mo指测量输出,这个例子测试的是单输入单输出系统的MPC控制,所以速度作为中间状态没有用到其测量值)。运行仿真,可以看到加速度先到饱和值1,产生正向速度;然后到-1,提前减速,减少了位置超调;当然控制效果可以通过调参进一步完善。双击MPC模块,选择控制器是刚才命令行创建的 mpcobj 控制器对象,这里不需要点击 Design。可知 Weights 字段用来调节标准代价函数的权重,里面都是无量纲的值。

2024-11-01 01:00:19 572

原创 【Matlab】Ubuntu 20.04 安装 MATLAB 2022a 可能遇到的问题汇总 低级图形错误/闪退/so版本报错/快捷键/无法保存…

解决 Ubuntu 20.04 Matlab 2022a 使用常见问题。

2024-10-28 14:23:18 1907

原创 【Matlab】绘制动图的四种方法对比-handle更改属性/plot重新绘制/animatedline/movie-动图保存gif文件

创建时,第一个输入参数传入(axes)的句柄ax,使用变量保存返回的创建得到的图形对象的句柄,方便后续修改该对象的属性,如颜色、线型、XYZ数据。

2024-10-17 18:56:24 2862

Simulink仿真,二阶积分器系统,连续状态空间模型与ZOH零阶保持器离散模型对正弦信号输入响应对比描述

Simulink仿真,二阶积分器系统,连续状态空间模型与ZOH零阶保持器离散模型对正弦信号输入响应对比描述。

2024-11-11

空空如也

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

TA关注的人

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