
APM
Gkbytes
这个作者很懒,什么都没留下…
展开
-
QGC开发 显示双GPS/RTK信息以及自定义页面(ubuntu)
一、QGC开发 显示双GPS/RTK信息1. 在sitl中进行仿真,虚拟出第二个GPS mavlink发送到地面站。如下图中,在mavlink_msg_gps2_raw.h中找到发送第二组gps/rtk数据函数mavlink_msg_gps2_raw_send()发送,由于第一组已经有在发送,故只加入第二组。发送代码如下: mavlink_msg_gps2_raw_send (...原创 2020-04-15 02:19:05 · 3188 阅读 · 4 评论 -
QGC开发 解析apm飞控新定义的mavlink消息(ubuntu)
1. 飞控中添加一条自定义mavlink包加一个遥控和mavlink摇杆切换状态显示,也就是远程操控时候下面两货的切换: 在VSCode中打开ArduCopter代码,打开子模块,如下编译器截图中操作即可:...原创 2020-04-13 22:06:27 · 2444 阅读 · 0 评论 -
SITL
记录关键点:当出现问题,进autotest里直接跑那个仿真脚本,选-v ArduCopter。要是出现一些奇怪问题,进Tools里跑环境安装,全部按照那个脚本来就可以。...原创 2019-11-27 18:11:11 · 978 阅读 · 0 评论 -
IMU 加热
// 在此处设置引脚void Util::set_imu_temp(float current){#if HAL_HAVE_IMU_HEATER if (!heater.target || *heater.target == -1) { return; } // average over temperatures to remove noise ...原创 2019-11-24 23:26:05 · 1475 阅读 · 0 评论 -
update_boundary_for_sector
总的来讲就是算两个相邻扇区的最小距离,输出一个二维边界点,通过sin /cos × shortdistances 算出 。// update boundary points used for object avoidance based on a single sector's distance changing// the boundary points lie on the l...原创 2018-09-04 00:32:15 · 221 阅读 · 0 评论 -
Chibios arducopter 学习
Chibios 启动 run 学习Chibios 启动代码在 startup_stm32f7xx.mk中:HAL_ChibiOS的run() 函数void HAL_ChibiOS::run(int argc, char * const argv[], Callbacks* callbacks)const { //前面省略 //接管执行main------------Takeove...原创 2019-03-10 10:02:37 · 889 阅读 · 0 评论 -
chip id
Unique device ID register (96 bits)The unique device identifier is ideally suited:for use as serial numbers (for example USB string serial numbers or other endapplications)for use as security key...原创 2019-05-23 11:11:51 · 1584 阅读 · 0 评论 -
rm: cannot remove 'nuttx-export': Is a directory
问题:rm: cannot remove ‘nuttx-export’: Is a directory解决方法:删除build文件夹即可原创 2019-06-26 02:09:12 · 725 阅读 · 0 评论 -
arducopter--parachute
先梳理个手动开伞流程:有两种方法:其一,通过mavlink控制,这种方式比较安全,可以在地面站上做保护提示:handleMessage函数中包含解降落伞的case:* 在传过来 MAVLINK_MSG_ID_COMMAND_LONG (76) 包中,识别command,为CMD 208为开伞,自动起飞如下enable parachute后,先传param1 为0 ,在开伞时选择2开伞。...原创 2019-07-02 02:09:35 · 516 阅读 · 0 评论 -
Assertion failed at file:armv7-m/up_hardfault.c line: 184 task: ArduCopter
问题: Assertion failed at file:armv7-m/up_hardfault.c line: 184 task: ArduCopter原创 2019-08-09 11:21:01 · 384 阅读 · 0 评论 -
EKF Check
从SCHED_TASK(ekf_check, 10, 75) 10hz开始。// ekf_check - detects if ekf variance are out of tolerance and triggers failsafe// should be called at 10hz// 检查ekf协方差是否超过容忍限度并且触发失效保护。void Copter::ekf_check...原创 2019-08-23 01:55:23 · 560 阅读 · 0 评论 -
ArduCopter Airsim
按照官方文档:http://ardupilot.org/dev/docs/copter-sitl-mavproxy-tutorial.htmlhttp://ardupilot.org/dev/docs/sitl-with-airsim.htmlhttps://github.com/microsoft/AirSim命令:../Tools/autotest/sim_vehicle.py -v ...原创 2019-09-05 22:25:11 · 654 阅读 · 0 评论 -
Loiter Flight Mode in ArduCopter
看了下loiter 控制器,且ArduCopter 的loiter mode 不是很稳定,优化一波。// loiter_init - initialise loiter controllerbool Copter::ModeLoiter::init(bool ignore_checks){ if (copter.position_ok() || ignore_checks) { ...原创 2019-09-18 22:53:33 · 421 阅读 · 1 评论 -
Arducopter Yaw角分析
Arducopter Yaw现梳理一遍Poshold模式下的yaw的情况:首先从 Copter::fast_loop() –> update_flight_mode()–> Copter::ModePosHold::run()// get_pilot_desired_heading - transform pilot's yaw input into a desir...原创 2018-09-05 02:30:11 · 1481 阅读 · 0 评论 -
APM High Resolution Timer
static uint64_t timer_base = 0;uint64_t hrt_micros(){ static volatile uint64_t last_micros; // 使用typedef为现有类型创建别名,定义易于记忆的类型名 typedef uint32_t syssts_t; /**< System status word....原创 2018-08-26 02:18:11 · 261 阅读 · 0 评论 -
Adding a new Log Message
添加一个新的日志消息DataFlash日志存储在飞行控制器的DataFlash内存中,可以在飞行后下载。这些日志提供了关于每次飞行的详细信息,这可能非常重要,尤其是在试图诊断出故障原因时这个页面解释了如何编写一个新的dataflash日志消息。 简单的方法用:ardupilot/libraries/DataFlash/DataFlash.h DataFlash_Class:i...原创 2018-08-23 00:50:46 · 418 阅读 · 0 评论 -
ImportError: No module named future
遇到APM编译错误,没有安装python 的futureTraceback (most recent call last): File "/home/b/MMC_ArduPilot/modules/mavlink/pymavlink/tools/mavgen.py", line 16, in <module> from pymavlink.generator impor...原创 2018-08-20 11:27:34 · 12251 阅读 · 13 评论 -
ImportError: No module named Xlib
安装 ubuntu deepin-scrot缺少依赖 pthon-xlib Traceback (most recent call last): File "./deepinScrot.py", line 25, in <module> from mainscrot import MainScrot File "/usr/share/deepin-scrot/...原创 2018-08-20 15:47:40 · 2185 阅读 · 0 评论 -
install openssl
安装时出现错误:sudo apt install openssl1.0 libssl1.0-devReading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package openssl1.0E: Couldn't f...原创 2018-08-20 19:41:52 · 1562 阅读 · 0 评论 -
set_alt_target_from_climb_rate_ff
// 用前馈的攀爬率调整目标上和下,真实的目标位置将没有速度上和速度下快// 如果电机达到极限或超过限制长度,目标也将停止// 在着陆期间将force_descend设置为true,以允许目标移动到足够低以使电机减速void AC_PosControl_Sub::set_alt_target_from_climb_rate_ff(float climb_rate_cms, float dt...原创 2018-08-28 00:44:14 · 324 阅读 · 0 评论 -
alt —throttle
// Z轴位置控制器// target altitude should be set with one of these functions: set_alt_target, set_target_to_stopping_point_z, init_takeoff// calculates desired rate in earth-frame z axis and passes to ...原创 2018-08-28 01:38:41 · 279 阅读 · 0 评论 -
Adding a New Parameter to Copter
Adding a parameter to the main 第一步:在Parameters.h类的枚举中加入enum { // Misc // k_param_log_bitmask = 20, k_param_log_last_filenumber, // *** Deprecated - remove ...原创 2018-08-20 20:50:15 · 277 阅读 · 0 评论 -
NuttX RTOS
目录综述--NuttX是什么?看看这些文件和功能……它怎么会是一个小小的操作系统呢? NuttX讨论组--你想谈谈NuttX的特性吗?你需要帮助吗?问题吗?错误吗? 下载--我在哪里可以买到NuttX?当前的开发状态是什么? 支持平台--什么目标平台已经移植到NuttX上? 开发环境--什么类型的主机交叉开发平台可以与NuttX一起使用? 许可--对使用NuttX有什么许可限制吗?(...原创 2018-08-31 01:16:54 · 3294 阅读 · 0 评论 -
uart-apm
代码定义 PCB电路表述 Serial标号 说明 uartA OTG1 Serial0 接USB,支持MAVLink协议(Micro USB) uartB UART4 Serial 3 接GPS模块(GPS) uartC USART2 Serial 1 接第1数传模块(Telem1) uartD USAR...原创 2018-08-28 23:00:47 · 305 阅读 · 0 评论 -
nra24
global 高度,也称绝对高度或者海拔高度,是飞机位置据海平面的高度;NED坐标系中的高度,也称相对高度,是距离地面的高度,向上为负无人机高度计分为绝对高度测量高度计和相对高度测量高度计两种类型。绝对高度测量的是相对海平面的绝对高度,一般用于高空飞行的无人机平台,主要包括气压高度计和GPS高度计;相对测量的是无人机平台距离地球表面的相对高度,一般用于低空无人机平台,主要包括超声波...转载 2018-08-22 01:06:12 · 1519 阅读 · 0 评论 -
APM ecl 如何把 .bin 文件转换为 .mat
Instructions for running the EKF replay1) Ensure the ‘EKF_replay’ directory is in a location you have full read and write access2) Create a ‘TestData’ sub-directory under the ‘EKF_replay’ directory...原创 2018-08-25 15:33:04 · 1815 阅读 · 0 评论 -
avoidance orientation
time_boot_ms uint32_t Timestamp (time since system boot). min_distance uint16_t Minimum distance the sensor can measure max_distance uint16_t Maximum distance the sensor can meas...原创 2018-09-04 13:35:36 · 284 阅读 · 0 评论 -
APM EKF2 alt source
主要看NavEKF2_core下面的selectHeightForFusion()函数。首先从应用层读取高度,再进行角度补偿,分别有三种高度源:baro rangefinder GPS (可以在地面站中配置选择怎么开启和关闭)(frontend->_useRngSwHgt > 0) 用户设置的rangefinder最大高度的百分比大于0。(frontend->_alt...原创 2018-08-18 16:30:14 · 1013 阅读 · 0 评论