NextPilot周边推荐(3):一款好用的微小型三轴光电吊舱

随着人工智能技术的不断发展,无人机的智能化水平也在逐步提高,未来的无人机技术将更加注重智能化、自主化、协同化的发展。智能化无人机能够通过机器学习和深度学习技术,自主完成复杂的任务,如目标识别、避障、自主导航、任务规划、集群协同、智能控制等。通过智能化技术,无人机能够更好地适应复杂环境,提高执行任务的效率和精度,减少对人工操作的依赖。

另外 随着无人机载荷能力的增强,未来的无人机将能够搭载更多种类的任务载荷,包括高清晰度摄像头、多种传感器、武器系统等,以满足更多的应用需求。

一款科研吊舱的特点

光电吊舱做无人机智能应用开发的核心组件之一,当前随着AI技术在无人机平台应用的越来越广泛,非常需要一个合适的吊舱用来视频图像做处理并作为目标检测、跟踪、定位、避障、起降、导航等应用的输入。

  • 价格便宜

价格便宜能够极大降低试错成本,攒一架无人机也就几千元的成本,如果吊舱上万的话基本没得玩,除非团队不缺钱或者技术成熟度很高,飞行没太多风险。

  • 体积小,重量轻

吊舱越大、越重需要的无人机就越大、越重,但是前期验证开发阶段,一般建议采用起飞重量5kg以下的多旋翼无人机,否则飞行安全、装机成本、使用维护等等都太不方便!

  • 具备良好通信控制接口

云台吊舱要能受你控制!要能给你反馈数据!大家比较喜欢的是UART通信控制或者LAN通信控制!早起很多吊舱都是PWM控制,连S.BUS控制的都不多,你还需要额外搞一个USB转PWM的嵌入式模块,好麻烦。

另外很多工业级吊舱使用SDI、HDMI或者RS422等方式输出视频数据,但是主流的机载计算机如Jetson、NUC、树莓派等只提供USB、网口等,故吊舱输出最好能够与之无缝连接!大家最熟悉的USB网络摄像头,直接cv2.VideoCapture(0)即可!软硬件接口友好性,通用化水平,决定该型吊舱使用难度程度。

  • 最好具备基础的AI智能应用

具备目标识别、跟踪、锁定和测距等功能。

某三轴方形光电吊舱

在某演示项目中,需要一款小型的侦查无人机对目标进行搜索,团队经过调研发现了下面这款三轴小型光电吊舱。

吊舱参数

  • 定焦可见光:镜头类型8.5mm,分辨率3840 * 2160;
  • 三轴云台:俯仰轴:-120°~20° ;航向轴:-90°~90°;翻滚轴:-40°~40°
  • 重量:≤132g(不含AI板、散热板、减震连接件)
  • 尺寸:≤66mm(长度)*66mm(宽度)*76mm(高度),不含AI板、散热板、减震连接件
  • 供电:12V,功率≤8w
  • 性能:探测2000米,AI识别700米

特色点评

  • 体积小,重量轻,仅130g,轻松挂飞
  • 支持rtsp网络视频输出,H265编码格式
  • 吊舱控制信号走网络通信,不额外占用硬件接口
  • 开放吊舱通信协议,提供API接口,快速开发
  • 具备1-2路视频AI识别(人、车等),任意目标跟踪等AI功能

跟踪效果

汽车跟踪,稳得一逼。

人等小目标跟踪效果,如下:

该光电吊舱使用手册

获取视频

rtps流地址为:rtsp://192.168.0.152/live,可使用QGC地面站、VLC等打开视频。如果使用机载计算机进行上层应用开发,用户可以使用Opencv获取和解析视频。使用opencv获取视频代码示例:

import cv2
rtsp_url = 'rtsp://192.168.0.152/live'
capture = cv2.VideoCapture(rtsp_url)

while capture.isOpened():
    res, frame = capture.read()
    cv2.imshow("video", frame)
    key = cv2.waitKey(1) & 0xFF
    if key == ord('q'):
        break
capture.release()
cv2.destroyAllWindows()

如果有条件也可以采用硬解码的方式去解析视频流,例如Jetson系列计算机,具备硬解码芯片,配合GStreamer使用能够达到更高的性能!不占用软件解码资源,效率更高。

import cv2
pipeline = 'rtspsrc location=rtsp://192.168.0.152/live latency=100 ! '\
               'rtph265depay ! h265parse ! omxh265dec ! nvvidconv ! '\
               'video/x-raw, width=(int)1280, height=(int)720, '\
               'format=(string)BGRx ! '\
               'videoconvert ! appsink'
print(pipeline)
capture = cv2.VideoCapture(pipeline, cv2.CAP_GSTREAMER)

while capture.isOpened():
    res, frame = capture.read()
    cv2.imshow("video", frame)
    key = cv2.waitKey(1) & 0xFF
    if key == ord('q'):
        break
capture.release()
cv2.destroyAllWindows()
以上代码已在Jetson Nano和Jetson AGX验证,但前提使需要重新编译opencv,增加对gstreamer的支持!

控制协议

吊舱采用TCP通信,数据包格式使用json,上电后吊舱启动TCP服务端等待连接,用户程序被定义为客户端。

(1)用户获取吊舱的姿态数据

{
 "task": 0,              #指令ID
 "gimbal_yaw": 10,       #云台偏航⻆,单位deg
 "gimbal_pitch": 10,     #云台俯仰⻆,单位deg
}

(2)用户发送指定控制吊舱

注意:以下指令,每次发送只能控制一个角度。也就是控制偏航角和控制俯仰角不能在一个指令中同时设置,需要分两次发送,也就是一次发送俯仰角,二次发送偏航角,两个角度没有先后顺序。
  • 设置吊舱角度,使吊舱转动至特定角度
{
 "task":13,      #指令ID
 "angle":50,     #⽬标⻆度,pitch 15~-90(上正下负),yaw:-90~90(左负右正)
 "isPitch":false #true:控制pitch,
                 #false:控制yaw
}
  • 设置转动步进角度,在当前姿态角度基础上,再转动一个相对角度!
{
 "task": 6,             #指令ID
 "pitch": 0或1,         #0表示向上移动云台,1表示向下移动云台,
 "yaw": 0或1,           #0表示向左移动云台,1表示向右移动云台
 "angle":0.1,           #每次转动⻆度,精度是0.1
 "reset": true/false,   #true为回中
}
  • 设置转动速度
{
 "task":13,
 "speed":50,     #转动速度范围(int类型)是+200~-200deg/s,正为上或者右,负为下或者左
    			 #根据下个参数控制轴转动
 "isPitch":false #true:控制pitch,
                 #false:控制yaw
}

参考代码

使用python写了一个吊舱驱动接口,能够获取吊舱视频并显示、获取吊舱姿态数据、控制吊舱转动,具体见:

https://gitee.com/wujinDrone/snail/blob/master/gimbal_pod/pod_demo.py​gitee.com/wujinDrone/snail/blob/master/gimbal_pod/pod_demo.py

注意事项

  • 上电时尽量保证吊舱水平,且尽量保证吊舱静止,如果手拿着吊舱上电很可能造成自检不通过;
  • 上电后自检需要一些时间,吊舱图像和姿态数据不会马上下发。

关于NextPilot飞控

NextPilot飞控系统是一款基于px4和rt-thread的国产开源自动驾驶仪,由NextPilot开发团队(nextpilot@qq.com)负责维护。它能够便捷的应用于教育、研究和工业等领域,让工程师专注于自己的擅长领域(比如嵌入式、控制算法、应用业务)进行高效的开发。

官方网站:https://www.nextpilot.org
开发指南:https://www.nextpilot.org/develop
用户手册:https://www.nextpilot.org/manual
开源仓库:https://github.com/nextpilot/nextpilot-flight-control
开发工具:https://github.com/nextpilot/nextpilot-windows-toolchain
联系我们:nextpilot@qq.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值