为什么pixhawk的电流校准不了

为什么pixhawk的电流校准不了,第1张

一般常出现于安装有一键还原软件的WIN7 *** 作系统中,表示主引导文件丢失或损坏。解决办法有修复主引导或重装系统。

一、修复主引导:

方法一:使用DOS命令修复。

1、在grub命令提示符后面输入以下命令(注:不包含grub>本身):

grub> rootnoverify (hd0,0)

grub> chainloader +1

grub> boot

2、这样就可以进入到windows系统里边,然后按下Win(Ctrl和Alt之间的键)+R,再输入CMD,进入命令窗口后,再输入:fdisk /mbr回车即可。

方法二:使用专用工具修复。

1、使用启动U盘或光盘启动电脑,进入PE系统;

2、运行DISKGENIUS工具,重建主引导记录;

二、重装系统:以上 *** 作无效,则需要重装系统。重装系统方法很多,推荐U盘安装。

启动U盘制作及U盘重装系统的 *** 作步骤为:

(1)制作启动U盘:到实体店买个容量8G以上的U盘,上网搜索下载老毛桃或大白菜等启动U盘制作工具,将U盘插入电脑运行此软件制作成启动U盘,再到系统之家或类似网站下载WINXP或WIN7等 *** 作系统的GHO文件,复制到U盘或启动工具指定的U盘文件夹下并按要求重命名。也可以上网搜索下载ISO格式的系统镜像文件(内含GHO系统文件或完整的系统安装文件),通过ultraiso等工具释放到U盘制作成包含系统的启动U盘。

(2)设置U盘启动:开机按DEL键(笔记本一般为F2或其它)进入BIOS设置界面,进入BOOT选项卡设置USB磁盘为第一启动项(注:部分电脑需要在此时插入U盘进行识别才能设置),再按F10保存退出重启。部分新主板支持开机后连按F12或F11进入启动选项菜单,可不进CMOS界面直接选择U盘或其它需要的启动项启动电脑。

(3)U盘重装系统:插入U盘启动电脑,进入U盘功能菜单之后,选择“安装系统到硬盘第一分区“(如下图所示),回车确定后按提示 *** 作,电脑会自动运行GHOST软件并自动搜索U盘上的GHO文件克隆安装到C区,整个过程基本无需人工干预,直到最后进入系统桌面。

Ubuntu环境下Pixhawk原生固件PX4的编译

分类:无人机ubuntu代码编译Pixhawk

(3946) (6)

Ubuntu下Pixhawk原生固件PX4的编译这个问题困扰了两天时间,可能是博主脑力不够,主要是环境搭建不起来,主要原因应该是路径的原因,最后在大师傅的帮助下还好成功将路径搭建好,成功编译。

下面就跟大家分享一下环境搭建的过程。

1 *** 作环境

每次写文章,环境一定要介绍的,不同的环境总会出现不同的问题

我的环境是Windows下面安装虚拟机,虚拟机跑Ubuntu

Windows:win10 64位

虚拟机:VMware Workstation 12 Pro 1210 build-3272444

Ubuntu:Ubuntu1510

2编译环境搭建

(1)权限设置

官方提示:

Warning Never ever fix permission problems by using 'sudo' It will create more permission problems in the process and require a system reinstallation to fix them

意思是你会遇到权限问题,不要用sudo解决,那样会带来更多问题,但是我没听他的,我没用,最后也是实现了

官方提供指令

[plain] view plain copy

然后注销,重新登录生效

(2)安装

更新包列表,安装下面编译PX4的依赖包。PX4主要支持的系列:

NuttX based hardware: Pixhawk, Pixfalcon

Snapdragon Flight hardware: Snapdragon

Raspberry Pi hardware: Raspberry Pi 2

Host simulation: jMAVSim SITL and Gazebo SITL

注意:安装Ninja Build System可以比make更快进行编译。如果安装了它就会自动选择使用它进行编译。

[plain] view plain copy

卸载模式管理器

[plain] view plain copy

更新包列表和安装下面的依赖包。务必安装指定的版本的包

[plain] view plain copy

上面代码中红色部分大家需要一高警惕,gcc-arm-none-eabi版本导致PX4/Firmware编译错误,现在apt-get安装的gcc-arm-none-eabi基本上是49的版本,但是这个固件需要gcc-arm-none-eabi 48de 版本,所以最后安装好以后,查看你的gcc-arm-none-eabi版本,如果是49需要手动安装48的版本,安装gcc-arm-none-eabi 48的版本的方法如下:

[plain] view plain copy

Warning上面红色的路径一定要添加正确,不然问题很多,我第一次就输入错误,结果结果开不了机了,反复输入密码。博主装的是Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西

[plain] view plain copy

可以检查arm-none-eabi 484是否安装成功,输入以下指令:

[plain] view plain copy

如果出现如上信息,交叉编译环境搭建就搭建成功了

(3)代码编译

根据PX4中文维基官网教程。

安装Git

[plain] view plain copy

下载代码

[plain] view plain copy

初始化

先进入Firmware文件夹,进而进行初始化、更新子模块 *** 作,耐心的等待……

[plain] view plain copy

权限

编译时会遇到权限问题,执行指令

[plain] view plain copy

-R 是对文件下面包含的子文件权限问题, 是对所有文件的权限问题

编译

[plain] view plain copy

注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。

最后附一张编译成功的代码,如果这样你还有问题,请给我留言。

[plain] view plain copy

-- nuttx-px4fmu-v2-default

-- The ASM compiler identification is GNU

-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc

-- Found PythonInterp: /usr/bin/python (found version "2710")

-- Using C++03

-- Release build type: RelWithDebInfo

-- Adding UAVCAN STM32 platform driver

-- Configuring done

-- Generating done

-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default

#+@Tools/check_submodulessh

PX4 CONFIG: px4fmu-v2_default

Scanning dependencies of target git_mavlink

Scanning dependencies of target git_uavcan

Scanning dependencies of target git_gencpp

Scanning dependencies of target git_genmsg

[ 0%] Generating git_init_mavlink_include_mavlink_v10stamp

[ 0%] Generating git_init_src_modules_uavcan_libuavcanstamp

[ 0%] Generating git_init_Tools_genmsgstamp

[ 0%] Generating git_init_Tools_gencppstamp

[ 0%] Built target git_uavcan

[ 0%] Built target git_mavlink

[ 0%] Built target git_genmsg

[ 0%] Built target git_gencpp

以下所描述的都是针对px4原生固件,此外,由于固件更新过于频繁,本文描述的是15年7月的固件,主要是举例,有改动的话,自己再研究研究吧(后面换cmake编译方式了,改动蛮大)。

既然要做开发,第一步就是搭好开发环境,根据我的经验,最好是在linux环境下编译,这样效率会很快,以前在windows下编译,经常40分钟以上,这样就太影响开发了;

第二步,大概了解下固件的架构,

如果只涉及应用层的开发,那底层的nuttx系统就可以绕过去了,一般,最好先把uorb模块的机制整明白就好了,从uorb入手,了解每个话题的来源以及作用,整理数据流,清楚每个模块之间的关系即可,比如,要实现手动模式,哪些模块互相交互,auto模式,又有哪些模块起作用,

如果涉及相应算法的开发,要学会定位到相应的算法模块,甚至具体到哪些代码,比如,你想试验你的姿态估计算法,那你就将姿态估计模块替换掉即可,不过相应的接口仍需要和px4环境一样,以姿态估计为例,最后要发布你的vehicle_attitude话题,不然无法与其他模块交互;

另外,不要试图在代码中找main函数,那是单片机思维,你只需看启动脚本即可,\ROMFS\px4fmu_common\initd\rcs;

第三步,针对你的具体情况,定位相应的模块,进行精读研究,虽然模块基本是用C++写的,但是不会C++也没关系,毕竟又不是让你写,本人倒目前为止,也不会C++,配合注释,看明白就好了,比如,整理下mavlink的控制流程;

px4原生固件模块列表:

系统命令程序

mavlink –通过串口发送和接收mavlink信息

sdlog2 –保存系统日志/飞行数据到SD卡

tests –测试系统中的测试程序

top –列出当前的进程和CPU负载

uORB – 微对象请求代理器-分发其他应用程序之间的信息

驱动

mkblctrl–blctrl电子模块驱动

esc_calib –ESC的校准工具

fmu –FMU引脚输入输出定义

gpio_led –GPIOLED驱动

gps –GPS接收器驱动

pwm –PWM的更新速率命令

sensors –传感器应用

px4io –px4io驱动

uavcan –uavcan驱动

飞行控制的程序

飞行安全和导航

commander –主要飞行安全状态机

navigator –任务,失效保护和RTL导航仪

估计姿态和位置

attitude_estimator_ekf –基于EKF的姿态估计

ekf_att_pos_estimator –基于EKF的姿态和位置估计

position_estimator_inav–惯性导航的位置估计

multirotor姿态和位置控制器

mc_att_control–multirotor姿态控制器

mc_pos_control –multirotor位置控制器

fixedwing姿态和位置控制器

fw_att_control –固定翼飞机的姿态控制

fw_pos_control_l1 –固定翼位置控制器

垂直起降姿态控制器

vtol_att_control –垂直起降姿态控制器

最后提一句,多看看官网的说明,另外根据本人的经验来看,由于大框架,代码人家都写好了,通常你要加功能,所修改的也就几行代码而已,举例说明,比如px4固件只能在手动模式解锁,假如我要修改成定高模式解锁

没有完成发射机和接收机对码,则需要按照如下过程对码:

1将对码线连接到接收机上的B/VCC接口。

2将电源线连接到接收机上任意其他接口。

3打开发射机电源,同时常按发射机“BINDKEY“键,进入对码状态。

4将对码线和电源从接收机上断开,然后重新将电源线连接到B/VCC接口。

5检查发射机、接收机、模型是否正常工作。如有异常,重复以上步骤重新对码。

PPM编码器接线

>

以上就是关于为什么pixhawk的电流校准不了全部的内容,包括:为什么pixhawk的电流校准不了、ubuntu 环境下怎样编译pixhawk px4源码、pixhawk2怎么刷垂直起降固定翼固件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10118362.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存