当前位置: 首页 > news >正文

贵阳模板做网站网站系统是一个典型的

贵阳模板做网站,网站系统是一个典型的,wordpress 根据权限获取用户信息,国内互联网公司排名PC-SDK是阿木实验室 (AMOVLAB) 为了简化开源飞控的控制协议MAVLink#xff0c;优化和维护的一个基于PC电脑运行MAVSDK(支持Windows和Ubuntu)的Python SDK库。 相对于传统的无人机控制开发#xff0c;开发者无需掌握C/C语言和ROS等相关知识#xff0c;只要学会Python编程及懂…PC-SDK是阿木实验室 (AMOVLAB) 为了简化开源飞控的控制协议MAVLink优化和维护的一个基于PC电脑运行MAVSDK(支持Windows和Ubuntu)的Python SDK库。 相对于传统的无人机控制开发开发者无需掌握C/C语言和ROS等相关知识只要学会Python编程及懂得坐标系原理在PC电脑上安装Python环境与功能包模块后就可以地面端链路控制无人机飞行开发极大地降低了开发难度。 MAVSDK简介 添加图片注释不超过 140 字可选 MAVSDK是各种编程语言的库集合用于与无人机、摄像机或地面系统等MAVLink系统进行交互。这些库提供了一个简单的API用于管理一个或多个车辆提供对车辆信息和遥测的编程访问以及对任务移动和其他操作的控制。这些库可以在配套计算机上的无人机上使用也可以在地面站或移动设备上使用。 MAVSDK的特点 跨平台 Linux、macOS、Windows、Android 和 iOS等。 多语言 C、Swift、Python、Java、Go、JavaScript、CSharp、Rust等。 在使用时可以通过串口或者tcp或者udp建立连接然后就可以控制Pixhawk飞控。在此之前可以在Ubuntu下建立Pixhawk的源码然后并创建模拟器然后在mavsdk控制模拟器里的飞机进行控制。 目前提供了自动起飞降落的Demo指点飞行的Demo和航点飞行的Demo。还提供了Ubuntu的仿真开发虚拟机方便开发者进行算法开发可以快速入手无人机的开发工作。 提示 初学者在不了解无人机和控制坐标系概念的情况下不要运行其他demo。建议在了解无人机及其控制坐标系之后运行我们提供的仿真系统熟悉无人机的操作特性再运行其他仿真demo。 无人机控制坐标系基本概念简介 无人机中NED坐标理解 机体坐标系机体坐标系固连飞机其原点取在多旋翼的重心位置上。x轴在多旋翼对称平面内指向机头机头方向与多旋字形或X字形相关。z轴在飞机对称平面内垂直轴向下。然后按右手定则确定y轴 。 地球固联坐标系通常以多旋翼起飞位置作为坐标原点 先让x轴在水平面内指向某一方向z轴垂直于地面向下。然后按右手定则确定y轴坐标原点取地球中心。比如NED坐标系为x轴为正北方向y轴为正东方向z轴指向下。 飞机的欧拉角就是基于上面两个坐标系的转换。“pitch”为抬头“roll”为右旋转“yaw”为右偏航。 Yaw与指南针角度的关系 指南针的角度为固定不变北朝向为0度东朝向为90度南朝向为180度西朝向为270度。 Yaw角是当前机头方向与正北方向的夹角若地球固联坐标系为NED当我们知道YAW角时就可以确定飞机当前的航向。比如我们的vision通过mavros给飞控的Yaw的角度是90度而且飞机的地球固联坐标系为NED那么我们就可以确定飞机机头当前指向为正东。即使我们没有磁力计测方向但我们假设了一个方向那么此时Yaw角与指南针的角度完全重合或相同。 但当Yaw角为90度机头朝向为正北方向那么可以确定飞机地球固联坐标系采用的是WNDW为西。 在PX4中用到的地球固联坐标轴是NED坐标系即xyz的方向固定不变Offboard模式下除外但是在offboard模式下初始上电后其东北方向由Yaw角决定。 本例程使用东北地坐标系END,飞机上电位置为原点坐标0.0.0以84坐标系为基础E为东方Y轴N为北方X轴D为高度向下Z轴均以正值为对应方向负值为相反方向例程内Z轴高度做了反向处理。 QGC右上角姿态球有坐标机头朝向与航向度及姿态信息。 ENU与NED区别 相关名称解释 1. MAVLinkMAVLink是一种非常轻量级的消息传输协议, 用于地面控制终端地面站与无人机之间 (以及机载无人机组件之间) 进行通信。MAVLink遵循现代混合发布-订阅和点对点设计模式: 数据流作为 topics 发送/发布的, 而配置子协议 (如 路径点协议 或 参数协议是基于重传机制的点对点模式。 2. MAVSDKMAVSDK 是各种编程语言的库集合用于与无人机、摄像机或地面系统等 MAVLink 系统进行交互。 3. 机体坐标系机体坐标系与飞行器固联坐标系符合右手法则原点在飞行器重心处x轴指向飞行器机头前进方向y轴由原点指向飞行器右侧z轴方向通过xy由右手法则确定。机体坐标系是无人机惯性导航的基础坐标系IMU中获得的加速度状态信息就是该坐标系下的数值。当我们获取IMU输出的x轴加速度信息时不能直接应用在NED坐标系下。 无人机中的坐标转换即为NED坐标系惯性系与机体坐标系之间的转换。 4. 位置控制位置控制同样是无人机控制系统中非常重要的控制系统。位置控制实际上就是用于控制无人机在控制飞行的位置。我们希望可以准确地控制无人机按预期的速度飞往指定的目标位置这也是无人机全自动飞行的基础。为了确定无人机的位置需要使用在本地坐标系下的x、y、z这3个维度的坐标。但是在控制方面上往往将x轴和y轴上的控制方法称为水平位置控制而将z轴上的坐标控制方法称为高度控制。但是这里两个控制方法需要同时进行最终达到对3维坐标系内无人机准确飞行控制目的。 5. 速度控制内环PID控制器其输入内容为速度期望减去测量速度得到速度误差。然后通过“比例-积分-微分”控制方法对速度误差进行计算得到其输出内容。速度控制器的输入为速度期望而输出却是姿态角期望。 6. 姿态控制包括俯仰角、滚转角和航向角。这3个角的期望值来源于其他模块。遥控器的控制杆量、位置控制模块的输出量、地面站系统的期望值等等。角度的期望值就是系统中希望无人机达到的某一个角度这也就是姿态控制中的目标状态并且我们希望无人机在这个目标状态下保持稳定。 快速使用在windows11操作验证 目的快速验证无人机是否正常通讯及开发环境是否正常。 提示 1. 建议开发者有一定基础后例如会操控无人机或对Ubuntu、Python有一定了解再进行快速验证否则请按照仿真等步骤逐步了解。 2. 请选择室外空旷地带进行测试验证与无人机保持10米以上安全距离。 硬件及通讯示意图 1. 预装Python3.7及以上版本、pip、QGC、mrvsdk_server、vscode、git。然后打开终端利用pip下载mavsdk。 2. 打开终端在git安装好后下载demo。 3.下载电脑与飞控通信节点终端mrvsdk_server。 4. 打开MFP450基础款的QGC将地面端网线接入电脑电脑ip固定192.168.1.123将自动连接QGC地面站双击运行mrvsdk_server即可建立demo与飞控通信节点。具体设置参考拓展帮助部分的数传设置。 通讯成功如下图 5. 进入vscode打开takeoff-and-land.py文件将注释放开具体放开那个注释代码有介绍在终端运行Python ./takeoff-and-land.py即可。将会执行无人机起飞与降落指令。过程中可使用遥控器进行干预。 具体操作如下视频 MAVSDK-demo起飞降落 仿真环境安装 镜像安装和环境安装任选一种建议镜像安装。对于无人机开发来说我们比较建议先在仿真环境中进行测试仿真是利用图形技术和数字模拟技术在一个电脑的三维可视环境中虚拟出了无人机和环境类似一个三维游戏场景在该场景中我们可以通过调用无人机的API控制接口来在仿真环境中控制飞机控制代码的实现效果和在真实物理环境中类似。提高了开发效率和减少了飞机因为代码逻辑问题带来的坠毁风险对于新手开发者建议先在下面的仿真环境里做飞行试验熟练之后再去真实场景做实验。 镜像安装 下载地址https://dl.amovlab.com:30443/MFP450/pixhawk%206c/Ubuntu/ 下载完毕后可以选择虚拟机、双系统或者硬板安装。该镜像中已包含上文所述所有软件开发者可直接运行仿真。具体安装方式可参考阿木实验室往期教程。 环境安装 1. 选择Ubuntu20.04版本系统安装PX4-Autopilot。 2. 接着mkdir一个文件夹在该文件夹下进行源码下载由于在github下载很慢所以后续到PX4-Autopilot目录下再单独下载子模块。 git clone http://github.com/PX4/PX4-Autopilot 3. 下载完成后前往PX4-Autopilot目录检查子模块是否下载完成。 cd PX4-Autopilot/ git submodule update --init --recursive 4. 可能出现执行3中命令没反应但make的时候报错的情况找到对应路径删掉再执行上面那个命令。 5. 回到上一级目录执行以下安装脚本。 cd bash ./PX4-Autopilot/Tools/setup/ubuntu.sh 6. 运行完后按提示重新登录或者重启然后可以update一下。 sudo apt-get update sudo apt-get upgrade 7. 进入目录编译源码进行仿真。 cd PX4-Autopilot/ make px4_sitl jmavsim 8. 安装并打开QGC地面站。下载地址https://dl.amovlab.com:30443/MFP450/pixhawk%206c/UBUNTU20.04%E5%9C%B0%E9%9D%A2%E7%AB%99/ 打开终端安装依赖给予权限 sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y sudo apt install libqt5gui5 -y sudo apt install libfuse2 -ychmod x ./QGroundControl.AppImage ./QGroundControl.AppImage (or double click) 9. 安装Python3.7以上版本后下载MAVSDK库目前提供程序为Python版本。 pip3 install mavsdk 10. 下载VScode前往官网或应用商店下载。 https://code.visualstudio.com/Download 11. 下载demo。 git clone https://gitee.com/amovlab1/pcsdk 在VScode运行程序仿真Python3 ./xxx.py即可。 代码功能简介 提示 真机与仿真操作一致但真机需要注意遥控器各个拨杆的功能确保处于定点模式下且有一键锁桨功能防止意外。 以下是仿真模式使用 请开发者务必熟悉后再上真机复现。 在VScode运行程序Python3 ./xxx.py即可 xxx.py为运行的文件名字。 demo1-起飞降落 起飞降落指令展示运行后为飞机会起飞悬停10秒后降落期间会打印GPS信息电池电量百分比电量等目的在于更好的展示SDK接口可用性。下图为仿真结果 demo2-航线任务 任务模式使用地面站中的航点飞行模式运行该例程可执行航点任务设置主要为END坐标系下输入X轴Y轴高度,速度悬停时间航向角六类参数回车确认保存航点后可重复输入结束后可选择是否清除航线。下图为仿真结果此模式遥控器可随时介入 demo3-指点飞行 Offboard模式使用机载计算机或地面计算机控制该模式一般用于智能飞行。运行该例程可执行指点飞行主要为END坐标下X轴Y轴高度航向。下图为仿真结果 提示 1. 内含END坐标下机体系速度控制姿态控制及速度控制。这三种控制模式较为危险因此已经注释切换控制模式需要解开和关闭相应注释。默认只开放位置控制除仿真外尽量不要使用其余控制。 2. offboard模式下遥控器不可随时介入。 通讯连接 建议使用两路数传QGC与MAVSDK各一路方便更好的查看无人机状态以MFP450-V6C为例在此基础上增加一个Mini Homer天空端可增加MAVSDK使用时的安全性同时也可以后续升级RTK版本硬件之一。具体方法将新增加的Min Homer端口及目的端口设置为14540可参考Mini Homer产品手册https://docs.amovlab.com/minihomer-wiki/#/src/MINIHOMER/%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E 使用数传线与飞控的TELEM3相连若飞控TELEM3未打开需要到参数内打开,在参数栏搜索MAV, 找到MAV_2_CONEFIG,将其修改为telem3即打开。 默认Win为例 代码解开注释仿真与真机有注释说明 MAVSDK默认UDP14540QGC端口UDP8080。 如何与飞控进行通信 1. MAVSDK默认mrvsdk_server是飞控和电脑通信的桥梁将飞控和电脑进行连接转发相应的数据信息MAVLink协议的封装)。 提示 如遇突发情况请使用“ctrlc”断开mrvsdk_server的通讯连接。 https://github.com/mavlink/mavsdk/releases 下载对应的mrvsdk_server双击运行或者下载其源码自定义连接方式 运行后终端会打印相关MAVLink信息绿色为mavsdk信息红色为报错。 Mavsdk默认UDP14540 QGC选择连接方式--UDP--8080--确认--连接 可运行代码进行飞行测试 之所以选择两种连接方式同时获取MAVLink信息是因为可以通过QGC更好的观察飞机的状态以做出相应的判断。 2. 自定义链接修改不建议下载MAVLink MAVSDK源码。 https://github.com/mavlink/MAVSDK 具体工具链路、环境等需开发者自行摸索本文暂不提供教程。 真机运行 运行mrvsdk_server后会打印相关的MAVLink消息结合QGC地面站确认飞机进入定点后遥控器拨杆解锁解锁正常手动飞行无异常降落然后测试一键锁桨功能正常即可尝试mavsdk控制飞行。 安装Python3.7以上版本后下载MAVSDK库。 pip3 install mavsdk 目前提供程序为Python版本。官网下载VScode或者应用商店下载。 https://code.visualstudio.com/Downloaddemo下载 https://gitee.com/amovlab1/pcsdk 具体操作如下视频 MAVSDK 真机测试时部分运行程序会有一次ARM指令发送以测试指令是否正常发送因此运行程序时注意不要对飞机进行围观和近距离接触。 提示 真机与仿真操作一致但真机需要注意遥控器各个拨杆的功能需要保证处于定点模式下且有一键锁桨功能防止意外位于左往右第二个6通道通道拨杆。除offboard外其余均可用遥控器接入操作。 常用API接口 - End - 阿木实验室为机器人研发提供开源软硬件工具和课程服务让研发更高效 技术发展的日新月异阿木实验室将紧跟技术的脚步不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进是我们培训最大的价值。如果你在机器人行业就请关注我们的公众号我们将持续发布机器人行业最有价值的信息和技术。
http://www.zqtcl.cn/news/147290/

相关文章:

  • 吴忠网站建设家里面的服务器可以做网站吗
  • 这是我自己做的网站做网站前台要学什么课程
  • 程序网站开发建设隔离变压器移动网站
  • 网站设置不发送消息怎么设置回来用typecho做的网站
  • 网站机房建设嵌入式培训机构哪家好
  • 购物网站页面设计图片网站 签约
  • 上海网站改版方案网站邮件设置
  • 如何在自己网站添加链接高端品牌logo图片
  • 网站建设找c宋南南app软件设计
  • 龙岗网站推广seo 0xu
  • 成都做网站微网站后台录入
  • 开发区网站建设山东房地产新闻
  • 手机如何搭建网站网站菜单导航
  • 网站建设丿金手指专业社交投票论坛网站开发
  • 做一套网站开发多少钱设计高端的国外网站
  • 有没有网站做lol网站的网页设计实验报告书
  • 网站后台域名重庆好的seo平台
  • 文化建设设计公司网站跨境电商亚马逊
  • 建设企业网站官网下载中心游戏网站开发设计报告
  • 外贸网站导航栏建设技巧专做奢侈品品牌的网站
  • 网站开发工程师资格证网站建设代理都有哪些
  • 汕头网站建设技术托管wordpress faq
  • 外贸网站建设系统能联系做仿瓷的网站
  • 阿里云网站域名绑定做网站的需要哪些职位
  • cnnic网站备案dnf网站上怎么做商人
  • 怎么做微拍网站代理记账公司注册
  • 长宁深圳网站建设公司建材公司网站建设方案
  • 做网站哪些软件比较好wordpress的留言功能
  • 域名申请好了怎么做网站山西手机版建站系统信息
  • 维度网络网站建设广东水利建设与管理信息网站