需要学习的点
1.飞行控制算法
2.任务和路径规划,这个是重点
3.传感器数据处理
4.通信和地面站链接*
5.驱动硬件和接口
px4硬件
imu被干扰后,会导致飞机失控。
包含:陀螺仪、磁力计、加速度机。陀螺仪为基本(磁力计和加速度计用来矫正陀螺仪)
也就是校准环节,尽量打开所有的换进进行查看。
构成:
主处理器:飞控核心代码(姿态控制和估计,位置控制和估计)
协处理器:io相关,输入,输出、通信是利用串口通信、log(硬件启动的初始化)
PX4固件
1.固件:主要用于嵌入式系统的软件,例如:飞控系统,电调系统
2.ros中软件节点可以通过MAVLink协议(具体操作就是mavros软件包)与飞行控制器px4(其实叫做Pixhawk 4)硬件进行通信。
3.飞控和电调系统可以根据(姿态三角、位置xyz、油门、模式命令)将这些参数转换为控制指令进而发送给电调,实现对无人机螺旋桨的控制。
也就是px4固件接受的指令:姿态三个,位置三个,油门(归一化),模式命令
其中:Flight Tasks软件模块包括姿态任务(Attitude Task)和位置任务(Position Task)
Flight Modes: PX4固件中的Flight Modes模块用于定义和切换飞行模式。
Commander模块:该模块将接收到的指令分解为不同的参数,如姿态、位置和油门等,并将这些参数传递给Flight Tasks和Flight Modes等组件。
ubuntu和ros和px4的关系:
ros的最主要功能:可以让px4实现,自主控制和任务规划等功能。
也就是说,直接进行px4 和遥控的操作的话,是完全可以实现的。
此外就是,ros系统在早些年,只能用ubuntu系统来支撑,因此流传下来了,这两个最为契合。