PX4 仿真调试前置环境安装 ros2请参考 于 orangepi5 plus 上部署 ros2
科学上网
学校校园网 git clone 很容易出现网络问题,需要在板载上跑自己电脑的梯子。
123456# 自己电脑的ip:自己梯子开的端口号,默认是7890export http_proxy=http://192.168.1.179:7890export https_proxy=https://192.168.1.179:7890# 记得将自己的梯子的允许局域网打开# 没有梯子的话可以去搞个精灵学院的 60R 还是 68R 的 400G 流量梯子, 比按月计费的好# 400G 足够用好几年了
git 配置
关联 github 账号邮箱
1234git config --global user.name "Your github username"# "Your github Name" 中填写你的github账号用户名git config --global user.email "yourgitemail@yourdomain.com ...
PX4 飞控调试方案
注:
每次无人机起飞前和降落后都应用手去触摸电机感受温度
若温度过高应等待电机冷却后再进行起飞
防止烧坏电机!
温度过高常常代表其 PID 调参有问题
D 过高会导致电机变烫
而 PID 整体调参过小导致无人机震荡也会造成电机变烫
QGC 地面站设置刷固件烧录固件前务必将连接到飞控的所有设备断开(拔掉飞控上的所有杜邦线)!否则可能会造成烧录出错。
PID 调试
PID 调参要点
在 PID 调参之前,需要先调整无人机滤波
先使用高度\自稳模式\定点模式调试 pitch、roll 内环 PID
再用定点模式调 yaw 内环 PID
每次调参后都需要重新飞行收集数据
如果飞行抖动剧烈一定要立刻降落、锁定桨叶,观察电机温度,防止电机烧坏
具体步骤:
每次起飞前和降落后都应用手去触摸电机感受温度;
在无人机上装上速传对飞机模式进行监控,如果模式发生突变(如:定点模式因 T265 定位飘掉,导致定位不准降级为高度模式),应立即下拉油门降落,并用制动按钮锁定桨叶;
飞手控制无人机在空旷的室内场地绕正方形飞行,飞行速度要有一定的突变,不要非常平稳的飞行;
降落后下载日志进 ...
于 orangepi5 plus 上启用外设引脚
orangepi5 plus 开发文档 提取码:8sf6
具体请参考开发文档 P264 页
进入图形化界面
1sudo orangepi-config
选择 System
选择 Hardware
使用方向键选择想要打开的外设引脚, 再用空格进行选中
点击 BACK 返回保存重启即可
下图为 Orangepi 5 plus 的外设引脚,详细请参考开发文档
下图为 UART 引脚高亮显示
Realsense 相机的疑难杂症主要是讲解几个 jetson 系列板载使用 Realsense 相机(主要是 T265 和 D435)时 常遇到的一些问题
T265 拔插识别的解决方案T265 插在板载上面启动后会被默认识别为 USB2.0 设备,无法正常使用
安装 uhubctl123456789101112131415161718192021222324252627sudo apt-get install libusb-1.0-0-dev -ygit clone https://github.com/mvp/uhubctl# git clone https://gitee.com/greymaner/uhubctl.gitcd uhubctlmakesudo make install# 这里简单介绍一下 uhubctl 的使用uhubctl -h # 查看使用说明Options [defaults in brackets]:--action, -a - action to off/on/cycle/toggle (0/1/2/3) for affected ports.--p ...
HAL 库看门狗
独立看门狗
由专用的低速时钟(LSI)驱动(40kHz),即使主时钟发生故障它仍有效。独立看门狗适合应用于需要看门狗作为一个在主程序之外 能够完全独立工作,并且对时间精度要求低的场合。
窗口看门狗
由从 APB1 时钟(36MHz)分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。
独立看门狗
使用范畴:
出现程序跑飞
出现死循环
睡眠,休眠不合理
外部主晶振坏掉
工程建立
设置 RCC:
设置 HSE 为外部时钟
配置 IWDG:
IWDG 时钟预分频系数 4 分频计数器重装载值 4095 RLR
超出(溢出)时间计算:
Tout=((4×2^PRER) ×RLR)/LSI 时钟频率
对应不同预分频系数的 PRER 值:
HAL 库 独立看门狗 函数库HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg) 看门狗初始化函数
HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg) ...
HAL 库STM32CubeMX
简介及下载
在 CubeMX 上,通过傻瓜化的操作便能实现相关配置,最终能够生成 C 语言代码,支持多种工具链,比如 MDK、IAR For ARM、TrueStudio 等 省去了我们配置各种外设的时间,大大的节省了时间。
在蓝桥杯中,可以通过使用 STM32CubeMX 实现 HAL 库,达成快速编写代码的效果。
其 TM32CubeMX 的使用需要 JAVA 支持。
安装 HAL 库
在线安装
打开安装好的 STM32CubeMX 软件 点上面的 Help –> Manage embedded software packages
会跳出来一个选择型号界面 勾选上你要安装的 HAL 库, 点击“Install Now” 直到安装成功。 如下图:
离线安装(需掌握)
蓝桥杯中若主办方提供的固件包有误,需使用离线安装。
直接导入安装包 Help –> Manage embedded software packages –> From Local 选择离线包即可
新建工程方式
在主界面选择 File –> New ...
于 Windows 上 配置 python 环境安装 conda
下载
官网下载,或上 172 下载。
安装
具体请参考CSDN
配置 conda 环境
打开环境变量(右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量),
双击系统变量里的 path 后,在编辑环境变量中点新建。
注:根据 Anaconda 安装的位置修改(E:\Anaconda)部分,或直接 CV 安装路径。
123456E:\AnacondaE:\Anaconda\ScriptsE:\Anaconda\Library\mingw-w64\binE:\Anaconda\Library\usr\binE:\Anaconda\Library\bin
检测
检测是否有 python:
1python
检测是否有 conda 环境:
12conda infoconda --version
添加 conda 源(科学上网可跳过)修改为清华源:
12345conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaco ...
于 orangepi5 plus 上部署 ros2orangepi5 plus 上 ubuntu 22.04 系统的烧录相关链接
orangepi5 plus 官网
orangepi5 plus 开发文档 提取码:8sf6
orangepi5 plus 官方工具 提取码:37wm
具体请参照开发文档
ros2 的安装 – 鱼香脚本(最省事)1wget http://fishros.com/install -O fishros && bash fishros
后续根据鱼香 ros 脚本走即可,版本选择 ROS2 Humble
PX4 上位机开发PX4 开发文档
安装 conda
看查内核版本
1cat /proc/version
诺为 arrch64:
1Linux version 6.1.43-rockchip-rk3588 (root@yml-virtual-machine) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the Arm Architecture 11.2-2022.02 (arm-11.14)) 11.2.1 20220111, GNU ld (GNU Toolchain for the Arm Architecture 11.2-2022.02 (arm-11.14)) 2.37.20220122) #1.0.10 SMP Mon Jun 24 10:36:36 CST 2024
安装相应的 arrch64 版本的 conda:
1234wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.10-1-Linux-aarch64.sh# 下载 ...
于 orangepi5 plus 上部署 ros1orangepi5 plus 上 ubuntu 20.04 系统的烧录相关链接
orangepi5 plus 官网
orangepi5 plus 开发文档 提取码:8sf6
orangepi5 plus 官方工具 提取码:37wm
具体请参照开发文档
ros1 的安装 –方法一
设置 key
1sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
安装
1234# 更新 aptsudo apt update# 安装 rossudo apt install ros-noetic-desktop-full
如果需要卸载的话
1sudo apt remove ros-noetic-*
具体可参考 here
配置环境变量
12echo "source /opt/ros/noetic/setup.bash" >> ...