草庐IT

NOKOV度量动作捕捉协助完成无人机室内定位研究

您家豆子 2023-03-28 原文

随着工业发展、技术进步,无人机的使用在各行各业愈发普遍,开始出现无人机飞行送外卖、智能无人机自主巡检等多方面应用。在这一过程中,无人机飞行定位就成为了重中之重。

西北工业大学无人机特种技术国防科技重点实验室(后称:西北工业无人机实验室)就无人机定位进行了研究。然而在实验初期,出现了定位困难的问题。无人机应用场景是在室外,因而实验老师开始的时候也将实验场地设在室外。但是在无人机研究中,室外常用的GPS或北斗定位的精度无法满足需求,并且由于天气原因和星位,容易受到建筑物的阻挡而丢失信息。所以,实验老师将实验场地从室外调整到室内,并采用定位精度达到亚毫米级的NOKOV度量光学三维动作捕捉系统作为室内定位系统。

于是,西北工业无人机实验室的老师开始考虑尝试在室内进行定位研究。实验老师在精度、性能、服务、性价比等多方面考察后,选定了我们NOKOV度量光学三维动作捕捉系统作为室内定位系统。

试验初期,西北工业无人机实验室使用我们独有的试用机系统进行了试验预实验,在8*8的空间内使用三脚架搭建了8台Mars2H镜头的标准试用系统,通过试用机的预实验,完成了无人机定位前期验证和平台的搭建。如下图:

随后实验室正式采购系统,重新搭建了实验室配置,将全新的8台镜头布置在4m左右的高度。整套NOKOV度量光学三维动作捕捉系统通过捕捉到在无人机的上反光标志点位置信息,在动捕软件中建立对应的刚体,从而获取无人机的空中飞行位置姿态信息。这些信息又经过SDK端口传输给西北工业无人机实验室独立研发的反馈系统,并将实时数据精准可靠地反馈给无人机,从而形成了一个定位数据的闭环,实现了低延迟,高精度的定位传输。通过这套系统,实验室实现了无人机精确悬停,精确绕行,保证了精准的定位反馈。

NOKOV度量光学三维动作捕捉系统在室内提供的精确定位服务,解决了无人机在室外飞行实验的低效率低精度问题,保证了全天候的实验环境,从而能够做到大幅提高实验效率,缩短实验周期。正如实验室刘老师说的:“这样,我们就可以天天来做实验,想什么时候做就什么时候做,效率也是大大提升了”。接下来实验室会进一步在无人机定位控制方向拓展研究。

 

有关NOKOV度量动作捕捉协助完成无人机室内定位研究的更多相关文章

  1. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  2. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

  3. Ruby:行 "m = Hash.new {|h,k| h[k] = []}"完成了什么而 "Hash.new"没有完成? - 2

    一边学习thisRailscast我从Rack中看到了以下源代码:defself.middleware@middleware||=beginm=Hash.new{|h,k|h[k]=[]}m["deployment"].concat[[Rack::ContentLength],[Rack::Chunked],logging_middleware]m["development"].concatm["deployment"]+[[Rack::ShowExceptions],[Rack::Lint]]mendend我的问题是关于第三行。什么是传递block{|h,k|h[k]=[]}到Has

  4. ruby-on-rails - 自动完成搜索的 Rails 实现 - 2

    我不确定如何为我的搜索功能添加自动完成表单。"get"do%>nil%>我有一个具有自定义操作的Controllerdefquery@users=Search.user(params[:query])@article=Search.article(params[:query])end模型如下:defself.user(search)ifsearchUser.find(:all,:conditions=>['first_nameLIKE?',"%#{search}%"])elseUser.find(:all)endenddefself.article(search)ifsearchArt

  5. ruby-on-rails - 使用 Rails 5 完成类(class)和模块分配给用户 - 2

    编辑#2这是类(class)ControllerclassCoursesController编辑#1因此,根据下面Jagdeep的回答,我现在完成了以下操作:类(class).rbclassCoursecourse_modules_user.rbclassCourseModulesUsercourses_user.rbclassCoursesUser用户.rbclassUser迁移classCreateCoursesUsers但是,我遇到这样的错误原始问题所以这是previousquestion的延续,然而,这会偏离那个主题,所以这里是一个新的主题。在此之后,我大致得到了我想要开始工作

  6. ruby - 在 Ruby 中禁用 OptionParser 标志的自动完成 - 2

    #!/usr/bin/envrubyrequire'optparse'options={}OptionParser.newdo|opts|opts.on("--languageLANGUAGE",["Ruby","JavaScript"])do|language|options[:language]=languageendend.parse!puts"Language:#{options[:language]}"如果我用./bin/example--languageRu运行它,它将输出:Language:Ruby我想禁用此自动完成/最接近的匹配行为,并在未提供确切名称时引发Option

  7. ruby - 是否可以在 Unicorn master 完成重启时发送通知? - 2

    我在nginx+unicorn后面运行一系列Rails/Sinatra应用程序,零停机部署。我喜欢这个设置,但Unicorn需要一段时间才能完成重新启动,所以我想在完成时发送某种通知。我能在Unicorn文档中找到的唯一回调与workerfork相关,但我认为这些回调对此不起作用。这是我从赏金中寻找的东西:老unicorn主人启动新主人,然后新主人开始它的worker,然后旧主人停止它的worker并让新主人接管。我想在交接完成后执行一些ruby​​代码。理想情况下,我不想为此实现任何复杂的流程监控。如果这是唯一的方法,那就这样吧。但在走那条路之前,我正在寻找更简单的选择。

  8. ruby - 交集完成后,顺序是否保留在数组中? - 2

    当我对两个数组进行交集时,是否可以保证生成的顺序基于第一个数组的顺序?例如,如果我有a=[1,2,3]b=[3,2,1]可以a&b返回[3,2,1],而不是[1,2,3](这是什么我希望)?我在RDoc或Pickaxe的Array文档中找不到任何直接解决这个问题的内容。RubySpec有一个规范,它createsanarraywithelementsinordertheyarefirstencountered,但我是否应该假设YARVRuby会遵守该规范? 最佳答案 看起来这是一项有保证的功能。他们在revision39415中升级

  9. jquery - Rails 4 如何捕捉 ajax :success event - 2

    我正在使用Rails4.0。我正在发送这样的事件(注意:remote=>true):true,:class=>"rate-btnyes-btnbtnbtn-defaultbtn-sm"}%>我的Controller看起来像这样:defratevideo=Video.find_by(hashed_id:params[:id])action=params[:yesno]putsvideo.hashed_idputsactionrespond_todo|format|if(action=='yes')new_rating=video.rating==1?0:1video.update(is_

  10. ruby - 这可以在一个正则表达式中完成吗? - 2

    我需要一个正则表达式来匹配一个字符串:只有数字0-9和空格所有数字必须相同应该至少有2位数字应该以数字开头和结尾匹配:11111111111111111111111111没有匹配项:1hasonlyonedigit11111hasspaceattheend11111hasspaceatbeginning12digitsaredifferent11:hasothercharacter我知道每个要求的正则表达式。这样我将使用4个正则表达式测试。我们可以在一个正则表达式中完成吗? 最佳答案 是的,它可以在一个正则表达式中完成:^(\d)(

随机推荐