说明
  • 介绍如何设置4个基站
  • 由于Lighthouse定位系统基于红外光和激光进行定位。如果部署环境中存在其他红外光束,可能会导致定位失败。
  • Crazyflie无人机集群套件,采购地址
第一步:打开cfclient
  • cfclient是crazyswam的调试程序,可以通过cfclient对无人机进行固件烧录、通道设置、定位系统校准、日志查看等功能。
  • 在终端中打开cfclient
cfclient
  • 1.
  • 效果图:
  • 通过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进行连接。
  • 正确连接后如图:

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

第四步:打开Lighthouse界面
  • 在cfclient中选择Lighthouse Positioning标签。
  • 效果图1:

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

  • 效果图2:
  • 1:点击Manage geometry打开管理页面。
  • 2:点击Esrumate Geometry 开始估计基站位置。
第五步:校准!
  • 1.打开校准程序将无人机放在一个你要建立坐标的原始位置
  • 效果图:
  • 点击 Start Measurement开始测量。
  • 测量完成后效果图:

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

  • 点击“Next”
  • 如果是4个基站,但如果在校准过程中,只检测到了2个及以上基站,即可进行下一步操作。
  • 2.将无人机向正前方移动1米的距离
  • 注意:此处请通过卷尺量出1米的距离,将飞机放在正前方(X轴)的位置,此位置直接决定该坐标系下1米的距离,对定位极其关键,请务必确保放置正确。
  • 效果图:

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

  • 点击Start Measurement进行位置估计,估计完成后如下图所示:
  • 点击Next进行下一步。
  • 3 将无人机放在其他地方,以做标记。(此步骤可以重复多次,多测试一些点)
  • 点击Start Measurement进行位置估计,估计完成后如下图所示:
  • 如下图所示,如果确认可以检测到基站后,点击Next按钮。
  • 注意 该位置用于将XY平面映射到地面。(通过原点,X轴1米距离,以及此点可以定义平面) 此处可以通过Add more measurements添加更多的点,来获得更精准的定义。
  • 4 设置一个时间,用来对位置进行采集。点击start之后,手持无人机在lighthouse系统下进行多方位移动,直到计时结束。
  • 注意避免移动过快,尽量覆盖所有飞行空间。
  • 倒计时结束后,如下图:

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

  • 检测完成后,点击Next按钮,进行下一步。
  • 5 使用lighthouse系统进行基站位置估计,如果看起来合理,则点击“Finish”,否则重新进行估计。
  • 点击Estimeta Geometry按钮进行估计:
  • 估计之后如下图:

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

  • 估计出来的是基于原点的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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.

systemType: 2
type: lighthouse_system_configuration
version: '1'

  • 然后断开飞机,使用cfclient连接另外的飞机,
  • 1:打开lighthouse界面,将保存的参数上传到该飞机上。加载文件后,参数就自动写入
  • 2:通过flight control页面,对飞机进行试飞。
  • 如果飞行稳定,则重复执行以上1,2步,直到将所有飞机的参数都刷完。