无人机实验平台开发随笔(三)NOKOV Seeker软件配置

2023-05-16

考虑到在上一篇文章中分析的结论,对于nokov和平台核心组件的数据传输反而可以放在相对次要的位置了,毕竟就算通过手动输入坐标也是可行的方案。

先前对硬件进行的调试,有必要进行一个总结,公司给予的文档中对问题的估计有限,基本上是要求用户按部就班来操作的,有些设置却没有写清楚,如果不去咨询客服难以知道设置方法,网络上也鲜有资料,希望写出来可以解决后续使用者的疑问。

Seeker和硬件系统的连接

一套动作捕捉系统由8台摄像机,若干连接线和交换机,一系列用于定位的marker反光点还有标定杆组成(一套包括L标定杆和T标定杆),在使用时至少要有三台摄像机布置在实验室外围,从而较为精准地建立实验场地的坐标系。这套设备可以用于动作捕捉和分析,也可以用于场地坐标点的定位,存在实时模式——实时捕捉场地中marker的位置,还有分析模式——将动作捕捉的文件进行后处理,也可以导出到其它软件进行分析。

在本场地中,由于面积有限,最终采用了6台摄像机分布于房间周围,摄像机通过网线与交换机相连,交换机连接电脑。厂家提供了Seeker设备用于连接摄像头。在使用之前,首先要将摄像头支架搭好,确保其稳定,将摄像头大致对准房间中央(可以后续调整)。

在本地连接进行设置,IPv4的地址设置为10.1.1.198(此处是否有效存疑),子网掩码255.255.255.0。

安装seeker。

插入加密狗(随机器提供,u盘大小,若不插入则数据无法导入seeker),管理员模式运行seeker软件。注意此时就尽量关闭一切防火墙。

在工具—设置中选择Cameras标签,在Camera Network IP Address中选择10.1.1.198。在Calibration(标定时选项)中选择需要的坐标系形式(一般来说,仅影响数据的格式),单位等。在Tracking标签中,设置Min Cameras to use(最少镜头数量),一般设置为3即可。至此初始化设置基本完成。

设置完成后,可以保存配置文件为.cal文件,后续加载配置文件即可。在Seeker下方有连接镜头选项,选择连接镜头,会提示镜头数量是否相符等信息,一般来说初次设置的时候镜头数量会不一样,观察后方xx cameras found中的数字和你实际接入的摄像头数是否一致——如果不同,则检查线路是否连接完好,如果相同点是即可。在初次设置之后,如果镜头数量不变,后续不会再提示数量不同。

连接镜头后,画面下方出现一排镜头编号,可以点击编号切换到相应的镜头观察。

注意:镜头在软件中的编号未必等于他显示在硬件上的编号,通常情况下是从小到大一一对应的,例如我使用了1,2,3,8号镜头,在软件上会分别对应1,2,3,4号。当然如果能选择相同编号的镜头,会更有利于后续调整角度。

点击播放键,镜头会进入实时模式,这时才可以在下方2d界面看到各个镜头的视野。由于尚未标定,软件也无法确定各个镜头之间的关系,因此3d画面上还没有有效信息。这时候建议把一些marker反光点放在各镜头前方,大体确认一下边界。注意镜头的视野绝不是平的,现实中的正方形在镜头里肯定是存在形变的,暂时还不用考虑这个问题。

在场地中没有反光点的情况下,画面上仍然可能存在噪点,这多半是因为场景中有一些物件在反光。仔细检查场景,看看有没有1.金属制品,如拉链,金属椅子;2.强烈的阳光或灯光,如射灯,窗户外的光等;3.地面是否平整,有没有可能反射光线。排除噪点是很麻烦的过程,因为人类很难想象在当前画面下存在的噪点具体在屋子的什么地方。

这里有个建议——设备附带了一个L标定杆用于挥舞,这个标定杆上有三枚反光点,在镜头中很清晰,可以一个人盯着屏幕,另一个人用标定杆在屋子里走,看看什么时候标定杆的三个点和噪点大致重合,那么这个位置和镜头连线的反向延长线上很可能有产生噪点的原因。

如果噪点确实难以排除,只能考虑遮罩——这是建立在软件层面上的,系统会忽略存在噪点的区域,如果遮罩过大会一定程度影响定位,建议画小一点。最后要做到场景中没有任何反光点,就算成功了。

遇到的几个问题和解决思路:

闪光的噪点:有些噪点会在屏幕上不断闪烁,这个有两种可能,一种是灯光产生了类似闪烁的效果,另一种也是最合理的是镜头光圈有问题,如果光圈过小可能使得进光量不足,有些应该稳定的亮点却闪烁了。这时候要到硬件上把光圈调大

成片的噪点:和上述相反,可能是光圈过大了,使得一些环境漫反射也被视为亮点,可以适当减小。这时候可以在屋里放几个反光点,光圈调整到成片的噪点消失,但是反光点能够清晰显示时即可。

无法遮盖的噪点:有些噪点定位到了,但是无论如何都找不到,这时候要抬头看看,噪点未必在地上,也有可能在空中。

当画面清晰,一片空白,就可以到下一步了。

标定

标定是能让捕捉系统建立坐标系的最重要的工作,如果不标定软件无法通过处理镜头的数据来给出结论。标定也是最为麻烦的部分。操作如下:

注意下方的镜头编号,在未标定的情况下,这些编号是白色的,标定中会变成黄色,标定成功会变成绿色。

(上图为标定成功后的颜色,标定前是白色)

取出L型标定杆——就是那个巨大的黑色L型框,上面有一些反光点。这个标定杆的交点处就是未来坐标系的原点,长臂和短臂代表两条轴,从原点垂直向上是第三条轴,具体指哪一条取决于之前选的坐标系类型。把这个杆放在场地中央希望作为原点的地方。

点击播放,进入实时模式(如果已经是了就不需要了)

分别观察所有镜头的画面,如果之前噪点都消除或者遮盖了,那么每个画面上都应该刚好是四个点,不多不少也绝不闪烁。如果出现不止四个,请先减少噪点。注意出现闪烁也不可,去调整光圈。完成后及时保存配置文件。

接下来在2d画面上,让标定杆尽量处在画面中间偏下的部分,但无需偏下太多。左右一定不要偏,可能会导致L标定失败。 当然不要动L标定杆,去调整镜头角度来使得标定杆位置正确,建议两个人合作完成。具体怎么算正确呢?下面有个摸索出的办法可以验证。

根据文档,接下来就是在确保实时播放的情况下,点击左下角的calibrate开始标定。

点击后选择第一个Initial Calibration,会进入L标定界面。由于先前已经确认过每个镜头的反光点都是4了,只需要点击Next即可。此时,如果你的标定杆在镜头中的位置正确,镜头的编号会变成黄色。

特别注意:如果镜头部分变黄,有一些仍然是白色,这通常说明L标定杆在镜头中的位置不合适,需要根据编号调整相应镜头的角度,重新进行L标定。但是,由于一个可能是软件BUG的设定,此时如果点击Previous,所有镜头(包括已经变黄的)编号都会变回白色,而再次点击Next来标定,所有镜头都不会变成黄色,后续标定也会失败。这很可能是一个软件BUG,因为此时即使完全退出Calibrate状态,再次选择Initial Calibrate,也不会修复,镜头仍然保持白色尽管L标定杆的位置没有问题。解决方案是保存配置文件,关闭seeker再重新运行,重新点击calibrate,镜头编号将正常变成黄色。

由于这个BUG存在,在L标定的过程中可能需要多次关闭seeker重新打开,但是先前能够变黄(也就是位置正确)的镜头后续也可以变黄,因此无需重复调整,最后一定会使得所有的镜头都变成黄色,L标定才算成功。

现在,所有镜头编号都变成黄色,可以继续标定了。将L标定杆移出场地(建议在标定杆处设置一些标记,如在地面上绘制坐标原点,因为你以后绝对不可能准确把L标定杆放回来),此时所有镜头上都不在有反光点。然后将T标定杆拿进场地尝试挥舞一下。T标定杆上有三个反光点,因此所有镜头上都应捕捉到三个点或少于三个点(被人遮挡),如果出现超过三个点,没办法,重新除噪点吧。这里有个小贴士,人身上或许也有能反光的部件,如金属拉链,务必确保衣服上没有影响标定的东西。

L标定后点击next进入T标定,在WandLength中输入T标定杆上黄色标签中写的数字,一般是500左右,不同杆有差异。Duration写标定时间,建议长一点,写120秒。挥杆人员拿着T标定杆站在场地中央,操作人员点击Next,然后点击镜头编号左侧的All on,让镜头画面全部显示出来。挥杆人员需要在120秒内在场地中不断挥舞标定杆,一边挥舞一边走动,争取让标定杆经过动作捕捉的所有区域——由于空间是三维立体的,空中和脚下也不要忘记挥舞。在屏幕上,每个镜头画面都被分为9个区域,每个区域如果捕捉到了标定杆,就会变成绿色。最终,要做到所有镜头的所有区域全部变绿才算成功,为此可能需要多次重复标定。部分镜头出现一个空白区域尚可接受,但是出现2个以上就会影响结果,务必重新标定。

时间到,或者帧数已经足够了之后,会自动跳出上一个界面。点击Next,软件会开始运算,运算时间可能较长。如果是初始配置,运算过程中将有可能报错,大体意思是“运算结果未能收敛”,3d画面会变得一片混乱。遗憾的是,无论是公司的文档还是网上资料都没提到解决方法。

通过和客服联系,问题得到解决。注意:在Calibration中的Lenses/Orientation中,请确认Focal是否有值,在初始阶段或者有些时候Focal中的值会是-1或者0,由于标定运算的时候需要用到Focal的值,错误的值毫无疑问会导致结果不收敛。如果有任何镜头的焦点不对,可以设置为8.0。也可以直接全部设为8.0作为初始值。

重设focal之后,再次标定和运算,经过约3分钟的计算之后,得出结果。此时观察Wand Length中的Avg值,和T标定杆上标签的值是否一致,这个值越接近则标定越准确,一般误差在小数点后2位就可以视为成功。(说明Nokov这套设备精准度还是很高的)

点击finish,标定完成,点击文件-保存配置文件,以后就可以通过读取配置文件,直接使用了。

标定以后,切勿移动任何摄像头,也绝对不要触碰它,由于标定精确度很高,一旦摄像头位置和角度改变可能需要重新标定

实时捕捉刚体姿态:

标定成功后,进入实时模式(点击播放),3d画面就可以显示场景中任何反光点,和精确的坐标了。接下来就只需要把反光点放在需要的位置,进行动作捕捉了。例如将反光点固定在无人机上。在非实时状态下,点击文件-new markerset可以建立一个markerset,后续坐标会以markerset各店坐标的形式广播出去。把画面中的点加入markerset,随意命名,调整颜色,然后保存markerset。进入实时模式后,场景中的markerset将可以自动被识别(如把无人机放在其中,加入drone.prop,就可以识别出markerset来),在实时模式中,markerset会无比清晰地显示在3d界面中,也可以选择把数据广播出去。由于我们不需要做动作捕捉,数据处理部分就略过不表了。

接下来是数据广播。厂家提供了VrpnServer用于建立vrpn服务器广播数据,操作比较傻瓜,只需要在seeker设置中,将SDK enable选中,在下方输入NIC address(官方给的是10.1.1.198,但是如果在实验室组网也可以另外设置,官方给的设置是可能是基于虚拟里使用的考量。)

让系统进入实时模式,然后双击运行VrpnServer,会要求输入address。和官方文档不同的是,这里需要输入两个,一个叫sdk nic address,另一个是local nic address。阅览了更新文档后,发现老版本中这里只需要输入一个nic address也就是之前设置的10.1.1.198,就可以自动识别sdk,现在要输入两个有可能是考虑用户需要自己组网。这里可能存在一个bug,就是虽然地址要输入两次,但是两次必须一样,否则都会直接闪退。如果两次一样,但是和设置的sdk nic address不同,则不会闪退,只显示sdk not found。bug存疑。

输入完毕后,显示找到了sdk,并显示出会广播出去的markerset的名称,然后要求输入坐标系类型。按照提示输入数字即可(如0代表ZXY坐标系),输入完成后,广播即开始了。

官方给的文档中,vrpnserver需要和seeker在一台电脑上,经过我的测试这个并不是必须的,如果实验室自组了以太网,只需要调整sdk nic address,设置为本机ip,另一台局域网内的主机也可以运行vrpnserver,输入seeker所在主机的ip,从而连接sdk,正常广播数据。但是另一方面,如果vrpnserver是在seeker所在的电脑上运行,则网络上另一台主机在试图连接vrpnserver的时候会报奇怪的错误(can‘t write cookie),我自始至终没能搞懂这个问题和cookie有什么关系,网上也没有任何一点相关的资料。如果根据官方文档来操作,则需要在seeker所在的电脑上另外安装ubuntu虚拟机,在上面用vrpn-client-ros来连接,这样并不会报上述错误,数据也可以正常传输到虚拟机上。按理来说虚拟机本来就是局域网上一个抽象的对象,我很难想象虚拟机在不同的主机上运行,一个会报错另一个则会正常。

会不会是防火墙的问题?然而关闭了所有的防火墙,错误依然存在。seeker所在的电脑配置较低,再跑一个ubuntu未免有点太慢了,因此不得不把虚拟机移动出来,个人感觉这个问题可能是因为虚拟机网络配置导致的,因为虚拟机在seeker所在机器上,他们肯定是在一个内部网络上的,但是如果虚拟机在另一台电脑上,则需要走一层网关才能到达虚拟机,也许可以通过虚拟机与外网直接桥接的方式来解决。不过既然确立了不考虑基于ros的硬件开发相关的问题,我暂时也不再深究这个错误,如果有可能的话,未来可以用一台实体ubuntu机器接入局域网,尝试一下数据传输是否正常。ros是基于订阅机制的,应该说没什么问题。

上面基本上就是nokov设备初始化的教程了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无人机实验平台开发随笔(三)NOKOV Seeker软件配置 的相关文章

  • 无人机实验平台开发随笔(二)

    困难与解构 xff1a 在实际开发过程中 xff0c 通信问题成为了第一阶段最为严肃的问题 xff0c 在解除了各类与机器人和无人机相关领域的知识之后 xff0c 随着对项目功能认识的深入 xff0c 也逐渐感觉到了强烈的无力感 首先 xf
  • 无人机实验平台开发随笔(三)NOKOV Seeker软件配置

    考虑到在上一篇文章中分析的结论 xff0c 对于nokov和平台核心组件的数据传输反而可以放在相对次要的位置了 xff0c 毕竟就算通过手动输入坐标也是可行的方案 先前对硬件进行的调试 xff0c 有必要进行一个总结 xff0c 公司给予的
  • Nokov使用说明(Windows系统)

    Nokov使用说明 第一步 镜头硬件调节1 连接镜头 xff0c 打开Seeker软件 xff08 以下简称软件 xff09 2 放置标定框3 调节镜头4 调焦1 xff09 调节后环 xff1a 光圈调到最大2 xff09 调节前环 xf
  • 【机器人】机械臂与动捕Nokov的深入了解

    导语 xff1a 每次的实践操作后 xff0c 总能刷新我对机械臂以及Nokov的认识 xff0c 既让我惊喜不已 xff0c 同时也让我知道我掌握的还远远不够 xff0c 需要不断的学习 关于机械臂 示教器上NOA姿态表示方式 xff1a
  • Source Insight 4.0 下载 安装 配置

    目录 下载地址 安装 打开 试用 导入工程 代码 1 新建一个项目 project 2 填充项目名及代码路径 3 这个直接点OK 4 导入项目文件 5 重建一下项目 6 打开项目文件 project Files 修改source insig
  • VS Code如何让右键运行代码[秒懂!!!]

    前言 当我们下载完了VSCode 运行代码的时候发现还要去左上角的工具栏上面运行 这里我将教给你如何用右键的菜单运行代码 正文 下载一个插件就可以解决这个问题 Code Runner这款插件能解决这个问题 如图是下载过程 下载完了就可以用右
  • Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】

    文章目录 前言 正文 一 Ventoy的优点 二 Ventoy的pe盘制作 三 用Ventoy重装系统的过程 四 结尾 前言 当我们使用一般的pe盘的时候 他会把我们的u盘格式化 而且里面下载了很多文件 我们可能就不敢轻易的使用这个u盘作为
  • FairMOT配置(VS2019+Win10+CUDA11.0)

    配置环境 Win10 VS2019 CUDA11 0 Pytorch1 7 配置步骤 1 下载FairMOT git clone recursive https github com ifzhang FairMOT git 2 使用anac
  • vscode clang-format不生效

    问题 ubuntu下clang format不生效 解决方法 全局搜setting json 看着哪个像 找到对应的设置文件 我的是 config Code User settings json 里面改成 editor formatOnSa
  • VSCode 无法更新插件 XHR timeout error 解决办法

    注 本方案仅为XHR timeout error错误的其中一种解决方案 作者使用此方法修改后更新成功 但不保证对于所有的XHR Timeout Error错误 使用此方法后可解决问题 另注 依评论区要求 现已上传修改windows授时服务器
  • oracle下载页面改版后的 JDK 下载、安装及其环境配置

    oracle下载页面改版后的 JDK 下载 安装及其环境配置 时间 2020 06 10 下载链接 https www oracle com java technologies javase downloads html 变量名 JAVA
  • Visual Studio 2019(VS 2019)配置Qt开发环境(最新!)

    1 Qt下载与安装 1 Qt下载 Qt全版本下载网址 Index of archive qt 根据操作系统下载对应的安装包即可 我选择的是5 9 9的版本 2 Qt的安装 双击打开下载好的qt opensource windows x86
  • Ubuntu rc.local 的开启与配置

    目录 rc local 简介 rc local 的配置流程 rc local 服务的管理 rc local 服务显示状态 rc local 服务的启动 rc local 服务的停止 rc local 服务使能 gt 开机依旧生效 rc lo
  • vscode中不能使用命令pnpm

    问题描述 在vscode中只能使用npm 其他的pnpm nr等等命令运行就会报错 但是用cmd在项目路径下运行又是可行的 解决方案 vscode邮件以管理员身份运行 不是管理员 会无权限更改 在vscode的中断输入命令get Execu
  • Ubuntu搭建Samba服务-学习记录

    文章目录 Ubuntu安装Samba流程 Samba配置文件 Samba添加账户 配置文件修改 Samba服务控制 设置开机自动启动 通过systemctl 启动服务 通过 rc local 启动 Windows访问 参考链接 当前文章仅用
  • 安装配置MySQL数据库服务器-多版本(简单详细,一学就会)

    目录 引言 一 5 6 51数据库服务器下载 二 8 1 0最新版数据库服务器下载 引言 个人认为MySQl数据库目前推荐的两个版本系列为5 6 51和8 系列 至于我们为什么要下载两个版本呢 是因为官方在数据库下载的结构上有所改变 5 系
  • [Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确

    win7下运行exe失败 应用程序无法启动 因为应用程序的并行配置不正确 1 问题描述 承接了一个项目 给甲方交接的时候 在它的电脑中运行出现了这个错误 应用程序无法启动 因为应用程序的并行配置不正确 有关详细信息 请参阅应用程序事件日志
  • mysql-workbench使用中遇到的坑

    1 mysql workbench的安装 问题 1 弹出找不到C 的库 解决 1 的确缺少了这个库 按提示下载一个就好 安装框的左下角 有下载地址 2 有这个库 但就是找不到 可能是win10的问题 win10安装msi的文件需要管理员权限
  • Windows10 配置 Swin-Transformer 踩坑记

    机器配置 rtx 3090 CUDA 11 1 Python 3 8 pytorch 1 9 0 步骤 1 下载Swin Transformer git clone recursive https github com SwinTransf
  • 字符“&”在XML文件中需要被转义

    今天弄Mybatis的配置文件时 因为这样一条语句

随机推荐

  • 二分法查找的Python实现

    代码如下 xff1a usr bin env python coding 61 utf 8 def BinarySearch t x t sort 对列表进行排序 xff0c 列表是有序的 xff0c 是二分法的前提 low 61 0 hi
  • Python中bisect模块用法,及实现方式

    bisect用法 import bisect bisect bisect left t x 在T列表中查找x xff0c 若存在 xff0c 返回x左侧位置 bisect bisect right t x bisect insort lef
  • c++实验六总结(自用)

    实验目的 掌握派生类的声明方法和派生类构造函数的定义方法 掌握不同方式下 xff0c 构造函数与析构函数的执行顺序与构造规则 程序如下 xff1a include lt iostream gt include lt string gt us
  • 光网络知识

    一 WDM网络体系结构注意点 1 波长复用 2 波长转换 3 透明性 4 电路交换 5 生存性 xff1a 当网络出现故障时 xff0c 光路能够自动路由到另一条备份路径上 xff0c 为网络提供了高度的弹性 6 光路拓扑 二 波分复用网络
  • docker镜像更新后 如何正确更新对应的容器 避免数据丢失

    容器的更新大致分为以下两种方法 1 容器并未存储任何应用程序的数据 在这种情况下 您可以在任何时候使用它的更新版本替换APP容器 方法是执行如下所示 span class token function docker span pull my
  • netconn_accept返回值为0,OSQCreate出错 lwip uocsii

    我是在main中有创建信号量的函数 led event 61 OSQCreate amp led q 0 MSGSIZE 这个因为配置中信号量上限较小 而在sys arch c中有一个创建消息邮箱的函数 err t sys mbox new
  • 零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器

    我们首先要了解寄存器的一个特点 xff0c 他不是只针对一个外设 xff0c 而是所有的外设都 就拿GPIO的CRL xff0c ODR寄存器来说 对于GPIOA GPI xff2f E都有一组功能相同的寄存器只是地址不一样而已 xff21
  • 写给小白:使用GitHub来托管论文吧

    使用GitHub来托管论文吧 摘要 xff1a 写给小白 对于非计算机专业的小伙伴 xff0c 可能很少接触到GitHub吧 xff0c 但GitHub真心好用 xff0c 虽然我们不会用它来进行 托管代码 xff0c 但是可以用来托管论文
  • 【软件安装】ElasticSearch在Linux系统中的安装

    0 安装JDK xff0c 并配置环境变量 ElasticSearch依赖Java环境 xff0c 先在服务器上安装好JDK xff0c 并配置好JAVA HOME环境变量 1 从官网下载ElasticSearch压缩包到本地 cd usr
  • Python爬取淘宝商品数据,价值千元的爬虫外包项目

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS xff1a 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 完整代码可以点击下方链接获取 python免费学习资
  • argparse简介

    一 argparse简介 argparse 模块是 Python 内置的用于命令项选项与参数解析的模块 xff0c argparse 模块可以让人轻松编写用户友好的命令行接口 xff0c 能够帮助程序员为模型定义参数 argparse定义四
  • Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

    Ubuntu22 04安装 配置 美化 软件安装 配置开发环境 一 Ubuntu Windows11 xff08 10 xff09 双系统安装 因为ubuntu的安装网上的教程特别多了 xff0c 所以这里不做赘述 xff0c 推荐使用小破
  • 直观理解uCOSII中的信号量的作用、优先级翻转现象、互斥信号量对优先级翻转现象的作用

    信号量的作用 优先级翻转现象 uCOS中的特殊信号量 互斥信号量 本文作为一个学习uCOS的经验分享 xff0c 希望能给初学小白们一个参考 以例程和运行效果来说明 xff0c 对一些概念性的东西这里不做过多解释 xff0c 网上相关文章多
  • C语言实现ftp客户端

    在VS2010新建win32控制台空项目 xff0c 加入下面代码 xff1a ftplib h xff1a ftplib h header file for callable ftp access routines Copyright C
  • 查看opencv文件所在目录方式

    查看opencv文件所在目录方式
  • CMake学习(二) —— 链接库的生成

    除使用 add executable 生成可执行文件外 xff0c 还可以使用 add library 生成链接库 一 Linux的链接库 首先讲一下 linux 的链接库 xff0c 就是一些函数代码的二进制形式 xff0c 有动态与静态
  • C/C++信号量CreateSemaphore的用法

    创建或打开命名或未命名的信号量对象 要指定对象的访问掩码 xff0c 请使用CreateSemaphoreEx函数 语法 HANDLE WINAPI CreateSemaphore xff08 In opt LPSECURITY ATTRI
  • Git+Jenkins+docker实现自动部署git拉取代码部署web服务

    Git 43 Jenkins 43 docker的持续集成环境构建 工作步骤思路 xff08 下图所示 xff09 1 server1搭建好git仓库和用docker搭建好docker镜像仓库 2 server3用git命令去别的共用仓库拉
  • 无人机实验平台开发随笔(二)

    困难与解构 xff1a 在实际开发过程中 xff0c 通信问题成为了第一阶段最为严肃的问题 xff0c 在解除了各类与机器人和无人机相关领域的知识之后 xff0c 随着对项目功能认识的深入 xff0c 也逐渐感觉到了强烈的无力感 首先 xf
  • 无人机实验平台开发随笔(三)NOKOV Seeker软件配置

    考虑到在上一篇文章中分析的结论 xff0c 对于nokov和平台核心组件的数据传输反而可以放在相对次要的位置了 xff0c 毕竟就算通过手动输入坐标也是可行的方案 先前对硬件进行的调试 xff0c 有必要进行一个总结 xff0c 公司给予的