×

使用GPS和惯性传感器的设备来监控动物的运动

消耗积分:0 | 格式:zip | 大小:0.75 MB | 2022-10-20

王玲

分享资料个

描述

我们的目标

该项目旨在回答有关处于脆弱状态的本地动物物种的基本生物学问题。为此,我们设计和开发设备,进行现场监测,分析我们从活动中提取的数据,并将运动模型与获得的数据相匹配。

关于我们

我们是一个由生物学家、物理学家和工程师组成的团队,我们已经跨学科工作了 5 年,涉及不同的动物物种、不同的栖息地和挑战。我们在阿根廷里奥内格罗的圣卡洛斯德巴里洛切的巴里洛切原子中心进行研究。

...我们是如何开始的?

五年前,我在吉列尔莫·艾布拉姆森博士的指导下开发动物运动的理论模型。在我博士的后半段,我和研究有必要从真正的动物监测开始。我们首先在其自然栖息地监测有袋动物Dromiciops gliroides 。鉴于这种动物生活在没有 GPS 信号的森林中,它的重量约为 20 克(这极大地限制了可用的设备),而且它是一种夜行动物(必须进行监测),因此这项工作变得非常具有挑战性。晚上出去)。我们开发了自己的天线来设置接收站,并将发射器放置在D. gliroides个体身上

 
该小组的一名成员位于森林中的一个接收站,使用无线电遥测技术监测 Dromiciops gliroides。
 

我们的项目继续发展,许多生态团体找我们询问我们是否可以开发任何可以适应他们环境的监测系统。我们开始开发自己的监控系统,包括 GPS、惯性传感器(加速度计、陀螺仪和磁力计)和温度传感器。一方面,我们在监控系统的研发方面取得了进步,此外,我们还收到了 TinyML 套件,它也可以成为跟踪系统。现在,有了 SenseCAP K1100,我们可以组建一个连接的设备网络,同时监控动物。

如今...

使用这些监控系统(我们将在下一节中详细介绍),我们可以获得动物的轨迹。特别是,我们现在有兴趣监测位于阿根廷里奥内格罗省圣安东尼奥奥斯特自然栖息地的乌龟Chelonoidis chilensis的种群。该物种处于脆弱状态(IUCN 2014,并且对其生物学知之甚少。我们相信,通过研究系统跨学科(开发和实施跟踪设备、分析数据和开发理论模型),我们可以更多地了解这个物种。了解动物如何移动、调查它们的轨迹、寻找它们的巢穴、研究它们的行为如何依赖于外部变量(例如温度或风)是制定有助于保护它们的指导方针的关键。

监控系统

我们使用包含 GPS 和惯性传感器的设备来监控动物的运动,并根据不同的变量(一天中的时间、天气条件等)确定它们的活动。这些设备可能在技术和性能上有所不同,但必须足够轻巧,以满足每个生物系统的要求。这样,可能性就降低了。我们将在下面介绍我们正在使用的 2 个监控系统。

  • 我们团队设计的跟踪系统。该设备使用 CC1312R1F3RGZT 微控制器,包含 GPS、惯性传感器、温度传感器和麦克风(参见“原理图和威廉希尔官方网站 图”中的原理威廉希尔官方网站 “使用 CC1312R1F3RGZT 微控制器的动物监控系统”)。我们包含用于该设备的 IMU 模块发送和接收数据的代码示例(请参阅“代码”部分中的“发送/接收 IMU 数据的示例代码”)。在本节中,我们还包括一个 Python 代码“图形用户界面”,以交互方式显示温度和加速度计测量值。使用我们为此设备开发的第一个原型,. 有了这些结果,我们提交了手稿“通过互补技术监测易受伤害的龟龟Chelonoidis chilensis的运动研究”。
poYBAGNQkk-AcsNZAAC9klyoPC4229.jpg
我们团队开发的监控设备的三维视图。该监控单元的尺寸为 63x48 毫米。
 

在下一次监测活动(2023 年 1 月)中,我们将使用该设备跟踪个人并获取新的运动数据。目前,数据存储在内存中,因此在检索内存之前我们不会获取数据。我们的目标是采用远程低功耗通信协议作为 LoRa,以便能够实时查看动物行为。

  • TinyML 套件 + Edge Impulse。我们的团队是 TinyML 网络的一部分。由于这一壮观的举措,我们收到了 10 个 TinyML 套件,其中包括包含 9 轴惯性测量单元 (IMU) 和温度的 Nano 33 BLE Sense 等组件。结合 GPS、电池和内存,我们可以用作新的动物监测设备。使用足够轻巧的监控设备以及数据分析和机器学习算法,可以在现场确定个人的行为使用 TinyML 套件和 Edge Impulse 平台,我们能够训练神经网络对C. chilensis的行为进行分类个人。我们使用从该物种个体在其自然栖息地的 5 次监测活动中提取的加速度计时间序列。我们使用 Keras 设计了一个分类模型,首先区分运动和静止。随后,目标是区分不同类型的行为:进食、行走、交配、挖巢产卵等。此类研究的一个具体应用是找到雌性产下的卵并帮助保护它们:通过通过描述来自“挖巢产卵”活动的加速度计信号以及来自 GPS 的个人位置,我们可以识别这些沉积地点并保护鸡蛋免受潜在威胁。
pYYBAGNQklGARcqQAAEg4-perKY657.png
左:使用包括惯性传感器的设备在其自然栖息地监测 C. chilensis 个体。该装置被放置在外壳上,并使用伪装胶带固定以防止捕食。右图:来自 x、y、z 加速度计的原始数据(上)、频谱图(中)、用于提取频谱特征的频域(下)。右边的三张图取自 Edge Impulse。
 

我们已经使用 Wio 终端和 Arduino 代码测试了分类器(请参阅“代码”部分中的“使用加速计训练的 NN 的动物运动分类器”)以及圈养乌龟的运动。这样,我们就可以实时确定分类结果,并通过蓝牙在我们的手机上获取结果(“Active”或“Inactive”)。由于 Wio 终端的重量和尺寸,我们将在现场使用 TinyML 套件。

使用 Wio 终端和 Arduino 代码检测动物运动的分类器。
 

加入 SenseCAP K1100 的好处!

在野外工作中,每个人都配备了一个使用伪装胶带防止捕食的装置。到目前为止,数据都是在设备的内存被移除后获取的。这个过程是战役中最繁重和最耗时的任务,因为我们必须找到分布在相对较大的自然区域内植被粗糙的动物。重要的是,这样做我们也会强烈干扰我们想要研究的自然行为。我们的目标是采用远程低功耗通信协议作为 LoRa,以便能够实时查看动物行为。

我们可以将 SenseCAP K1100 传感器整合到两个监控系统中:一个由我们的团队开发,一个由 TinyML 套件实现。有了足够多的 LoRa 设备,我们就可以创建一个连接它们的网络。这将使我们能够发送存储的信息,而无需靠近个人,也无需触摸已安装的设备,这些设备经过精心伪装和保护。LoRa 还带来了扩展研究和实时监控多个个体或“节点”的可能性,例如检测可能的集体行为。它还可用于从一个或多个监控/控制中心以非侵入方式更新设备设置和所有这些任务。

poYBAGNQklSAQfaQAANpfeKeG-Y783.png
Nano 33 BLE 的示意图连接,以实现具有远程通信的完整跟踪设备。这使得能够构建实时监控的设备网络。
 

SenseCAP K1100 套件还为我们尚未探索的传感器融合开辟了新的视角,并解决了温度、湿度和光线对陆龟行为的影响问题。更多地了解个人的活动以建立有助于保护他们的指导方针,这一点至关重要。利用 SenseCAP K1100 的优势,在监测动物的同时,我们可以测量它们生活的自然栖息地的环境变量。例如,一种类型的乌龟庇护所由地下的洞穴组成。现在,我们可以测量这些地方的湿度。

除了在陆龟中实施外,我们的目标是在野外的其他动物物种中使用它,只要设备满足尺寸和重量要求。例如,我们开始与研究小蜥蜴和小鸟行为的团体合作。

最后,重要的是要说我们真的很喜欢这个项目,还有很多工作要做。使用不同的技术为不同动物物种的监测做出贡献对于更多地了解每种动物的生物学并为脆弱物种的保护制定指导方针非常有价值。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'使用GPS和惯性传感器的设备来监控动物的运动',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);