该任务是为了实现无人机对于行人的跟踪,飞控采用的是px4,机载的板子是使用jetson nano。利用darknet_ros和自己训练的行人检测的yolov3 tiny模型,在jetson nano板上实现了10帧左右的行人检测,以检测框中心为跟踪目标,计算出行人相对于机体坐标系的角度和距离。

由于飞控采用的是px4,因此使用mavros来实现无人机的控制。我们采用的速度控制,使用的是mavros/setpoint_velocity/cmd_vel这条消息,使用方法如下:

ros::Publisher velocity_pub = nh.advertise<geometry_msgs::TwistStamped>("mavros/setpoint_velocity/cmd_vel", 10);geometry_msgs::Twist twist;
geometry_msgs::Vector3 linear;
linear.x=vx;
linear.y=vy;
linear.z=min(max((2-uavz)*0.5,-0.1),0.1);
geometry_msgs::Vector3 angular;
angular.x=0;
angular.y=0;
angular.z=wz;twist.linear=linear;
twist.angular=angular;geometry_msgs::TwistStamped speed;
speed.twist = twist;
velocity_pub.publish(speed);

该方法发布的速度是相对于东北天坐标系的,因此为了实现目标跟踪还需要将相机坐标系下计算的位置转换为东北天坐标系下的位置,为了避免该转换,同时也为了跟踪的平滑,对该消息进行修改,使其速度控制为相对于机体坐标系,需修改的为/opt/ros/melodic/share/mavros/launch下的px4_config.yaml文件,将setpoint_velocity的mav_frame修改为BODY_NED,如下所示

# setpoint_velocity
setpoint_velocity:mav_frame: BODY_NED

然后只需要设置x轴的速度,也就是前向速度,以及z轴的转速也就是偏航的角速度就可以实现目标跟踪。

mavros 基于体轴坐标系下的无人机行人跟踪相关推荐

  1. DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...

  2. 树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...

  3. 【控制】《多无人机协同控制技术》周伟老师-第9章-单无人机目标跟踪飞行控制策略

    第8章 回到目录 第10章 [控制]第9章-单无人机目标跟踪飞行控制策略 9.1 单无人机目标跟踪控制系统设计思路 9.2 无人机飞行姿态控制 9.2.1 无人机运动模型 9.2.2 非线性模型线性化 ...

  4. 技术分享 | 基于室外RTK/GPS定位系统下的无人机集群协同

    在自然界中,为弥补个体能力的不足,诸多生物种群能通过个体相互之间的交流与合作呈现出某种群体行为,比如鱼群结群游弋.鸟群聚集迁徙以及蚂蚁协同搬运等.受此激励,人们希望开发像鸟群.鱼群一样自由集结可以执行 ...

  5. Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建(XTDrone的)

    摘自:https://www.ngui.cc/51cto/show-23557.html Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建 编程学习 · 2020/7/12 1 ...

  6. dq坐标系下无功功率表达式_基于瞬时电流分解的谐波电流检测方法研究

    1 引言 有源电力滤波器(APF)是一种能动态抑制谐波和补偿无功的电力电子装置,相比传统的无源滤波器,无疑是一种更高效.更智能的改善电网环境的手段.谐波电流的检测直接影响到有源电力滤波器的补偿效果.基 ...

  7. mavros操作飞机时方向位置改为机体坐标系下指令(转载)

    转载自:mavros操作飞机时方向位置改为机体坐标系下指令_渡之的博客-CSDN博客 前面试了很多,看官网里的说明 用 /mavros/setpoint_raw/local"里的frame_ ...

  8. 无人驾驶路径规划(三)局部路径规划-Frenet坐标系下的动态轨迹规划

    前言:对于无人驾驶路径规划系列的第二篇RRT算法的改进部分,由于有些内容属于个人想到的创新点,有想法投一篇小论文所以暂时没有公开,等后续完成后我会再公开介绍.今天第三篇内容开启一个新的算法介绍:Fre ...

  9. 基于改进YOLOv7&OpenCV的行人过马路速度与交通灯实时监测系统(源码&教程)

    1.研究背景 横穿马路的行人运动速度太快.太慢或者突变都可能影响驾驶者的判断,从而导致交通事故.车载辅助系统应能够在交通路口为驾驶者提供异常行人的速度预判信息.文献[1-2]通过对不同红绿灯情形进行建 ...

最新文章

  1. kvm虚拟化框架结构层次梳理及图形化的使用
  2. lay和lied_lie和lay的区别和用法是什么
  3. 震惊,竟然有人用Taro来。。。
  4. [蓝桥] 算法提高 队列操作
  5. php openssl des ecb,PHP7 OpenSSL DES-EDE-CBC加解密
  6. 【数据库系统概论】考研第三部分重点分析【3.1】
  7. 未来科技计算机作文600字,未来科技发展_600字
  8. 判断浏览器是否为IE
  9. Loadrunner11 下载、安装及破解
  10. 计算机房档案管理,河南省数字档案馆机房管理制度
  11. 学习Spherical Harmonics的简记
  12. 【java算法】排序算法大合集
  13. 计算机应用基础知识doc,独家稿件:终稿[定稿]计算机应用基础知识全册教案.docOK版...
  14. Mycat 读写分离、主从切换、分库分表的操作记录
  15. 【Vue】Vue-cli(脚手架)的目录结构详解(转载)
  16. 重点技术-20181008-GSON 报错HibernateProxy. Forgot to register a type adapter?
  17. polished css,CSS3网格布局(grid)模板在线构建工具
  18. 【通俗向】假设检验(三):卡方检验和t检验
  19. 一文带你看懂!TensorFlow入门
  20. 【IPTV详解三部曲】运营商PIM组网篇

热门文章

  1. OpenCV中Kinect的使用(3)
  2. 票据打印, 账单打印, 标签打印, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印打印,发布,VC++源代码组件库解决方案...
  3. CVPR 2022 中科院、腾讯提出LAS-AT,利用“可学习攻击策略”进行“对抗训练”
  4. ICCV2021 视频领域的纯Transformer方案!谷歌提出ViViT,在多个视频分类基准上SOTA!代码已开源!...
  5. FAIR 何恺明、Piotr、Ross等新作,MAE才是YYDS!仅用ImageNet1K,Top-1准确率87.8%!
  6. ICCV 2019 VisDrone挑战赛冠军方案解读
  7. 经验 | 深度学习中常见的损失函数(loss function)总结
  8. CVPR2019 Oral!伯克利、麻省理工GAN图像合成最新成果(附开源代码)!
  9. 史上最全!计算机科学领域顶会最佳论文大合集:微软研究院最多,清华排24...
  10. java 反射 单例类_利用反射机制破坏单例模式