- 博客(31)
- 收藏
- 关注
原创 【Matlab】2024a 版本 Simulink 编译生成 ROS 代码,“Path to Python Executable is not set. Set the path to the Pyt
记录 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
205
原创 【PX4飞控】推力矢量+偏航角转四元数源码阅读与算法分析
PX4 使用了串级 PID 控制器,其中速度控制器的输出是一个三维的推力矢量,代表了机体Z轴期望的方向,结合用户直接输入的偏航角,经过转换算法得到四元数与总油门(归一化的推力)。之后,四元数输入内环控制器(角度+角速度)进行响应,得到力矩指令。三个轴的力矩结合总油门经过混控,最终分配到四个电机油门,再经过非线性补偿与PWM发生,交给电调去响应…可以看到速度控制器的输出是推力矢量,并不是直接输入到角度控制器中的。角度控制器需要的是使用四元数描述的期望姿态。因此需要一个转换环节。这篇文章讨论一下这个转换算法
2025-02-13 19:36:50
960
原创 【Airsim 仿真】查找配置文件 settings json 的路径优先级
Airsim 查找配置文件 settings json 的路径优先级
2025-01-24 13:50:43
511
原创 【PX4飞控】mavros_msgs PositionTarget 字段含义与发布方法
mavros_msgs/PositionTarget 发布方法
2025-01-05 12:53:49
946
原创 【PX4飞控】二次开发1—加速度转期望姿态算法修改
PX4 v1.14.0 的加速度转换姿态四元数代码有些问题,z轴期望加速度不为0时,xy轴期望加速度会移入额外误差,这个 BUG 在 PX4 v1.15.1 中已经修正,但是又有额外的问题。因此还是使用 v1.14.0,只是修复相关代码。
2024-12-06 22:39:17
664
原创 【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados
20241114 记录一下 Ubuntu 20.04 下安装 MPC 中两种常用开源 NLP 优化器 CasADi + Ipopt / acados
2024-11-14 10:36:12
2919
原创 【Linux】Github 仓库克隆速度慢/无法克隆的一种解决方法,利用 Gitee 克隆 Github 仓库
介绍了 Github 仓库克隆速度慢/无法克隆的一种解决方法,利用 Gitee 克隆 Github 仓库
2024-11-13 23:27:25
840
原创 【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装
给出判断 sudo make install 命令往系统中安装了什么的方法,以应对:比如 sudo make install 接下来可能破坏系统中的一些依赖关系,又或者出于其他安全考虑;如果是一名开发者,也不一定会将动态库安装到公共目录下。
2024-11-13 01:38:29
450
原创 【Simulink】使用 ZOH 离散化二阶积分器系统,如何理解精确的离散时间系统模型 含仿真代码
常见的离散化方法有很多,大致可分为解析与数值两类,核心都是在精度与成本之间做取舍,工程中了解每种方法的精度的损失来源与排序,选择满足自己要求的离散模型即可。这篇文章重点是讨论“精确”离散化这一概念与ZOH离散化方法的理论推导,并以二阶积分器系统为例,给出具体实现步骤。
2024-11-11 23:13:46
1294
原创 【ROS1】如何在程序中判断 roscore 是否正常运行 强制结束 rosmater 进程方法
介绍几种在程序中判断 rosmaster 是否正常运行,以及如何强制杀死后台运行的 rosmaster 的方法。
2024-11-11 21:07:27
461
原创 【ROS1-Simulink】使用 Simulink 按时间序列发布航点到 ROS 话题 可同时在线发布多个个体的航点 Simulink 发布 PoseStamped 消息注意事项
使用 Simulink 按时间序列发布航点到 ROS 话题,可同时发布多个个体的航点,包含 Simulink 发布 PoseStamped 消息注意事项
2024-11-11 15:15:53
874
原创 【PX4飞控】位置控制器源码阅读与算法分析(带速度饱和的比例控制)
使用 v1.14.0 版本 PX4飞控,分析外环的位置控制器代码。飞控主要使用带水平与Z轴速度饱和的比例控制方法。
2024-11-10 23:29:40
1607
原创 【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
1180
原创 【Linux】如何通过终端命令查看当前可用网络 WIFI + 设置已配置网络的连接优先级 + 连接/断连网络
通过命令行检查和配置网络状态,调整wifi连接优先级与策略。
2024-11-08 22:53:54
863
原创 【Qt-ROS开发】使用 Qt Creator 构建和编译含 ROS 库的 Qt 项目
实际中,更多的使用场景是,在Qt 界面的主线程实例化一个ROS节点,如果还需要开启 ROS 的事件处理循环(使用订阅者和定时器回调才需要,只是发布者不需要)可以放在 QThread 启动的其他线程中。在 Qt Creator 中想要调用 ROS 相关库需要设置相关环变量,告诉 CMake 构建工具 ROS 的安装路径。
2024-11-08 22:14:15
593
原创 【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒
自定义快捷键执行终端命令,执行完毕会有弹窗提醒。比如设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒。
2024-11-08 15:57:18
417
原创 【MPC-Simulink】EX04 信号归一化简化权重调节过程与提高数值计算质量
参考Matlab官网手册,在 MPC 控制器中指定缩放因子,可以简化权重调节过程,提高数值计算质量。
2024-11-08 15:40:40
990
原创 【Linux】获得同一子网下当前在线设备IP/Latency/MAC 通过nmap指定CIDR扫描当前在线设备
Nmap 是一个强大的网络扫描工具,提供了丰富的功能,用于发现网络中的主机、服务、操作系统、版本、漏洞等信息。通过 Nmap 可以实现扫描指定子网下当前在线设备的 IP 地址、通信时延与 MAC
2024-11-07 15:55:18
1323
原创 【MPC-Simulink】EX03 基于非线性系统线性化模型MPC仿真(MIMO)
参考 Matlab 官网手册,以零初始状态条件下的非线性系统在线性化后得到的多输入多输出(MIMO)预测模型为例,使用 Simulink 闭环仿真模型预测控制(MPC)。
2024-11-07 14:02:35
1337
原创 【MPC-Simulink】EX02 高阶线性系统MPC仿真与调试(LTI-MISO)
参考 Matlab 官网手册,以多输入单输出(MISO)的线性时不变( LTI)系统为例,通过 Matlab 循环与 Simulink 模型两种方式闭环仿真模型预测控制(MPC)。
2024-11-07 03:36:49
2544
原创 【ROS1-Simulink】EX01 大小可变消息发布原理 & *MultiArray与String消息发布方法
有时需要通过 ROS1 发布多个同一类型的信号作为信号源,用于控制与记录,ROS 中专门提供了一类名字带有 MultiArray 的消息可以满足需求。想要在 Simulink 中发布这些消息,需要额外配置一些参数,以下是配置方法。
2024-11-06 16:35:18
669
原创 【MPC-Simulink】EX01 二阶积分器系统MPC仿真(LTI-SISO)
然后加入MPC模块,mv端口连接第一个积分器输入加速度控制信号,mo端口接第二个积分器输出的位置信号(mo指测量输出,这个例子测试的是单输入单输出系统的MPC控制,所以速度作为中间状态没有用到其测量值)。运行仿真,可以看到加速度先到饱和值1,产生正向速度;然后到-1,提前减速,减少了位置超调;当然控制效果可以通过调参进一步完善。双击MPC模块,选择控制器是刚才命令行创建的 mpcobj 控制器对象,这里不需要点击 Design。可知 Weights 字段用来调节标准代价函数的权重,里面都是无量纲的值。
2024-11-01 01:00:19
509
原创 【Matlab】Ubuntu 20.04 安装 MATLAB 2022a 可能遇到的问题汇总 低级图形错误/闪退/so版本报错/快捷键/无法保存…
解决 Ubuntu 20.04 Matlab 2022a 使用常见问题。
2024-10-28 14:23:18
1706
原创 【Matlab】绘制动图的四种方法对比-handle更改属性/plot重新绘制/animatedline/movie-动图保存gif文件
创建时,第一个输入参数传入(axes)的句柄ax,使用变量保存返回的创建得到的图形对象的句柄,方便后续修改该对象的属性,如颜色、线型、XYZ数据。
2024-10-17 18:56:24
2627
原创 【PX4飞控】1.15.1版本控制算法变化 加速度转姿态四元数算法变更
通过设置 MPC_ACC_DECOUPLE 为 Enable,可以让Z轴加速度参与推力矢量的合成。比较 1.14.0 与 1.15.1。可以看到推力矢量计算方法终于改了。
2024-10-17 18:43:32
280
原创 【Matlab】slx实时脚本支持的Latex数学环境
MATLAB 实时编辑器 (Live Editor) 是一个用于创建脚本的交互式环境,它支持包括 LaTeX 在内的多种格式。然而,MATLAB 实时编辑器对 LaTeX 支持有限,可能无法完全识别和渲染所有 LaTeX 环境和命令。例如,实时编辑器可能无法识别 aligned 环境,这是一个用于数学公式对齐的环境。
2023-04-14 11:15:57
664
1
Simulink仿真,二阶积分器系统,连续状态空间模型与ZOH零阶保持器离散模型对正弦信号输入响应对比描述
2024-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人