最近需要对Jetson Nano进行操作,在它的上面测试目标识别的程序。习惯了用NoMachine远程进行操作,所以先在Nano安装NoMachine。Nano采用的是通过镜像刻录的Ubuntu 18.04系统。 参考:https://knowledgebase.nomachine.com/AR02R01074 从 https://www.nomachine.com/download/linu
网上有一个10行代码搞定目标检测的视频教程 参考网址:https://www.bilibili.com/video/av91150116/ 经测非常实用,通过10行代码实现目标检测,在Jetson Nano上迅速搭建一个目标识别的示例和开发环境。 视频例程使用Jetson官方的深度学习库(jetson_inference)进行目标检测程序实现 项目链接:https://github.com
在Ubuntu 18.04下测试了YOLO的方案。选择安装的是CUDA 11.4和cuDNN 8.2,在测试v3版本时遇到了编译的问题。所以选择v4版本。 参考链接:https://pjreddie.com/darknet/yolo/,其中项目下载替换为下载AlexeyAB的v4版本,其它操作相同。 项目下载 $ git clone https://github.com/AlexeyAB/d
CUDA和cuDNN为NVIDIA支持GPU运算以及深度神经网络计算加速的算法库。通常需要安装以支持利用GPU加速神经网络的训练和推理。 在已经安装NVIDIA显卡驱动的情况下,可以通过nvidia-smi查看显卡信息和适合的CUDA版本。同时可以在如下的cuDNN版本下载网页查看cuDNN和适配CUDA的版本对应关系。 CUDA版本下载: https://developer.nvidia.c
参考链接:https://blog.csdn.net/librahfacebook/article/details/103114747https://blog.csdn.net/weixin_43196118/article/details/112346077 目标识别(Object Detection)就是从图像/视频之中识别出用户感兴趣的目标,反馈目标的位置和类别。目前主流的目标识别技术方案
参考链接 https://blog.csdn.net/carrymingteng/article/details/120978053https://blog.csdn.net/weixin_43947712/article/details/115530913 YOLO作为一个快速高效的目标检测的方案,非常适合部署在边缘设备嵌入式系统上,这里参考网上链接,尝试在Jetson Nano上搭建一个Y
att_control模块主要实现飞行器的姿态控制,根据上层的控制模块(pos_control)输出的目标设定值输出电机的控制信号,使飞行器实现目标的姿态。多旋翼的姿态控制在对应的模块mc_att_control中实现,其主要运行函数为mc_att_control_main.cpp中的MulticopterAttitudeControl::run()函数同pos_control类似,函数首先进
pos_control模块主要实现飞行器的位置控制(也包括速度控制)。即根据设定的目标位置/速度,给出需要实现的飞行器姿态,从而使飞行器保持在设定的目标位置或速度。位置控制的输出为飞行器的姿态,为下一级姿态控制(att_control)的输入值。以多旋翼为例,pos_control在对应的模块目录mc_pos_control下实现,其主要运行函数为mc_pos_control_main.cpp
如前所述commander的作用主要处理各种事件,调度控制系统的运行,事件包括遥控输入、用户指令、状态变更等。调度的作用主要设置控制系统运行的变量和模式,以使控制系统按照用户期望的模式运行,实现不同的控制功能。控制系统主要由navigator,pos_control,att_control构成。这里引用的是PX4略早期的一个版本,不同版本的PX4处理流程略有不同,整体框架大致上应该是一样的。
PX4的飞行控制程序通过模块来实现,与飞控相关的模块主要有commander,navigator,pos_control,att_control这几个,分别可以在src/modules目录中找到。commander - 指令/事件处理模块,处理指令、遥控器输入和各种事件,设定飞行器状态和控制模式navigator - 导航模块,根据指定的任务输出导航轨迹pos_control - 位置控制,根
PX4通过rcS脚本来设定需要启动的程序,比如设备驱动、控制模块、数据通信等。rcS脚本在项目中的文件位置 ROMFS/px4fmu_common/rcS 对应硬件平台固件上的位置 /etc/init.d/rcS 启动脚本流程如下 #!/bin/sh # PX4FMU startup script. # # 一些注释 # # 设置默认参数 set R / #根
PX4名声在外,是目前主流的开源飞控项目,被很多公司作为飞控开发的参考。 项目代码可以从github下载$ git clone —recursive https://github.com/PX4/PX4-Autopilot 这里采用–recursive选项,因为PX4项目包含很多子项目,可以同步下载,或者采用$ git clone https://github.com/PX4/PX
常用的姿态表示方法有欧拉角、方向余弦矩阵、四元数这几种 欧拉角表示方法采用来表示飞行器的姿态,其中为滚转角,为俯仰角和为航向角,表示飞行器首先航向偏转角度,再俯仰角度,然后机体滚转角度得到的姿态 方向余弦矩阵通过机体坐标和地面坐标的转换矩阵(DCM, Directional Cosine Matrix)来表示机体的姿态 四元数通过四个元数来表示飞行器全方位的姿态,它的特点是表征方式简洁,并且
这里是运动学和动力学模型,也适用于任何其它类型的飞行器,乃至无人车等各种载体 飞行器的状态包括位置,速度,姿态角度,角速度,姿态也可以用坐标转换矩阵来表示,飞行器的模型如下 位置: 其中为坐标转换矩阵,从机体坐标到地面坐标的转换矩阵,为机体坐标下的飞行器速度 速度: 其中g为地球重力加速度9.812平方米每秒,和是一个互为转置的关系,为作用在飞行器上的作用力,
navigator模块主要用于导航控制。即根据设定的飞行任务/轨迹,在每个时刻给出需要实现的目标位置/速度,交由下一级的pos_control来实现。navigator在对应的模块目录下的navigator.cpp中实现,主要函数为Navigator::run(),如下其中首先进行一系列的初始化,然后进入while工作循环,工作循环按照一定的频率运行,执行导航功能。在每一个工作循环根据命令设定
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信