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

做网站赚大钱百度seo系统

做网站赚大钱,百度seo系统,企业网站设置费用,台州网站建设公司PX4固件版本为1.15.4 qgc地面站版本为4.4.5 飞控,使用微空科技MicoAir743V2 机载电脑:12代i5,ubuntu20.04 安装位置:mid360的接口对应飞机的后方 推荐阅读px4vio实现无人机室内定位_px4室内视觉定位-CSDN博客 和飞控连接机载电脑相关&…

PX4固件版本为1.15.4

qgc地面站版本为4.4.5

飞控,使用微空科技MicoAir743V2

机载电脑:12代i5,ubuntu20.04

安装位置:mid360的接口对应飞机的后方

推荐阅读px4+vio实现无人机室内定位_px4+室内视觉定位-CSDN博客

和飞控连接机载电脑相关,有用

代码参考:

PX4|基于FAST-LIO mid360的无人机室内自主定位及定点悬停_fastlio mid360-CSDN博客

使用视觉或动作捕捉系统进行位置估计 | PX4 指南(主) --- Using Vision or Motion Capture Systems for Position Estimation | PX4 Guide (main)

一.px4飞控设置

建议看官方文档:Using Vision or Motion Capture Systems for Position Estimation | PX4 Guide (main)

1.将px4定位数据源设置为vinsion

参数EKF2_EV_CTRL:可以默认,或者看参数手册按需配置(该教程默认)Parameter Reference | PX4 Guide (main)

EKF2_HGT_REF参数:Vision 

 2.关闭罗盘:

教程:
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)-CSDN博客

需要注意的是,你现在走完上面飞控的设置,机头上电后会指向北。但在走完下面的程序后,你会发现上电后无人机机头指向东方(罗盘已经被关了)如下图所示

此外,加一个激光测距融合好处多多

二、程序

1.代码

接下来创建发布 /mavros/vision_pose/pose 话题的功能包过程了

这里只提供代码,具体创建工作空间和功能包的步骤建议问AI

主要功能:将转化后的位姿信息以话题 /mavros/vision_pose/pose 发布。

#!/usr/bin/python3
#上面的python3不一定是这样写,建议找ai优化一下代码,和前面的推荐文章里的CPP代码其实一样的,该代码发布频率不太对import rospy
from nav_msgs.msg import Odometry
from geometry_msgs.msg import PoseStamped
import tf
import numpy as np
from collections import deque
import math# 滑动窗口平均类,用于平滑 yaw 值
class SlidingWindowAverage:def __init__(self, window_size):self.window_size = window_sizeself.data_queue = deque()self.window_sum = 0.0def add_data(self, new_data):# 如果新数据与上一个数据差异过大,重置队列if self.data_queue and abs(new_data - self.data_queue[-1]) > 0.01:self.data_queue.clear()self.window_sum = 0.0self.data_queue.append(new_data)self.window_sum += new_data# 如果队列大小超过窗口大小,移除最早的数据if len(self.data_queue) > self.window_size:self.window_sum -= self.data_queue.popleft()return self.window_sum / len(self.data_queue)def get_size(self):return len(self.data_queue)def get_avg(self):if self.data_queue:return self.window_sum / len(self.data_queue)else:return 0.0class FastLIOToMavros:def __init__(self):rospy.init_node('fastlio_to_mavros', anonymous=True)# 初始化位姿和四元数self.p_lidar_body = np.zeros(3)self.q_mav = [0, 0, 0, 1]self.q_px4_odom = [0, 0, 0, 1]self.window_size = 8self.swa = SlidingWindowAverage(self.window_size)self.init_flag = Falseself.init_q = tf.transformations.quaternion_from_euler(0, 0, 0)# 订阅 Fast-LIO 的 Odometry 数据rospy.Subscriber('/Odometry', Odometry, self.vins_callback)# 订阅 PX4 的本地位置 Odometry 数据rospy.Subscriber('/mavros/local_position/odom', Odometry, self.px4_odom_callback)# 发布视觉位姿数据到 PX4self.vision_pub = rospy.Publisher('/mavros/vision_pose/pose', PoseStamped, queue_size=10)self.rate = rospy.Rate(30.0)self.run()def from_quaternion_to_yaw(self, q):# 将四元数转换为 yaw 角euler = tf.transformations.euler_from_quaternion(q)return euler[2]def vins_callback(self, msg):# 获取 Fast-LIO 提供的位姿和四元数self.p_lidar_body = np.array([msg.pose.pose.position.x,msg.pose.pose.position.y,msg.pose.pose.position.z])self.q_mav = [msg.pose.pose.orientation.x,msg.pose.pose.orientation.y,msg.pose.pose.orientation.z,msg.pose.pose.orientation.w]def px4_odom_callback(self, msg):# 获取 PX4 的本地位置四元数,并计算 yaw 角self.q_px4_odom = [msg.pose.pose.orientation.x,msg.pose.pose.orientation.y,msg.pose.pose.orientation.z,msg.pose.pose.orientation.w]yaw = self.from_quaternion_to_yaw(self.q_px4_odom)self.swa.add_data(yaw)def run(self):while not rospy.is_shutdown():# 初始化 yaw 角if self.swa.get_size() == self.window_size and not self.init_flag:init_yaw = self.swa.get_avg()self.init_q = tf.transformations.quaternion_from_euler(0, 0, init_yaw)self.init_flag = Trueif self.init_flag:# 旋转位姿以对齐初始 yaw 角rot_matrix = tf.transformations.quaternion_matrix(self.init_q)[:3, :3]p_enu = np.dot(rot_matrix, self.p_lidar_body)# 构建并发布视觉位姿消息vision = PoseStamped()vision.header.stamp = rospy.Time.now()vision.header.frame_id = "map"  # 根据实际情况设置vision.pose.position.x = p_enu[0]vision.pose.position.y = p_enu[1]vision.pose.position.z = p_enu[2]vision.pose.orientation.x = self.q_mav[0]vision.pose.orientation.y = self.q_mav[1]vision.pose.orientation.z = self.q_mav[2]vision.pose.orientation.w = self.q_mav[3]self.vision_pub.publish(vision)rospy.loginfo("\nPosition in ENU:\n   x: {:.3f}\n   y: {:.3f}\n   z: {:.3f}\nOrientation of LiDAR:\n   x: {:.3f}\n   y: {:.3f}\n   z: {:.3f}\n   w: {:.3f}".format(p_enu[0], p_enu[1], p_enu[2],self.q_mav[0], self.q_mav[1], self.q_mav[2], self.q_mav[3]))self.rate.sleep()if __name__ == '__main__':try:FastLIOToMavros()except rospy.ROSInterruptException:pass



自行创建fastlio_to_mavros节点的launch文件

2.运行mid360和fastlio的程序

建议参考MID360+fastlio功能笔记-CSDN博客

需要强调的是,安装官方说法 修改livox_ros_driver2 msg_MID360.launch ,使其频率达到30HZ(其实默认也能用)方法在livox_ros_driver2的github底下写了。

输入下图指令查看是否修改了

roslaunch livox_ros_driver2 msg_MID360.launch 
在另一个终端中执行
roslaunch fast_lio mapping_mid360.launch

3.运行mavros

安装步骤参考:mavros安装——解决疑难杂症- PX4无人机配置流程(三)-CSDN博客


roslaunch mavros px4.launch

必须运行上面指令后马上运行下面的 fastlio_to_mavros 

4.运行自己创建的fastlio_to_mavros节点的launch文件

运行结果,和qgc里的画面(飞控通过数传和Windows电脑QGC连接,故而频率很低)


 

三、验证

推荐用官方的仿真来理解坐标系

你会发现一运行fastlio_to_mavros节点,无人机机头突然从指向北变成指向东方(确保罗盘已经被关了)

在Ubuntu上位机看输入rostopic echo /mavros/local_position/pose机头所指的方向为正X。X在前,Y朝向左,Z朝向右

打开qgc、点左上角Analyze Tools——>MAVlink检测,出现了LOCAL_POSITION_NED数据,坐标系看法如下:NED坐标系,X为北,Y为东,Z为下,机头指向东,那么向东运动(机头方向),Y会增大。向北运动(飞机左方向),X会增大。那么向上运动,Z会是负数,且越来越负。

实机向前方运动

会发现 QGC的LOCAL_POSITION_NED的Y增大

/mavros/local_position/pose的X增大

实机向右方运动

会发现 QGC的LOCAL_POSITION_NED的X变小为负数

/mavros/local_position/pose的Y变小为负数

当飞机向上运动

会发现 QGC的LOCAL_POSITION_NED的Z变成负数并且不断减小

实机建议调好pid再起飞,本人只试过定点飞行,没有任何问题

http://www.hrbkazy.com/news/32301.html

相关文章:

  • 网站推广费用价格seo排名工具外包
  • 网站漏洞合肥关键词排名推广
  • 肉菜配送网站建设行业网站有哪些平台
  • 公司做的网站费用如何做账seo优化是指
  • 中国品牌网官方网站app地推接单平台有哪些
  • 怎么黑掉织梦做的网站美食软文300范例
  • 阿里云上怎么做网页网站seo站长工具 论坛
  • 做网站虚拟主机配置营销广告
  • 哪个网站做的效果图好百度下载安装免费下载
  • 虎门镇网站建设ui设计
  • 网站做哪种推广好沈阳seo优化排名公司
  • 怎么做时时彩网站平台前端seo是什么意思
  • 南宁网站建设 超薄网络软文写作要求
  • vue使用于网站开发搜索引擎营销是什么
  • 传奇sf网站怎么做想做电商应该怎么入门
  • 网站建设设计设计公司哪家好2345浏览器下载安装
  • 《网站建设与管理》方案哪个搜索引擎能搜敏感内容
  • 页面设计公司排名seo应该如何做
  • 做的比较好的网站网站推广关键词排名优化
  • 佛山哪有网站建设公司百度快照官网
  • 苏州招聘网站制作怎么建企业网站
  • 普陀做网站国际新闻网站
  • wordpress 菜单按钮宁波seo在线优化哪家好
  • 网站建设的费用包括软文网站大全
  • 阿里云做视频网站可以吗小红书怎么推广
  • 旅游网站开发开题报告搜索引擎营销概念
  • 淄博阿雷网站建设seo实战
  • 系统下载 网站 源码外贸推广平台怎么做
  • 广西钦州有人帮做网站的公司吗谷歌seo软件
  • 广州兼职网网站建设新闻最新消息10条