Skip to content
Snippets Groups Projects
Commit 8339bed1 authored by René Ebeling's avatar René Ebeling
Browse files

Refactor code structure for improved readability and maintainability

parent c8539247
No related branches found
No related tags found
No related merge requests found
LICENSE 0 → 100644
---
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0)
Copyright (c) [Year] [Your Name or Organization]
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
You are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material
Under the following terms:
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- NonCommercial — You may not use the material for commercial purposes.
- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
THE WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
---
\ No newline at end of file
...@@ -52,7 +52,7 @@ The project enables a robot to interface with multiple **VL53L7CX** sensors, eac ...@@ -52,7 +52,7 @@ The project enables a robot to interface with multiple **VL53L7CX** sensors, eac
![VL53L7CX](images/vl53l7cx.jpg) ![VL53L7CX](images/vl53l7cx.jpg)
The **VL53L7CX** sensor provides accurate distance measurements using Time-of-Flight (ToF) technology. It features a 8x8 and 4x4 grid of measurement zones, making it ideal for spatial awareness and environmental scanning. The **VL53L7CX** sensor provides accurate distance measurements using Time-of-Flight (ToF) technology. It features a 8x8 and 4x4 grid of measurement zones and a refresh rate up up to 15 Mesurements per second, making it ideal for spatial awareness and environmental scanning.
## Features ## Features
...@@ -76,16 +76,18 @@ The **VL53L7CX** sensor provides accurate distance measurements using Time-of-Fl ...@@ -76,16 +76,18 @@ The **VL53L7CX** sensor provides accurate distance measurements using Time-of-Fl
To run this project, you will need the following hardware: To run this project, you will need the following hardware:
1. **Microcontroller**: Any board compatible with Arduino, such as: 1. **Microcontroller**: Any board compatible with Arduino and two I2C Interfaces, such as:
- **RP2040** (e.g., Raspberry Pi Pico) - **RP2040** (e.g., Raspberry Pi Pico)
2. **VL53L7CX Sensors**: 2. **VL53L7CX Sensors**:
- At least one **VL53L7CX** sensor, but the project supports up to four sensors at the moment for broader coverage. - At least one **VL53L7CX** sensor, but the project supports up to 18 sensors at the moment for broader coverage.
3. **I2C Connections**: 3. **I2C Connections**:
- Connect each sensor via I2C to the microcontroller. Ensure proper wiring and pull-up resistors are in place. - Connect each sensor to the microcontroller via I2C. Ensure proper wiring and distribute the data load evenly by connecting up to 9 sensors per I2C interface.
4. **LED for Status**: 4. **PCF8575 Modules**:
- Two **PCF8575 I2C GPIO expanders** are used during initialization to enable and disable I2C communication with each sensor. This allows assigning unique I2C addresses to the sensors dynamically.
5. **LED for Status**:
- An onboard LED or external LED connected to the **LED_BUILTIN** pin for visual feedback. - An onboard LED or external LED connected to the **LED_BUILTIN** pin for visual feedback.
### Wiring Diagram Example ### Wiring Diagram Example
...@@ -125,7 +127,7 @@ The VL53L7CX sensors are configured to operate in an 8x8 grid mode, providing 64 ...@@ -125,7 +127,7 @@ The VL53L7CX sensors are configured to operate in an 8x8 grid mode, providing 64
### Data Collection ### Data Collection
The microcontroller collects distance data from each sensor via the I2C bus. The data is then processed and formatted into a JSON object. This JSON object includes the distance measurements from all sensors. The formatted data is transmitted to the ROS2 node for further processing. The process of measuring distances using the VL53L7CX sensors is called **ranging**. The microcontroller collects distance data from each sensor via the I2C bus. The data is then processed and formatted into a JSON object. This JSON object includes the distance measurements from all sensors and the status of all measurements. The formatted data is transmitted to the ROS2 node for further processing.
## Example Output ## Example Output
...@@ -133,19 +135,29 @@ Below is an example of the JSON output generated by the system: ...@@ -133,19 +135,29 @@ Below is an example of the JSON output generated by the system:
```json ```json
{ {
"sensor1": [ "sensor0": [[18,5],[22,5],[37,5],[215,5],[183,5],[184,5],[211,5],[961,255],[24,5],[1010,5],[819,5],[922,5],[899,5],[950,5],[909,5],[951,5],[263,255],[256,5],[911,5],[1023,5],[950,255],[933,5],[225,5],[953,5],[993,5],[999,5],[1044,5],[1000,5],[994,5],[980,5],[976,5],[972,5],[969,5],[967,5],[965,5],[963,5],[962,5],[960,5],[959,5],[958,5],[957,5],[956,5],[955,5],[954,5],[952,5],[951,5],[950,5],[949,5],[948,5],[947,5],[946,5],[945,5],[944,5],[943,5],[942,5],[941,5],[940,5],[939,5],[938,5],[937,5],[936,5],[935,5],[934,5]],
[100, 110, 120, 130, 140, 150, 160, 170], "sensor1": [[111,5],[222,5],[333,5],[444,5],[555,5],[666,5],[777,5],[888,5],[999,5],[1000,5],[1010,5],[1020,5],[1030,5],[1040,5],[1050,5],[1060,5],[1070,5],[1080,5],[1090,5],[1100,5],[1110,5],[1120,5],[1130,5],[1140,5],[1150,5],[1160,5],[1170,5],[1180,5],[1190,5],[1200,5],[1210,5],[1220,5],[1230,5],[1240,5],[1250,5],[1260,5],[1270,5],[1280,5],[1290,5],[1300,5],[1310,5],[1320,5],[1330,5],[1340,5],[1350,5],[1360,5],[1370,5],[1380,5],[1390,5],[1400,5],[1410,5],[1420,5],[1430,5],[1440,5],[1450,5],[1460,5],[1470,5],[1480,5],[1490,5],[1500,5],[1510,5],[1520,5],[1530,5],[1540,5],[1550,5],[1560,5]],
[105, 115, 125, 135, 145, 155, 165, 175], "sensor2": [[201,5],[202,5],[203,5],[204,5],[205,5],[206,5],[207,5],[208,5],[209,5],[210,5],[211,5],[212,5],[213,5],[214,5],[215,5],[216,5],[217,5],[218,5],[219,5],[220,5],[221,5],[222,5],[223,5],[224,5],[225,5],[226,5],[227,5],[228,5],[229,5],[230,5],[231,5],[232,5],[233,5],[234,5],[235,5],[236,5],[237,5],[238,5],[239,5],[240,5],[241,5],[242,5],[243,5],[244,5],[245,5],[246,5],[247,5],[248,5],[249,5],[250,5],[251,5],[252,5],[253,5],[254,5],[255,5],[256,5],[257,5],[258,5],[259,5],[260,5],[261,5],[262,5],[263,5],[264,5]],
], "sensor3": [[256,5],...,[673,255]],
"sensor2": [ "sensor4": [[256,5],...,[673,255]],
[200, 210, 220, 230, 240, 250, 260, 270], "sensor5": [[256,5],...,[673,255]],
[205, 215, 225, 235, 245, 255, 265, 275], "sensor6": [[256,5],...,[673,255]],
... "sensor7": [[256,5],...,[673,255]],
] "sensor8": [[256,5],...,[673,255]],
"sensor9": [[256,5],...,[673,255]],
"sensor10": [[256,5],...,[673,255]],
"sensor11": [[256,5],...,[673,255]],
"sensor12": [[256,5],...,[673,255]],
"sensor13": [[256,5],...,[673,255]],
"sensor14": [[256,5],...,[673,255]],
"sensor15": [[256,5],...,[673,255]],
"sensor16": [[256,5],...,[673,255]],
"sensor17": [[256,5],...,[673,255]]
} }
``` ```
This JSON object can be easily parsed and used for tasks such as obstacle avoidance and path planning. This JSON object can be easily parsed.
## License ## License
......
Wiring/VL53L7CX_ICON.png

10.7 KiB

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="100%" viewBox="0 0 210 276" enable-background="new 0 0 210 276" xml:space="preserve">
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M211.000000,75.000000
C211.000000,142.632095 211.000000,209.764206 211.000000,276.948151
C141.070618,276.948151 71.141182,276.948151 1.105872,276.948151
C1.105872,185.118027 1.105872,93.235901 1.105872,1.176882
C70.999626,1.176882 140.999786,1.176882 211.000000,1.176882
C211.000000,25.525280 211.000000,50.012638 211.000000,75.000000
M203.000000,124.500000
C203.000031,90.012856 203.023849,55.525646 202.939804,21.038706
C202.934860,19.014128 202.425903,16.808926 201.524292,15.000475
C197.982727,7.896685 191.496414,6.021717 184.233902,6.016176
C130.753616,5.975372 77.273109,5.923383 23.793421,6.102036
C20.207586,6.114015 15.999605,7.118797 13.179001,9.170978
C7.665865,13.182161 5.883572,19.426220 5.972261,26.220984
C6.080976,34.549850 6.000161,42.881195 6.000050,51.211468
C5.999163,117.853661 5.923472,184.496002 6.060795,251.137909
C6.087719,264.204346 10.706502,270.952179 26.136009,270.986237
C51.959732,271.043274 77.783676,270.999542 103.607521,271.000305
C130.597610,271.001129 157.587692,271.002747 184.577774,271.007416
C196.726471,271.009521 203.000015,264.865204 203.000000,252.953201
C202.999969,210.468796 203.000000,167.984406 203.000000,124.500000
z"/>
<path fill="#007C03" opacity="1.000000" stroke="none"
d="
M203.000000,125.000000
C203.000000,167.984406 202.999969,210.468796 203.000000,252.953201
C203.000015,264.865204 196.726471,271.009521 184.577774,271.007416
C157.587692,271.002747 130.597610,271.001129 103.607521,271.000305
C77.783676,270.999542 51.959732,271.043274 26.136009,270.986237
C10.706502,270.952179 6.087719,264.204346 6.060795,251.137909
C5.923472,184.496002 5.999163,117.853661 6.000050,51.211468
C6.000161,42.881195 6.080976,34.549850 5.972261,26.220984
C5.883572,19.426220 7.665865,13.182161 13.179001,9.170978
C15.999605,7.118797 20.207586,6.114015 23.793421,6.102036
C77.273109,5.923383 130.753616,5.975372 184.233902,6.016176
C191.496414,6.021717 197.982727,7.896685 201.524292,15.000475
C202.425903,16.808926 202.934860,19.014128 202.939804,21.038706
C203.023849,55.525646 203.000031,90.012856 203.000000,125.000000
M125.500000,157.000000
C140.499954,156.999374 155.500809,156.910156 170.499176,157.064178
C173.985489,157.099960 175.114853,155.987091 175.064560,152.498993
C174.891617,140.501526 174.891617,128.498489 175.064575,116.501022
C175.114868,113.012932 173.983093,111.925682 170.499634,111.938164
C139.833450,112.048073 109.166542,112.048073 78.500359,111.938164
C75.016930,111.925682 73.884109,113.012825 73.935349,116.501022
C74.109154,128.331757 74.149086,140.169540 73.917473,151.998306
C73.840179,155.945663 75.056877,157.135391 79.001251,157.082230
C94.165115,156.877808 109.333374,156.999771 125.500000,157.000000
M58.000019,49.340679
C58.141228,51.987522 57.048412,55.127125 61.814453,55.059338
C74.936028,54.872711 88.062302,54.948315 101.185989,55.033081
C103.899902,55.050606 105.092522,54.199310 105.034691,51.333630
C104.900627,44.691154 104.916405,38.043037 105.022552,31.399620
C105.065025,28.740999 103.882774,27.969255 101.417900,27.980520
C88.127846,28.041256 74.836922,28.067791 61.547382,27.965405
C58.555775,27.942356 57.920815,29.335684 57.971531,31.932936
C58.078533,37.413090 58.001431,42.896839 58.000019,49.340679
M172.684189,57.659481
C173.776703,57.260391 174.908218,56.943821 175.955475,56.448959
C183.271255,52.992069 187.350967,44.922279 185.826279,37.005066
C184.380020,29.495123 177.257904,23.313513 169.697433,23.006086
C160.974518,22.651396 153.922760,27.518002 151.589737,35.674877
C148.005035,48.207958 158.869400,60.300343 172.684189,57.659481
M166.124023,219.145767
C165.015503,219.498459 163.874405,219.772614 162.803665,220.216476
C155.173401,223.379578 150.759827,231.444916 152.121643,239.667877
C153.357422,247.129791 160.487823,253.572769 167.971558,253.989761
C176.845383,254.484192 184.218094,249.469452 186.460129,241.167221
C189.977097,228.143890 178.570938,217.016708 166.124023,219.145767
M66.513046,179.000000
C63.693859,179.001343 60.866959,179.133530 58.057602,178.968048
C55.120316,178.795013 53.822906,179.799149 53.956108,182.911880
C54.147362,187.381256 54.116936,191.868546 53.967747,196.341064
C53.872192,199.205643 55.102543,200.071060 57.810734,200.033234
C65.603455,199.924362 73.399666,199.924103 81.192375,200.033310
C83.903656,200.071274 85.127533,199.199249 85.032265,196.337952
C84.883347,191.865402 84.852386,187.378128 85.043938,182.908768
C85.177490,179.792557 83.872162,178.854950 80.939850,178.961197
C76.468216,179.123199 71.986313,179.001328 66.513046,179.000000
M20.278362,16.589764
C13.868742,21.757174 11.632463,27.800440 13.658113,34.480167
C15.634894,40.998749 21.267527,45.557438 27.874729,45.986187
C34.555920,46.419739 40.828133,42.674656 43.596050,36.599125
C46.376312,30.496500 45.047703,23.383879 40.239304,18.629028
C35.008823,13.456794 28.666187,12.649358 20.278362,16.589764
M44.692940,213.786697
C44.790653,212.629944 44.989574,211.471451 44.969830,210.316696
C44.831020,202.198746 38.353310,195.537689 30.140764,195.016342
C21.687107,194.479706 14.147686,200.453903 13.080924,208.534500
C12.034255,216.462921 17.581976,224.007538 25.723782,225.728104
C33.774719,227.429474 41.109898,223.048996 44.692940,213.786697
M18.350826,114.206451
C25.015947,118.897453 31.511410,119.260216 37.291817,115.264252
C42.685959,111.535324 45.191143,104.817909 43.503983,98.606934
C41.822968,92.418549 36.690235,87.878288 30.472622,87.079781
C24.045597,86.254379 17.727144,89.595390 14.739332,95.399078
C11.559996,101.574806 12.561208,107.566544 18.350826,114.206451
M31.821613,231.288269
C20.642605,228.803329 10.353344,239.117172 13.574139,249.979233
C15.690160,257.115417 22.460108,261.641785 29.973982,260.970459
C36.988323,260.343750 42.948673,254.830231 43.899143,248.089203
C44.937008,240.728348 40.712353,234.537247 31.821613,231.288269
M14.324510,71.833603
C21.068979,83.357658 35.455193,84.189346 41.826225,73.423515
C45.444645,67.309074 44.500023,59.633495 39.508888,54.593891
C34.508644,49.545090 26.864105,48.530533 20.706463,52.098507
C14.170131,55.885906 11.691802,62.951130 14.324510,71.833603
M14.228513,132.075317
C11.646913,138.722763 12.945348,144.601547 18.301249,149.205841
C23.426785,153.612106 29.353922,154.273361 35.503311,151.344391
C41.177853,148.641571 44.431946,142.903870 43.958172,136.764420
C43.471493,130.457672 38.785732,125.113411 32.271641,123.435577
C25.408026,121.667717 19.022661,124.544304 14.228513,132.075317
M72.355019,260.081970
C78.843956,255.487244 81.337151,249.524582 79.483818,243.032913
C77.712585,236.828796 72.431747,232.463531 66.151237,232.011871
C59.969387,231.567291 54.215626,234.870605 51.507343,240.419067
C48.794022,245.977859 49.732475,252.534851 53.897919,257.121826
C58.368286,262.044586 64.348297,263.161591 72.355019,260.081970
M42.999466,181.263779
C43.515209,180.042496 44.171280,178.860168 44.523003,177.593353
C46.274368,171.285339 43.220242,164.481735 37.201248,161.103271
C30.603621,157.400024 22.144104,158.639282 17.030212,164.058167
C12.298662,169.071899 11.648553,176.298294 15.419860,181.958466
C21.679615,191.353424 34.734200,191.331970 42.999466,181.263779
M72.500229,76.998726
C75.149216,76.995590 77.808990,77.130676 80.442154,76.924980
C81.582443,76.835907 83.258179,76.347725 83.682671,75.522385
C86.502846,70.039024 83.316917,65.006004 77.212822,65.001717
C73.901573,64.999390 70.557076,65.298187 67.286873,64.931847
C62.369595,64.380997 60.729237,65.947899 60.800968,71.135391
C60.868881,76.046852 62.373329,77.718956 67.052521,77.031967
C68.511131,76.817825 70.027748,76.998688 72.500229,76.998726
M131.589951,178.998734
C135.895996,178.995224 140.207260,178.857895 144.506668,179.024948
C149.022736,179.200394 147.984451,175.975525 147.942032,173.557526
C147.900696,171.202438 149.186325,167.886169 144.620499,167.984222
C138.826584,168.108673 133.025620,167.931625 127.233620,168.094467
C126.185303,168.123947 124.569496,168.924591 124.228546,169.775177
C121.929161,175.511597 124.412971,178.966629 131.589951,178.998734
M168.576050,86.001282
C166.128998,86.458977 162.447021,86.079338 161.463745,87.529526
C158.368942,92.093887 161.643829,96.988266 167.231567,96.997787
C170.044754,97.002586 172.879074,96.780273 175.666061,97.050415
C179.645187,97.436111 181.059937,96.182663 181.166122,91.915031
C181.287415,87.040260 179.745926,85.279610 174.997574,85.959946
C173.213898,86.215515 171.362915,86.001312 168.576050,86.001282
M120.751862,24.027340
C119.840446,25.085051 118.269226,26.069914 118.142883,27.214302
C117.781677,30.485859 118.264008,33.847782 117.937256,37.126602
C117.528114,41.232288 119.343864,41.944553 123.050568,42.139763
C127.897408,42.395020 129.747971,40.815170 129.036713,36.024803
C128.796219,34.405067 129.012573,32.719418 128.996368,31.064123
C128.919617,23.229164 129.768875,24.058971 120.751862,24.027340
M82.996147,94.494850
C82.345627,93.025887 81.762642,90.321899 81.033974,90.282043
C74.831650,89.942863 68.602852,90.087967 62.426414,90.087967
C62.426414,93.437943 62.426414,95.987114 62.426414,98.976013
C68.611809,98.976013 74.391724,99.147217 80.142578,98.815155
C81.154793,98.756706 82.045395,96.592056 82.996147,94.494850
M112.404617,252.000000
C114.465813,251.698898 117.906937,251.963928 118.309639,250.982391
C119.234131,248.729034 118.984428,245.811340 118.517410,243.291977
C118.393295,242.622437 115.772156,242.139938 114.270958,242.057999
C110.976326,241.878189 107.650032,241.834030 104.368050,242.109085
C103.225494,242.204834 101.489891,243.189743 101.195587,244.133545
C99.440613,249.761734 101.184128,251.981293 106.978485,251.999252
C108.465584,252.003860 109.952721,251.999985 112.404617,252.000000
M178.109787,170.096802
C174.970047,170.066696 171.810165,169.820847 168.700378,170.111328
C167.433762,170.229660 165.272202,171.483200 165.249329,172.270523
C165.167877,175.074341 165.279770,180.069000 166.310242,180.330826
C170.182159,181.314606 174.447281,180.816437 178.559921,180.696640
C179.027878,180.683029 179.875519,179.530701 179.844055,178.944092
C179.689728,176.066742 179.297577,173.202148 178.109787,170.096802
M130.501709,91.999718
C134.798676,92.698463 136.701462,91.035316 136.033981,86.581680
C135.815933,85.126823 135.829117,83.588120 136.031647,82.128723
C136.620590,77.885170 134.698898,76.950829 130.712158,76.853973
C126.155907,76.743263 124.316521,78.130516 124.963486,82.703880
C125.192726,84.324371 125.160049,86.022743 124.970261,87.653358
C124.548195,91.279716 126.286316,92.421310 130.501709,91.999718
M118.999069,86.337944
C117.775444,82.980232 122.444756,76.825989 113.963181,76.851761
C109.202118,76.866234 107.219986,78.120453 107.969772,82.937767
C108.170624,84.228180 108.049065,85.577995 107.993500,86.897087
C107.893257,89.276924 108.217773,91.546715 111.319321,90.912529
C114.100662,90.343811 118.908424,93.583466 118.999069,86.337944
M115.993935,231.353806
C115.958206,225.007370 115.958206,225.007294 109.467018,225.000107
C108.806229,224.999374 108.136711,225.069977 107.486092,224.988693
C103.739197,224.520630 101.805206,225.414963 101.843216,229.926529
C101.879349,234.215179 103.387917,235.500885 107.339157,235.034637
C109.131958,234.823090 111.058968,235.324371 112.756218,234.870605
C113.973526,234.545166 114.910553,233.171371 115.993935,231.353806
M145.030273,202.647064
C145.325073,199.111755 145.874512,195.564545 145.710083,192.050720
C145.675217,191.305328 143.024597,190.116684 141.597992,190.143280
C139.758789,190.177582 136.755493,190.765533 136.302841,191.919128
C133.440292,199.214569 136.439941,203.149551 145.030273,202.647064
M116.547173,202.998627
C120.909172,203.729538 122.714211,201.924561 122.018097,197.548080
C121.889977,196.742584 121.912453,195.888351 122.014374,195.075302
C122.479294,191.366318 121.264809,189.848190 117.161469,189.853348
C112.989853,189.858582 111.432716,191.182251 111.970146,195.249664
C112.163269,196.711273 112.097519,198.224716 111.995514,199.703873
C111.808250,202.419144 113.271271,203.179489 116.547173,202.998627
M54.969765,113.352913
C54.674942,116.888222 54.125500,120.435440 54.289890,123.949272
C54.324768,124.694672 56.975372,125.883339 58.401974,125.856728
C60.241192,125.822433 63.244495,125.234512 63.697163,124.080894
C66.559792,116.785507 63.560040,112.850372 54.969765,113.352913
M53.025154,145.807327
C53.016949,147.293289 53.174774,148.802628 52.969616,150.260880
C52.337337,154.755066 54.044884,156.189758 58.662933,156.137604
C65.302704,156.062622 62.591957,151.414474 62.880169,148.437378
C63.043247,146.752869 61.957073,143.437958 61.500000,143.449661
C58.688522,143.521713 55.895992,144.333145 53.025154,145.807327
M146.601501,92.006615
C140.056686,92.451462 143.470505,97.453384 143.208466,100.294640
C142.828934,104.409805 146.581146,102.719643 148.696762,102.940231
C152.814774,103.369606 151.900940,100.205208 151.984009,97.893822
C152.097092,94.747459 152.610107,91.209412 146.601501,92.006615
M67.967628,220.688538
C68.120789,218.699295 68.683235,215.058365 68.363129,214.979019
C65.496353,214.268646 62.474186,214.185349 59.406548,213.909409
C59.406548,216.726654 59.406548,218.607574 59.406548,220.907410
C62.223934,220.907410 64.667358,220.907410 67.967628,220.688538
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M125.000000,157.000000
C109.333374,156.999771 94.165115,156.877808 79.001251,157.082230
C75.056877,157.135391 73.840179,155.945663 73.917473,151.998306
C74.149086,140.169540 74.109154,128.331757 73.935349,116.501022
C73.884109,113.012825 75.016930,111.925682 78.500359,111.938164
C109.166542,112.048073 139.833450,112.048073 170.499634,111.938164
C173.983093,111.925682 175.114868,113.012932 175.064575,116.501022
C174.891617,128.498489 174.891617,140.501526 175.064560,152.498993
C175.114853,155.987091 173.985489,157.099960 170.499176,157.064178
C155.500809,156.910156 140.499954,156.999374 125.000000,157.000000
M125.491608,142.000000
C137.992279,142.000000 138.093094,141.988998 136.843765,130.542969
C136.703598,129.258759 134.686752,127.256859 133.436295,127.175003
C127.829048,126.807991 122.170662,126.808006 116.563416,127.175026
C115.313049,127.256874 113.296356,129.258972 113.156212,130.543243
C111.907204,141.988968 112.008011,141.999969 123.514900,142.000000
C123.846153,142.000000 124.177414,142.000000 125.491608,142.000000
M149.000000,133.528961
C149.000000,135.612091 149.000000,137.695221 149.000000,139.685577
C155.020447,139.685577 160.402298,139.685577 165.676056,139.685577
C165.676056,135.645844 165.676056,131.926636 165.676056,128.321686
C159.965912,128.321686 154.583954,128.321686 149.000000,128.321686
C149.000000,129.951874 149.000000,131.261276 149.000000,133.528961
M91.625366,129.000137
C83.805763,130.597870 90.137917,136.285202 87.515190,139.727417
C92.262741,139.727417 95.981148,139.727417 99.722069,139.727417
C99.722069,136.063324 99.722069,132.677933 99.722069,129.000000
C97.156151,129.000000 94.864746,129.000000 91.625366,129.000137
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M57.999943,48.859894
C58.001431,42.896839 58.078533,37.413090 57.971531,31.932936
C57.920815,29.335684 58.555775,27.942356 61.547382,27.965405
C74.836922,28.067791 88.127846,28.041256 101.417900,27.980520
C103.882774,27.969255 105.065025,28.740999 105.022552,31.399620
C104.916405,38.043037 104.900627,44.691154 105.034691,51.333630
C105.092522,54.199310 103.899902,55.050606 101.185989,55.033081
C88.062302,54.948315 74.936028,54.872711 61.814453,55.059338
C57.048412,55.127125 58.141228,51.987522 57.999943,48.859894
z"/>
<path fill="#000100" opacity="1.000000" stroke="none"
d="
M172.276642,57.757195
C158.869400,60.300343 148.005035,48.207958 151.589737,35.674877
C153.922760,27.518002 160.974518,22.651396 169.697433,23.006086
C177.257904,23.313513 184.380020,29.495123 185.826279,37.005066
C187.350967,44.922279 183.271255,52.992069 175.955475,56.448959
C174.908218,56.943821 173.776703,57.260391 172.276642,57.757195
z"/>
<path fill="#000100" opacity="1.000000" stroke="none"
d="
M166.541656,219.096939
C178.570938,217.016708 189.977097,228.143890 186.460129,241.167221
C184.218094,249.469452 176.845383,254.484192 167.971558,253.989761
C160.487823,253.572769 153.357422,247.129791 152.121643,239.667877
C150.759827,231.444916 155.173401,223.379578 162.803665,220.216476
C163.874405,219.772614 165.015503,219.498459 166.541656,219.096939
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M67.010910,179.000000
C71.986313,179.001328 76.468216,179.123199 80.939850,178.961197
C83.872162,178.854950 85.177490,179.792557 85.043938,182.908768
C84.852386,187.378128 84.883347,191.865402 85.032265,196.337952
C85.127533,199.199249 83.903656,200.071274 81.192375,200.033310
C73.399666,199.924103 65.603455,199.924362 57.810734,200.033234
C55.102543,200.071060 53.872192,199.205643 53.967747,196.341064
C54.116936,191.868546 54.147362,187.381256 53.956108,182.911880
C53.822906,179.799149 55.120316,178.795013 58.057602,178.968048
C60.866959,179.133530 63.693859,179.001343 67.010910,179.000000
z"/>
<path fill="#999D99" opacity="1.000000" stroke="none"
d="
M20.591328,16.378693
C28.666187,12.649358 35.008823,13.456794 40.239304,18.629028
C45.047703,23.383879 46.376312,30.496500 43.596050,36.599125
C40.828133,42.674656 34.555920,46.419739 27.874729,45.986187
C21.267527,45.557438 15.634894,40.998749 13.658113,34.480167
C11.632463,27.800440 13.868742,21.757174 20.591328,16.378693
M28.732216,40.723907
C30.192217,40.462650 31.724581,40.401230 33.098969,39.903549
C37.648193,38.256222 40.452774,33.265209 39.502426,28.792618
C38.335964,23.302938 33.625687,19.611311 28.393787,20.086348
C23.418421,20.538094 19.408169,24.628469 19.071413,29.594978
C18.724497,34.711327 21.785196,38.482307 28.732216,40.723907
z"/>
<path fill="#9A9D9A" opacity="1.000000" stroke="none"
d="
M44.562103,214.171463
C41.109898,223.048996 33.774719,227.429474 25.723782,225.728104
C17.581976,224.007538 12.034255,216.462921 13.080924,208.534500
C14.147686,200.453903 21.687107,194.479706 30.140764,195.016342
C38.353310,195.537689 44.831020,202.198746 44.969830,210.316696
C44.989574,211.471451 44.790653,212.629944 44.562103,214.171463
M19.214771,209.036285
C18.967625,217.382675 24.568439,223.070129 31.423357,221.433701
C36.318157,220.265198 39.761848,216.181564 39.781803,211.522003
C39.802181,206.763107 35.989864,202.192062 31.161654,201.186264
C26.363003,200.186615 22.053778,202.793015 19.214771,209.036285
z"/>
<path fill="#9A9D9B" opacity="1.000000" stroke="none"
d="
M18.075600,113.962128
C12.561208,107.566544 11.559996,101.574806 14.739332,95.399078
C17.727144,89.595390 24.045597,86.254379 30.472622,87.079781
C36.690235,87.878288 41.822968,92.418549 43.503983,98.606934
C45.191143,104.817909 42.685959,111.535324 37.291817,115.264252
C31.511410,119.260216 25.015947,118.897453 18.075600,113.962128
M19.133818,100.927879
C19.509235,103.007378 19.459503,105.293144 20.347725,107.123840
C22.253321,111.051437 25.894510,112.942886 30.104273,112.635757
C34.281078,112.331024 37.482296,110.085457 39.027428,105.858635
C40.511387,101.799164 39.459454,98.305145 36.661930,95.384521
C31.182480,89.663933 22.957716,91.988861 19.133818,100.927879
z"/>
<path fill="#9A9C9A" opacity="1.000000" stroke="none"
d="
M32.212891,231.412537
C40.712353,234.537247 44.937008,240.728348 43.899143,248.089203
C42.948673,254.830231 36.988323,260.343750 29.973982,260.970459
C22.460108,261.641785 15.690160,257.115417 13.574139,249.979233
C10.353344,239.117172 20.642605,228.803329 32.212891,231.412537
M20.550833,251.831940
C25.351709,256.127197 28.951548,256.843018 33.486076,254.231110
C37.496799,251.920898 39.256493,248.327164 38.458370,243.802795
C37.661419,239.285049 34.775082,235.885376 30.265299,235.744904
C27.173077,235.648575 23.323486,236.941513 21.041189,238.985458
C17.348795,242.292221 17.459249,246.900620 20.550833,251.831940
z"/>
<path fill="#9B9D9B" opacity="1.000000" stroke="none"
d="
M14.183100,71.466034
C11.691802,62.951130 14.170131,55.885906 20.706463,52.098507
C26.864105,48.530533 34.508644,49.545090 39.508888,54.593891
C44.500023,59.633495 45.444645,67.309074 41.826225,73.423515
C35.455193,84.189346 21.068979,83.357658 14.183100,71.466034
M27.723450,75.921478
C29.481434,75.536140 31.401293,75.477417 32.965927,74.701958
C37.054184,72.675774 39.204014,69.080269 38.847843,64.599312
C38.486950,60.058937 36.307396,56.495010 31.569923,54.912273
C27.201536,53.452847 23.588154,54.747631 20.828596,57.971989
C15.408904,64.304520 18.230803,73.809624 27.723450,75.921478
z"/>
<path fill="#9A9D9A" opacity="1.000000" stroke="none"
d="
M14.415620,131.735336
C19.022661,124.544304 25.408026,121.667717 32.271641,123.435577
C38.785732,125.113411 43.471493,130.457672 43.958172,136.764420
C44.431946,142.903870 41.177853,148.641571 35.503311,151.344391
C29.353922,154.273361 23.426785,153.612106 18.301249,149.205841
C12.945348,144.601547 11.646913,138.722763 14.415620,131.735336
M30.260509,128.080429
C28.497412,128.459534 26.613295,128.561584 24.993635,129.269073
C19.885386,131.500427 17.771330,137.105011 19.924307,142.153152
C22.317755,147.765137 27.960312,150.214493 33.334442,147.970474
C37.643368,146.171234 39.970390,142.711349 39.824364,138.268875
C39.646072,132.844772 36.203144,129.600845 30.260509,128.080429
z"/>
<path fill="#979C97" opacity="1.000000" stroke="none"
d="
M72.015961,260.262329
C64.348297,263.161591 58.368286,262.044586 53.897919,257.121826
C49.732475,252.534851 48.794022,245.977859 51.507343,240.419067
C54.215626,234.870605 59.969387,231.567291 66.151237,232.011871
C72.431747,232.463531 77.712585,236.828796 79.483818,243.032913
C81.337151,249.524582 78.843956,255.487244 72.015961,260.262329
M55.433262,244.981735
C55.525574,252.893692 60.767254,257.950623 67.324928,256.454224
C72.369919,255.303024 75.948067,250.944946 75.750519,246.192078
C75.550522,241.380600 71.692970,237.181595 66.733574,236.377060
C62.040295,235.615692 57.830856,238.621002 55.433262,244.981735
z"/>
<path fill="#9A9D9A" opacity="1.000000" stroke="none"
d="
M42.806549,181.588776
C34.734200,191.331970 21.679615,191.353424 15.419860,181.958466
C11.648553,176.298294 12.298662,169.071899 17.030212,164.058167
C22.144104,158.639282 30.603621,157.400024 37.201248,161.103271
C43.220242,164.481735 46.274368,171.285339 44.523003,177.593353
C44.171280,178.860168 43.515209,180.042496 42.806549,181.588776
M40.078381,171.533905
C37.117874,165.113617 31.411343,162.535797 25.256500,164.838394
C19.887127,166.847137 16.922741,172.027359 18.362087,176.886261
C20.056370,182.605743 25.675108,186.008316 31.420092,184.793869
C37.993870,183.404221 41.142506,178.968094 40.078381,171.533905
z"/>
<path fill="#7F6A00" opacity="1.000000" stroke="none"
d="
M72.009018,76.998718
C70.027748,76.998688 68.511131,76.817825 67.052521,77.031967
C62.373329,77.718956 60.868881,76.046852 60.800968,71.135391
C60.729237,65.947899 62.369595,64.380997 67.286873,64.931847
C70.557076,65.298187 73.901573,64.999390 77.212822,65.001717
C83.316917,65.006004 86.502846,70.039024 83.682671,75.522385
C83.258179,76.347725 81.582443,76.835907 80.442154,76.924980
C77.808990,77.130676 75.149216,76.995590 72.009018,76.998718
z"/>
<path fill="#7F6A00" opacity="1.000000" stroke="none"
d="
M131.105194,178.998718
C124.412971,178.966629 121.929161,175.511597 124.228546,169.775177
C124.569496,168.924591 126.185303,168.123947 127.233620,168.094467
C133.025620,167.931625 138.826584,168.108673 144.620499,167.984222
C149.186325,167.886169 147.900696,171.202438 147.942032,173.557526
C147.984451,175.975525 149.022736,179.200394 144.506668,179.024948
C140.207260,178.857895 135.895996,178.995224 131.105194,178.998718
z"/>
<path fill="#7F6A00" opacity="1.000000" stroke="none"
d="
M169.059326,86.001282
C171.362915,86.001312 173.213898,86.215515 174.997574,85.959946
C179.745926,85.279610 181.287415,87.040260 181.166122,91.915031
C181.059937,96.182663 179.645187,97.436111 175.666061,97.050415
C172.879074,96.780273 170.044754,97.002586 167.231567,96.997787
C161.643829,96.988266 158.368942,92.093887 161.463745,87.529526
C162.447021,86.079338 166.128998,86.458977 169.059326,86.001282
z"/>
<path fill="#7F6A00" opacity="1.000000" stroke="none"
d="
M121.210655,24.017258
C129.768875,24.058971 128.919617,23.229164 128.996368,31.064123
C129.012573,32.719418 128.796219,34.405067 129.036713,36.024803
C129.747971,40.815170 127.897408,42.395020 123.050568,42.139763
C119.343864,41.944553 117.528114,41.232288 117.937256,37.126602
C118.264008,33.847782 117.781677,30.485859 118.142883,27.214302
C118.269226,26.069914 119.840446,25.085051 121.210655,24.017258
z"/>
<path fill="#7F6A00" opacity="1.000000" stroke="none"
d="
M82.994156,94.947464
C82.045395,96.592056 81.154793,98.756706 80.142578,98.815155
C74.391724,99.147217 68.611809,98.976013 62.426414,98.976013
C62.426414,95.987114 62.426414,93.437943 62.426414,90.087967
C68.602852,90.087967 74.831650,89.942863 81.033974,90.282043
C81.762642,90.321899 82.345627,93.025887 82.994156,94.947464
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M111.922226,252.000000
C109.952721,251.999985 108.465584,252.003860 106.978485,251.999252
C101.184128,251.981293 99.440613,249.761734 101.195587,244.133545
C101.489891,243.189743 103.225494,242.204834 104.368050,242.109085
C107.650032,241.834030 110.976326,241.878189 114.270958,242.057999
C115.772156,242.139938 118.393295,242.622437 118.517410,243.291977
C118.984428,245.811340 119.234131,248.729034 118.309639,250.982391
C117.906937,251.963928 114.465813,251.698898 111.922226,252.000000
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M178.549606,170.214920
C179.297577,173.202148 179.689728,176.066742 179.844055,178.944092
C179.875519,179.530701 179.027878,180.683029 178.559921,180.696640
C174.447281,180.816437 170.182159,181.314606 166.310242,180.330826
C165.279770,180.069000 165.167877,175.074341 165.249329,172.270523
C165.272202,171.483200 167.433762,170.229660 168.700378,170.111328
C171.810165,169.820847 174.970047,170.066696 178.549606,170.214920
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M130.043488,91.999298
C126.286316,92.421310 124.548195,91.279716 124.970261,87.653358
C125.160049,86.022743 125.192726,84.324371 124.963486,82.703880
C124.316521,78.130516 126.155907,76.743263 130.712158,76.853973
C134.698898,76.950829 136.620590,77.885170 136.031647,82.128723
C135.829117,83.588120 135.815933,85.126823 136.033981,86.581680
C136.701462,91.035316 134.798676,92.698463 130.043488,91.999298
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M118.996834,86.801277
C118.908424,93.583466 114.100662,90.343811 111.319321,90.912529
C108.217773,91.546715 107.893257,89.276924 107.993500,86.897087
C108.049065,85.577995 108.170624,84.228180 107.969772,82.937767
C107.219986,78.120453 109.202118,76.866234 113.963181,76.851761
C122.444756,76.825989 117.775444,82.980232 118.996834,86.801277
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M115.983276,231.809540
C114.910553,233.171371 113.973526,234.545166 112.756218,234.870605
C111.058968,235.324371 109.131958,234.823090 107.339157,235.034637
C103.387917,235.500885 101.879349,234.215179 101.843216,229.926529
C101.805206,225.414963 103.739197,224.520630 107.486092,224.988693
C108.136711,225.069977 108.806229,224.999374 109.467018,225.000107
C115.958206,225.007294 115.958206,225.007370 115.983276,231.809540
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M144.594940,202.771118
C136.439941,203.149551 133.440292,199.214569 136.302841,191.919128
C136.755493,190.765533 139.758789,190.177582 141.597992,190.143280
C143.024597,190.116684 145.675217,191.305328 145.710083,192.050720
C145.874512,195.564545 145.325073,199.111755 144.594940,202.771118
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M116.094879,202.996216
C113.271271,203.179489 111.808250,202.419144 111.995514,199.703873
C112.097519,198.224716 112.163269,196.711273 111.970146,195.249664
C111.432716,191.182251 112.989853,189.858582 117.161469,189.853348
C121.264809,189.848190 122.479294,191.366318 122.014374,195.075302
C121.912453,195.888351 121.889977,196.742584 122.018097,197.548080
C122.714211,201.924561 120.909172,203.729538 116.094879,202.996216
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M55.405075,113.228867
C63.560040,112.850372 66.559792,116.785507 63.697163,124.080894
C63.244495,125.234512 60.241192,125.822433 58.401974,125.856728
C56.975372,125.883339 54.324768,124.694672 54.289890,123.949272
C54.125500,120.435440 54.674942,116.888222 55.405075,113.228867
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M53.061157,145.352966
C55.895992,144.333145 58.688522,143.521713 61.500000,143.449661
C61.957073,143.437958 63.043247,146.752869 62.880169,148.437378
C62.591957,151.414474 65.302704,156.062622 58.662933,156.137604
C54.044884,156.189758 52.337337,154.755066 52.969616,150.260880
C53.174774,148.802628 53.016949,147.293289 53.061157,145.352966
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M147.050751,92.004562
C152.610107,91.209412 152.097092,94.747459 151.984009,97.893822
C151.900940,100.205208 152.814774,103.369606 148.696762,102.940231
C146.581146,102.719643 142.828934,104.409805 143.208466,100.294640
C143.470505,97.453384 140.056686,92.451462 147.050751,92.004562
z"/>
<path fill="#000000" opacity="1.000000" stroke="none"
d="
M67.539207,220.797974
C64.667358,220.907410 62.223934,220.907410 59.406548,220.907410
C59.406548,218.607574 59.406548,216.726654 59.406548,213.909409
C62.474186,214.185349 65.496353,214.268646 68.363129,214.979019
C68.683235,215.058365 68.120789,218.699295 67.539207,220.797974
z"/>
<path fill="#303030" opacity="1.000000" stroke="none"
d="
M125.000137,142.000000
C124.177414,142.000000 123.846153,142.000000 123.514900,142.000000
C112.008011,141.999969 111.907204,141.988968 113.156212,130.543243
C113.296356,129.258972 115.313049,127.256874 116.563416,127.175026
C122.170662,126.808006 127.829048,126.807991 133.436295,127.175003
C134.686752,127.256859 136.703598,129.258759 136.843765,130.542969
C138.093094,141.988998 137.992279,142.000000 125.000137,142.000000
z"/>
<path fill="#FFD800" opacity="1.000000" stroke="none"
d="
M149.000000,133.049805
C149.000000,131.261276 149.000000,129.951874 149.000000,128.321686
C154.583954,128.321686 159.965912,128.321686 165.676056,128.321686
C165.676056,131.926636 165.676056,135.645844 165.676056,139.685577
C160.402298,139.685577 155.020447,139.685577 149.000000,139.685577
C149.000000,137.695221 149.000000,135.612091 149.000000,133.049805
z"/>
<path fill="#FFD800" opacity="1.000000" stroke="none"
d="
M92.099358,129.000061
C94.864746,129.000000 97.156151,129.000000 99.722069,129.000000
C99.722069,132.677933 99.722069,136.063324 99.722069,139.727417
C95.981148,139.727417 92.262741,139.727417 87.515190,139.727417
C90.137917,136.285202 83.805763,130.597870 92.099358,129.000061
z"/>
<path fill="#020502" opacity="1.000000" stroke="none"
d="
M28.356857,40.648342
C21.785196,38.482307 18.724497,34.711327 19.071413,29.594978
C19.408169,24.628469 23.418421,20.538094 28.393787,20.086348
C33.625687,19.611311 38.335964,23.302938 39.502426,28.792618
C40.452774,33.265209 37.648193,38.256222 33.098969,39.903549
C31.724581,40.401230 30.192217,40.462650 28.356857,40.648342
z"/>
<path fill="#030603" opacity="1.000000" stroke="none"
d="
M19.322788,208.658936
C22.053778,202.793015 26.363003,200.186615 31.161654,201.186264
C35.989864,202.192062 39.802181,206.763107 39.781803,211.522003
C39.761848,216.181564 36.318157,220.265198 31.423357,221.433701
C24.568439,223.070129 18.967625,217.382675 19.322788,208.658936
z"/>
<path fill="#030403" opacity="1.000000" stroke="none"
d="
M19.222086,100.544022
C22.957716,91.988861 31.182480,89.663933 36.661930,95.384521
C39.459454,98.305145 40.511387,101.799164 39.027428,105.858635
C37.482296,110.085457 34.281078,112.331024 30.104273,112.635757
C25.894510,112.942886 22.253321,111.051437 20.347725,107.123840
C19.459503,105.293144 19.509235,103.007378 19.222086,100.544022
z"/>
<path fill="#040404" opacity="1.000000" stroke="none"
d="
M20.331606,251.524689
C17.459249,246.900620 17.348795,242.292221 21.041189,238.985458
C23.323486,236.941513 27.173077,235.648575 30.265299,235.744904
C34.775082,235.885376 37.661419,239.285049 38.458370,243.802795
C39.256493,248.327164 37.496799,251.920898 33.486076,254.231110
C28.951548,256.843018 25.351709,256.127197 20.331606,251.524689
z"/>
<path fill="#030303" opacity="1.000000" stroke="none"
d="
M27.334230,75.873947
C18.230803,73.809624 15.408904,64.304520 20.828596,57.971989
C23.588154,54.747631 27.201536,53.452847 31.569923,54.912273
C36.307396,56.495010 38.486950,60.058937 38.847843,64.599312
C39.204014,69.080269 37.054184,72.675774 32.965927,74.701958
C31.401293,75.477417 29.481434,75.536140 27.334230,75.873947
z"/>
<path fill="#020302" opacity="1.000000" stroke="none"
d="
M30.650784,128.126999
C36.203144,129.600845 39.646072,132.844772 39.824364,138.268875
C39.970390,142.711349 37.643368,146.171234 33.334442,147.970474
C27.960312,150.214493 22.317755,147.765137 19.924307,142.153152
C17.771330,137.105011 19.885386,131.500427 24.993635,129.269073
C26.613295,128.561584 28.497412,128.459534 30.650784,128.126999
z"/>
<path fill="#040404" opacity="1.000000" stroke="none"
d="
M55.561737,244.621567
C57.830856,238.621002 62.040295,235.615692 66.733574,236.377060
C71.692970,237.181595 75.550522,241.380600 75.750519,246.192078
C75.948067,250.944946 72.369919,255.303024 67.324928,256.454224
C60.767254,257.950623 55.525574,252.893692 55.561737,244.621567
z"/>
<path fill="#020202" opacity="1.000000" stroke="none"
d="
M40.195618,171.899353
C41.142506,178.968094 37.993870,183.404221 31.420092,184.793869
C25.675108,186.008316 20.056370,182.605743 18.362087,176.886261
C16.922741,172.027359 19.887127,166.847137 25.256500,164.838394
C31.411343,162.535797 37.117874,165.113617 40.195618,171.899353
z"/>
</svg>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment