< >
Home » ROS2与Lighthouse定位系统教程 » ROS2与Lighthouse定位系统-配置基站通道(4个基站)

ROS2与Lighthouse定位系统-配置基站通道(4个基站)

说明

  • 介绍如何设置4个基站
  • 由于Lighthouse定位系统基于红外光和激光进行定位。如果部署环境中存在其他红外光束,可能会导致定位失败。
  • Crazyflie无人机集群套件,采购地址

第一步:打开cfclient

  • cfclient是crazyswam的调试程序,可以通过cfclient对无人机进行固件烧录、通道设置、定位系统校准、日志查看等功能。
  • 在终端中打开cfclient
cfclient
  • 效果图:

请输入图片描述

  • 通过Set BS Channel,分别设置基站的ID位1-4

第二步:放置基站

  • 配置基站ID后,接好基站支架,把四个基站放置在四个角,围成一个四方形,升到最大高度。四方形大小控制在6x6米内
  • 保持基站方向朝下向着四方形中心位置。

第三步:设置好通信地址,并且将飞机放在一个起始位置。

  • 无人机机号设置,默认1号无人机设置为0xE7E7E7E701,2号为0xE7E7E7E702....10号飞机为E7E7E7E70A。如果有更多则根据16进制继续加1,如15号飞机为0xE7E7E7E70E,16号飞机为0xE7E7E7E710,17号为0xE7E7E7E711。。。。

  • 首先将选择好的无人机放在灯塔定位环境中,最好是中间位置。此位置是将来坐标系的(0,0,0)点,即起始位置。 此外,无人机的正前方是坐标系的X轴正方向,正左方是Y轴正方向,正上方是Z轴正方向。

  • 设置好通信地址,点击scan进行扫描。如果一次没有扫描到,请进行多次扫描,扫描到无人机后,点击Connect进行连接。

  • 正确连接后如图:

请输入图片描述

第四步:打开Lighthouse界面

  • 在cfclient中选择Lighthouse Positioning标签。
  • 效果图1:

请输入图片描述

  • 效果图2:

请输入图片描述

  • 1:点击Manage geometry打开管理页面。
  • 2:点击Esrumate Geometry 开始估计基站位置。

第五步:校准!

  • 1.打开校准程序将无人机放在一个你要建立坐标的原始位置
  • 效果图:

请输入图片描述

  • 点击 Start Measurement开始测量。
  • 测量完成后效果图:

请输入图片描述

  • 点击“Next”

  • 如果是4个基站,但如果在校准过程中,只检测到了2个及以上基站,即可进行下一步操作。

  • 2.将无人机向正前方移动1米的距离

  • 注意:此处请通过卷尺量出1米的距离,将飞机放在正前方(X轴)的位置,此位置直接决定该坐标系下1米的距离,对定位极其关键,请务必确保放置正确。

  • 效果图:

请输入图片描述

  • 点击Start Measurement进行位置估计,估计完成后如下图所示:

请输入图片描述

  • 点击Next进行下一步。

  • 3 将无人机放在其他地方,以做标记。(此步骤可以重复多次,多测试一些点)

  • 点击Start Measurement进行位置估计,估计完成后如下图所示:

请输入图片描述

  • 如下图所示,如果确认可以检测到基站后,点击Next按钮。

请输入图片描述

  • 注意 该位置用于将XY平面映射到地面。(通过原点,X轴1米距离,以及此点可以定义平面) 此处可以通过Add more measurements添加更多的点,来获得更精准的定义。

  • 4 设置一个时间,用来对位置进行采集。点击start之后,手持无人机在lighthouse系统下进行多方位移动,直到计时结束。

  • 注意避免移动过快,尽量覆盖所有飞行空间。

请输入图片描述

  • 倒计时结束后,如下图:

请输入图片描述

  • 检测完成后,点击Next按钮,进行下一步。

  • 5 使用lighthouse系统进行基站位置估计,如果看起来合理,则点击“Finish”,否则重新进行估计。

  • 点击Estimeta Geometry按钮进行估计:

请输入图片描述

  • 估计之后如下图:

请输入图片描述

  • 估计出来的是基于原点的4个基站的x,y,z,单位是米。如果和实际偏差很大,则需要重新校准。如果位置准确,则点击Finish按钮。

  • 6.将校准后的参数写入无人机,点击“write”

请输入图片描述

第六步:给其他无人机进行校准

  • 经过以上步骤,就可以对无人机进行校准,但是这样只校准了一架。如果要给每个飞行都执行一遍,这将是一个很麻烦的过程。那么如何给多个无人机进行系统校准呢?那就是将校准好的参数保存下来,写入其他的飞机里面 ,我们也推荐这样做,这样可以确保您所有的飞机在同一个坐标系下建立。

  • 校准完成后,将参数保存下来,命名为lighthouse.yaml。该命名可以根据自己喜好更改,但是要确保将参数保存下来。如果你校准完忘了更改,没有关系,当你再次连接校准好的飞机的时候,你仍然可以保存。

  • lighthouse.yaml的内容如下。请核对文件的内容,确认是否缺少参数

calibs:
  0:
    sweeps:
    - curve: 0.18115234375
      gibmag: -0.004360198974609375
      gibphase: 1.4453125
      ogeemag: 0.137451171875
      ogeephase: 0.99853515625
      phase: 0.0
      tilt: -0.05035400390625
    - curve: 0.41650390625
      gibmag: -0.005382537841796875
      gibphase: 1.5810546875
      ogeemag: 0.1387939453125
      ogeephase: 1.9638671875
      phase: -0.0033245086669921875
      tilt: 0.043548583984375
    uid: 2800813957
  1:
    sweeps:
    - curve: -0.03271484375
      gibmag: 0.00641632080078125
      gibphase: 1.490234375
      ogeemag: -0.52880859375
      ogeephase: 1.52734375
      phase: 0.0
      tilt: -0.0474853515625
    - curve: 0.2109375
      gibmag: 0.006160736083984375
      gibphase: 2.673828125
      ogeemag: -0.412841796875
      ogeephase: 2.009765625
      phase: -0.004711151123046875
      tilt: 0.04425048828125
    uid: 2936131157
  2:
    sweeps:
    - curve: 0.07330322265625
      gibmag: -0.0147247314453125
      gibphase: 1.74609375
      ogeemag: 0.74853515625
      ogeephase: 1.8046875
      phase: 0.0
      tilt: -0.049957275390625
    - curve: 0.462646484375
      gibmag: -0.01454925537109375
      gibphase: 2.39453125
      ogeemag: 0.7138671875
      ogeephase: 2.453125
      phase: -0.00044274330139160156
      tilt: 0.048004150390625
    uid: 249337311
  3:
    sweeps:
    - curve: 0.2890625
      gibmag: 0.0026836395263671875
      gibphase: 0.79345703125
      ogeemag: -0.38525390625
      ogeephase: 0.9697265625
      phase: 0.0
      tilt: -0.051727294921875
    - curve: 0.54052734375
      gibmag: 0.0014162063598632812
      gibphase: 1.5439453125
      ogeemag: -0.2509765625
      ogeephase: 1.7939453125
      phase: 0.0026340484619140625
      tilt: 0.04931640625
    uid: 353353001
geos:
  0:
    origin:
    - -1.0737802982330322
    - -0.8519091606140137
    - 1.9074923992156982
    rotation:
    - - 0.3629595637321472
      - -0.4330469071865082
      - 0.8250640630722046
    - - 0.4424401819705963
      - 0.8593602776527405
      - 0.2564108967781067
    - - -0.8200652599334717
      - 0.27197471261024475
      - 0.5035104155540466
  1:
    origin:
    - -0.8002750277519226
    - 0.8843321204185486
    - 1.9042388200759888
    rotation:
    - - 0.5369356274604797
      - 0.43011340498924255
      - 0.7257428169250488
    - - -0.21536865830421448
      - 0.901649534702301
      - -0.37502601742744446
    - - -0.8156693577766418
      - 0.04506256803870201
      - 0.5767606496810913
  2:
    origin:
    - 1.703188419342041
    - -0.739931046962738
    - 1.9295449256896973
    rotation:
    - - -0.43310773372650146
      - -0.42148035764694214
      - -0.7967258095741272
    - - 0.1961837261915207
      - -0.906822144985199
      - 0.3730757236480713
    - - -0.8797327280044556
      - 0.00527734961360693
      - 0.47543928027153015
  3:
    origin:
    - 1.5375837087631226
    - 0.7564433217048645
    - 1.9208470582962036
    rotation:
- - -0.6103970408439636
  - 0.19327202439308167
  - -0.768154501914978
- - 0.24711370468139648
  - -0.8749092817306519
  - -0.41649559140205383
- - -0.7525624632835388
  - -0.4440491795539856
  - 0.4862818717956543

systemType: 2
type: lighthouse_system_configuration
version: '1'

  • 然后断开飞机,使用cfclient连接另外的飞机,

  • 1:打开lighthouse界面,将保存的参数上传到该飞机上。加载文件后,参数就自动写入

  • 2:通过flight control页面,对飞机进行试飞。

  • 如果飞行稳定,则重复执行以上1,2步,直到将所有飞机的参数都刷完。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与lighthouse定位系统