Ardupilot4.2.2
文章平均质量分 56
主要以Ardupilot4.2.2版本进行开发,并记录开发过程中的笔记
H2Z20Str
这个作者很懒,什么都没留下…
展开
-
自动返航策略-电池篇
电池低电量和电池老化以及电池通讯丢失会触发返航。原创 2023-04-12 17:46:11 · 102 阅读 · 0 评论 -
ardupilot4.2.2-定制日志
其中的LOG_PACKET_HEADER_INIT(LOG_SPOS_MSG)中的LOG_SPOS_MSG和LOG_PACKET_HEADER_INIT(LOG_SBAT_MSG)中的LOG_SBAT_MSG需要在define.h中进行定义。电池采用6s电池,每个电芯的使用信息都记录在日志当中,记录的日志体为RCOU,在libraries\AP_Logger\LogFile.cpp当中。(2)、将添加的日志体添加到log_structure[]数组当中。(1)、定义日志结构体。原创 2022-12-27 08:57:34 · 253 阅读 · 0 评论 -
ardupilot4.2.2-定制地面站信息
在地面站上显示数据的文件为GCS_Common.cpp,在此文件中可以发现很多给地面站发送数据的函数,找到void GCS_MAVLINK::send_battery_status(const uint8_t instance) const,在此函数中可以给地面站发送一定的电池数据,应设计要求,需要把电池的电压,电量百分比,电量,温度,循环次数等信息发送到地面站并在地面站上显示出来。将对应的电压,百分比,电流等参数替换成我们已经设定好的数据即可。同样在GCS_Common.cpp文件中,原创 2022-12-26 11:14:05 · 424 阅读 · 0 评论 -
ardupilot4.2.2-雷达CAN通讯
解析到的8个扇区的距离数据都存储到hal.util->mr72_dist[i]数组当中,这些数据将到Proximity库当中运用。在实例识别当中可以发现所有的类型都是采用了串口通讯,而我们的雷达采用的是CAN通讯,因此我们要在实例识别程序中添加CAN通讯。雷达采用的是MR72,其BMS默认为0x21,最远探测距离是80米,通讯过程中会依次传回8个扇区测到的距离。在此函数当中添加CAN雷达通讯,并将我们的读取到的扇区数据传递给实例当中即可。其中最主要的是read_sensor_data();原创 2022-12-26 10:37:37 · 586 阅读 · 0 评论 -
Ardupilot仿真中遇到的问题(持续更新)
其次输入help,可以看到MAVProxy上的所有命令,其中accelcalsimple命令即为3D校准,输入此命令还不能解锁建议重新编译。首先是查看一下地图上是否有飞机的图标,如果没有,查看在初始设置下的必要硬件中的飞控的类型是否选择上了你编译的类型。2、仿真时提示需要3D校准,无法解锁。原创 2022-10-21 09:19:27 · 1258 阅读 · 1 评论