From 82bd132f85d79334503c79360e4ed58fd97c9e59 Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Mon, 25 Aug 2025 18:10:46 +0200 Subject: [PATCH 01/23] clean and add humble harmonic simulation --- README.md | 6 +- robotnik_gazebo_ignition/CMakeLists.txt | 20 +-- robotnik_gazebo_ignition/package.xml | 5 +- .../worlds/ignition/demo.sdf.world | 158 +++++++----------- 4 files changed, 67 insertions(+), 122 deletions(-) diff --git a/README.md b/README.md index e6bb1f3..43a7920 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ -![Logo Robotnik](./img/LOGO%20BLANCO-ROJO.png) +![Logo Robotnik](./docs/assets/img/LOGO%20BLANCO-ROJO.png)
@@ -290,7 +290,7 @@ ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller --ros-a #### Enjoy! -![rbvogui_gif](img/RBVogui_Docking.gif) +![rbvogui_gif](docs/assets/img/RBVogui_Docking.gif)

(back to top)

@@ -387,4 +387,4 @@ Project Link: [https://github.com/RobotnikAutomation](https://github.com/Robotni [license-url]: https://github.com/RobotnikAutomation/robot_simulation/blob/master/LICENSE.txt [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/company/robotnik-automation/ -[product-screenshot]: img/ignition_simulation_view.png +[product-screenshot]: docs/assets/img/ignition_simulation_view.png diff --git a/robotnik_gazebo_ignition/CMakeLists.txt b/robotnik_gazebo_ignition/CMakeLists.txt index bba97ca..52af660 100644 --- a/robotnik_gazebo_ignition/CMakeLists.txt +++ b/robotnik_gazebo_ignition/CMakeLists.txt @@ -1,35 +1,19 @@ cmake_minimum_required(VERSION 3.8) project(robotnik_gazebo_ignition) -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - -# find dependencies find_package(ament_cmake REQUIRED) -# uncomment the following section in order to fill in -# further dependencies manually. -# find_package( REQUIRED) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) - # the following line skips the linter which checks for copyrights - # comment the line when a copyright and license is added to all source files set(ament_cmake_copyright_FOUND TRUE) - # the following line skips cpplint (only works in a git repo) - # comment the line when this package is in a git repo and when - # a copyright and license is added to all source files set(ament_cmake_cpplint_FOUND TRUE) ament_lint_auto_find_test_dependencies() endif() # Install launch files -install(DIRECTORY - launch - config - worlds +install( + DIRECTORY config launch worlds DESTINATION share/${PROJECT_NAME}/ ) - ament_package() diff --git a/robotnik_gazebo_ignition/package.xml b/robotnik_gazebo_ignition/package.xml index 694561e..5d1f922 100644 --- a/robotnik_gazebo_ignition/package.xml +++ b/robotnik_gazebo_ignition/package.xml @@ -5,7 +5,7 @@ 0.0.0 Package to simulate robots in Gazebo - Carlos Gascon + Robotnik Support Apache-2.0 ament_cmake @@ -26,7 +26,6 @@ ament_cmake - + - diff --git a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world index 692d089..5c8063f 100644 --- a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world +++ b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world @@ -1,43 +1,37 @@ - - - - 0.001 + + 0.003 1.0 + 1000 + 0 0 -9.8 - - gz-physics6-bullet-plugin - - - - - - + + + + ogre2 - - - - - + + + + 1 1 1 1 + 0.3 0.7 0.9 1 + 0 + false + + + 12 + + + 1 + 1 - 0 0 10 0 -0 0 - 0.8 0.8 0.8 1 + 0 0 10 0 -0 0 + 1.0 1.0 1.0 1 0.2 0.2 0.2 1 1000 @@ -45,80 +39,48 @@ 0.01 0.001 - -0.5 0.1 -0.9 + -0.5 0.5 -1.0 - - 1 - - - - - 0 0 1 - 100 100 - - - - - 65535 - - - - - 100 - - - - - - - - 10 - - - 0 - - - 0 0 1 - 100 100 - - - - 1 1 1 1 - 1 1 1 1 - - - 0 - 0 - 0 - - - 0 0 -9.8 - 6e-06 2.3e-05 -4.2e-05 - - - 0.001 - 1 - 1000 - - - cone_model - - - - - 0.4 0.4 0.4 1 - 0.7 0.7 0.7 1 - 1 - - + + EARTH_WGS84 - 0 - 0 - 0 + 39.551908 + -0.468661 + 108 0 + + true + + + + + 0 0 1 + + + + + + + 0 0 1 + 100 100 + + + + 0.8 0.8 0.8 1 + 0.8 0.8 0.8 1 + 0.8 0.8 0.8 1 + + + + + + 0 0 -9.8 + 6e-06 2.3e-05 -4.2e-05 + + true From a93d073f342f08bdfe7962acc4732dba745220b8 Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Mon, 25 Aug 2025 18:13:48 +0200 Subject: [PATCH 02/23] add documentation --- docs/gazebo-harmonic-humble.md | 75 ++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 docs/gazebo-harmonic-humble.md diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md new file mode 100644 index 0000000..3e7cd58 --- /dev/null +++ b/docs/gazebo-harmonic-humble.md @@ -0,0 +1,75 @@ +# Gazebo Harmonic - ROS2 Humble + +This document provides a guide to using Robotnik Simulation with: + - Gazebo Harmonic + - ROS2 Humble. + +This combination is tested and working follow the instructions below to set up your environment. + +1. Install the required packages: + +```bash +sudo apt-get update +sudo apt-get install curl lsb-release gnupg +``` + +2. Install Gazebo Harmonic + +```bash +sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null +sudo apt-get update +sudo apt-get install gz-harmonic +``` + +3. Install Connect with ROS2 + +> **WARNING**: The package `ros-humble-ros-gzharmonic` conflicts with `ros-humble-ros-gz*`. Remove those packages before installing. + +```bash +sudo apt-get remove ros-humble-ros-gz* +sudo apt-get install ros-humble-ros-gzharmonic +``` + +4. Clone source + +```yaml +# dependencies.repos +gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 0.7.16 +robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 +robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: bacd4a4d3b2f021cdc5c4ac4f56585d15c54eaff # Waiting for upstream release +robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 +robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: a83a9831d7fc08343f28381ff99a8451d2c38604 # Waiting for upstream release +robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: jazzy-devel # Latest version +``` + +```bash +vcs import --input-file dependencies.repos src +``` + +5. Install dependencies + +```bash +sudo apt-get update +cd robotnik_simulation +sudo apt-get install -y ./debs/*.deb +rosdep install --from-paths src --ignore-src -r -y +``` From 6290aec9a819dd0c0afca1cb44636f31ee3dffcb Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Mon, 25 Aug 2025 18:16:13 +0200 Subject: [PATCH 03/23] update doc --- docs/gazebo-harmonic-humble.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md index 3e7cd58..9227ae6 100644 --- a/docs/gazebo-harmonic-humble.md +++ b/docs/gazebo-harmonic-humble.md @@ -73,3 +73,10 @@ cd robotnik_simulation sudo apt-get install -y ./debs/*.deb rosdep install --from-paths src --ignore-src -r -y ``` + +6. Compile workspace + +```bash +export GZ_VERSION=harmonic +colcon build --symlink-install +``` From a32d00bc55a261649793e89f6d663ecc7a77e9a7 Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Mon, 25 Aug 2025 18:29:59 +0200 Subject: [PATCH 04/23] add debs for controllers --- Dockerfile | 2 +- README.md | 2 +- ...sgs_1.1.0-20250825.162558-e5e07b8_amd64.deb | Bin 0 -> 86004 bytes ...sgs_1.1.0-20250825.162609-e5e07b8_amd64.deb | Bin 0 -> 80554 bytes ...ers_1.3.0-20250825.162620-3e8626a_amd64.deb | Bin 0 -> 291004 bytes docs/gazebo-harmonic-humble.md | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb create mode 100644 debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb create mode 100644 debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb diff --git a/Dockerfile b/Dockerfile index e437d1e..14ad3fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ target=/tmp/common.repo.yml,ro \ # Generate deb packages RUN generate_debs.sh -RUN cp /home/robot/robot_ws/src/robotnik_simulation/debs/*.deb /home/robot/robot_ws/debs +RUN cp /home/robot/robot_ws/src/robotnik_simulation/debs/ros-${ROS_DISTRO}-*.deb /home/robot/robot_ws/debs WORKDIR /home/robot/robot_ws/debs # Generate Packages.gz RUN dpkg-scanpackages . | gzip -9c > Packages.gz diff --git a/README.md b/README.md index 43a7920..78ec32d 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ Then continue with the installation of packages. Install precompiled debs for simulation. Please, change directory to the root of the repository and run the following command: ```sh -sudo apt-get install -y ./debs/*.deb +sudo apt-get install -y ./debs/ros-${ROS_DISTRO}-*.deb ``` Install missing dependencies with rosdep: diff --git a/debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb b/debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..7d675197fdb4258e05497b496f25289848cd6103 GIT binary patch literal 86004 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

^dyjt+IFV{D74dEp=UFf@-!k(zCgpPMS z$o}CbafIfN(GexbjN!kksBbB%FGG2xL+{%6BeRm#JGgv{U(Zb1Q$cw5H-^v%i@aSu z8XH*jyHM+x_`=LpaPwpyKx1-7VdW|a&LmU}96F^9EDm$ngOgP<6f9H~CIvB}a6c#v z!yFla3V>`=gu)}C;HaAxamdDWM-ew87w>ge`5NcRvOI}H!(n-tZ9t(?vddq=V{rq6 zuD}ExeZ`U~+sF8#nSH4x<{hyMMzIR?Lmnxf{T69WWgd<=2}W4E!TdLg&mrqQI#eF> zNmbnNHnmA-E+~6VvD=1N-%CZ0O}H;cFO<&?3FVjtf9Mw%GIH}ORkIY)JviPU4B;gyZB2JUS*K8oUoRMMJ;+TeOFb~`#P(y6FN#=+Ui$UGV@ve z8PCTdt36fIg3qiSEk)HO*hEv#_c`4g=Qm0kDsF?sZI07BwZ4{LSN)tb;- zxBk4ng{okRM51Y|Gf+zI_aGA!R^%c3xWL;{SH{a4#>>%);RHUm(b*Z0O8^mLRc+|< z2V9DizLj@@-JD992rR$XU?tU=EjdZ#n|M9{WHN^-x%QdsTj3eZ3LI zkt>mV^eaHy>3-?mH9WOI+tdAC>U@UrlbPSnWPh1dphYbTf={0kt}s29IFp#_DQ)>9 zCVqUZOr+Yw$QTZrk=(ue*!a&(fO6D)RP4COs;5<4L8Tb~wWRc)#u+!UjJkSyGs+SDIb>GyG)|k82o?IRN>eD>93Pf5 z65Twy7hMwmkEfdgbTN9KTDkWUl%zuPAUU)dJUYGvdL$TK8af<4IvE}w3!Rc27IP$< z7gP`5iY*_wVE9#RH1I4&-hwztqWFFkby+60&ND4(oCnJlHhDJ{aeb@Y9qxUWRS;EU zS$f}&zh{zr7a^&5K~zY1`)9G)h3ItH7ZUNDCSi+A-3mr-vNB!zS&Npk`6cso2qZS} ztyneo^^t82^ntEa6kFDQa4BHvfC<~$M+67WOFf_aB|<1Q%>TOgeg{JZ#30#iouI!n zq799YMbx%x}AGL~HajdcnO|2&mnaJ~JCHbVqG7$wU~F^s8e&cN z@%K`kZ#=LMI*Gt|(m)B)Ec4m7ga8ivVwpW+hJS-A$bEVEH!`pgphIkh*m zHyst)elkjaaJ2S#xIU-Ppd`1+MlRC1g2Zqs*$3&)xfzFq&w8^GjZ6Z(q!smg)jP0Y zs+R9PE-|6ENqSfkOVotoTUu>_B68GO`ePU##|ZNUnC~Q-hE@K@vF$5)A~qE#+%z(A zPUdHaedvqY>nWi*X^?gy^37V;Bi(j1+AE>*9cKvOjhG$W-Sg~BAO9G`VD`cby~&L~ zc$1*iDwM(N1o`8l_!L!&d4t_+l_50m5dK_{5mm^@F`hgWoEH3ZViq;B5!-!{tz`GL zFSFsqyJ;lS^{(w{&=_9#H078*S4+yl2HvlI?Ou`jhqzli#LNsQX9`aSf#TjY&8tsa z=Z%V72mI*Kc{EQRPe5pj1dDT1ByEoqVFMU*52*V*Ko)aBI zWMNZ96_a!c-24(NTUlvSevX}x6%SsPeCGDuU0JFBq%3G(a}$F`jJ{!{_!>dHZKaxAU+Q+E&nYGlL{r3rN(M{?tex$$3HGF>-hQ&AGtJG z4^@Q_L6@pJl9HOvkC7?KWE+7wD2?oW-7t;Uz33f=r>v4)?t7?Cw}D>@exc`kZbT$T z{EJXT=xSAZBNik>ce2$S!ahh zhm6Rnp#P+hCAW!u3_dh61xkYgeeMo~FgADP25%rG*dz^fh`-sHyv$a8_ex9pv1fgS z*lee=Qa^g+hjq8c_fjqs^K6+Zd}zNWC?}8jbnTf+DLk3Q^nN-cyJ92zL0g*F!xK8{ zmxZOHw&hBS)Y&G*(?M$suL0Z6CWRuxhf+ySPHW!79AtuAz#OP~;xZBg*3sM66!Qb) zLYULx{J!|JX2|UHGjvy}{Sj;8&u|vDP?x)>0>XdP^RhP+B5(o1bn!FrzaQbm$7WK) zAH@rmM}J==EU1a=erL#%R4G9#iX4>F$!5G5rXX=JI22E@e)$*RkOEz@Mg#X#9|~d4p0Sv(RpFrXuXu zfSeNsZR=5ih(6y~T|2$ad@dN$O8tkAHsQ9}6^ODSyA8F+8!GAc?whnXTwIAEcBo(F zUptghf41wOFv<3-QUpsg53~OdcK?I6{~H_TXXoVmAGrJf*zP$l)Q_aUgd7l?(+;R_ z3j4v$9~a&YRi(U*UAQSTU~q&9^KPIAhGR&|2Z+grQO5ozK5JKPneBvHZVAOx z9$NUVy5>h`i4Xx$G$$iuy5(d`fb~rwf_p}I93fUh;Rl5OZz5f)+In^m(}fN5TAxN@ zj_$Q-EFo1fkIGzyvIOG44DQ557HAQUxz8pyH0q;$x;p9=rDh|rt^!vpx1apS>k-)m z?_k{D2&8fPIYoDy=PMK)1=}|45Nx4*s1mrnqETt?!RTiP{(Q7ytWw$mKtKN=z8D%= zbo-9DxC`rd@L$+L+ijnYTU()6@szyM6(kK|pp{{6!^NY}+R*`Zl-xLljjexnY}ph^ zx;uXt`G`z_MgASz<-gtf%5O0nepNMNcHv0CJ_tO#AL@DYtV`U?mdO=~1zwpS``%kq zoY)afjCT6iIoCiFBW53Y)_s-e-Pe}KS5`clstNB-{$^7B1FqV<@+A3(sxGIm$1=<# zI`2d1OwIL-VQp^Y`~Dn~d>PMD;k6j7N};A^c-F=%17obvNEGALxRM9(cRit$|0+LW z$nHL0B$^sQT^B27MKt`69cS(CrU4IActSCm@f8#$SZp%`P#iw&M1Q5``7K3>leC|; zFn+5nKwfjD9xo0jbz^^{vV~QaUVQWX0r3BM7kU{&te(O9M4dqn#B5r$-H=&nQ~OP? zH+nyJ8IggD%Q&hr)ZXh_szz4^H@n+p6DOk8erE;)7fmp2g;m@eCtM4E=s7f-Fzm59 z<10qwb=mb(th~2n?<^`)l^>Rd|CjNbZv~4RQ)g#Nn8B)ckP*{`-SYiJbKUErD1}Hs z59yAQO5vszdpSE}`cL|Qi1uTPw_3qyHF?LjRvG*OXQj#l2#QYTwniJrvICrQbK@f2 znh0<$5&WcKNQI~AKX`M;{i)S;3R z%ehbTuM*8{sRPXK8k){PT5NaNrP?&fy?hTBNJez>E+^3wVfz90e=b`?C3PV;vxKmN zE6OJ=Zl|YAOz+2S@{)c~*o@5JRd^&TzlT#)T*OJ!x0Aw%;a^lK1%K8h^UNicw#rkz z)XoK7A6q=!*K-!r4!F|!#*42EbB)eZ6R(vY><~wv-*6W2B^MAyM0{TvLpsK!aBV3y zoFX*&*SWUUy&j*rb?+txoD*;*<|jusH%mEhBF&lvh4JH$b_CkxRE(l|2w!(;`?zhV zLt1#-W%q1HTr=`4rYmbN5>CigA>iSXN{iD#_=m4VDIO08H`6yr3dp>`6Q~tS#OVA< zPYHJPzmRGMyMA$Yhmy!SK;JeN2O4rA8mzmS`gR|fH#=hTx*Fvlu01f~&HQJg>&TGp zK=ix7^C+vyZYAgjEQ*XsIWlnKK`EMr3QC3!H7f{v>IN%SkJkad)TNRnb46SyvbLc!tfg0uP#^mkErYTWYR{FHADSNhR%rZ}m?SjQ*-_+*_ zA>6A?)6X<`bWV*UwM$76GpJ=(r zIy?Nu3`ygg8kT6?M>84kok6RHHjeo0gs7DiLHzT(5_+qBr4kO81gX>j`FqljxhM-H zDV=hWtmdW3dylKq{J?OYNN6yC_3XJZ?Md=X#Y~X~?SL-V?b1)D}UMhd$nj;(tr zbhj7EqEBBLg^+)hvS=Dn95v=Ba}1?`obzR7DhQ4^KD=IgbF(tl$yU2D3@_{*Dvr7eT0cVo zfq*Kc4;=sinE}wTG5*q6es{@me;N# zB)6tU0dgeWfhs|fVt`=-s!@QJr{PP)2U}XcHK2S29tR73G-F_VLQHH$dNs`D`&&me zHDGySsh{|V3kfyLXaL_m_PBd8;N_;AB&p#cJq~^D z*`^Anq@Z|usk|njx$^v4TJ;K2-V9dyhh%_&-5E*S+qPTEZk+=PFkVIh;5>qN1{My% zrlpryaN>;r09%OAAnI*{BK$uu8|uTfzcGpQB8Xt(4M`!#Y(JA^bQ-^bCt1nw=69i! zt&B#5z=bw~&p_@*->$D6C8rR@ty4wRQi4u;j_&n4a{QQ^DX9KSh%2d5XudZ|JbA)f z_7^CjoXz#G()Q5>dVGLchupJCP?`E85&7L>vSn|*hst|?P?NMMo4cbodF$AG(R&$R zZ?kUI3&Lq`)0hQ4$?WHwa(B`peXabGf8<+u_xd8Th+NcNRADvyjxWQ0i9N=R=yxV+ zNL27^_+-LYGr|XiXTI9+=b@-8dWF6PobC^R>3b}N!fn(poyQ`zzg#Xb>PJ`verzJ% zmr92W)ouvD1y*|GN%l0CIrj&x86S+&=X6S^# za7%z0XZN5F4nPtcjb3NBI6Y=+yQ%>|%2ZUmeiv_8EGh0D9dzFw%|ab3$Cv4PJ!X;R zTKrR8IDSLgRi@IGa%kvJ-2J$=v{9f2&I)Z18S6#R^qf)1jzQEjNVA>yc2m0@_hoZx zW3q3-QRHEX9`o}8ug`zm4zCR^Bo0nuAJzfNh~+WB`0pz_69O23x1#}Yo9@gShswlB z!UeLY>AsO|Yxpi|97(nN}d`=AX4 zpRc2@4&7ANLdHv=d?f&L$)-ldFz28FtKZ?L5eavjwX}0nIqTnSjo|cZ2TI|;$oU~Z z@f|cC;!WrMK>l^J($=lNd%xA+qeGPvi^jC-8d6*5Cr0otx`_e;ER(WmeduM6 zKjtY?Df4B_L{WaKEB(1{gz;*(hHsFZLEX z4*2Vno2Axn5`C(lLq52x;&rU3{yX{l3QZ7n>@!fDEyExJVf!Zx+|Ik$4qzIN%rt%Q z4J+<)aW?;TZVi5e!>2?<6z9$76{fE+sugfK!t;izE~NIkJj}GRHdGz!{Z<}OTT;97 z9CNV42;1QD3|%J-{q0GhBOX_);P!irK;NIfrE;bz!VY1G;=lGKITTjmINYpZ{Tt|H zJ6gpX_A5?QZGFxm+|Fnt@zLEvNk%BLKQq#-{xM@F2Ag3+-^|P~jmDr@E@$AVua4jk zzgTp?>DX8BZtvfsf#S<-cTeF02qRzzJ}N~r%wr)tIBrP!1+z|A|`&RXR>AghvwrK(Ti@RJ_Rk=zbYlt3z8sO zw25>6q9hvaW}pQ~WGB}wl+pF?jp^!b&opEw0j9>=5_7%!n^rt1b2L0*yZZ+wDkU?! z>0>53A`I(|M8`kyWPL7_6`$XmieAoLce(c=@|I1Ukh^3h9_m|xl>g|L$)?~Pl*5No zEJEmP2Gt<#;Zn+@AWPr%=dK0 zGD|4r$psMnt3$Kiy9$s}H>LhSG~C~@J^&L^eKLl(PJG?+jqlk7TdLpgx2!x?4i~Cz zs!52zT$G`@&p;%ZBR*|q*3MtU2_(G-2akySyz)Yqb_+1s&TDZBg_#LbsEiVX)k@44 z5P<>LE^4w2nnVL7laNT4_M}f4lN9wTf(q@UL6qFOSD*F4v0!_A3?%DY#Z$hTfhys~ z750K32e;c&t+yT;A!<2x8cbpv`_NORvL{18qHvwhvk7NZROymZ|HI8C>GKY^tl)YQ z^?Ywh_miedF}$q|kT5r*o*=&J4HJi<<1 zo}XX+C2b>We9A=e9_O@eM3)q7$SkXOnzZCp98q6Y713d0I5gDA&wBs4b!Qzo1LLPf z+qdl!2hdU|D*2gJFs`+}+JH$z_{ozNkfUcwA!~>r7YR;&r^OP{GZ_bDb-JUcUswhJ z$mQ3lES_9YxJ#w?5snlt$3gb6xA&$|A+%u8X&@*-|IQ7coTcikC79Na#V*02DMsNw zWQEoRDBtlEIA8FT_HyJ`J)K0ng=J`3xNMAY?K(Ch|; zJ&D;^DTs>|PeX+XU9za=!Mtk&16|&xP@&N_uWrq{iG$9A8lf7iI?;o^)72B8&({$> z7+?C>7ocVfy}Wm0V3PGa?S$f)Q0_XyltSPp_X-@|IKKg!EP^;DHX17SejmpfjJ95T z$z#oJEUG*fAei67B|E~wL=_>Y1Ag2NUqGR^iG^nO3N-Y+sQ-qtz~UlbBC>;!RoPJp zsVD2qM&Lj3S%~7S5ZAO|; zExNdMH~x*R!^k96zrgaij#rG7Ie80H zBV6#T_7y+P^z%edh!f47%^P;N!z`L(M(FQlu#AM`9a4E-<~;wQn!OO3xqLM;{dPv` z<*Y4sh~(_#kjoPsX-*15+`VxMB0(Ul#;TRmv>KYKrBy@N(fXxeeV~eoY~w)1^Tr~) zd8AQ9e?)2ErJt{mK7Y?-4VJT|>Gu71p!1~tlJnjW%fbUao8G)!YikjBs?41ZRPYqW zfoa%!^QIH2#j>az>@?Va~*1o*ra+%<{eVFDQomKAJ z#WGI&Ca13|?l!Qt`2jJ<1IWEakhms{xcnZGD3*52=Jbz$zNe(m=h@<(eEj61F2w0 z5z#P;EIcvMB8hN}!!=a)TW{K9&8TKMvZ~%c?U5$KM39OHUq5UQuj{2qa z@da2H^YoUTh{^dSG`~?}J4MZ2ZbV>Cjn${IzvZEOIxTw)N5r;BkKP4Y0LVv)@5s;? ztx8C-XUxPl*-rE&J!T`+$2`G>;9sg*>V_U$YF&=@PVY_xBPBCxjdP-hXU{=ZKWSrIeL*TVdrGEJpkT33CwVtqzG^OpwZ z3L=mNi&Gyn(QYP-YwNKhk$!_@lgGc({8!jPLJ+tbi#;1j6-2uC2qmXjU6~|+CSEKI z*RET%s@3bCh2Ivo+B}feCs%yK7!KY&Sv)0v%CR3g zdBj{Gqyww0I7I8zDCxMo(RQW*&+}HvAK%=AA(TFAb{wEEznaT129p^URAJ84HQ(RV zoRr5=(JN&PyCiaOFNBAOfArGVPNZ3&&XzrgQUchmjw@3QObmd;-#Ly2Vhlza-y<{S zd^5y2EqrS20~eYxyA6rV|4W>36%hzNR!HPh=9UEBfIH;>9I3$&=b-vySSjB=vDpNt zZ|v3%6?$TPf~MvQOji^aaFVu~oR1?j((7k_pFPFMkuYjAe+Ub0%jDP$xyR-mCs~)n z(F73;l1G6$KvXH1rtddvaK4#PR?RdeTGkZuM5#MoMVzw*h%l!N6~DQAn%A_|WDr95 zh-s@WL;kWuBg|UX@It}tbBEw(C--KKB%EDa8qnp`e}RJkiYfd%85A3)#G9*Css5mH ze5_fMLnh$x7BlF9hpf@YlBNwU>}(+``^U;$rrsYs(mcVdN}!nj#io{|Dz{Sb1+|>U zVDpEr_`qu8=Oj*)xThrqMWYvhuZOE!tTml%G z*X&34voI|Ck0fE~+1^#1tOO_S!b9_;t<*}&1KGU6lfI+ zIZ8z9FTGMkYzqhp{V5s%%Suz5ef{KQ zR(iJMg?qn?NhL#2M)h`61GrpDrVCnJezmCQp=(Q-A|F${GX@fKQ4pMtzA zq|=EjEfPd2;urXNYq63&Hxr%^7;Q|kb}?m4D}MMXFF>WIs3&y{%qH8RXrFj7``HjQ z^=p|6McPtiZrj$ak;l5;WN>w~1h;-^0-;EMwlZey(mucSczwLcZ;QH_^7zOHlc7u2 z>Wgv)FKm(7yex4y*cTOa6`C%P+FU=|jFC>VFt8U?eNYMY(U7eF(CG|c zIK=o)5{t(QMJ+;VK>s(slTW`3H`A;fS>mB-wny^j&&w?dz%+R}^YyMC)Elan_gR|A zZ)&xI3QqJ|18rNt#O%D*5aPbB+|mJhFJ# zL&*IU-ap8{t0%(km3xh3(zC1h)9i&L)y#4=A5T7|(wq_4SO9gF#U#S4%U&1~cto0NKIPRd{Q2JUBo%gMjjxYt&I^75n|{I_4wCQh0FUhFoEcq3 zYEC155&$4%l-{nCgSl*i(C2xPlWo5t91+vQ{TcjQddzhSBnhllaNo$Vu51>O;MG%SRZ`Kh%BWVm~c96N+9k(@8{b z8#z`tGopRVWYjIer>hK%^Q zU{&s|UrsS-2-A*ozf9jXAH?$hWgoA{112--K+zZ=e(k41=&_43z$E6wD5DZOEjUE6 zBVri8Q|NFG*QJCHsE{LU8eYVy=6UdiQ=H3gr^bY5L>!?{;sU~XtuKrR3EMhgJ|@OE z^XHc~QKH$;02o!B;=qO3jsIrX|l1T_vKIALhg&S0xHQ3BP*W&#Zfv0qq1}o@gG-$~*DTFU8 zO3eIxMXcu#L0v36t8nPO!~Hbqq5HNDir;;6Qd=VrWa};0d{=zQm|iX~bgQVhL{pzo z<$rOi>GAv<6+N>2MNP)SXp)SIEW`yz-p^v?X{GE6Gen1~&W5B@%XZEW<)i-X7hAmv zlM?R|$uhDnNYjPvo^bVf?I`#KU<+3!;RnNB#VnujxuRw(Mo0}C9Q1n0 z+P407Ozz_x-k)6=qx`m3bI%^h>#ogprY=-7c*LJML+~6(@k&cW;Bkg^?w=;nO!=4G zNU0AuhC7cDjdb9Ok?QwBs(U3He6jrlxspZ<2i;ALAU&ytRlbliZBBN8$&zV%8rn~8 z?$5Y;JFx?L6tr(Lbk;7p{3255+M!U4nqADk;^kTh=$6!wn80{qgr;Oc&+Jr&W)EJg zh96_~-)0_=>GW9{NE5|>KZy|<4o`$~eAr0Cj%uQW^r?Iq&i&U3lL^nt7sD?L25RBh zhLsp}&Yoaga34M2IGp^G*l|4arlyCH5Ew*q<41l*VSrHMw^r^9G}AgPjY`ZHX;q1M zD4oEiQWs_I4@|`m=TTxw;28C4?d0iU*@PAOUtS4vAaUlQ7I`W z@pu;;JOgqD!`(Y_*LS8udTU2E^J~P;3Q0y&7#26fLg8ck-gx?(DUF+gxZpi=pL8YO zW7c;0n*sK6|LjK7=*u;ihc%-RYg@JNsVNNdLM8|##T6R)HFX%$UlzaWw}F4>RjpTi zRI-`!$!_Ba*br=fYG{Ew^op7^b?oSa0G6J;&~%fC3lyS9uv2GHyevH{QtFImwIOSG z;!%0CY1?%?zeh2;>LK(8kz474XL`G9nku54@PcA@dNbd{# zW>=Cc-yBJU{&tk>$=(5KF&y3h5m_7kV4CnHwfu7<7rm-quaeb@w!n-;4$RpED2@%u zN{2R`cCS!X6||&A@!Mfe0VbQC=V6z&$~hJGff$({qJRg8DCIJses{oA!-5Ns0(h~3ebD1QdVnb{wadw$cmCMxUqP&$8L7E7n|8yR@j^jt( zMxBpIh9e7PGLJ>zNY+ly^`BrhibEzwqp&C&SkhbCmelUVJDs0oOA>>^#N;4S9Ot;` zF*Q}rV26CqiEOU2HPu1~glY2gvEX;Mo#iE37Ex2f-YM0c-Pc!9Kfkb@-Mwk8I^Vx3 zJ2HqyILTDoV?!PyB22l>hP53)7RgxNA#z}axG$mV@VX|?^|IvD&H0h=bG8BU=ecGC z*~cT{q;$n5)ZC=X`r&(>X<6Zs|X$=_YaIcP%9ZH&B~ORfkP6)xwUECV$k5cxgK&24+L znIIb^=`eqO&1AtD2ythBphfGcjwHH3s-IlcGOnvzI*{pmxEr${&5%oYxVlU~mvn8> zYzVYavpy(7b$&@)tfJG$_|86=WSt?uN)Wn4o+N&Y+C7u%${mob=_LC8GZr&{)U2@5 z7#}v-0$T_30Ci5Xa4hZELiod%XWQ#xyJdSepzp|vc*!k1!@H?K_b+{?e!cPpR&3+i zl7ymiY^QM4xO$FklEXVLsce#Lwuf0I+6OrLFu3klhj#8%6SI{!P?q+rne%Os8ELzN z=5Xk+zwc?ZBLs>O3ri;9EdA|k1VyOkC3C5UE;2Z8f_yOlkYAUah;87QMkH_A!Y2Kg zh5x<8E0`+$H$^)Z!ZH=oeh521%p`_-##DlN-mu2uiaPC9kT|^6VfmT?s98eg8EXiS zvn=wzy;4(hjijqX)%m7ye<~hol4|6~vQ0lE^?m>fkj+Jaq87ovY0(|fWQS1|j|@@JoFMGs8YX@}%k zb(X?E@*<32k@h7883r9MkI=}>@x1CrlB`J`{Hm?#8wF<)7r0OMPbK-9pI4I}p$Smg z-v!ST6@2iVa4DpOW{|sUGsYw*VeGERP3FXhyHjJ2{C55V*9d|ovF1-z;qcS1^ z7-}f6_3rYD{~N3TR=;txMuVvV3Jb$DMIOH){{$nf0O+n(~$ixXin8o|{dN}HFLm{L%ZRU8$AW@w$4Gu@I_(7@cyuGa0Lrg)C z3~7oSOetO!(-=n(Bt7t!UXWNHS@?coo~DlzDYTS^qL^X06zgs`MVj?IXM2%3LIK8F z0vIt_MU|9>Y=0|`4i6iPRK6?jL5u8mg=S&OPH&104-7RWCr8E%3o)fYhX>+714DYr z(cz&(GfdIpz4Yfrr$D^@%ecIz3BA|Mu(fpd96G&(q|kl{`l*4r!o4|LKQTe)f=a-1 z5Ync|bLkC7ZR9}^dFkfPww+&4ZLTLY8h=vP8ok{5;I@bv3F|KrYkh@dB9m6#Gi9l{5GAQyA$-e%Jxho5*(Hb} z>oS)NA})%?gvmpGP9ve!8ap0_hUnLcA#~wE@?rRHb5Ju7XX`6 zx=_(+Qy;h#HPy&JOpqf*AB~xzL}3gG-IR1J3r1a?=B1;TCX^7<;vMeCMzDaoMzO#n zGLp7FtSc~G=i^qfD7J(3F0EoVn;CY#Vp&oABBnwQ+9nVLYd8lWQwCLiPy06vwd;Xj z#Y4`U0EM7k5ez;ME*k!vd*}rVcB8{r_?qJVcZ(L))G52%(2Eq71fg&wzB6mdyFo;dpl8Li=Oe zO+rq;Fr-7<;lZm@lB##_0!-P9I>HvP)L(6Hjzp{cio~!;6M3qCqN!U5a9TcoX?h<)M z&>@j&A9jttQc@9H2Sls{3)W-k4{RSn^Km)SF=qZ^#7~{Q)7NCsY=wA!3TuiQsljx3 zxVj3s%Bz^^^n(iX>qRc1UA%}Z5%_pPSQK;o6j&iAKj;E(!Vqceq%NG}_j2_a)TUwk;E*#gqOZ>jgLrd`uoetF&Dt7BU$F%d55^W4xCD)RE zfy2r9Bn&b@{XuUQm$w)p!5d837ipmWg%{>0dG{|^q^4s(*4VPp79=%cb&jsD9Ix!^ zGSMAC9zpgQ8VS_XsB19e)4RE;c&m}3czGsba#vS=QxHPHjIo~vnTxkC8oU|k8!W(x z{pqfut#+A&`DWl-OW>TxIzemez{iDgoplGSvS4@`WKT^ak&5)%@qGl{rc z8IEmNWBaX@u4CHYJbfB7tU0~&i>^SU)Yh8TL{SrLRz_#&{(6tTpEk02o;Ic>3nlAj z!Y@RR%#7N9{8Z>E@hZ0TwRdsKp}kVwWaaz1OWYBck#dXslWVVRWx8G8?G|-fzEG*x zl&DDHRj)VC$7*U&8H>inhSsM2sXQ*Fwb{o`N9$0Y!Tz*Snn}r=pp{v>R@F||!4LbH zR!)yt1`}5mQJ*qnyK?@XodEuUM zdLOj|+bQ4OuvUe{tlIwcM1@_%jCdrwW}30|Qqqi3)F+~0+%oFxr~S-jj>&;3VbUYp z{Pw--FGXZ>Rq|!u=-7|f+h|T~F}W5}mqsIsY5}g2^7}}P1U&o&N=7?e4M8ysoSlo< zdZ*r$W54r>F{$~?f0n-KNd03q6g=9|iUiD!E?mcO8W?RLM%`B%8HAFL_>(hSfP?tF zWv#Qg)3;1FvNR}$B{=Sh1I$8wSOCu9HTMepBC(q0vX3j1w(Xl&R`@mc@dfUbK`T2g z$A5lF(A1c^;7lb1U9JA2Ojx)%wQ%_gdq5-m@|B)Zc*s-@v%u%ukna^S$BF9yVdN`g z>I$PRui(YqxwyOg#ogVV;@Sd5FHV6X#ihkvi@UoQcPL&cu0^MBCNuLUlb4zGot&NQ zZ|&^l{5U81&e{t>4TEbNTjZRfhqYGT>BP6k6PKW$3*tfuK9~T!;Nmf6Ci!sXj$mAr zawKbKRo+8dHwnyV+H`VaO`4W)k4p21>;TS~L0McYItrYiKb%?M>x-I6Px9JW-x#pA z2TxC6ZsjUX8f36cUv%O67r!Y_wYuTBWg#aNouLji`oqxrdl|0+2b2 z8;ztPKy4`SWFB#bmY!g4%?=t`9Y^BsOU_ZaMI5p_C3iCS_nAexMtIhGQ~@^jgEi7j zIxcrj(-aM1g5)Iq4SO4S)+X~yTn|w|yk-?HpwX3k;9@+16&f+gL%?Vsm)LTH9l5vQ zq^?5SpDln%#SBjLh0UD$5oqKe5;0gPNrnwfka>P#7jJ$D{E#6KKvzUstKWA{i7nKQ zfAzV*w|Vp7y|CkQit&YxDBTPwfgTxZaakEACjc$d6u%_j0Jju}(Nc^zNwERjH>5-R zot&J%!Z`=Y9+e_SZa<>6E#g0Ho~-Xll2AtyeIoZH{fql&+{&)McM^*WNzMGB>?M1r zOv0OQjz{bJL z2x5&~eG;Kh9TBkRjyufG7IQCWm1e*goVSH-tVS4pS@3UotlNA^R13T}QZuaXTK_q~ zY)aKy45>Q#`Uzedu$;P!EDdKMX9sH9bIvoPCy>vD@oHSzgBcfie#LBV+yn8l78?3Y z3%E_3X^7N!2~65T>brbDKFoIzzj=D0SEem3zuEegKIYNjCYaTi;U1r_!{f&nUiF@a zOgm`Y2MbS1%>-Q%2R=@oHR%Kef_qB&<$3i-vv!IF(@HHo=vUjNpuRn!y!_btY=^kl~T;yMfjGD4xStY`kan1F~ z2vajzyqcN43wvL31n)w<+7ii>!5e`qSlva99+I9r!4e)>d$0RmkzH3d7A|=jqt>9< zeG7nZ?At2eLXC+Vdc%K z+sS7H8HL*#BqF7es8>YiIM~M?`Fu8Lqf)dK|J<2mdGrb1koo~!jMMN+tBp>$i zA5N6$>!uTqO*%5$hpAaUI>r9V>DJI|s6;XNtK|ed@J{Pv8xC1ZXoR~nR+5$UnH)F# zB32KicSxF2srxb_a>ZBY@o_fUgh+RuV~WT?2!7q@l>DlX5y7A*{O!w9g}2DsP!TBt zGTH^OhT^@|Vo+Y<4VK)68Oj3t;u`!vmCRoXLh$o8!o--K>T?XVF(Krfd~j{uPA4=Z zQu&FCp`Wm{UAbH$69dOL5kIQEe2aSTp5q>C{!U*onso8ZTPt4O?dtchakFlwDHk(D zdX!3z{=tG-kpv!0IR~MSYN{US{FHC9``g{UDiNLEM9}e==b6z9bYnveYBmpiB;ApQ zMUA? zBgAk#I(&9Zj6y{`9rBpzo8L3!% zWBG#6xgSiKHJFBUrghThGM>mkFw+fL?uIq?kL7Cp=sOrh>eAX^Fp&`=K|quqgOWKzgdozx(0_nTlO(N6*x$@{nxEp;_fsWFh!sZSnx~k!D+gQjs2< z0j>-890g9-MFB0|CykEZ=F!2(!dFM4B@SXWHSJPh{M>u2mT|}{yE)d#6u_)+O3wlt z;ETJGE|NpjhovL7oyRJ*Xc8v+pG$ggG>3nqjUYV$d0&4$UzNWg?z{Js0~s=$?fEgolMLvXVR1r=FA+WEgLJIl zs{{`H2h#hFd%>})QP)F;;j$plWP+A|;>=4fG|%~V2}eOil^0b({Ln6nbW&RL*(MRg zw_%j)sP@IUUY#duioEckWM@g?X!ppk3(&rDQD~P~f1)Q1Khxk+8Z^+vi#)+GIhY_J z5ygP*L;7V) zzdbO-W4a%2#g7R;AfPlxLKr>iBr5>}AOBT8ZZ5q#iPG13zc*oGC<5#=g~eBiOO zypIp?q5vWFxNv;a^Xvxv^+%pZWqAjRzC!^u#v{gw=E~oa%$O<796h)j+Q{po^XoR{>o=~2Qe_z8M zK>LEzyFXF@-F+IYTKayVTnH3tgiH}TEfSs-4g#P6kOQ38n*NIm^iC>c3=U_{PPp;E zU^F>{|BLG0hW{u5{_i>?Lg}@p)BmFtd}wm1C0-|I9X05)l!8ox`v2qg!{s+#TKTU4)i4$dyCgz4)?O7+M>XHVH?LqAnu2BzlWFRWrW>hP-=e ziEKo-EcuS(pu8b2v2}HfbvrO|n$Cw8DAT9>2I)t6fw9l7^kIIu@@JZclEEu{~xl%XB6dGwjLh=dJ~8Pb)ksZ zB@VCG#je}oV+>Jt=bNfFI)lLU?-=Gh^mvqiQAbuKRK1Kp$xFSWh6ocO&>UH~sjIuG zPfvc>_R`t{fP}j+9G%EKBJ-|*N~q<}3oEx)9_2Se7V!&6*2vPuSU}y1?aT#j6}9gT z-h$g=zA!u!zI9jNDH#v-k<}hcx1 zbHf{f>k|KYm2^4`a~^${f4>>+Yqac#RJ8~6j?yndxba{p9m$5ct(4g{lEN&eixvYl z)a_^Gh=q*mJbzCqTX#)e@gUG(KSDMa4(HLWOW}U{`!Qv0&5efcdcBvc3nuLPbCYD` zbuPT4T>bDb9*dGh(u69}R!SI|W3p)v@zmRbH9ZWTl`L^U?)3Y%T-6 zbKPjNPgL06eab^brG_g%XT9QnjaL66VG5uIw;B@Q^7V|}V<>5){*wJhjK@eOR>Eu8 z!~+_=3I!^r-B$i$);m%hZwEcXU7lE(|HN^dS)-Ch%!Z1v>BjUH=GeIojrBF(2Uiwv zd7U`*y-v9Jii)fLfukk$akh_qO#Q8H+}NcfGy1O9RJZ@nY+6vTC2iCS4&Jl0@dP4a zo?*F|o7yO)2;QQaKON?v3&v5hQ41rL5L6E9XCNt&KF-J}(UAu6y>}^Gkz+!;p?;)( zs>@KM2{)`;MKe4}HadL2GEnt-!tgQqIM)X+|Jcw<^bukC(>AL4ImU?LG}wH}9Id4h zVs>y`ogf3JYD;U~>k=J@QK!J~NYeumCJ(x(j3Z0ug|xeS_B>)Q!x>jgLppskfRcYd zQ!24A{m61O)JqC;iYNPe2k|?t!OoHJy74dxsRZPLqLyHlm`FPSYgWdd0dIgr?2F@h zbr?oZ%PcD922lGhJcwP`X0*?-s@SOnQhla*ceRb(o?M5cR!OJX6qVmOt&uv@62)>3 z7s-%SQMevn=c=mirCv}Zd#Hx5iN|2uL$A~fYZd8CrV}=3`G{)B*UA@`^u^r5JVk~H z5j@AfJLf3wG++~@ioBn;;pjT*Aj03LU+3ao;+W!8v-^Cw_U<}~<)-TSUVc@fjyLET z*Pu6J5_ME4TIiA*TIaVnUNos}Gn*JLWpFRs#Q2%9FtO9)kWIF!6ZC?hk=XJFjpa2I zOvKiKh3%SB^GI2dw|?g_(#ES&g}M^Rdw?3glb)V4oS+kVU;i28SI9!CG}&?}k$PRK zPiRen+E$KZ9o}nP&6PkV1Rf+zKuZ!dCqiW3B~YD*o&VYb&Nsuma^%)XP$Sw9PUlgj zihub;g{Aa(XiaXpCd+g|MS1tf1GlSUx7&FcW8C2T_+#xBxj{oO20EIr{$*i;Bu(e; zbkk9-Bspz>`*Lq{vN(TbN$RnazKq-lDVr|>XeXGQ>XI|HjcROfPT*(S*&05+pdWgV zeM6B+Xau_5MR1z$96ND>bh&Zl%%t(Nht^TMrW}G)|FZv-2fb=J9BFivbDq9pfvRe-mqL_y}r$!3jeO*10R9*;xqIqDIw6No>sr zH7!*|u^lUV%cdhP^PY1=nTD-mn={VaxPtXfji5JxKj-m9q)^(Xe_H1mxB$PL2L zV%MDj+}>Sm#4p4})`z0~VCTF(iv1pPptL8+ayG~A2&&W3hC4^?C$NW0Fj)deSIK_7GXSnF$vwyJKhKhK3d+QNmUqHOfz5hEX!qrjX+W&7L z4@wcX{O9x&VMG-9e@?Ww!yDDMx1%91Z)|J?OZ{NR{27V_uYqLk9f@MGeTI%3^)J7% z@!vb2iT&&QAD}P_2VDLu2>5gMKXMfD!{{=UNJzj?h0zDs)M!^{riG|R31cyB#rIv0t^kFrE; z)bBQNvt}1G*L8W@e>0w$u|@XV@_Sz0Tf&UzEJ7FuLl? z!QH5Ky2@GL1OK5kgo_!+Y~YUcNgDp2z%ta7Zf)B&Gvc#*cDy$;rb7K~f%;m+=R7(7 z7IJ8l*F78Zg!8X-AirDu7xAi9DNoO`khRvEodC9tNs>06-?40>K&7<0-yawywbJgg z7K)e~*lfD4+q6$5{>r$xq8=5w>X;a8-9zUn_ z?G}{?e6o)Kou2WMWA;r}Vklm+^h(Ns*yqUD~R@AEVE)>FV`)5trqI zreGX9>zjpT_j{Y6rN!LHit+;~LGnMKtF8}-ab`mH;bk4EnP!i=FSFupW++3?MR@mV z_!+N7B6n}IadROvOY_e{R59Khc>>KuLLq&tBxWVv`E(#a@ZK3Q4-7 zp~J7BZ^|*=Ds%ZA#rqiO0ZBymd6P6&OXD;neZ}B)uCL1t#0E}=1#%)NM6{q(NxCe) zhj?F!D9-OKzaV8jSJx{%KXS8Vr6oL=EZ+^6s05^}HVi~YQJfT0lz*Z@pAB9q<}GMq z7OU-NNw45;tmul&3DA>^T0 zM2DfE>vvy^>zHr=GZ94=&ZZ!6r7zo12}B!0#dS1u^*96cPJ7>Keze?9M$c}3GO|k*`pCb#Pkkx=ThRU6|MqQi z-v-)%>UMAiL9gv<_q^o>l(U`#DuYI5ZDWF81EtTC_^Z2;jT>W9f7vJ;9Xx5%K99qik<;-LboRad@vnIEPSIB z??$$B_?jfe73FoWm?u~~Cb}Swe^|pYhqQ5(MK1heQlsKY&|yzT4nF30DZkcBhM&Uf zpVG$_X_c!Djq|^8Oa*-fV_qW1M@;c3gV&{{YVk}px1|RSaw;$E4m;w(8e)PUA>lb! zTjKFEe%dBdf2Uh5#LD9q<*E(?v`a_h9S)x~6bi(d5++z}a==8-R0F^&$<@pr=Fcs{ z+iK%Y`qR5QIW$*4eas>8%aKa-pE?~VSLB4Rn=|muZv8TA#(v)v=q0YN^X6k-yp&5Q zh+jXKo6{99HocY~K2VU|DZ4uUMML`F*64?*lvVigMXd^~tA|p(c0Cg?WZa+Y^CH9@U%ompQ8bj%-YYz3o1!~O}em_+R z&Au@lh^xDkLQcnbVZ_3{fFw0=C7%-_ixycelOotHoUX&+PKig;nf)paZ_Y=##+ugA)9uM=wwL1JsP=gbJh8mNT<}_l^t*F!+xA`b5Vh2lP6lC-j_q9?M6u&njLMp3C=KyUY9j z)T}n@zKBPwoc2pMpnwa#>^z|=8oz}Q9_(Q{qT0-#0AhlKkTxph$(#bK=eMcS>K%>t zyIgQ2`4*A4HrS6`i+umP?At4R`FMPUXpO86AFf^B-rf8&@rxnWzcFMVv`@Mp@%LZ~ zn<|j)ZW!9r)p;eQxvfG!`}9_62m|y-G+Z^&Q4O$q+QPuCg+nIVJZ=2?)jZ>WJu zzff<71eUG%ZZZ<0`KdQQkAZp-ncOp(cre{A+<p*pIRrDdEQ6=%niZo5F!6RA;up#5dupb{hzBlt6j=`fi12Sv|0%z?7@0C0M~SCTt+ z4!CpYX2bV5HL&nQ0gxRhAXnbLyq*4-Q}<(a-? zRKUdb>hCDwNTyQk=eOQ$8KXG%_W1NCNX071Q7_{Bjk*58dzXJZlim~1=*5b9vHS=@ z$0UJpLAe6c2a1%((gCMMPJ;bgq!(V_Hs4#C$qy9nxk$W3O-emk1#%#YJg9yWzj_B! zX9pGJ=K68j*4s?`MWX^_T-GWukl+xtJxLLPMAsRMwdJ=3`qB9k zr{e~@Jy@UG4iUE+Kx4qk!^s5L6lyDIozB4FemGfQT4C1|X-T zWncs_vHW{fJiL5@Lc$_qk}|ULN-EmAdIrWOW>z-u?HwGQU0gjpKl%WC{rm%iV8J0_ z;So`vqhsUZyYc-0<|1)UXO*r^mBk*qOH)#uC|vYptjy2bTlX+n_ZrFZe6`Oa(~z0z z$G1sUV%F4oUxt+hSa-^1w+s#FFgc)3u`h^q6Uew_{Ecop7;3dVMTkmM0#%yV5ho(z z6JD1KKAI)i_2~Y%M(z2nf@si=MTzTAcUSyR`+nN?nNoad9wOU9n(mCnD?z|yzfbq0 zYV%}!oSNxpx1@_@&ER?;|Lf5Ql(;nX;yshMDEfIkz7luJ*h!0!XZR9il1it&6f4_~ z4G;ruXxVo2j3oj0cKo2qQ*oRCYD(-^=rZxcfVm=#ZvEZs zYH@1DFK%BZYo=V>BhMo9EDl-Z3L}*#-x*?(lFj=j#4;h8gkM^d>|C>atn)n7&! z-SUmA2x=Up_JlTxB5x@>Htm7Fa8*VxZ#%(Co&sb;js`BDR$TiKJD9XF40{`fF&0<)(~~@{O`%| z+pY`lSrlti4*GLh^d!ZEa~m*%X$_pj_XGi1YN%#O(E;1BhS4M((XPN|oD1)F!5~c4 zcQck|zydt~EP^07MmJwf;8*-Wxd#MueF&C22`;7&wWB}0x{jv_iiInxjTyQF{1Zt} z%pB6TNh}zkp@|FKM6u)`00beEeL)~k*aX6qk_j)f<2-E zp#ZA24nUDe4^D#?4PeJkidlu}DoYf853e`+F4y|N)&tuU2yd=^1_G#wgOqL266_F> zO*+9EN$8HJxSyEO9b$=VBa09Xe-MS|AkCN||x$$8*QlO}t>tKc9`aEI5Jmg6} z^WXry7%^RK2oi#*@%^<4L;f8|w%~qBey47YMDn>Ar1}Bb^f!*r1UiS~^}m+@GQ>0n zPO}uvZkZsM6|qO(Og->B0IH~V2uNT(!F10ijdj2@cSX?K!E^I3L7lMyqyE6g{5VXK z8^evg?J-CONC+p3mm^b;dk0b)K+x-e*HIh94;&?qs=zRJwn8!%0y3)+=SGzOYl`9W z6`@w|51RciWT=@B4$SKc`y)MAZ2;@S9ft@I4lpx&4=_{ERxz`-(N>Xia&@uMwlK5u zu`mPt2h6PO9PR&c_;@0|mU6$F;zIfA!Bk{{Ua*UagcKJYUdJ%0i7TDuodm@UlZOid zAOz=f382D(BqSk75C{?o2?6*|Gzq~}CX6eLT3kas^j$qTsT1h2Fbd* z^v3HtuI!#;Rq7WhE=36zpw|XT?jfi3d^W9DY_+TcOJX7K zZ4XZS>wf)?nNo!70hHEtLL_1YX6=r`Mq;Gn;=NI0zg{y~E4hnkrRLQ6Q*uNW$a!_H z!JVJBb-tRU`^RYzh?c&73&pjMW_99n8|(&c-=BVvzKueb(Q`YBR-fAs75LE`HY&0& z>n}>Rp?h)xdCY$aV-aY-5NGp1OlyrfUWq;MIz{@mlEQZBWZ}o<+w}J|1hsnGCLEq~ zmq4k%*+bQi&o;a5pwnqITcG}f*t?v4EG}ue8?v`1KcaPiBRcDuIE5k+5Mkk{bC5n^ z48vLIjIo=Lr$CqJa>rBkw`GhXwd0vtKXEf(3{PLx?2NHe?O`M$xD98Na z!z^b|>|S3H6k#TlLY zOZn)F-1o_fM~_o!6v4Oo@6;NHEOV#I8-ZeRt|3|IFI6RCamhdM1YMueq(Qz zm~fQ$Q3IKD#cglah#aThfKGPl1+^cPXrMQXX4>Xa18pm32+NXj2(q9aw~BXWf!l@A_Xd(NhHU$9H^@#OT;yWl>N%_;MF=RYCv^ohQDUUs5f=tI<-LwXvOgpYMfNJ0xSEH#S`%0V_ATfd6s63YGQFFu zq`*i0lje1Uo)YGPmI;7H=@&WjVjP$wNi^%&dLk%@9l{d(?aSqF)>H7U)EAGeX5j2m$61T_rv zns>fXJ-AUJ&b$cUu6wzNk&|O2?~?SRU3=YiN3`opj9(uh2T^KU zf{gs@krVt1AW!BHxSJi#2hpSwOa9>klW#~}2DlYJ0{FlOA>6(lw)}bXG7lCN3_zWET}4(`EftwGyaGgs zMX#^*z}Sx-;4YNW1Zs;ZQpWyBO7Cp0Qle`uWzBQwhcPf{$zyFd7CfA2kJ_JnQ zN1y+I-xedcg=y{fw(arWe@wqY;BtosRuGvdY>4+<^YlCn5edK&K9*(Du9Y0{_vq|> z2R=GtJS=^Y@D%-`mtg8HY}W+x-}c!}IlD0|e5wPIFdS%_MGHa_@5G^^9YEG?RJ%>w zdwm0r5nYBb9;hWPH%H^c?Jiv7W*dZu^Ogv&eIHP-@eC6|eMk#-n(kIl9s+i~qb696 z#D_LJM>*{&4k*^ZZ4kBoc0cL}5g&$o@POf_-6HU~V}b#?Z}l*`wwgyaIgwzsG#|l@ z(*?c1)F=XIFrKgnh`!e2wJYnEJ+rE;=d$~V$A*>~ zVBXMq4S6;v6X2em1R8-W`JXKndJG#!P%(cOW0gm&z%yd6x}`Rj$drw|~6! z#}pOj%B5>$f3vS)dEP~=PD{iU;Ou^(yWnQAFJ_?}}2QXS=BoBifSyI@k~3T3d|vPAz@ zg}9tTCXk0R2PdexJQI-NP*%q|j7sFz#3pd2}(Z!PvDVCS92ZDZZDduiK{T&Fr-JwWT6P@C+$ zMjUN;uf{)BfUG!Be2Ky{^`iAoo44#}*o?j4A|M^kCk~Xs#{Wi1T&Wc>)H%FQ#cfYp z@<@tZ7NsS#6fuixz?zuu3U3_Nk$J>IOq|z%SBjo9E(BV**W$=^eM6v`>GtO~|IlUu z9i0VfhgX!jAX!5Z19Av-0>_h}1Uf#oYK^5RhkxoyyClpFG>ZP&Y)}PDBStCamKq8p zifE(|=vn7Kw#t7MZtfUsWW0GUM9iwgTxiZXL)6&s{zy(yp65#OPyvvMWID*gSb$Xw z%x}NDCyb`F8BtFGG%GNh&1VRSwy6)kSRLY*KaZcvhcmf!pM;=`&z!B(gIEV5)Hh6; z@5eD}vdOf0pBe|jt=}a+-sBtUtG~RWag3X3lPOs!s*@4w|Hjg;`k9gh)>(Du%=wIV)%_`o+`J9+90L+JnLX%5!%>u9=n4(KZ~ z^~Pp(@QYI*$Z9M- zSRSvW-m2|3AkX~6L*^R8(Nsb-+xxE7bmdmcy>~;B()=zZx*2@(9R<+oMmJT-)Y1b<=-}|d|zu}zJDj< z>c0D#+U69Tpnx2D6ncQ=_a86%0C)r=RX&TshTzhjX9RuaYQhP02sa{HDWx=?nOc^! zoI0Eae{f&q{g4;{=~uIpgSd8G&@|s@P(&YG^{J( zj_*h4=OXi4!2sr53Hrd;QmoHVurHMXtgXV%w-Y$Of4>p;TNqG@1uSpo>v2#6eyqXC zN1M3^$@TI256Pi!_9V!xD7h%D3U??*TuPdVDFh(ITpf!*dK**!7XCd zM9^>-n|G@JMAdIa(U6PKp10XEo3~wHdPv9uNSo^|Sa%!1B;FzD)&l^SHT292&_A9h z0b}PSaZ6`fwWt>U`O6ypmyEK~k738s1hfQ%y?YU$NN!Ds+lvh5K4WBANJ|1cexdx7~)S-^|d* zx>TAxdXFLsX5*ox!q1F8lk2DNXSIV+>Q{V^6ZuCMT z*%3L$KJ+^5>3FISw~vO5XYWP27Z#;;fgH}iSJ=aZ2OlMxl>dha{XY&o15Rj+A)8KP!US6zrdI348h6U02;eLgB6pnZQxLi5n3i# zCSbLE>Ja$v#tYSY=@dwXB9lv`u9*j{Wp|TSI?%RTobuMdCVx5^%QV}+d1ale=R|zwDBc^~{N43UZivkH8|>B5j$iz)_pLdiw>(y)SZ*}qkYpt@}(a8U8q`UhR%(R&jIN4qf?{dD=_fkJn4cBV0yXWl;yx7IAem%;bVWsCvS_ zLA$%)+HBIh!M~$;#jf%^Aiy)0S3SJOSijyCE&Nh6eNAI7*p(&y&M&XAz!hy@LRgXO zTF2I)Y%-0k@$17-+}N8;Pn_5|Ea~ou+hXabn>l|~!QyB<3;)g{f|CbNiJ4Soqpg86 z(VQ8@CI7o`Xp^2t1Lz?^f6jSpxKKLA%>yh5MfA+Bf!hTlHEdy@f&K>X>kdf+%LAPg z1iSJ;S}Abb%*QJ8X^ji}$AQ1pzZcJxDo>9+?dRPSL@6?sSdkzAJh8e5f!UNG6xO>4 zMNG`XD#WF|%)&kZ69>}VS8IV=!pggaBRu1!Qt#I4Cp#72WpIw6R{J7U3JxVqD>zN2!sy{Rp+S zro`DZDhxTnv=)RzKT{du+(1-#8+nP%1w@gAjj1K&aPZ~gOLR#_Lnm^GZ6U}PBU;S% zh|j!u7+4@pq@TWD>NU;d^y`(WjJL!!8&iw8s&BCsAFwob-mFg36m+M))XNP`P*IMc zQszcQP<@c{!u`2(?I{Xpo4tV9d-GM`PlAWBkTNNGWN@|_jjC)Svy3%qS@azKFZY3a zuODcaC=J`@M~c;QaR6UKhB5UOESB3?<6p*}F6hXYBNOZKVSnV)GL^7NX_V%P5-uh< zlfu&LIhSaWfr>K+<)u0DmJB~()tCyo*u+XRZdQqjNsJ9F(H>N^j4heQ#6AiKiR7Yw!oetyOV zj%|`f3X2QBPi7G&)9~_ts}7yUw@xe2-aeQ3`{<`m9>o=v7N$wKAEh_-=})nX6PjjT z0oz5tzImD;}mm<0=@R((`CXH-{*ed|B z0ED9yskVdO=&WTGxM(vh5sBXFbG=M2X0JUY(;Q7EuhVvq@WE*mbQaxeWouO(W<5IO zZ21R+RxUJmAwcx)H2tr%l*L)K*VL3l^W1bS$3>)(n|FfGVI`=!9!0}T9Ko}h_^87p zxf&O);G7G^`0id7S^W@yIvj?uyysRyGOJVwx1bb{VD-ox7i+J_L2Kb?nn|j~7HFGj z+!(?=!+61@q?U^y(a2&Q%+tUz?yTk@<-T|d27{tlfx>_TiPoGk)AxH1>Cb=MH*5FsOhmQhs0mlc+NqdlL78!R^uP!P|@^Acv`%-3y9j0!IK+YCiV zDs=z|D0nS;)c{kd8^)6fACD842~Gd{6v8Ui0q3mXC3wA4%>QY`jt=c-J%drYo8YB| zvQmEVKQBBq1Efx|6v`|D3k+5^Ho<2qnBbN0l-RIlh+1LOgg!GvsyCkn5+P`&WH5zI ziy|J{l&XWZS$`mb$iX#*j)K(>ThVm=T4e8v8TZ7s>jW}kd*DK%8;SWDgBWx+;(=rv zLg|a}g-&%i5<&0F+ndd5(5D1PyxNY>jkb{?Hl5;U?%n_XS6*!rju-yvwydJRx%4b* zeAN$^kAJT`{vD}5Jk29OcCtkdq#$6`DP)9_r6wvDdu3W{pUj+`tLTc=(oyJe5!iyE9%B}`_ z?6!B=qXURoq%&t5oHPh$ne0*0sZ$ZZL{kdWQ0C40nhqqVxqA)Z4W_Z1TSxr{Y33;#H3|$HCAQ9AN z$p#v<`y(Z--#h%6_gr|%aGakZiW;8ja| z?$*oOw|>Z9wW7w-0z4`ME-S{`3&IL70ln10@Kl8!ipK#_t|_51Bu34Crws3ZwruBI zXV-KqsP#6D1f0A(LLX_j74wH(-*kmFT_b`hi10}4W`i8TK)HiR_LZ{WGM3a+h-q<#8Q9MfBuL~H0N98 zupL!Fi1xZkHe=_@65Jn&$oD(80D~r8+7Xg^np^7WZ(&9&@fl*j&q^b zk{g&gsXNEqc@Ty$X3QuG7P@y7graC7wY>#akx{B9=w_z2;~u3Gy+n$VuGM@H zhuQ=dJM#%1w+4%O4I0TxlCN)Xhfljy4S%Q~TeUM@-Q`>B0$*_Yf7g=_GbVT_pCks` zbP^(uvx%;sEEdb{hL>Y|ZT_7%;h4OlDU4-mxfb1*eYA3>&3gY$k}UZyzjaF3Mb}er zCFT!s62KYG$)O*nw`KxkZlcXqgNauJo?4b@$M^7z{Ya4We~7$~^&5?JpjcUJOcrA5 z3`ck8YYXNOPT@?bw=;8hR|flp6Ra(?GBjCqqQB)UHa!Vs-B@IOx~_Jgd*Iey)oEMd zU6YEVrgiH5ED)DO1s{*s5w*+92pgd3_%%S~9;H+=U2ym_MN3QfUAR^b@IAAC3;3Bj zi1>Bn1LHhFEI6CByJ346m&qn+Qy}r*NpYXSTS~;n*yW8q!>3Z&KS1+e2qo!BWt5Lw zJ02e_pq}Xrg)6`A+8k`7$j}z+hou$1Td9*l!CqaB)-ly~))DPP`FnO}aF7`_Z|VN&C9r$z{C|aj z%iG)Vfy3vXs*w(@ROq6_IM$(+B1atmO6RXtCr4izHLY(e@v8Y^G~7X(%HHwQbEb7) zPV!NCi8@OdVfLgC$jlcY{#gOMFFuKc8#yy%kFkN>9To)JH5dHh$WQVs}=*=%eM|ns7?bZF{gOwcS4tgt$o|Bg!%&hXs!|_ z;c8B0Bg8#}`25@N_zHJqP?ZaK66qaN&83tf~m+g~K5n5sE`28BRTkgqk$G zzHt_k{lp~M>-fuD2tzA}16n{qBRm{ULM9$YRD~!&9t>Q(?o>K-4UEDtG~IU!)6i zrKS^DVuvYU`iDJXs{ua%6hDoMaly&=!wrW-WBWmDBlQ<{WZQ?gf`|uj=g|Nux%&Xm z0ZrlMWNbNbs(TVwaK+P#UAkRna(v5(y!tvdo zv2mH@rSL_Z`yE3@t`;QM@a`@(k$2-HcLR)-p6fjtQ8v!@qRqLBCXSBNlI5C-EnYNL z1;?LROFxVYO|A-A42CEc=^N^_z2`PSJ#+bMGJK%#?e|SAYt+)sd;Gjj>uk@ZX6}D( zx{hV7pMHFFqKoO>VC_CxdOrSNo1eaK-LLv^#(waAn>#ft9&%XIFEV=dj#^t(u-;@gn-Lxy`Ju_`~Gbrr32nfFT=&z!`(gO`Z_DY-De zzUoP==USmTWU8D(q1aFjZKKyEV$mZYmo~ue<$D;0++jq{$_3dD`4Jnr!<1NpoMz|l z#1JssJ2Vs0!k?xZGxV3lie%65Wff0zSn}IT-*0ZMDlnK>zFmg+J4k-R05q}aAw1>N zismXcZh_t%e&4(ilg0}ia|Q#NvxwGvJ_*|shg_qfpo}q0eexE~Lo@$io3##VpC{aN zQg>`kBv^tWooS-><=x;*9Lx#+p23~sj}so@x2wzgvrsm0rbxnTsrUIC<66p+6>7mM zF_#MhUwg%m!j+}Nf3RYUm0{|0?Pg1;L(e$!vs%7!+^ zZlIc+%4=0=GlV!4E3q_XRpoUi#;(L3)tt&EF-44_EBhl+ zNaZzGO6kfdVvJm=9iR}+`Qr}fMl!mJCr@K}CN!fLHUKfT(3`CMTyU7_c1E9 zgY*i|Z&cK#^aQo-De1lCsc9eJ1r@6KT~f4eg>3)N*4zGn6ds;JcN>&sA$CXq|0il* z3fpvaZD=(oWOd1=&f2I+8xyh-T}yI|WbP_DrE{PXI`01`$%6ussLB1my0HBJbAj5W z^Z$>K6$binc4}!dBVFFYIAvT=5j7%R>8dJDvg@rKVuZf&|3cup{~x5PnS>*w`+p#T z=KuepH-c{e{|;`9dhRzpGIbZa3LGf4$^XAcQt$tHke&a3ht~gdpydO3YH+2%|KA`e zP51WyI^Mkhf37k@YCvZ9{{;wi`~MtOde#4bqe&LN>HON(YHU6esrB;zID*u4JO2O1TU!+c+N%GL;7tJ>H}XkE z2typlar~P?N)`K}$S@`*rCw31V;NLreLXci|DS^ldTe)K@lodC#A67L2X-{+AjzZ9 z$6W_yAIzN~oi`afU>`_36?BxC?a1hH#0S+5SZ9#D!$Ai+e)RD1_9NT@4Ui4cJ%9`V zXVgK^k0ZDsa4&xB!D)4%4nq6^f_(w6{KAM27i(ymx3FDjs!KvidccJA zkRK8cfrndNAGY0jo6pU7H&;p`cVqF4!%d660yqKPf@W2bqR=eqmNg5?g|v0VMTKfb zq0=oc>%MdCS=JLLret(?%kTP7K7_m5>-5=77K6K6o!9p@b*_|~-FZ7_J#3Sa$>JHg zucg<}KO~fJbUZ1gbTXpx8Bze}iL2OdM(p+ms+@%0VMK!ew*yx_At%@99Zh_#3dl(% zXE?SN_5ih!XM-YKT(QfXF7ib62&9p6{Qr)1&`poUUUenbskEsh?#d6xvZ31lb3mrM>2S3f8jDvJL$WeE zL{n<{fHl&vM+|v)j`wi;|8Hw#ADaFDZ8R!0d2V&gb*#;*0gPaKY(x0mkvI6Ifl~Eil{#_)6=$gEWGy(azE@XQS4nDsL`YJz6XbzXk|au$*w86aa#N;zpu}bdIjI4i4Nr|8CUiYK z74!(w+3>uRbaZrdbaXfmYWS!v!Fe#l2W|{472rvFD)?RP!$3)`mq3?29bFBgiLLn zvw*s!WL=a`_Ni0Tu>h1`2$GXg2d7g5#1jR1LE)p0&!?{NLYXkyI1*tEzSjvh2LmxD zQV?cPoq#~fA%P=l!Jq;!0IW1P8I$vtrA!462t5&zV}!?(Z;qCuj-C{u7k15^B+y%^ z&5mj3wCnA*c7ogua7VSP!L#Eo%MW5#cUB~IH;D&!7?yVi>^KSXF!a2m5n+R%6hl&X zJ9g-T(1yD1;_hLMVA0-1q;fJo**bWgoslpI;anP z;M6EoJ;^8>^bkd1(({4s^0toUyOO6@21KYQ00=(Qq}4)>y%9l56Sx-W_WC{U-q;?EAi*gJOySy_i$H)W zGyJAENP;e10U=`=(*+TT12AEP=mL@#enEv4d<<<2Bo*n|%Pa6rs}%C!BOna5a0=~VeHV1}{mgO6 zpYkP_z84eToG|t~zbyy=^kGeq>vQV^(x)VuK@QdOQ)-Sa@KClSKP*2R7pN9+K*LC> zesL7wf`qNCXa;=&v=Y~xTA9)$A*Rhhn&Ao?5t#+GRC@*OO8E-<%3V-E?5Nw-dKh43jn1l2M~+0#nRE)!Q!hu{`y4=9n+xQp46@0sX6 zsf){mmYobqtCh%@79bhA#LO664(?<)!!h{eb~9jLq%HdvWbg^~7GUW=@yA|Z&?j5% zg^?5>gxy3MUTj(VBf7%wFJ!Z&o127&JS$r!^c>u83}m|xlud#Gs2XPcK>JQfCrEK% zEv!N9=v~IYmHE2YpFwR48U$M;(Ebs?FLU*m2i@Z3sDbDh+SMoum*x?Rs9V{!N`tfh zDy_$pPzmpF=@#KrAf(cUv{)`$P`xWIUQ@6r7Z%bMBBU3f$l^Jw83F-HHvqh+Wq-BS zrkAOmnjs>rn?lP}ePO2ff}u>%m!vX9WJo_%yg~;l1z+B%VXFIt z4q7dSG+*k#{8)=7IO6wFp0~CEz=A<;QWF%8l{0~MF^{u4;-QvFpKgFxita%e$^v(o|}wJ zc8&!aw_@7&y|4=@m_dymA#Fvi)f3cc^#}@kF3-w7PVSEqDG}BqF*ns zuCA^XD^{pbks?J3uNQ2F>d+jzyZ83K-qZVeH}B+Kyo2}dzTNqK|2mm$=UGey=UDJ* z+`LtMhw{Q)UuHiN}dPA!_8d+Ay}YArseqq=YKwk!6Kcimlhww%?s zWOIM+dwyTRuc5m8y6txW>tJyQ{HdI)(4TbdISfCiu~jGaw(G=ox7{i5rm-gEnryz3 zuR2)T%X^9Zn`iT0KDr2SBl~25UiSzue3iFRl|m+NbR+eW>U;-} znW+{urfW5~P9-Df&Lgb`DzSMv?745N(e`a~+{w51#-#sd`>EGxI5)R48=82m%gg0r z`@I@eL^8b~+iyA_&Ay=~qsiR7H7n30#s#c`sscUSeCYUU24pZ@=SXlSroUpBhJ z@&6x#1y4H8J&`!`Q8EJNSQzE0!Wjo6P)9NtJkgvX{V^Sxq{wjipcDara0Wj&{ z(1XXs=fs71?m0!)XTt<754j>0UXp;r+S1a}($dn>($dn>($dn>(h`opB$+uR777AG z0P6N|ceW3D9loa8+;f~nV5V8z)xq$zxy!S_iQqOE-xjmbhu}2L+kO0Ee{r)H-v;Z_ z)7=$#**vC#=eDb27R(g-JI(fX(O|Iotgo5h{EPJ4ACPP*^V*ySqt9+=VkzgC77ZqM zbMCfx>RO%|wa&#}`1$Sj)#<1%`h5nQw`DS#w=3p)$hTeIUERB!UC1uH{Lbp`ZJW$q ztKH1!a^I7A@jeFj_WZgE)!lb}&CFLI{kG5U0AA~9F#7Co%FaR=b(W<*QBx zON;q2@P{z(o4fV)JkCe=>Jh(3z0MO+TkF%&QT3Zel2WBqDOF09Qla~i6^RPP4X_?X zZJ!LtVp*g6(T6NFdUW)m#8vb>WS?su=+Yp&$~z+u>Dp!uzuA%}$He%Q6nWzqWFB6l zX`+(UT$7BFaX&qIx8rJl^fFuEKtpYD1;ioMG-jxi1BMH!79>Hf{X@6GN_{r8 zfHpjTohF<&WgD^A$#v?a`Qv_J2f`toSW}OVrc^MPugb|V58=$(mu$QG9CO<#v@}Aq1hi4{ajIp6oYd->$slbU!Iclif@al z^mMlbZZ3f5wz=Z2ZlcH8!YtW1UYahAx_dNpxjDC=Kz3m{+}$Q{HHWTFHoKL?`EJE4 zA(P4{@O3+B-=KDb#T&NPb~~@qt={+goUWo(_4Kxj0PUh`)`%QH66ykw_dTcs5xbs_E8=6{}tlOons%o1`xl!T& z_XXiNQAy8_4(|W?;C9UTRnt+F2L~$;p2To0-5sY}G>kA25>4^^8NWoz5|gC_c*3P1 z*9%uD)6BKRaSe+c7lIF?U!e+cS9oFp9ZV*kYYCGVoQH56_juYFc8!UNNy<^r!rNvs zkEOTM;$yd)?qcEQnPHcw@r~^wo4B62Qk&4TnCW+yZH1%FDK+MNcY&u(bq4cjqm8{F>Z+-+4~<BxZBOS+uo@kahZO;EdW2i({5j#2BV?)Ig2-U%j5yjcJ|m3 z6zuixcz0;$>iiZdrRK#V;29e-eohaY@Wv}{A{e|_br#cw%tM_vF@oKgfEb_JUMF;q zIFdta+=eI}Ixth0=Wun{ijlw$18iI$8$?6|ECOSo`OVO2LUDvJ7)2(EbcPy-rKJls zgxW!j-K`if-e{blwQ4x<;@RMc4D3>nhYAjy(0K0TWgl{QeAvY1eqwBM0ux#MiC}QZ zKm;{_WYN*y$9}&NS>{qrgT`+xX${3D`VYO$yQa82f_g_!+KE59R<+PN=2E&6sC#+a8*m^PU5Pv_JffrOD2b-&6 z@lg$uM>B1%xEG`2G=MglwU8XI>0*kb-P2XLvSDNcpevAB3?wHwGQlR4K91PUB*8}? zY3z;qOA;qQlL04P3oe3!VV1sY(;Cq!BbEW(;1kRH&92WU53pw63d)06nAe0o;?7TV zw~l@^Ts3+<1=T#e0u!E=|6r5pB8y6VkvMLMBg;lehBH6hQfdGPP}&@K59j1GtzZml z`KP7ZCDM=>&YlQIeY7*g=*jV6ly)%pzpATuh}_(|BQV?&V_^PVfWI!(14F|{-NkzSKIG1s}eg0w8nem-t^a> z*j{U(^}PT&`Wo=Vbxm_!qcFq@ zW`(qJqQRrHLt3Q46TXx4G2F@;A}>1yUEN@TwsP~F%_?exsbI+W_?e`Ggp#2Th1J-{ zQsdIXN*NT=k|r`!Ay&zRG>bv8hafU8jv04n#jqjbAxAlW>F5K0ND9QCscieQYsdje z&HtDnfGm%F5KKREFkBUyeUkzTeT_P7?*vF;Ai}B5Wc4{6p%S13`0{$WkFr~yXl%Yy ziHMi(3J{5i%gVnAyX05@cx z4cFqF0JReFe7Ks&Q$Rp+=|lqNqf4cIz#XZ}TA~A>ud>crY&Q!|rp4bT^g;GUu{>J6 z0X+HFk%4SG_6FLZr>hcXUF~3QOF)ePoQr*a0vxNuH4f~=e+>53-R%(EbfeF&tFLwC zX!}M$|1Yn36FNV??ejyFchcRaM*G9h>76Z;UBfdsvi#O@4*WZmpTHa8^f_DwB#NN& zVoa`bU8fPK1rHrj$`^qyCVED3hC7)KA6o&~LU9e_3&O>rrsETdb-?3lC6r(#N+*sU zQg!nL>8|go_$SxLyT}+|QN@(2VP}NxF$*c{Q_nQpyBvC^xoBag4XYEJ;15Ei+rMvyE8xCNT)6!k!0B;ft{TZBmOcn^)( zED~$81J6=6;9P$*YAQfAh2Rfx#LP&Fnghxa!iQXb@~RI@>5>+idP*)UjRsO(PC0fwA6_`NK#iaF>2XxW>Sf#TcDz@I8U91V_a+GwJtPE zQkjiEkRX+z(Sye$ag;Wg2Hrw@!Z&_HH9?)>O3?m^`_;nB*C)12^TxP|zMO2hL@GE8 zIT+S@At z=c@NMdoicK&lfkvfWkg|Eq>a*itR*$L{PKryVK$IhC!0Y9=+*L?S(zi5g2ITBz(Xe zc|mGZOEUOOdHB{@DKvI#TpR}}^DzIi+yTV?GU&Z?DA`H={2)yrVq|np)-*EK3 zizHJH|6x-y@X2WWDaKYPA?FBMCoO7nQoj~%j8A12hQIH)@MZ&1;Ip{` zz;z1QfZeQ5v1c#y(-$*Ls1IX~V|W9Miav)3 zBi76&ckZOEBc_1u4O*Hb8jtS?c#UPUj!I61+{OB3Z1GJ3EcjORuBSw8ugo-(G;-9P zf-D00$K~kY{_9 z?3L`JVFW577J=Z0)-DXK`s%h_f>G%wHWTp)=HC!#xC5p`?@KFlWEta{`{wY!fw*pa z4?TZ74ZQ*g>;)97Lbdw@0+nUe?tb4$Xd~!O_?=qU8&bOHLgde|YA108O;y}H=$|?3 zuNZDd4|_|?=g(+;iX{;xqEl3LRX2V%!0TPGe9WC9WY*7e;;gv5oO;c^G5i$2I?(36 z>jXx5<=xFCRQ}7Mr;4rks^F(zE=+L5iZd;(7RZ#D9$|*8*19Oo?xX1MrNC~23KmE# zCiE8-U;;71&s7T{Mn8aT(Oa}?wVz&}I9kK^$b|*OlD6mZw-RAC5_A&0cg##SOR@pE z`gunPmN<16Zu_*$!vMp+EBb$i0f^zE!X)7B%-e*~GpslO^?k&=ez*ej8d)tqr#l4F zgOFdIII7WuvgQC^pfPJ_vxUeIMfig0Tb+yZ;{Z_bFRUJCF{kFae@+|f8o%M2ZpB-S zjf8fELred`Ffr+)fg+dyH-Ya;N_8*_@1cvMc4yr?=k*2@(RhfvKv*>-JHTBQ^|f%h zn8^Qp+v>jhi*0ahDr3sbyU{V^wpbZF+#%pbVm|o^TaMBOLwJ78TZ%kImLs=en??sy zwC1iJ<&nXTxgm`liVfLw(L~Zdh;C zIaPA^dH-L}H|3`1D7^CUBgvL86RNl(gM7<*t2zW%q%=Ttmf;!CN?L7wzX**|x+V8S zLwk$qELo}A97kwwpxaPOP~_QVj#^OqtQvE~x|wR6=uy|p~RJ^Zfpp>e0N_=1TD zVn{Y5@1Df0`9zL`xH1o&4$*0)CGF_Y7pXkbr9$HrGKusab;^b0>aJm?3Ji({`*X1@ z)`!{{4&0~Z^_UFA^LE7{?sP81Z{3#UL9Q*d7BVwB7XUDKJa2kL6*@k}q zv?iq(9See+tcx(sCRv5cD|i@znPYb>qz3+9Np{j!d!1$O8fU32VLR|ZNj0)C%=K-; z3&k4a4`P;03}5Z((Ov~Vu;mb+W9X*)MBncsJ-k@e%k^Abg>GI2m#Pvu4J(p|fRE9J zws1R4Lqg@X@`{+q0D3xJPB34ayoV)oq}kaW9;y$-gyYo&Bl1Lj3ezGF`j5Vb);qe3 zYFQUNRt_aX^+_iaI8iR)w|a7B(&Oi()8;0=JdLjGRHIWiY&cmJ4n>q{6nRuA^bDSi0w@TVfiz37cCAs~8{)t(K4w%UNBv)}lp zzl|$V*}~sjkP)>d009RV^hEr~`fJP?y>M>LVf8O{7HexV%b9?hL1A5))6w9 zz2`6ocURQ;>vJZaTJQ&nGh`BGFikAD@$^r5>0Rnug(9tDVg$9nwhV8uzoIeGmD96h zuu+yFFwN;GhBM3#o3NLKLDs0B4c#sBWvVSfc&ah%Ep|#W=&gQU6|_RySLBWm0-fN z)S&)W*C3}1c+VXDAnzJ~i9N8{mpIXb;P8hChANC*ZU|gw5bR^>X2o8lvW}>mOD7mHIsU2tTyKljvDB` zP;Xv+R(JudhEU+$k2I#?-#JrK=Iv9zrA&>RE~b+l+24~mCLFsUs!xu#p4+BY^1o|0 zr(CBXuPB>fn5S%vWR4R-rngWzD{0R8N7*jB%*KR_P11s%{~6HH61KnU9>!zD%9l6s z;7IOlE%i)EXoL|H9QKsS{Rb4|L`bVd!#0qa6V)lp@T&X)i%2o6DR7vW2!S_`6R3P~ zuJ)y+1||w&o6L?tQhj0IhFDnJ2Sk`GBJzm-iwd%Qfoa4<7c0?1Gbv@%&vJ)ctl!{J z&D2-CLiEdX($Ropdkmky54H43h~{Y4OdGaaU8ea!HD1mF*Q(68P1m`0EiJ2-_DIGH-+kNgQ3KU59t_TR?x9J(|H1wTe{p!;m|r;0ZV;gk+*ZJ|lk+^(I(}4-O9N369z9G-ahF z<_9mxO%Bn?Nkr_+LG;r2L7G#vhVe{zH30fAWU^Z!UwSieGB6M!G9CoDW)KbzD-KQn zsgMEHhCq5Volp zMUEeC=z3$zRwl)5YcV=|wGO7;AfIp3OPaynYJnik%8eJcZjC}RGgJgQ*lx-T;$<10 zyK-*YShAl0h(e7vhy%fkO-v#G~a1vnZmXJedsvSyH~hycgBq7J}NjnnSq~Y zkc_NgER`8)tCUOB)Nldkib8qt{|3@ZatA``5j*?|olvt+mU?4(?3~4N7xv@A=J4d| z%K#I>NTKPziJ@DB?mD<{+Xgda%yPV=^zWU^?5wP=6(g%xX+UxDX9<51Oa%C{*pk3A z;iJ{}^V%o9=rFr5+R{l*v}%-G{8&SNF2iuD0egq1iLCQp(1vmG6y*MP=a`aMN7U$; z@lbvOtevwnl+KT^`+_)Zz)kT}K&{221&*{H_5-Wh4wZL^KsWeE<;#L@)zK`QTtrLSb6vw*FZVww|oKQCN9b1qfkcx%!4mTnZQ9ZT2 z3(zaW>{(Z@Et!?^XC})2{>i?5TBB_jP1EFTd_o zFejo2wH4*-&umKX;5FP|IVbiq?V@39Cb8Km`lS^l3(O9YidmK%yytcZLUv-B;&?3L^!th8!@AT=Jhp%EJJl?!Fc7;ujppSdmXy4(73!oWCtQIP+1owA8WJ`l!= zL2%~sP%0Zp;4i7yXqzd0*7mZTKBD&ocXG1N?lIkcV(TZRM?*87*&$>@Y8hpVLiy2E zLLBdd*bu-BVG4>%N>DpkCvOC0 z)NT`@0b8MutF3#^OM&6mnZ!3<3GD0ZCW(%1uy4E_-r-A@qmdBgshHRb!V$RkeQpL% z!wM}yZFA$zl&5dIulR6ysvf^~CSH8HM6-`rq}VRpPE>}?QFWEYRq0nFYu`m_cZgh; z^$ksDqa5HwCjg7U%Vz+UmpeH}PY^aEjwqfbXA9ZG$*1_bWQ+fUhf@g7k1h|S0x zV-bgQGEecfKzn%Aj?mA(M*|uRy7N0d z+;n?k<{dj_>bzyLw)mlpkQ1H~-*E zJ>vjrL@@qHl2-3SCgf%JyLA8K1BYQA_^GgJ(fvKhtBzeKSp(K7&UbMCm*T+8;Q2ab zPVoa@6z@3P*Grj7HxEU4Joex@n-Pp_FYNGcLbLbzLKOSuT>JZKc6%d;Ha?~%7U1LR-eNo~IN;H?kC;UE2F)0^%; zrnnu!yFnB>30dob=9lqGLTT|W{>#XdPc;J)d)!D@BX;6ZIL5m)EzBw&q=qZw+8v`V z!xk_OM|96AI9x^WJQbfcn&580nsFbrt|z@a(<6R3uo0H-aU=wn+mQSIbbQ_025ggq zazeDd>rrS$sM!{0GWEGZ*62P9rmc+nDEB3*2X6KQ9PH4JRNFmfb`TlDVk%Q{geXR= z$@rm#7z_D%k`MMxYo0McG6FlW&F3K+#S)N>0ET@J-TM(5@m8X6rff*b6dH7D7w57| zQZL-Dp58+w=TR`tqQ9avE!dwA@JkkiMihG~BMI6|{?vL& z;?HITJ;pX2h~9H9Hc&9M-QP(XpS0DXV#Tr#z)JjS+Bq=%nVX62juAW6u-+fxSS2Ps zQW2DwB&LA2l_$)n(>~#XmDVop9b#Ib?XYeZY2j`gtN91}F_~^QEweue=<&-KmwQSE zJI#HYk!FH0Rp`&h)M*sj2a|e!pW+O6PxnA|`%iq*r z^^e)SFTO$@Zmk1*eobSB*ym;`1l(=(r}D@xti7hn73&%9!h?Cuu+;pn=wwpEHHFr# zp-!nYYp~ya3hhF#Zq`wuxOFh42Xwi}%f1EMp$645=6Z_eHn&@9<#$zj!3NvQ#Yd}) z)A!lFhbQS$+*;Yhd_wgLF4#2Z<{lx+(kNgO(s|3CNT>iIeQ_sd)9topeg_1+cadXq zPsw1Xxqma$(=Ilh*{q!O3|9@bc6h&#%kIVGNYFY5rkQG_YpS_!Ug?Nkk^W5lg8*K? zGR8QLD4E)?pZWrn8Y!0v96!^wuIdc!ku!=1IE{UWGbSp;K$U`z5HMPDe`-HNqRU3K#WYslL z2$v4UQ5KsdPva3}qmZ-Mkw|CEw(&G$+&JeevNxSvv`h@bpP()UG}{3guz>h>B>8_nIc-$Uw@(dEg15kV(qvL_Ml zq0@1*rFxeeDWe=Naik#A!Sx5KwPVBm|e&(mWdt0q*Va`c2aJ|>ZmD{F+!osq%dkZbxp&p^TXq5C`R<`B9f zQQuHZ;DEu+PP8vE)p!wN1S(nt50ZWGc%{P|Hknt^M74R7o$fnLoTS0c|IBmRW_)?Sa05qGNow;?#oA!gN$1<{D`tK zFAZv51O@OR72jiXiSV5uEQwO0)XYmC(xYU~2eW~(AtWk?tQ>37NM7WiAOX*{=GKug z4a`G-a@eR2!pxbUkqFxFD?9&(nMQ7O=`n?t*q}%Y2Ojo0%!N@RpuzUir7^-HnQr8! zlMA>woLx|y6=Er_o7YvdUe@CL=%f~@>O42ubPUX(AzNk`=4yR5(Z5U#wj0REYeywW z3}YMX;!MxARuB<$fHyl=$mmv2H=D>B${^iktrp$59N@$AoSptTXqpL`G5a2FWb8Hv~vxJ~YsM(eDf z>UjN@jaeEcUhM1BUJarb{kRnWV*>7M6 zgc99mwxSI)L=~T!g-gJSF;2A4*$y@)5Y;^Q7F>WLSasQMa7BzV%4fcU4KmC%liS>K z=n#_1CH3^nkv=_qR`}eK^RooHFS-9;gw_v7u4x+dSG)W#_y4~Ceg4zLm)iUg*Syb5 zjR;xKmQ&j3tGVDQZNbXQ#XYQE2=Z~r0Fl6;a-u6B*l3Cl4%5zM_Fs+*w{A9`{<3d{ z9X+fgT}|V_`!++wkFkV&FSe+7=9|Gu!!kJ?9 z0}oa`K~Kc8s}nJ2WyH=|mlQ&821-u|rHhUfiX-iuUA{yfufR^p($;xlXx!DXFYp2o zB0c3LsMWi=jCm<<7^f(qixz7RHOBf9<^ZPJfan6+bNr;wLz^;U!+^noZVpcm^cJ+I zQg6gweZlHyc(lS|bV*L|XMjKB<*FCXR6+g|Gf;k6%Bp-XEc9WJGbnES@ZXlQ1mNLh zFhadfJ`37W)wKW^FdLcgz#UN)K?uvM5lk74g^4qHaZ*gC;bYkUca*L5a}ns%bWsb} zf;P2*ae4Q^+!HjMeAJf#5mNhBG=gai(208s=)iUMXf=QkZm}`)_PNAI zHLV##40lNS`U8v2C_pe?58V}LSGMJ{hw+LM$_?~(8WbnOLx7n51D6GkFyt@)Lzx8% zC3+qxPE>B|Kb-@n#)^^Z-^O@Bbg$5|Xrrxyo%Npt}o84h8LZV*h%5+lXOeg-Ffwvh&A;`9|U%7zRYu3VCHXJj6m%caci z5E}=uEsu2T=QI&>?}Pt;2m}0&4&MK^}s@T|$Gc_PXj9{R|gC|t1tf0m2E~`xN#wTd#sPyEl($Wgz;^Gqe7I_YC zPVa`UhJ6GV#FnXD(lcazu170W-XrCK?%?;mT+()q@ur89(y}%$6E+&u&@W@S_c6U ze{_I4ejC?*ke>hQT_Cmgw*J6@d?OFRtoLi;@7;aiYu9+|6ThL1_0kOFAA4~Zh%X=Y zyC?Yl&bdtdc8a!ZsN=L%N}P|SO*>Q!eoxg#d|Qi&QCGU3*M5rMPw`@K*y#$k^5yAn z3Vr9fP3YE%Rv%lbytyuYs-YR+_cuPT^-gr!v;^~yFYc>$afv$o1O}sh`El1O-*qku zdV52wgRLrZsI8OU-X2!+;CIT6K}W|1!+_&&tUeXG2+YWkP&3&GXJzB7EVN2Y-Hm2LZbkl1E8gQmKuiA}_FP69FeO3JWGtis4~EA$iU+I2so=Y zz^FFTMu1Dk3>!77S1vEF8Z)?RSeZDkUSd_TFDAyqS;fV4c3nBWrjSVNmDdy!5{b+z zu~%XUK*Oj9u&}|X)UPiu7EUB`iUq52;3GatUNfr_wsLg(?+KGR`{1Hme6%Frtg(N2|4!@&vh zk81kd4lCd}vHy6W_Dv3-De+9#FvV4Q|N`pD8k>2cbJu z+c}Iz3jA}SDj&+(tiVBGYNc;!kwc}d_Z{&4en47B?<}W;uLn-=0x}=3!4H$^Y5lnz z8B#v093vmg1SJ7tu<$h-BH3C|tNDsV&bnsnfSqZ;EoNsz}W_+sxB73WkrN^9BE`pAqB)Bg-Cz~BYZ(= zPoP8;EXC-aeB=%qu4y<>M4d3v#I#fwz%?Tb=6xZ<_?24k4y4wl z22!iB$ZuBR7D1Z!E>j}g@na(0=zXLNB(mDGZ3BP-Mlev~!4oQ0R?uR1m!eGY#wTd# zsPyEl!rG!5QlUac2b}9>T1ssnBUPP5?4gflEFvGNTpbtnN%2(p2Jd`z_!4eVUJ>2t zPIH}GA#IM{mDRe2uo{qqkUl|`IL^&sxxv0Mwy0}}LG;#aqJmFTUNIi_v)CyN1s}gc z-h*4yJJWr!4{?FpDs8SCvm~xk)?faV_MlW;=~l6fvX@4p+DNz)!QL(Oh&={xuQrjs z9-+M!K!Zlc8p=Q83_Xw7h63>a@?BlaTW_508}}nK-|Jt!duxk)YmW0q3;GgYKB>DK zwR#6@PQwQuaf^+6eI>s5^anE;BmeGmT09POZNYS3p6}Xw7tPJZ+Z43Amu(&AymY#S zM!|2dv976~=mn;e%xwRw?!{tnxT=HqFTZzT(EFJC#cz9Pb+B*c^R3jHLv`Ty0lINq zgNa}}4K^3~;(ixj!!d5Ki!U#hcfq@t8>VlY+Up3NNUnDasCVNQqYB0n{>(ReJu$i& z2k?c)=obdBSLJdE29{h(E+vW4u}{YQrO{n!m789 z216J>L)ZN??tpESTiR>CNm5%iJjX(9l@{(;_YFh7KF^hD7j(`s&1tf5y`Xys$h|WX zOz+_fJ-P=l8ip$nkB^tl0IE7bbZ!SB_)vxJ{7m;62c`$mL3lBK2N_^FhZ;2b4~no} zHGH9e#9<)ds@ok9#v!bXy;HC-JP=@cZQHhO+cv&y+qP}nwr$(CZEOCW*`1xo$wSgr zc}_a$Iw$x+)Iyzi38un1R&f#S&)^;CYgp5!FdKaqk|KK!i6!E` z04|p%N?6_m;RPp_ie!F;234C6zzV_e5QAkw2pp3VlOR;*o?KLFKQ(!|K9Gs1qk8*% zjJg~#CWAm^0Nlj1UV(}@L?*O}8KRkB-bS%PAcTr1o~Ktpupg}EhE`e}2(Vj##W~xU z9u$~cXqX{>=b>QvvVq8Tp1Uqlgt9*#9}BlV@?bv)td`VWMTq?TeNe5sbvXX_bV>s6U8; z(;m_ST&HJvy=pe!gx3Ai*W55VJPugt(y~~kfizJG-@1{}--AFVYXxc!a2eLZlX6fL z79s+iyliERt&B8!JC}U$wGsjZ09V~Z(-4LLcpFVu0TCp5pAfT}@L-#S!LzNB!<42# z&Z!n%TN4b0;74PD8f^}xec6qzDF60^+<}GalYs9Vc0%i~KNtS`L0QhTj}u3W0l1HK zZ$GS(|GK}Nl8@$GGz%o_U$Y^?C9pjiA3lTQ7UNsvx}3kPbEuOF94R*}h<3OS@;(SH zAVGgWCtwK6BZS&joDA^Wig35(zwA@ILZcoi*a8(7kY}Vs8{&`ZnfvjeT798E*8WWR_uSm;7WV^{@%ZUKC<5Y_iOKec?!~FbO?EUPGr7PYY1f}!$+mM z(<(7`UnqW&Zk<{M%I6B?MpSjbDrWb2YdaRw3Z%80dHv=_RXXB=djM7bn@m-P6e?8W zjQ^cHe8Q7jKUu?eU1iCC8Zf54-fDbj3fgp+B>ZT=o_2kz^qkIZsvMjc1(qCO1dK2& zZ}W9=SZoLU6*3z))nxSwK!MGqM`T67oo+oRvnX#vKKQ^q&6QYL`}5%g?}!(#2Bt4Y z5QOJ$!j3Gp?sHAnTVg|w)g|oI+;FX0X#LvSx9+P`Ivn*NIK&IzH24{*z&b|+?4Ob! z&W?6_|F%|*q1}MLLgp1(o}os~>t9z5b`DcbJroGyHRIZH(pUW~i?*od zSt2WFIJ#dy$SOSD334-j`C9bg^??T(zoVgSQ)i^@{k6&Q0emg{@dm(5Cu=!W{YlzG z1RFkTg$eJ^>DV~G?bKxnyoD464kUBVd;CSZNsgLSc;1lxpWC-RNJEanG97v?%UgAV zS40*>J|^wwJzSKpFvY*!QCdbRPpbG+zvLVaqsXL>_7&Sl_Ff|WuOV35H%KQ!po_$^ z+#W*?zr{?Wn7@>^3SDKHI4N8)X*ZWiul5IRzOj&K(xlL5CM22jGdZPf15Yx$8yak8 z#_QECapK!w8(fz8HpO-inr+rwwy!x^UXL3lG6EW8%XRWGIbr0u(2I;Z$TT?hRW#7A zHXB)H_Vbr15@3R>thA>xH$-}t+jFn5QJ{Pv@L=c?#U^Di zabw04i|6Z>B=#euT{8%!3yzX!K?0zshgcM+#_c4r@0 zlS2;SJK|f&JAap6mb|0TBi75!Yhj%N+L+fMzUj>NSv7-LlAHjbhrJjbv<>3up3QV* zH{QAdzP_`!KR(8F+SM9{cl_L}eRxK`1^gbOPP|&#RV3HN)CY5&H|e?^(oQB#?sXa3 zB1f4*@B^1iAzd#`wcIMRHe1TR?N5D?-fPt`7xtPg?v*Ajy-E5JwZeb1P;NW647R^l zrwJ?E;4q}cr-#&fzk3qV|6X#1xmU{eD$(~QVRd!g)MaNzz~6;_?*AR)%0m2qgHqUYavgJ}L-%gH-Hv=ma(nB)jw`X0T#|I9a2iy|0#0?tslBqZ zYzNOuJtu^kE|~?^;%8AF+>Zm!p_faja~qV!jE@?nvlW+AI4=^I8=fa0?ib_iDp!Pw zTjtq!G6tp>!KFT)f90EDlSx2ArosyT53fzk^W8g&V~`;bsQ@UZIOyNx9un^_C%%jz zEh`!bYmVYK-ie&a%$1pqg$1NsTtAo!DMw7`qLQz0i zS`HtAnTt(1%t%7bhcr3d?l0*C0}<;>QHJMUrK9@GCC4^Z+V}^vN){fx22h`4>|_%d z92b10pDJ-1Wb2j%WPkJG+V!6YBsRw3`nI6mm!zRPw;jlGpY<~4Rsa_&=Yp+?m1XI2 zDeWhjG(jR=7`{z#XYB}lmqa>E$s#gXM~iAhT57qZWDN=RVnl~dv9ENpq_U=%sbb0G z@#=}oujwae?WJpc&V%TaKEe1}U`V`MPwyLk{F}RMOh=n*_qNc<0qWmtdY)~Odr!Y) z?`3809mDwp`X2E0Q%5ZDGb4sIIP%>ZMjLbkPBnWSarp7V|GSYd@S_EJ-1V;1aXz-`{lD(rh%x=`R{JMYxPW~b?@$-XXDZiJD{CX; zR*nSblJhzK7NHibp&R?W4RPopk`Fg#FgJH3kD*q3Fl5Ni;a>wn>-CaGQgww>($y@yD5Vj#usz z{)oAW1D?5KbKNo2zEQTKoY`B!R?nQ?dWzyc_PeP7{w(dZ8{&Fvl$TfPlr=P;ZB{nMNal7{Aef?R@1<3w;(@VSS|&4DFN11=3s zu9P)$c5@|M?#W+TC{Z69p1K{Q3ohGFirY!gQAf|AbJz9l(M1OqP)+I94=Iz5KyU0m zcZPffN^($1*z)+#ZP}fEUlL4Ugxt$;ari1afn45&EJ!ckE#kxZCNY5ie;$Z-E zDvpn80uqfZlSogk)Bg2B*B|^PeIy2 zxbyHnxfmv}w$Hd=0CjHD&9tfF0s}9RPU6nYEX%4z1xt^AaT&p8#0=bn^)HmEE#+nB zp5vS;sROyGpn4mU+G~n39+D`OX7qwn1uf_>h-|5;(&N>6|Dvel*uuXoi5#U|L34g| zv`yME%|Lj9aspNwGvfhVp1zU_6TN(JH2waXPqMr+(d~$*uH66lM*))X$;&a1K*M8v ztJhsjk(Y8P*is6ULH8NI4qdGF`nq2{ii8QSwHEzs7ba`bTKHst zq`J&OSy{^HzgUOpC{qT%x^P7BQECm|3ccoWhBv{`!Dw&iijA<JVG-ie4}WIZnOw*t&7T`v zs>HEFC-k7<`%;i5O`0s}V+aPBOa@wpEGZ%a@(yAN1`mRatn|Oe1W&=cW4#D4R%Ri! zq^mH&S?ZrwYGHsW9UFnkI7|>4*nyYK!~?aNw~ z#$!4;4CNUzm(V z7tKT*{D@86R02~;HFr@S0lKV_qy@-f9+*g44#xUcY#LH6v5G`YDWEBfK_Eo$pN|M* za$QOk9dRxYqF_ZGAarqhxJ*nT+h*I;wK{durO)ngH~4m2@&7-`Y&stDE|hF|wG+2W z*eH@urnYaY!F|NA06T+~*%gq^yE0{#Tji`@jeO_sndx<3xyjb#t$6djP5;)TM+P0> zYXsDR*M-`KSuK7J*lrqtF!Eg{bx+yOr&!Q7dW=U;J}C4JZ0U9qX^O7%;)?Nlcip^i z^Gr#gnj5@ts1L=9vyQCw!IB3#;aRK{*D)kxua3X#0aYpyGYVF&d_i3Ct zEq?(vQ~NsOc*Tb8nRxb?>^?XwA0qa8Z|r55zg*{v`|rV=zii07Hnm_}Pch%Sp=cU6UE;cxQSfapssu!FKme;V_I+fbC+0W;NvM@FT^eLm3ra zp&?}NZ-%fcfwP-ygYLko_{4)2ol4{=6el+yuTb1^&h0w|(u!9kW-RTy00NOfG$Mj7 zX5j#qN&RSJffXGM`B;L+3Q+lws zK#9V_QH)v`LSnbM>-P{tBfO0zTq%g+ESB$&f`i7vSOiM$+{FDL@*_ovFR_5qm$cGI zz9jMf{|Y4lk=fEAClZYyb@e|^f(sEMNa%ezU>xJn2kFLPI`(M+L@7b{O-9e@BJcZlf3@;;6re1S;xGo)d98sdC>;r zV(q#9vMYMtb9^|a0LIa3{)5xk90WiBwU?=z*3_GW!tWW9oxZW`DF`X}VKGo>*0zBC z6k@+8HBMC06aWPEce&E+Dy+I)*{`f=oQt7~qOvNTY&?;(_TnWY*9sS8dRvfCDBe>4 z3m4PLYz*TCMz3Q}(-%Xbl$0bT$&%DDNFXU zWp(xRPwP!(?y&2&)(aepb4h_yVK9T5m!ubmU5(v``VRI*jWYxzvk{#5HZI+4|8PcY zRfM4T+wL{FyFU(n3o6R1+5O7V-Q`BIpfv|M9JIBVA~E2Q zy|*LDt2re}zJnB@P9ro)8+vKzwUw3FN-JsM&h9F^on^EyCDS0HdgAepJWbzX9I@9RxML1O)0ULSkKB9kMgf zE7J+gUqoa}X1a_gCwGoYAB7nZNt>fQG&m$&(iA)kr29Y!6J!+jAOYF8IPjP;0x9jL z+!^#{w*n9Vz#jkvL;!%f6EMht}=oPUyPw01=@fBj35FCAb`Lh z2v8q}$e+mUJP{}p8$uT^9f*9^-%bm>d$FDe32uuxEv;#V=Y;HJs8 zzFxsM78m08;PivE$xq42Z;%xTe6ZF*zJ5@HKdX$SI^7ZarIBitgH3&D;C; zM{(31+_|4#JY^K2b1=NoWYF z9MOS+DT6@5DXvTU?JdPH*UNA0C`wz?GhyN)hAWQZal4pBV8cK>gl92BM2BlID}r#+ z%bbEmd}$!TH-^JyTEiya5NxeQA#t6ELyip= zv>31}Xp_W2*>Ni@dy!O)eYx;U(^jh=xXIQL*JCQYWG#4PyghU&0!~;Y)maLL&L61a zNIxq&-s1BH-{T`1kgYBa1!?_bO{I8dxF||XX z`q%ZMm)8yy%tLDsNn#EW_Rvm0os^ zwj5K^G5u#AXw^B!ox9i@?%d*lM6?wvxue;T2X(dHcI?u%SVX#c_B3-HVgY&wD!;26 zQJa4*kICf%u`{FUqYx}3;d(WvP2y>#jLK-nL~n;rAe0UtE22C)fiUSK9%qZzCI*DO zjicgo01=IZp8VKOer&}+ACxeV(S5jGx{vK{Sq2ZmIix=9_Y0lr5d#>)i9pLTBTL^* zQ9Y)SP?v5Xh;HTsD#t02`Gf^q9fcUdmd5H2onJD)5wQOGvHzP5^!-O!JFg^ zpC;)b*fSX;`&#QVOJLrmT%Y0WH-1MfzySk1&`wj6Ya&OA4X7BwP25l?l?b_!DqKN&1ZGrUCLbFZOqAX%uQ0HH&*)Qbyv&@a z-)pqr%ub7={o+Tk^`A;O_nH_BV<)rz;gPe6`QhF3p?PH-uY{Tqv<0(#$h#;}h+X#} zGCoU)FV9!#0i0o=3AJkT!xAik%B5ckOIM*^4I18iiFDJ<7d&YeJ9HBA4)wwI~ zc@TnWVa%-G9sYY-WqR6hJH`chay8kVOcKR*#(oylejbTBJzNO?tQuEJY6}UjygY^N zqeg!^^ZuQ&I_xV`QTsi3AUlQKxnlVw4?v8cqqeV9e5dU6Q0 zk7yBMS2s27o#5aKYs+u|olCn%9 zUUrg=$*cJZuz1x*`xK~DHYdt%{D&LP`9tWp1HSFN*U4@E<_%`zlS{1%1+bb`&Q5t; zIlc5<+c?f}r~bFxZpu1!Lc2p}eq}gjd(qaxdm={0R$Z#d4GhfO{-Br5 z#d2yZmzuc8N>HB>D8dF#m zD(~C3{=w(-aX!m@MmyM3Q&orS9 zz!U3d8sOrRo+v{427s%lpacHKbmhGYaH>!W@GoGZyz#Tn!XFqm8;!+WET9|7;?9~{ z)AUF1It02gN|~vD!0x;JsYTttOpg}7@s8Zhb<T>J4s5^-iJ9a+ir40^j$fimi6NLUBN)DYh5NokH2&K z(+bK@6pwP;l#hXZrq1M{c?(~b;Lv@m85%#70O3$c5ZWv?tu=HAmmMM9`t=PRM+TE? zL0n5WqL6#J24Qb2Bk++Fh>;@J!N}w_f_Mu^1NLM&qfRqE^O@Cgf-h$D+4+87vy_8u z$NX@Fa@RO>d3Lp@UD|*?!2+X()*Wu~j&BRlqKpe38;06K`f!yy2E5?IBtecuMqH0T zqT_tR1c*+2ZsI6rvs-U5j5BN4_kTCE5D!jxHesi;OWM&W;s;bc1Bn%(to;FBFWWqV z&*s;FAN5+}h3!FlxIa>J2*4%ooAY^R!3gBQXwN-#nh2(DI5u!Ib509_vLnyfGCDs1V<;6l=0eN4M*r&dPG#~~g~^dmlUSO0E*8&8uz*Ub)28AWrtsDeFZs)Ov*RbyXsyz?YU3+&xopdzZ?2kKVG-+g9 z25XJBK4)xjzT)fW1I9{s=-*QGiQRZwf;&^Qmum5Rap2@p-pg>=>7F90tZSSvA}6!4 z@`tXB$pb>!m|vrQKRd&7RWN!fvjj2NhVB;{lfvT8l)kVVy>auxdX08o*D$;SylQGq()qtmnZFEBN zb?zY!+5wi!Pt$4f6ce$2r2ru9t+j^x#?%AlgHh$~1a(LreY1&6+mbruAxJe_uj`J0 z@`7mEs%;nLA%J*dKNYT81mg?+K*V%4(?`MOoC=mSpdhQU8-MJ!3(I^f^~mQL+`&9E zDe1^{FsCsna)}V3!j#My=Q{$%CWPYC8xsU`G;@=M^U2JtW)BK2bjN2qxFSwv$Q|N} z%mpF}(4jtK*8Y{yJr%^%P{fGC4gzvs7y0;;V>y|bDzTb0I);KS=$jXpNI{1!VO|=N zL|z?mAngtF_w!2)d=}{8#>+6qseme=-`JiFh?$o^vGm0VN6bY`3>1&nEQ|7Bf4vW- zcS!C;5D$epaWrKu#7NlgAHY!&TkP+SYevuYOMnVaW_CTNgmr1dGuVWkg;?h#|Ki~(lc2FInC>eD||xUa*hf>Jp~#Uh?V zH1r?Q2!jcScO(@-ej4!<;$fJ!NX(vj8p9NX{eMn7K12zK9rpkPH9h>y|>~4%^wY+~>xd#Ov6z zOjuCh;Rl}_p6~yM>eq4&?lWa0$oyOBGQ0wJi;#BsHe$lAT+1oichn22rDMaC5l3W` z?X@;%ubD1T_w4{r$G5?UC32ZTF5ua+;W<0zc2CQq`Jg_vNRE9JxcN4I+BlEQ_bH>c zuq&U)6~y|d!W-6Ja>_X>d#+3Thcz99hCkRksn;D!4K)6k80{t**Xm&aW)D0M_4 zVmmy|1+u|Tu^#T;#sog}`II3m8~a1b3@}NyhVUUCLbE`k-;}bs&I3Cb69h)tx=qig zMe{Uk!r@{7(NYuS6>&mI>3_0%qTC~gqa%0agWxGc9z3svL-b6FcFj7iLi95zNMgH_ z%1Gun>pn%|mcd-cg>3xKmPQSOBbmPASYULi%73$G0Q3M2}57@-Foh>!fgYRN8{ey;Xx-;fsMB!2~vMj+NAx$UAK4!k4I`xt)dZ*ZPuZlG6}v> zYvl4bLYbr6x|`*83io=jvl-1%8#MNf&bAr(ifZ3$o4#O+w=Iw3S&EQ=15u@`v;b4c&I}SVzXa-sjb2OXYiTbj9CpRg-5*oV!wpqhBv)vXdGUp6 z2W4vjE!K(tveJ zT-G>gN`|Ud!c;!gT^TM^hOfzM>_gD*X#2><&n)zQ=q99fj{20EdfRjqy;Vr>h4US7 zSfz;@qKJyyCX4j=+*}TSy1cQ8^Bi!jiEYF{k$}&SA(jnBiZqpPEB045SXl$`DqgX1 zOP17PBNf7(8Gp7Fz_*W(wt5=x19_bBQ2FHrk#k-rWsiv`{C!$A6tg_x4641vLO#*b}<{t676qkJ@se^yPjCfD7ab*?x6b%qz-Y5?1#qtJoJNA1u(g|hYtYsKC zV8~t5{(IAjOQNDw8%UJ?6I40+7slcbM##MnUOPHAr;W|BFfYEpXG)veHWp!5P{NKuhEckR_y*7F8H8hq zLc?E} zJV6g`LL_|RnLISc52r<54PzgA=CZvVHWN`11QwTpwa;SOrXk!|(K&dIVau~bZ&D)% zyyku}lLlO$O6c23N&}u4@!P0QU0WB$$$sj{jN`HR7YlER}hPOgCmNm)7bt8Kc4mr9gaauPGAm&}W9Oxj13|HzxW^L`m|gMq;Sg z7uZB3;fY_{!OoZiZ2bq9o}qg8ntgCC3t-sV5l?5CaVgjRZynu}!2 z>(xb*|K;42`|1`ihyUGQ)>LHz=F@c3xvSVJs~%P`jfH`F33w-Rtr?7K+(lY)Uo;bs zQ;I(Cc^77Rq<@Rfhrag+;;)?eRZ8Sq7!Dz!fC%lLTIKk~q9IYK(BUaMu2N`zTFp);JquLJIDYY|^-Vk$Y{ty2ICp(r~tW*#K!eVD4ej5+9=ng?{Fk}&{O z<~=DcC=6QP7a@M~kzGi7z@|h?XR}b61dmtnA+M(>VoIc0W&?DE6M-o`4+TEGq)58G z$Vv%v%Tbbv?r0?oc}UXE&JdxAJx5J!aYBfKXRDDJ3aZB2TU3Ui^TF{c=gxp+?FPHYc>}kkho_y)Jt?~OC zRy0PEQEjv&$fSpAv>GLtf;>gJZ(*#b1dPiQUJPH<8Xf!i>+XRPwpyGOuMjfDN+{Ki zjIdxEmFIM6$vv!Pl7J3?sQ!(dGV&^#o)x27hVfDqfVOQ(#DPz}o93I7E>@?3QOZG|xB;E@6 zA|8>27=AK6OJ&X|&TQPPZz3P|TmLW2`=#@J-yO_C3$gT9f?ITmZJ4Uvn>)e-x8%(F zkZDy^=U4g7I68ytr_>_ENIp*4OZytnmP;L86*TP-$;QKn<=pKW<+s3Qc1?s^Fd-># zd#`E&wg=oK&xR63e!+%=kFfkTjzJy>9XPa7X?qET?ynrVC*I7lP>@Y!O_5yX4z=nE z+UR)uT=JEEe53|FrH;+@!bCne)D5YWf6T-5S2zFr5Ae4-`OGgbBvL_#U=}__tX@JH zTf*+1ix{x7o1oo(1p5o@SyMn(Ui`?Wvv8$Geo|;FY@1G#6^weP8FWSMQfv2*KpcD@ zIzwEmes3-d@`iE`Jo2Wc-6^BA`|NvmL7D3BD<2UvP2En~DtXdUiRYQ=Q*LbT73wP2 zc#_FZ@&@4#aufUtDQ$42j~GXOm*0__lbR~_``StekKttSR;O+rZ!zx}r~RN=5eM+& zY>3?)HnPuu?YTRB@BNhCLPU9eZ(x3Q@>c7q^nXpP#jE>5J2zJBP)Rr1TxH(h+ps1mBZ)9~5J#QQHEgRfiN?_NeEZSj?^V z@Z6$ValGDF*#5{C*3RD7o4R6|285h?;9Y956>7Djxi z-hha=jDjkpQl&gnNR?8xL<=)A+Z>xk-}GSZ_2E}y7gsx7i-t9 zXI$Si8g|qwa_3${K@HsVDNFdM1uhNTfyp4Y!8fP4ZT7#VBZh%atSpVsqU4hZB<@IO zHV=LO2>@(reF{#{c;j!q<}Q*E2_$?wcOiL|8@}}xVm*buwFb8UXrwPvFRg^z4?4|k zW~zn&M9czt#-vGChx0%JYO`6-Q=H8)92$zOr0&O^-K02IBk1SEN%>4O!hp#?S)N|h zko{(CrBuC857-P7uCxJ&?~1@Xbm0B2eQ^Ud<(~Beu;Nj%gGGw^n?q*AF~7j<8$sr+ z&iFxOc)J#&0a*J2e0J9wJXlLb0Z(l)Gu@0F-0j<+9aP)$Xx&Ke=YJBtHphO z?IDam^Q<529VTG<1Lk)l9Ak&Yzk2W2o9#Pjx_;c=S-O093jH1yH$Eo}uTXz}fg1e~IU4t%!q=~<`K!;}$EwuDC-OL^8Md6E2@$0o+p@5C z>2~j3@i@A5BiK>zbn@56exz`06^Ep0LrSErqDT6&rucjM;om%A?CyAy zyH0IsTugp_k2j_j7Ad|*p0m)O`$JD{T2_qfeqBpG7|*WxLSvh!1SZ?eR4IH^zUS4| z4#>9t-qLzzX$QhxZ%o6qZ>iNd-E_QcyS!Ypxm%gPB7;CNcG?BD0~SUSjKG}X-2L3| zS9(Y`G6lD%TQKny(|!FHKk5ue>ArQ@OQF;Wby;Q(yDl|Vma*QN{P#@WMFt;3I1*qu zqX{=_*v#_K*%940{4;pT#0KJ~$$LTe{Js9o`DfK#u0&q9KKxmR2q&L=_fR#yTP!BX z(5fHN;i_4T$Vx}f*6*p{!~sc|K5_u6Jp;1JnVl@~wP(`EXTvt1 zFo(om6*4G1CE9*8k+XB(!Um;vu^{kY$8r?-G!TO zfoKNs=b8h+$)s9@BB!P;h43XyN*e@cY@(ErMNp*i*$*qWbM}q@{W*7XyBDv2Pz^Q4 z1!cNkzBZ4yZG$5o)9FBOTdqGyEIRd9@rPTt&WV|U(qg7>2iQ^Q$8gGfoV^+agGGC@00wrW>9t7>3oWOR7-u^r0eSh&#A&lH#=cYBZ)0Nu*2& zAZ_Ap+4;{H_;EraxnvXoF++Z65nG9pM!!*7Iujm2juL0ZTpLbNROIy-;?+94X>!i(yr>5fp!ZA=E%~;z=SVWvQz`*=q4e4dY|bL zZ{u{>4hYboCS@6$b>H%V`-RCwn~Unfm367dzmSDC!C1RLh2ZRy;_KVKo^3STo zFU4$vIk@0C1}c2fMYI#<->Z_kM=0MkDf3WOfNcu-XP4*B`{!C}^{A1utSduNG`1)_ zfc7akn~f=`-@ugYHisJ8*MPwkYC29AWN)e@A%fua;7Muz!HfD15nLic2`5uwMo|oc zi!awyTQJ=ikt?)YTC55Z(FP_OB#j0{@&!q4#g?W@jS`@+Yp{$*ED=+NEP4nZ#qIn4 z3zWhLyX<3(?Cpr|OdDmEQhZ~HTZ{WljafNNO z(p^T4ugk#K=34g^#aG995r~hKZ3e7v%utw$kE=Y$uY;phLsdHGX=_E#&MZKNgXw8& z>3xsVRt+x1D}@&Rci!+p1?W%sX`=7aEr;+x{JJ^3ilP{iVYZLk&xTI!z1S`(aN#!( z=rP}eS8$r+75oPdcLS}DwS{o2yX6K)x-L2#JOzL>L@djAyvTJS95#s)sg zM%r@qTZvb3hMdZffCVM*7B4l9Y_lv*838$lJCJ!n6uW5%J$oaf?ZzZ!49jr~md7_< zXs>t=r?iYRH61}lg|{HYP>5seMa&o*2uGSRi5+Gv-lGsQu#^AMj#R+5(fQFyF$Jp1 zH3#b`cFdrak7BmXL3x{;4ZwaB`2CoKL%6E4=I)rOI`Y8+&OxIQFQL83@ zV1z#KWbA8bERc()@=Fw2CJ&Jbc*kP=tz$z@d8ect)p00NOoldKR=6s&gy)|rA1x%m zg}zK62V6g`wWI>=9BW|{0hootQG%Yi*y~PcKD&OK5mvoG78`Z1{q&NEtb|E%%dp4w zyt-dHE(-``vK)MRg&17X^nf&a_JgS?YBm7|7=5wB+z3?C*^s8-V`j`s!hUL*TzyfEYhh;i>{)k{9$vONDhz2j^a^a=pdG97!R zDvG%hMGS`b(7;OTu>yF$oJ$V)d)(1GT~`&_KaMDbX; z;9LCHD0~3%L|U2nZCN{H;d0|gR7DF}KB2QR#a!|l9TBp`bC5ZOg*fD9t&_(l;YbMJ zbZ4Ew4Te+*-EF!Q8GwZ}eomJ&7%?#W=LPVRfU)B(9zP0HRsZyvM`Fn0&EeX{jE-z2 zv_8+!tx{;75J(X&Fh@% z;yR!yyp4nGEjjN4<&k{jcsWB`UMzv&i63HWX}DlmDarfE`;>v`E=roQn23dVI0TT< z4|WxUa407Bwv1OwdQR(!f~JY5;JYYhJyf&lHSE>BYRqO9i4ulbL92bcqYTkLav!i{ z*8bh?!iIgNNusAR?!V{_^}*M3utxobHkUvtjo!-bUlzh9o#rmaow7V8qw6V*jNT79 zRcY2*SI}6YbK9f-$hq}o91E#hXqvE%Bhx~Zi5=q%6N46Q__Vgy1nqxvBzmOC5`*bG z%^3g^sql3=zEH~Xj^CVyA9h??wE1_kUsjCo)pHZ$yu_b?i9m83nfFDBVE%!%+4p8h z0>CHe|Gc|CVBHt$8*lwhTMYz?L(tt<<|Q5S%pNA!SxB|v0qk&L7*ysO0i8ty)u4gz z37wi9dRr=`$^8i{)NK z;3xH00a&nHklz3rH!v_FwTST@kQp&?Hov^Eewhgl85X%C(ha%k0cj%ZDK^eT6RjSP zkmQg!?_k#D2jAflq~Javwq8(uihVeS7XH(f0ow+Qnk%p$d;Dkm1zPMqB+>fl`yX_D zQ*b3*5ax|-+qP}nwylYMW81c!iETR*PHfwmB>OKO_F=c`R99C&ojNb4yZS@koS-?p zp^d&%j2z$B$ESg}pfNcM+nFe<1a$b!EsaWYc3gIuXFWf!4ri^IbmwJ@SwI3zvds>+ zeF~Og_8JqxIqqCagR>i7LoVHEER<7Fgq!HIxyHl{h# zsIxuo7}209qTZz(j&8h0=BOUr%5U`DL7jB$q|b{rA;X;~`K?7Ly1cNV7IyI&P=|#_ zj}VvK5eKKj`($f>4p;&F1Joy&X({pitUX%w@t%-(t0?jFe|JmemG4Y9xniPfto*b; zdU)j6ChRb$Aig};8TDAdC{{~#JzRma<>lr&HQdft9KH8T@7%O#q7tGc`G|`aFEw(Y z5}AZLXME&bZk=hOn5+D>IegyqfqXElvC zZ!@wKix>RxE>(~_I_oVtG(ive59l{j(HfneLQAO3ERBqkQnI3rKMkpO{v=1L_P4Ei zQ-dn`>_e5h;N{!m-?YcBh~BGpNj!rGkpa_9U)p>EWs&NyEv{3e?XiRKFT0j~YYzO+ zEeQ?{t5V;iGPWO|+syM1YAu*Qy3c2DB{pp5{rNr#xE@LQq4D?MzEfr=Fl0(Y`qz3E zefL@`oYE)%qNu*;`Gg{}=1?zItK@H)mhaWTxYSOKG%Eh3IC2FVY0(+|yw|vDgLm&N z%|%I{ct)rzqGOT_*6-@B;Vy6AnEw6Vc>m_CJhyuFADesg_fP$1tR@p}tv%F21W$#` zjMo=)GiC$fuE{`(V6p*8(pCvpH1R*8kYdL|QnZg-yf=ZFTSY{`67bxfYJx&$6&)%^ zN0aLL<9sk&eQ!#8I{A6Xq(Tx>?4VwFkfn@9YOQ`0;@M&s5jhr1fTW@M>@)FikA{Uj zW;TnOta>J0$=+$}#xBpY6}f^p+s5FOA3v&M89q0gza1pupMEG}H|D(&Wp+tDtRd}n z)%_`O>OM-;W@2Lj=LKL8^txhj$$$J1Xm|&3aDZ^ArFBd@+NSewiB6^o(D>^n~bUkAJ;4qk3t(9}(B!6`6qG;5jY< z5YC1M!_-=*?@^cbX{)fv-X8RthDn2iA@~W>q=^QK|2DI*{Yf1*12th;-Ai12=o)kZ zPECM@YhZ{EHjKq#bM8$JL|#S9X0q^!r-wSy*H&W24#cxU`!rC~{E7wuSZPcSi-nT~ z_C_u2B0%Fq9V(b19O%t=)wRU*wRCy~$=wUxyYh7Z`#Csg4@ zS&+xbLy<*efyiReBr}NfjYX{csevrj0+A((%=CXT`P$^NE-Uj!zCyNP^>~x#qEt( z0!n+N4k}?S4^Ez94H4o;`bTw|O#D|p$^<1e^lAwTa0|c2Elivf3}{S*38xz+i5x>L z`kT0M+P-HIdFsU{I6TMbdX+nkTSxTihSvr3@&^P@*LpWO{i}lZtKlE=V1bG$*` zIvLur^4E>1upE1KpDhlAwL7tJb3MsJwM@Zcx~1=ibB2KH3y=$=gW#_P4d$i}BAxk# zFv3F>qW@Syi}SS0;Qo$j*Y$*-f)mL=ZhHcO2}90gWM3((b?ofweQs%UYnk>9{?|;d z|A&f5RFqbF=P1iG02B3=oBd*eH(Sr5amZ0$dIa0lDppRC2`wTiXudxIqu}~7Wq0b9 zhv?cjCY7?&8)-e#1ZQEAi+vQ#wGFY%6tEd&5b}6nIZqJ;K54;KHfP*BY1B%53W(INZ zIGtr05+4pl;xlcTn3|q{$oR z1(D|=>`k7SsvH}`I(Y}RN0P45E)MHJAou#7uN{6zB4l(B0)93F)514}* zS@~`Tsq0`I1t=qfk)uMEZgC(JcTO`WR_}x98+8QSI0@h{OyL_?54<#IyLgs*tIYj+ zSyIxEuE=)6@(J+riWpR1-Kt3X^75W{lb&l@E6qVPO%f_B#%_V)VS~~43ARyggmS`nSxl|lhNL*B!)F(E=m&7G9t2JO z<^qd@B*_|$hT&r&|JDN?wJ#b_UMI2s=bpk`Kb#pMGW<{5z~)&)-~FhJr#^Sl5*Z!r z4ynRB5K5=tCrhU`=LB7ZHkAOYhDPOjNcBlK4$xu|1V)7N0bdiCho(C9Xt&~LVX_rw zX7*$&Gv9Q!cALkAbIN`~O&DPdi_QuAgaoHq_t3;?qbtL+;f%o-3Lhr##pMZ3Yn{!4 zZZK}0tQkprcavHJs;XpyddxcB5>IV6r+T&Yu504#Y?6z>CW}8`j!YkAMW9;*E#&C+ zq*ov6egj$wduw7s3qf&DFLd}Y2$pw;ZZY$DK_+i}?9de3`HVR75`-JJvG1wKV#Ixo zwLV*%PnZ?g?Ixxjy^)-q4mYyIQi4OV{Aa!1$_l|I(uC~Lc56<(h=?c8B)oZu-t{In z*5tMvX?ROvR!fegKi|U-6VyEq7YfO()wGzO(6fId8xpbPvTQX#hKfYD`|QA^RaHQ- zvg$#t7Q=00g^bgHkDC{|kcwjXy0Q!{Brz>DaB)v1^bTkNL3$k^kRKf+tRPI3Z4wOP8QhcEa*W0y1S(c;h8!hC6 zF5L{XlZ$s88;TQDdK-fXY||D(fYH5^5oG`4QSG)0bo@;*rU2EUJOlnNbgx!vbT$0d%dC>-~s z>=VKR0*pD1i!PKst?G_J9s5)FJK!(?wefG2_>w$Ck8C)6Lnx5smKcU5jn$p`*0gtS ziu_bc9!>PjtrH&Sb!f~yI#=~q zJ>@x$l{4H!I4Dc;K8=Nuw=t`f)5O77x6N$~XOAmN&&R-v5<%@-rm+5m|s?#S+(Ull@rocyP%745OF~@eE zX_OddK*(NvokFXi&IJ9&BT5KbYI|1>QuD6-!ZTCoIKAhXmtl=UyhC0aZB zd_@*d8D9B3+nk8Y=$B!vVrP}X{K)Hr8d+(WxNo*vrVK{rDHU<5rl8*e z9uS4FXE2Jp>Gy~!sSHUU35zVU`>hwKgLLq7*8o;kZ7>LAHvp=uuY=SnRv~OsDioQ2 zuad@FERumdewmHX&EZ?R5H`ad*f^S8^pV*a^xf!%7Y%{{d>P+TMmsWJv;>Cx(P znF{hiogK{&0uz<*6tj2W;t#!n1Rf~bqx|4}k_IYU;4_o^K=D*K5S11__!qHK z8=?kK$SbV;B@pvqfUO2OhA8vaCP=?dP1vsEy(tHBItB^#A-3japMGo~FMy9sOiiBy zybbq$kugrT#Ta+gAOxlw{>(xR7l=D6QK7vf-7Wl66hgneeL>j#fK- zC*;jIABJep-(Jz>VFV%Z+NP;$4L^4xdz2shEB+pH*T_@8hS^yQ7ZjC*9Ie&RvZ%ku zUg@YS1fKng-B|QNTs3%-!QLx&-#x+;*ha8ML0qsrFTLOF4G82L?Fv`D!StUWQT>X2 z($Y+OluR3*5UB88a1w!G#9#jbgdL1TkBB<>FhhJ3gG`{z!A;0A>EF@%?h)DnOq2?d zt^;=a{NAE|PEwoZ1Da+J#7HnPc+LT4)rmM8WY0IgSGyL)B)84W?j~OMz$KuCZI#m9a-&5pP zw!HGXc-^!tn`lO5_+SWpeaB(myGijj!w@3^I|__y)o2lFdlMexIL+LO9fB_ORVyDY z-?bbu+j)GL@n4_grUE5GzOARLweIr;rd~1X43(1DqrZCEub1PxU`CE%&14hod0q4< za~U8FlYkk77LsMqWa{|tiY~w6CBfYs1#R0p?4QJJ1HB$`eC7cqbD1!Yn2w7WgyU26 zlUwSvaKH6xn5~%=BMWuY5!Ez+F5X8O`9sBKY%?QPA-2Bu?v74QmZG{NCdc__u@}L) z^w)O}FK-{e{*3_$hjYVBz|{7}=%F}S9|b$zBaoqvXF3FJ-VjZ$us2QGXIhS@)UTae zYkK5Ec#R%A$kw`xSS~|M+A*}sG!fV~abfqxIu7kWy<8w?{lYx_#=2+=lM1p}M*J_0 zem>Uvzn=qlU;P8SLH<|X5cu_f$^}M0i^P>Qf1*y`T*sqo!)vw0MQ7n=tp!Ow`}2iL zlqwWc)vR$j@U&ZZAu^O*D=#~-_W7RpJd2<;>o7J7DI3sN8EZ7aX%R6)HLW>qWjv=;gMMIS5E z2Cw(hH%U^LO+cf6228|OhSefy*z1tktHtJ1VZ$hiqRFkwq>NMm7fJGRZZPa~i7|4w zpM9sF^`fMo8nB~fYgZVTQ53DFLYx_<4bJ!Yuq8~FVnsx>>W|5yRUC@nQ95q$zN ziQ^gTKA9Z@ixw#{)(N2g>hc&1UBVO*Dap09`f&ur;q^GCPR2KkER0({=*DxR*DvRi z-3Vc#m11i(PO1}vuD{2T!}k}7$4&5~Odu2=4+ojGDZ@g75|QBvu|$zk|67fkAcGHL zg9jm#lgvpEp$9jXgXyDFr;zUV3d;0RgF@i!G{2@9WC|?_TY4q0fy;b&*Kk20g9`v-aa~* zs0l6dqsnoQs2`ay+p{(3*rqzRR0P4vQ5pE+Nt>8d>6Esh1n|KrW??@D-F1@To|HFW z>C{sH)vk!!6`Nm6cRfutGUJhGhO0t4D8)0QkFc%XxH&nDGpF)1o-KzYGsr=*QF}9K zH5JCM2u~iAuAc)zxy132BTQW?OM+NMga-UjLG@n#l|AcD%gPrzJih%Py5ergdg|`^ zRbF@e{8bAQg@d929r=Cd62E%i?n4^~>u@u(M1PDFKSbX%-vcn4Hf?L^n*s%?Y>`Ug z)!8HTlg1oGCtjZ+ee*~-p5LXJ@!~ndhKnXq%PevgmZrD1rwc2x_}2kGyreG-t7ta2 zJ!aJ?T)}il6JK;@@x@vq8(SLCizkSD5X>h@$cKGKl8dW9efhJ#Fc2#lZJ-M>%+9E4 zuZxC^N>ku4f)^2)SR9+muT318PzvCKW>P(>B(^LDg+6Wd| zWd#%kdFm|3P{+OC+SRpMI45Gt=^FTr{KB2pfYq@36tZi^{;all|BUCaWOhBCSTS6Y zs0^)ZiL}LT_;RIHF!JG65BrQy9vNNx%ZERo8OrZh=*FCN*xJHNGWf=+I!rqtCr8X+ z^!YeOBWvO=peBG!mGa#wuwLHouc(fE)2VMHu??dx;Xdr{zIaTB^q~7@)r0N=#TLo* zuNSkhUznA8<|htzpnff(yJiHEgw99&CyH5JNmMLIX(9S9Z@GLPuAlW{GPYGg9Kqin*h^66(yI~DtMbDL@5T^sSj}Kb!ssT! z%uo@oYQ#E7J|;ly`YXv57xL~_dv18DK~%Ch9FLOf*>oo}tdxQQUOd&BXxZ)RR!y5)s71S#9Oi35c^DDtO+eEpjrG29@Vu|JWPuc@GPoFSNF&I`s|-(A?( z{2ZLa+s5OVon}kgh^Ytx(G97<=Xq{wTjexF&oRrWsGr%)#1fFPdyqB(kPDz9^~BL*!gHkGu& zLf5X?!-1j|qp}rurE(a?%i**%(qT5?`iWN+dLx_$fIr<#U@xIg^EdIdibC(F=kx+D z$sySa|4rz{wfH_>MLK8PD?n3Qq;mGejuChG`;&fLBr3L( zIGff%VMo34ucbzQBjMl4vZA~BZ#-p-uwJP5_{_dbn4?*79snFlI+=-)X+0pEU1heq zngT4=JE(;fh8A_h9+wHkY~8OQOeEsUkt5baC8lz;CHXKdKS2%*zoK_wAt|lbEDrY3mn@2nVmxBZZayB}^`oi)XtY<7mNe4%_pdqpBirPVa-m)=6%au8O)ovDT z%y>sQGY2p)GF8cY70*_z&ffPXCnDbcugDkF!!eqRADj+wylLaI1jCUT+w{AyCjKXpR2vFK>G z4&wVKNF890aS=tCJqZxXos0(gN|rMrZ&_|8&9wuC16k(Z=J4O=E_(q`;k8sa1qMeQ zuhvL+aL#t9Pb2X7d%!otoYFLBp(esv5W&kNBo~1M-{X1L=znA zL0qe{aQ2<%%(YQ<@2Srz;?T@%K@1VgDE&Wkz6o}vP!W|R2Hb{l&xCSX6nwtFn`+!Q zT@zkUDqdNaY{{kueva-|Fm{Jvi@aeT-c=5=V%et*{tZ0Jo$x||i7WQ`M&dPNMe!od zK+`+i4R5bm{pH#^Ei`A7zAXsNGfll$f4y7r(Yr zq!S?MhwzvV=T8ehy11kIXu>(=m5L?`82L_`J)bCF+_oPe*eTtn+9lhj+SY4OX&AM` zHSB+bOsr$dmBt#dZ#B?EQSwIb$+WeZji6LI?;d|1JTq=MFx`mdcSxVaR=s*xvtFW!qp`DlHu;0^+RyOHay|E;FPAhKJXl zW-d46JN0&whv;b8%=+4Ps|2kYxXlQcYinI1hljFg{63#c_$=_Oii+vTft19lZafq# zoBtuYrA;j*2>G{rm4Fszx7nz$8s+g6_aIbg4~@r;vWAtaTEu;ltd)`kF_Z||#?rsq z)hl4<GS28T-@Ja)c^hYdb_(8`14)%fK=#? zD@=nc1J88#@qF1I_|q5g^}iEEgpX`ZU7NDB|6f3^Ygv+|`+o;c;S``eN3l#b*crM4 zIIRTGr+BTm*>>;=aueeBn_$7XNy@gY3X0lf8v^)mPQ@zBobpAqPdEN5{KljiQ@u0| zN-fl;;?TK&pl0?V+MdXV5czn@{Wsi;+ozI$ugGgSYjo1UBi?&sRwK=*Ja8Ath`)_i z(dKBjPGj{kvu0@?MH;J(Dh;_6ouo#cRq8=UlDWK4H7az_zM1N#B$xhl^#=S;5YML2c}8; z<(dIMG#3;kGiRf=HvKZ4dDOr2nD!>G+jEpZm8jshkmE<4AiYDR_9qK|@&)ndn5sJH zIbm2@ZrM2l?045ZuvILLB(J8SaAK7NX4>IoYiY)CDiXqXmKwBCc1U^>iziR;l~i5- zWIFtEha55BmJ!u;_f5hrvPRQKC|I$WLhj)Q&KdQ!&F|fhK+CO=DE$b-;PSu{^wX3e zL(jAQf%Y1qBfbQuh2U!zl>f#Q*=Kb-L-ggKDZWi|^jD{f*1h*mIo>j;_;>TyI!zB; zZlN5cRoQX!g9fE4)E6iGPvmYzQL*DW6f1?f z_&Cu)V`OyNQDJyd5ok~n=uu+m5MpLgWS3ZxlMY@Buq_WbFxE7DW*t*{b~WW&aX5nz zJmzP1s0sLsjhlz+rEJdz+wQX-aOO7Znar|3i9^_?dmn$>NU}#EPSTC1a>2~dccQ9o z@%2{-Qao!x$`7&;7JLT(f)L#PSS<~HXT+0!Dbu4qMqKscP>f-emYKJ+7sh}G@qk%t10=^TwgySOY5!WmCQ6_Z*3O5 z)f>ymERJTkPUf_0tfIlEy}}&2;70p_EA>!s$XI_9K(-8&l7*zK6FhM@Dg0iSb25g; zrYgjngcH-9!-7(d4Q?VIUI*vJoVfNFhmoCb$tnZopZMJWzB-irzo?1O z{^Sq6M%t=y51#rlg@vxdaQ`hKC1(ZslhzE8In2|m>%xR#dYMkTVveLk&u$0z@{tdK znOjus4G==nsnUyx2P%XR5c@_#60vkSMSb;aA6@EsaWSI8AEXl*?13^(X~dJ=M+kbO zPHq30gcN6bHtai-q4Cs(hXTB@vG*p3;^C34PupR54Z+^d-A*5o7M3VMH2*-c3-jO$ zmxw`uVNbq-DzXeQ(&Q-)I5}2H4J5E(5beF{jyeGY@8IrmG9oAjl!jty@DgbR)&S)s zP|z3RCO}Ir7-wZd;#hfBAT5EHDB~ZKI64ExtDg>Y&|fHWRA+8O>LIn-nISxVoRh{p zgISTl|5;-tLYT1&|3$DUB zQkPhKum=9QzbKG?Gv$nD=QiGp{xoJ>_;KWg5QQhQAErpdZ033_T~`HV4Y*j;RxE=P zg}?4~0sKQPs+YlRMHd%v&Ryok(Fa#h7HH1L77_63D=-|hQ-jAr@fT^!dn2J*TacLV%HU(y0 z%}tMe_iV3?oZ-W}uv&67^A$@7M#=qTf%{Je&5IOeaj?e>gTqG76^YN~$U=39J(Y5X z9ov%~F%g+`gVk9jWz*EcMB}MFwM;Flzn3!k`vWqK3kiTY#b)_{y6;L4cLD9yU2;jw^&ds!G@X_PEnJ2`) z*~`NoghrGag6|c^WX=R{S`3~m#3pxh01El-tCGuS=5KgyBUd$E!XZf9$_WYg%t7ghiYD4NqEl@}oaGw?JSxbQ$T~?c#NSZ>mkcix-)Z9pYd_vt8#T%i40mz}%6@ zFrtLGV4xN{0nhJ(pO-3o=0v&19ZbEgt>>{rYWDquI!t+hLcssl407)jwr^D7%)b<9 zZ3Vm-*awPXK!LUB0!SKN0{)_SI55R1j8Vr_x(Du~h>I=zlg!wJ}XXRtf>;Ddjox4SgnWXJdIZJksQfPSGzhQDFTVuiO;P+w;L zmRfnujq$MN=+N#8+`IZr=L5bWP5IXNQ|C?7AN|y_1JgnJ*2dP?njT zr`0;b8_WVC?UJU{6T^w3(dC1c1`?_<&E89LXSDQ9R3wBT&m-uI%l&;QQ?3j+iDN$T zkfZtFk^7hn5g1TK-8Z__)cx~8o<$L%08MX@#zS=o@(yR&W>84ru9u8v`-@%<^B1=V z0h)-Q3+^Zc6&?>F z-TX!r(g+7Q8-aj;W;R(f+v==$ollSD3my7)JQ4W!0S)hc%*J10)(Dmw(T2?>xMs)c z?Wg&~2FleJf6V>#+yCoErV<9T3`LUJ^d+R=iez1dG=A}k1~tZ__l!4lv?{>pVhuHq zc|QZ5ISjD!Jz``s(dXsil}gUM+TwoAjQ2oGfh9V3%y!(`_)-;=`81SPb1cD- zM{)+!Ex^E!Jbk(4AdEE}CMN*_6`W0~2SEWG6II%%+VqKmetR`(@x`M%a)}~|w6VnQ z?atZ31>}U2NqVpgRc;rq{6mcQwl%>_hm;{_{}y6ieflk9Kz=?#AnS`-jR6YfI`0Z6 zlw^~i$BDN9%hKFG9Tw1D6=*xevi~(JbPtYblxYPKjZ^5Q3hHIhRfFcUo;dEHR!PYq zE2%H(J)t^{s!^i`z_lsk3tMtanK}(xDH{yZmjEVI6j&HTxZPw*5|dbB;

vYbj0` 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%0DXF_r(B<{7X{oiU!9#8_mvKTJJJ4 zti~>6KE(i1x?JEc_V`51G8H3x&w)FRS5@kZ;zbrU41{=jGM#mTywU3Ph@Y!d!0$Q; zJ>=UE_@ER55+N55 zX(j-vHYjfO1eu4m(wRqjGR+|8aa)@Q5!GgVs~KWT(2IW{0=Us0r1$*^zt~g#J zqH}pNAKJV!39Sk1LIgj$kInPc!;vyGfP%K7bcgu|Mz-#jEk_txEo-P|c20|!`i&J} zifPeP(meT}jw~MT%Huo4<=PhGn#NQyj&}PIbg**fTgctcXFmb!2JWSu#$#IQ zK#4mNBq#k)tJYgmO7j{5M{CLkG~rr6fB^d8U&j3VW5@ukp+dQ5r>*>NXFCgeEmh@< zN4A_XXu;PZVaL;{)p`q5_d11|zzCXI&8DU{m2mCS&?rPYw#?GVFvs3^TtF;YAHQq= Y-*AsPYfnKT%;J+Ip-yMq(+nOF2iOl9Jpcdz literal 0 HcmV?d00001 diff --git a/debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb b/debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..d6bf0e7b6529875fc8c7d351d0340873cd93d740 GIT binary patch literal 80554 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


y^Y_&-X19X|Nd8Uz||ofN}g4 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

JJLsO6 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 literal 0 HcmV?d00001 diff --git a/debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb b/debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..4c85d41afa01c5e5e5546816164a27b85ed89fa8 GIT binary patch literal 291004 zcmaf%Wl$Up%%B(F#oc9bcXxLvPH}fDUfkW?-MwgAd~tV|;_h0Y*u6L3-Tl2xCjXMj zB$+&ukPDf*n%jsVT3DLdnmRF?**clJdV|4Wc3y5a4n8h6Ha0N$KmAYs$Fj4r@o;g0 z!T;(15felX7B)olZ%*#6-yB%nOO zl{evs>Gd=o5;we(ahlV^LnV){ca_pIcrwECm+|BJzzK4HOdI0v!6xF-3~ti%B6X-bIrfTX&k@?s@r?Ah}xa zaB7LY%Y7kyFfv~Qu?ZitAdo7~GYeLpcLQu{^XAR80VrN}bHMUmFASeUfga>h0ZpbO z(dVFWvtw0J!BHclStSQK6MmzjVM>fNt&sN$CBcyCH_Zv_!xJoif}%l+!IV&-R=4BM zI`U?#SH&fbu*FR&TN{aHvS|)NH)kks)hsE2Gf=hsU8D*f=c&OvG#wRTPKG_wG}Vmt zTdnSkg4&&3?1j^zS#QdkJxBVChGK)(x`2&e&G?YyYI?@OUmzT2eCfJC-T&H*D-T;f#pm-2^SK7UW2bHDr&M@7;&XsH}k4=#1(2(v8%a0>CYs35m2CZmWhlDG-h5|AWp@Pa@)>g zDZk?mZuMGM|60G*$AoITLcL1uFnNCu>O*a!kliZ9n4B6Tt=jU;YtpL)S*f^d4Af~2 z+{noNUI(Nm9DzUO7t1w6xFi}gKWxv;U#gqa`Fo!fGi>uEJL3|7BohDBUlpH~G}@Mt z*aJ1b)XR7(A@P5U#P8(K?R2Ev(;@!&Oq-cXQ%5OoJ8QFiHgaRBwy!A~C%$xoj`Urx@mSxSAW#tD&HS4o-{E~hN?~DE(F6*!-05Mu}U%;ZiAh-dCt=5^hF z%Y~9TpR#bT&mB=WFy<;BBQ|S37KW6Xri~ry4B)JOI2H<5zT>)-2mZsP=jEtODZI1$ z9QW3^+SHJmY^u}_^we0?Yw15e4=m^L&sP-?Q10?vYle;%y5i#cnLX06R624o*=>}M ztN5+Sa&tylR!9sRuKp;mb|i;2unhB)M3_;jQ(K{OvxUQ=zT2lt&F$P{Ol$9PDhs*% z(I}{?=oZXA%w`c6rv#?pQ0G;RkegcKLBN9-nN>*Cw3)e}t5%+%+FgLJ+C+EX zTD$#&IO>T2qO!?}0`P7Jm53}r@%?*gzwH;lsZ2ygFE>4ce0=fkF}_%H+b14_d|;nn?8o3ioS26I&y4 z5;A}Sa$LLyRqI2p0-#1aIcT9XA7IP{Omymy!H<8Rg#WElj$~o#ZuI1mIl+G)F7nE?v?v{Mvu5#`W zsD)-k`evblszh~muXVNEpBk`&F^T3UnXJ;`GKI#o{lsX3Dp)8uZUHpNLs79hKTOV8 zbW2t9XWd_-1@83zJX{=n@L_W5Nnrc5_{dLC%-{%cDM_eu%~=NN?QfsW8%!(BjE9ff+Z=b%{{)=vBOQw=;Q1sY9_*`eKE z8!(fRg(A()RIe>{bjSrj(`lLfIb1!x+n4l?N?PfoA#JP=(qKp_%OL1*BAD=EkP3b- ztGA{QE#4OtD1ygl$DwRxQV2$T^4d6U9>}E$KV=2b7l-8o5W$)D1cHC{0%?M8x^VJ> zbqsn$(KcfE8fE&Lj!b-JYT>4;L>xNE`xVtA@S?y9wdPj#+e5$?4A&vs9rlfhr293d+Cr;m0w6AKq&< zzd-%4$i0MO`A*xeG%(Q}ZS=jnX;QCjz255dLBlKWCbBV1)0=kQ-RZv)5kj$dZx;|1 zRiWM1b=3(P+vodOP8ICDEG>|H^8;tJiP-(+@PjYUcBHwP=S@S$K~_K6OkL;Z)uK}! z(wfS~6XiDrVN>a*YS6-qOIU0CFpO=Kh?|gxpwTYsbE&95FSpPH zmc^_z(sdga$K9;Ih-$!iR}e0|+B~6VPc{I>Fez3yFT_ynlo;13g#rhu&wsx{gi6hXIUi5)+gG&0oBVD&hN5dHHkJ7mqr8ln zEwIN(@W4yAD3pSIeMk|X)x-)e$#J+dx|BFXOn9DE50MqaU8;_p0?NZUio!Yt&4bvF zqI6cOB1r^NXcw>9!&+`QdO_6$G(`%rz|?esPK9Bb?^#UB9AJAMyz~5ewySXE5mORB z6GB*T&|iUlhA3j4Hx?&<6NNY%ghx5y>MB7_ZZMBM@V&Efghig#C|Q(?S*6)P9-XiW zwz2%C9tM`PDDEc)9a((tem@DjEUokCbWm+C)Fmh_Mi#!rFJV+bPlwB``pmNhdL%|S zNIisS|vqKnf z)^N%c1Gz>2cMy=fZcJ{vi9|gET|5y&PInl5LDIGi69mG9R{m0f&)d4IBR(X)6u(?s zAxO<=hB=e5Gn=AHB}Xyza`RndU_%P;UrR|R;+ajmZnM@t1@^w;H_KC?ezX+3)FS%; zk|-~tAvKK^y8;fPSTNJv&SFwZNH8zb4VcO|?|OV64oAP1jd*YZr*}*UR??V3U51$5 zA^9vUp5$B7Iz3Y}87 zX?ztrm1G?KtQ-^Z2ICw^MTx+5-<*ny)X<=GDDy;{gr7n+lL zOi}q=?Q?<%2ed}g)mMn2(A-L|p59c#(3%?*7#csF-FgZ`!qS!?fbr|AVw4d_s2rEm zqb7Hk-AoIjvf53|5KCv4*k)z>`jtH?E!tH4Z;e_51 zwq}d0#3>JS!i0j7mim+g1oemt3-I%BbA4`R2RcoP@=m<7nRGdfg_OsfW7Dgq5wp*a zchnHVjwX@{c@`Z()I#Co@XE{RCB&7}ZZ0;{##)h~B(6+dB@f_65iyC02*`z0mEw3! z8co>Hul}0fpVr@=oy;Edw}1ZP;c09AY+_?`#arP+I)|h!V*QRjMFHcmQD8#fh>IDM zk>=-p2IdiFX9W^mFlMppH)f-$L z=wN?u4;S0`mIhQEEpg%C{HzqjL1gqB8A+&*&>lg4UY<`bPD3Z9zoIf|`{9Zij9Lce zQZKYh8FaSH%{2-Za_FSh{LXpnS>*fD^ruxeC($Y@n3O!6?5vVONxml#Q%R}_Bpf<9 zXA6U{Bz#tjMw1(~52qHKy6cl^S7!&iL(b-=M%EuJ^|!$cHC43iSz}_sP_oc*e*u7y zpdJw+L4mCtg6u5jzpXmf>_U`M41trAC#iCstT%65<_Ex9I zM348sQ$&iblxePKsi_$TZW*NFPlu!SlH7y7uH#;*uEj5LZ zO|uAGoO~Nx0y8-9n|!wj{B}9A+^MlrKI7))PrJ=5BT0sq? zATI|8PmFUZAujS?EpoFz9iA+Iey&~gM%?yW#^N$+R>(!)4T4gs6_W5x4N0H}WfMtO zi7P+3Ee5?z75<6VNIVQy(t^GyGc99EQU48%MC}#F%!Pun2$u!Lp_9_lPz)o15MZD_ z-_{-A?7IZpNJ#z(;T>04eUTKTd}VK9ZC=JdKZ7h{d4X&pWFR(%_2{r5KOawb*DhYp z&($kY?W4BO)eHM9R-+E*mz6e?VhT6~Eb7ls`Tz1^E)jr@LL(J$S}nrZAIftNk5R>@ z6;Vvu*&J+z6{r8)F;!O&O%U%@6%R2F8xG8Oxiyx3TOoKm5B==ueE)I(evbI@*ctfe z%J|3Y%FL%vNZ|XW@%Pu2m5;~PK$1&i*3Wb64T=lD$^2Zi&ci>0I_UkFT-POGQ#YiAYG_KcYW3JooV4t2&V4a)s zbwFsN%;xpSYNC1I$>#`ktB%rThR#$58VfFylplOu=&7_B(eQdAWeMKrzL?&X*LI)X z*y87YphMSd;sbu`y^G#-!@GOt+?K!LXK5+Bm({C#;-aB?cFdm%qswE9w&8WzH%Fl> z6DB?rr34YK6v@4}@0^{=G|q*B0dKTKww*c!6xRt$bG`;jc{(xL*0BL2JwF*4A7`k8 z7Rz6Z{mPzuza|5|KCJ9;zylz&=;rFxx=Fy2Q~N$hl%Hr# z*|m~e<@QOkYTCKAeP=VWNhWIIPkQ~-`w;)JFR*cK))M%8!2dLx>rQrr*QY_r6GGWz zw78UDocp}pz-|dEifq7jkvJkY{O>#amKToj-_E7O_enmmsY50f+cM+M0_36S_RqQC z>bZ~L$1~aIaY(yx`p4(<{-=-$TUDS8GwikR{`&UgyA^%)5zcog1&EyPC59PFVtn?; z8pEY;Tj$@-xC^pvQkT;Wua(zlqpFedoRx@?*J}fnhQHnBWlc?!=j$u|&w=8s*n0I5 zovY>%r1l=y&&M6SMw&*Ofp6Es^9vupf*>;do6BJ!*_dpC%d(V{2Y#rHj=uJ z2&B6FxMjx&=98pMtn+<{Zgv~|qA9CR`#2dH?!F!xZZl`DYj_qFdF$pl7T(wS))ils z`t+GX5`fh$juY_4<%QnH-mw`wWaix=kkx!)C_<`~rI4QBsr`+t|;qUEWdmZOmO(!dXRq z5cUai-mOIhWNZy>UTSQI?EkiYcxI!T{e5~N5PkAA|GBplm_PD?$L#XSMh73uH}L36 z(mK4^Jtq_OlbN!N9qsF@z*FI?Xv=$JUBml|wdd8y?oLC)GG488WiMu?NPxj6XRoB7 z$nupRZvCa*FFPm9ZcjY|Lr$z@^}xcw$J@!P`lM>%@n~B-4`IEx_`fS3lPTJ-8y8Qv zLx%n?ANpG^6no*v*_r!3D@2uK&pr&g=`Sm?dgEg$;Rj zI|;SvWH&vvk(zikgt`bc_%Hesmmd3V#xm!yq6W+dehvKb9#OMEfk z;9s;th8Fm?|J&>6G4PT!mxu$qxkJ=g*1IlobM~Rc zYk_?N5@rDw+M-8+QF&kcz11wTVbAIY z4zqyMNUWjn-p9XKN!&;wy$j#DEzhzC-d2@%kdRKmW{sDthT@h(f!Y-5i7gG zS6ydlfK|!r%p2y(V$u8%{$)bOQ*!T5qM_%L?X#_4{4>Uk50YFeaDb2fk$)Gx4d&gW zqY*pr#T8|cz3M7@dU`s#>Yncl8}(Zo=WYXQ{vOud+(cWlE64DHbM;Sy8fs>=kEA5q z#s!+s^cN3TZld9(5K~&O&Y9}dU4Q?p?eE_SKR#Zo-UoK85hR6$h2_Pg`_%qBA9A33 zH8l7Ie+t(3+Iy4EjL7?8DE1)DyXl>Y%Y5V9372XktP226=EjIxr`Ru<(8v!2!US@` z;bPr+Yrdr<7Pj0PEe!uRx<+_6@bY4=d1$nzSwQT z$Xzpk&V{~L4+N5?(ZI-c*-CAe#F+xpxd65| zov<-M##f&gXwz^IxGhopwJ6nn0%a=~&nvM&XzG(rpXNTK_6NZ66h3yaT)eg<2}PB~ zj6M+x)o6yBJ6Sg-CFA8}bGL#}5x@v<@(n=3oaR8V>R{tAWMva3bl1gJu05AFcpT1LAph{_?*>x} z=CC|&>dO-g>}ROb+2J!x20kIZ2NK3hxq1p+Qn-2(^q_tNC`xq>Zp1j|yrpxZck&^u z7D-GU12>FH2?1LWog~{%n}_!-367J zKF)iStGHQ}TWZIE!w8_%SM91MUZK^EX`wmbmUlpErWzrFDG}7QZ{% z4Kyl>rR6bIqME?4pSjcBy1-u3*FI5cunw@nt@W3f-bsmBFX7+c{ETfrq^wjyt0~%& zSR{&9;y1~FGEc%$Bt5JT-hjoOZ0{&(5D4CZm#dHdLLtX(fWlXIBx19U-S|aJ7X`iX z;9<)kv`?wdF4NX`P)C^A1cER-uO~02y8z`skU}ABgqt>u;R0PB1aMAG4aXxU8ijIz z1?ebJ4EU4?{UTR@q15qoZt75%2PTb%kYN zDx0Cn|0o8>+fqg;yXeNHG0e~iC7I#bkT=2tFB{5^DnYrV_1cC9`$di2)i)|j@MxTu>MFo zEyorRwgy5`fU?2GNxz=;gB*sBr2H=aj=a8YY91VzK*WPi0Up4Q-RT^cHM#~;3wc~V z1ZPBAkID_WlxCXTqsyO@GcK)?F8IWz$3??rMU?7?xT%edKzAT2BNCDFO@;&gFwONf=wzn z>|y~eDis_|WGGpYBZWLB|(i zP<{!UL`sJF6HR`bF{JELFR;)1Dl z|5XDf{GucmLPpSBqG`01m{F0YRwc<;j^dmVeIejJ$S4i3xW;*d3>-hSai#cnU|Tb6 zf!!iiS%dB9*oBL$y|dPcVR>XtTP+H{mo053vuy!0CUV&yFM5ECA}O%%cQ%%lN1|NJ zO9FE|KHndX2Wh8aXjmXV)Y&qeamyG?!-NV%$A5^l&M|B-=wjQ$o2`)p>da#&mQ! zrbQxxB(tWyNkQ>ETn~(#AcnmX2En+rOX1>VHfcRuvbkbMspSMVivZ8$OTce7jQc!3 z42{7Gd(}1Hk~N=Lz$=#k;U0m6{CI*2Ih%HO44pGkNCAPov>!TZhy?=6tm94*A};#* zf15i-om@Pj9Lz~8;T2a>HEoI>?53E?zQ>*-7d?fr%B*N;5kXK)W)xjQ!{7ZjDex@- z!s7g!diZs(q|uv)HAD>KF8FM0zsav3i?UAd7;Kht?A(-V8E7O28RCvjtJ z-X0mrKRn_jk_{5Ql!F+{tv(2}ghGhE6+@SD^-!j1WQ|~|4NLVz&b2m7E2WHlH;1t zr9s^LN@a@eig8-yP=_pSo_}+Hh+D3Z0Sjv=w%N|Eoa^3$Gur8A{-wBx>yLn;*{_Tv zEpaQ=smXB{Ea+CG3(xL=)%Lvx&t9IoR%MOiEHvg?HRQ6!BI!!;YjG0_DNYovJ*zE_p zGXu{4f2&0q-jV?BuK!4@IMpKb7X$iN0dRYfSN3Q!A!I5J1_@Qdlp)6g|6s3)T&z99 z=%2U-VuC_R+>(eW4Uz9uMiYg0gaNl};%~S*mOLbLz;pi!#RN=0f8z-@xyL@l)9FyT z?;Ngx9@8Av!6s!I{OTojkC|aXQ5GBB5+%T`Rs|c8l#kR0ceWHklNrK^i{>1s8Dw@K zOInf#_eFGA6pfDUR__ztJ*2I3HeDx8E_>&T`JVE8wnb$T1ZD)YtPL#rS2hZn<{1Og zoB*jDRd!VujE%3@R>GJS0m@P6G{I;lSBsx5HbDsBG;KU(%=KvP3(a<&h%X;{v*?2x z#u7__FtsB)l5~dH4N0y7rJ%I9y`YiGdYOQD2HTsQ!2qNfC0G zR<==6sigV+BNVq^b&@fiUXcok*=v~>=r!%oEp2#osuZwSz5kAmt^N0b>L40WRQd9< zB#&q*?CfYMCKTFUfmErwKq{WJlz#WSgNXU!T$0dHGt>m)aS`mx2%cJpxP58kqI(R< zi=M6lnH0j!egOUE`eU&M^~9-vsY}y)(A7#Mt_wjV*HpJt2}@$``NE<6;nL^|9R_%! z04eKgM;a8&<2e>EEzdy8Bd(tp6k%MZ za`#AWRY+p;f>b152kKVLV>)2e36VwqL}qZJ{Emv)%?{{0o7uzg3$MjStxuMLsV;klC8Pg(W-N3)43XOQ|lY9oW%wXaPyNPoSKqyPE z)fuB8boaJUo501x%7Gi#Y{i|OtiGt}6X!A%I9!w^lyMFTX{jSsx#1~Y7EiiBmkS~^ zmJ7TIE|o;0(M}>JBnd{zbG)DihJM zk-#5}CVF%B$s@AROc^PwUd33$Q397)V$^TcP4I}}{J=7K!yN7IeD&WoZ}=yQ?rQKR z9Qjc6ons6Mo=*m6Gg77`tdVcJe@F&KoYMr;2XcDK$Y9;Q5_|KwAJML-bQRLhUT(Q?y4 z;vp8Y!sKXE(BqFxaIX)=kN52ipnR&Uw6H_4dA1y;%YO7*hn$hiJvad%86xZ~1*(Ei z8r91Y5X&jGt6}^`23aa{q=q{FQyyJAb>tAf;uJx=FQ88No6V(P!bcWBAB@ANJSpxB zRq}-%#4f&CL4x~RUUJuCFpdiyNe^BiLtDZpaHG9^O`E*#m_!av3UIH;+hR^A^m z2JWM*2*J~08l9qbHm`H!E*85;Vyqx0&kBK!K0=$r5W8p$OAaZ5RkB%)ooXkw1IdqX z#b<04B1fXSa(Q>iog|qs(*Vt2`o%KfDBK~S^piwW8)UcNuG$7R0)klVZj$C)h-s@p ziFfSqw>Lrvay@orF4uTi`Na!wxyF+hHY>m~+cK#Ji8dE7qB4dh!D8a9lFiP}mB-54 zsITAcN{}kxr=&LhfI=bw2WRIje(DWoh{vIOd2fC*uWjhZFhN+OVIEUh@Ua+0FZPY! zk zr)rMG`hi%*SAl~q$sEI6iB`guJbO^^uQ^~mXkP-30WHkks}Hiw;%aDUT6dwCTJrbO zy;@+*#bw?moR!XyKoxE_JS06oeIOj~Z;H5SI6}Bwa^_9A$R#vdfr3JbmWxP`18R6u ztHC4$VbWjH(|AW>dMl18!HWE{@dnxyy;ZS{hjNTwGX^uKxC{+eW--7O+}qGvfcA#Z zF=mv6h$klwLxmZ#M4cF+`jc24e-yo=j9GO7t{&oZ4~v8yEiEF0cLJSVWhpgIV8R6I z8(?fL@!QeJ-!nh(&)Og7r9$(A3a{Fy&j9mNSGZRL8P3Fa!)ZRK7i+2rilH_$qJS{W z0H~G&RkZDI#U!Ib02eX!251w>-9Z9dt+%P)7_2d^~*z>3UFbObZ` z7iFM+SG4tJjnO=GI~6nrj2e)N|J>a~INnrJI{Gndv>XDjhmAY$kwM)=OHm^!c)=r0 zl-bf*h;2y#tIAs@X9`zAXhs>sSN%22yZ|;qBJ`Yg)VAP8R&e;VPg`m8M5i1p4H`yY zh2JRI*GtPs6FoD+**hPjFJnov_xH94XoDVUQ`6PCG{}N2#de%v*wK84A;H#}ucFTn zX4EVOB>{$dbyh)$!7{Tds1o&I_CsN+Oc7uLnx%+jcMp+QlnWK$2O)Bzs;~Y;(1UhI zuIgw_JD3ZtR7r%>^ZHse>D&}or5@v^@Ru9ode(L3t^?YUEhAn6S2tNlW5!u^7Ly{< zibx9eAfowa@Ygz;dp%85a@H{(XJ^K1cAGiQvlKRiZ_bm!1%1DlptWBb1{++nE9;G&^I0|_hG0gk;O-4 zs>R^v(1ifu3W1AFGN8Sa&e@#eG_5snb&nt8!+Vc5zb~%5!x;5cwQA${Jv9 z4t`L*0u@KkfP4>pNY8y5naP-(8KSQ$LZCaF55orO)1;heQ4ANBqbV;Ym}E1kDl=io z%q$j zT8A`B82^4K@xi2~JfoAKp-+%OBc#!b4Vy@ICSm&~tHjaR5JbW8Y_>awbOBN%p=1^# z{8P~kk)zNAGc_Qycqn=96SPn?BLykLe^aZ}(E>dD#sG=v>Pv|6g`!X3?W$*15gg4- zeTm&fFRm;Mq8Sc-;hV}P^-t5Z*$tgVMsng|c-W*J5<{FbS*O}YoUnX*hU)X<58c@2 zlR;4amNMgy&EFW*)@-AsdIpcrNFMV(rZ~>^>|LM5`7pl%ZD55=m0KuZt4Mt81(#65 zh57M_+F3z$ssfrJ`@yK%q8#Dy-G>Rk$x#Y~TVwX<#g9gW|HXL%n02N|3RBoMVd*^O z5oI2L`t(g~#5I^kojT@w#T!4a@$5f!t#AB>YUp)7((Z|Sy5g#;;=i7MU+smGL%GMv zo(r`Cjf%wEcGTsY4%P_x);MXCTMj@GC`X}teP2Zi7&J{UB+;q}QFYfk(d;f(7sd>d)o=tqAk;xYK`-nS~T7mq*ETa3No*|}DWdh|w@U5*gZp(n(O z)W#0<*_<;n_td6-Is3D$3)3Dy`FlWvR6P9LL$|R%Bk|<q$EV+dl+RSwq$V~ErAiv0?XNROPqdKH`z4( zGAO&KnU%Ns+rxg8dvS~T8+XRxqK5btJCI3a#9+ObP(ES@ZErm4x@_w1z`qlDRCjXz zWB6-Z5U~Xm{>l+bR2MtVXo$_Z|5jQ?3Yp7~iBs)>FnJR9UYRq%5<5RZy7 ze@~QQAe(;%edX7f6NZkiZVst~QbWx9fgidX-NU-3<Ges7Td1}!&Le&Zis?C{^>W{gj0MKVO@bURmn|p_S_*4=JJ)t^F<}Y%9$_c z_k}}~EyVV6gMs>ujjqhuD4{C@#xdhR3%W>-3+@9i?&rC)!)}>f41-=y_?E#t(t-Wu z4v*vM(kew^m>O1fTmkU-?`63SSHe|5IlnOk|G3hFUe8CkDi304GGDZ@;+pDHD`KMy zk7^K3Z|-c)^SFnVuyscVd5xf7jq+3z4`Dn6)Pixn#GuhuYs)V*`Lt zaW8*pT9Iyp(>CubaOshqqj->3vP%dRX^74vrw?-x!vec34`tjKQBDUJrI9#H>ikZR zEYrJkc`|J*ym`8+_7?EPBKg#xLZV>cwV^j`G#rbppT?8U7`q`_ziejH`GpjyQz(Nv z?-EZZeN`#)OlzRwCnvk;HB*oZT9?US>iF=$zUJegFI=^=y)woe3^o18+Avo%LqOE_ zA5FZ{MBhUexKz%S^Za=!m#+!~dUYz&ndWPkWB1cbto)~{%g+!jqGN# zu1Mi!%)cCIo5259`Sg{@qTpT9&OvddBf>c7d%^NoiE!1i8;xVLK%+1TGLoue1RA%aU6zdUk*pskOhH@P|tg5C_5iR?c834$3|Eob0)1V}%R zvLMj%B@u0NCkDLZdNwd#6RPX%5+D??bdoWRl4eGI_Ae0g*g0Al3WWfu1lIaqhX63{ z+N9LiBW+VzWy9AQG8CmaV!>{J4=1eV>$pRa4C{INh5d{}Erix-CM1Fk5c-Os9eN!P zE~l*0H83SP5But-p8)f3`>4NR)!PYuy>n!vhH6Jt0>(Y(5c)Sxu+Z2Y=RiOpE$-sB z&K}O@j&K$a^!c|wfzxqyu?9$=RR>fUKkmY!a*Srwb$D1`{g9N&O`Xe+d^$`AEiud+ zoL6x?CoX9uE|WxUrB;0~G_EB&!UoLVua|Q8=9ki~0Ne*#EahhL%jGT(1`y||q#(Uh zgHlnr*b4`Xo*5*oE|hHL5@3mqScy4=jL=$9Mb~vA2veJP?i4el6S7#!A5UrP2s~r= zh5>!bm3JKdNdTfOk%9k|VW<_61?xZ6&IN=(23vSUl*G>EorSCFQU-@~H_TpwTf*e&^l1)tzRU%d^L(`irW1`3w_hZ#G=mu>St7V37e z{vZT`$W^r%lyT!ae{f3(#Soy=cESH%jqIvLq^hT!#)i$eQa)0p25*d87zf5uSO|S> zlv+!;zShGn`{Y&&!~AVsNBK)lRL?NR`Es)u*8G+l*O`}zJ1QG99x*(9h3@lDea=3C z{#Gsdg-t@J$%nuXh0J?x(Z=rarDKAZnz2rCp8Y#njPpC2^0f3?!N?lP^S%RQWzx~9 z{>GfVNY-f= z(EcErLmg8^=j6iekfo7;-|zVP9G?8&9nJ+FG4ag=)6MWp{-bFv=|vGm$o3D*Jml0U z3*XKHQKwwCAkd;=ytSFFChR4kzB-US7>))a^eQ({XASLB5ruG^_>+!xM`hi)CLQAp zf;EcMBH9BwIV|71MQfD;yilb*yYHLmVTcwDDoa2yCYkJU+TIm1hQEW=h3EQ0l~L!h zG!3DudL*dAXf-FBYcS2cHpmSR3UQvIoE&mB_ZQhOT>eFJ1k?3&rw$?SJo-*$jd?5K z5<_#ds1}`td;{rGmr3uf1}$bEua*R!n$C3U9!$g1YWiDbA_(S!?#E9Dr(1Us-)SO* zkh>{OwjVgvuVbv(R(^QyMe<5*I z)I}V>S75n^kKIwgD{teb-cF`2*A74LzVVS(OZ`wb^!`=3u5!4K~b z&jdAwTulAbD^LJJtRZV5fr20H*nBUKh#soLXq+8%bCM#xpD2W0PkH1f`xA!u1*X2o zN5jLZvQ{Y(u?yW%(6qR9oK~bw<|>pCQOUe*5)@hrPr%dIu%K}$^NSQ3W~`atk&=;3 zJ>em~6)O<+NsMqI-)AGI=m~ZEh;;S+Vr+|L5HV&you53T^g%0^*EKOm( zIQpQcfJ1}7)U-5O-pi=1)u=MS;h!7Ne~Xu1;I#=*L>;p=;N5OBdoDNO&Ntec|vj|Vgg=uDWV_U@Xpx30&9m&2>y~h`|jW2fE*Fy1Y?qaFf za-UkixkCzhKB+0`ZoZd3@k9FbWAoeWGx0D(a}#4W?g!CuTvYGW+W3$CttunX0g!r) zHlgYXZQ8GQ;-q*&UR~SC?Be3!zR+#p8F^M=DR1Sxx8=FFdRLLg`Y{1UfEdDA?J3Yz zMnr}y5ldr|*dQM+gCpxY5G z+n%=;MfO$WVMFv}FLzA7+&s=4DYM{afix14S)wMZh2M@Dso5%5ED0+I^GSMRuM`f3 ziq5fI9D*N~)s?GAI?jatzW1d?8s|(Y(y!1RrZ%e2>jnBq(@!-CFM|1ieXxwu1ZJ#2 zKud1NLzGVM)-Kuor`k6imaS-1B9;0a8LRo%cjmU;xLe=uZLJKky;r|Evv#&P9>1A2 z%-e@fc|%ep6a7_O|EprjONN5a$dE8m%dJ>{e=he+`K52uC|3trRhL2R%L9waU+I5+ zCJ;FU&LU)G*Byj}M7}%{!HXwbI#Ls{W{`=+$zFeE;*k6kJUAi8?P~wpo50>auF4L| z-1oyDpKKH#F;I+&KuT%HTHfkN7Z#m>k!R$E4>4H8LDzIB;Dl?)g5-eM3@wwMRbv25 z59}qe1bp>i=eA1bl;)={|CNig2rXLIKwXmTAOsxZytzBn?!Qi( zX3IcDtl3umY7l3{-VTaBG8qJ_Mj9IU@bRoN3KW?;@D=k#-q_;`AfcqZK{rUx8W9MW z3?s>2S^#mfgC80Z|DA3Kkp+x8LMe_e!cJY2CTu@L$2kuTUOa`vZ}n!0vPGr7LQ zh#-)ad#PtqjeN@UODXEVI#g$YM8~unc|#-U38o4+@-7Pi=E!BZf=bX(9zyfUPSM9x zNLsedR-pvKJtC&#_>E`bs+spF1x%5Eg`~H}`^5hJPEa=~>AX=pW5K#6=(IM~WB~7STYHI-~g7!6>A@sPXs2 z@&rZ;37bc1DLRa()fwJuc%cLV9eFFKOIfv;ut0b<0c4WMqIq1p(d6B?>U-ogON3SSR4{V{ z8^fqmG#I7*b$pzg12$GAcU3ZS9&@JCzVa~Pl2r#0H_;I@LYD8-14fHY6L&XUsX~HJODU)IGeb!wt|&Q(1p>Ta%ja**>4-iAHSJO6 zS&sab-k-U|YF4tNL+?xYY^KKp<~0X#3@|5M9Q)8t%6A0KG>hsaOxJ~9=$5qXu|2cT z9Zz;z_Lr)5vQ%4y0B((*`GkH=W}v1vXekmO(UW@hiyc|)eDuaWI~kl#OfrtW)jYc0 zE-ydThTsg>l#$*l2V{sqSSV~UUour~BJn_mFXBGu2ASlGS(ys9_i{?$!ww)}9LU3j zHl+ifv>bnYj>M2!81IHzm#?(S@XgHWPjTZLXSm6P&z2$c*8_1QNY*NsbfG>A`%#CqUrM|) zO!@>RPqc}{Q~2PB*7n(b$#~oTGMOj`jCDe!bnn`j#5bfW%V|rdv73Xlr5*aKJi-T# zd{T4A8k8CqLZpFLY$==(>{1EEf#u`md2WIku|F4*a@Y5GvsXg-X^%g@W)!iDS!)U6 zuR_x=6i0@Amx18a? zoa^INOI-&fGWOZ=&&x7qT=o!p`g}TjqegF8K?iaAUSW@wZ5&j&I_z)*Ga*~;j>vi#CQSG4{ zpq`VgjULxM;|Ay{(thp_ z@unU;N)n}A7@eG)w=cTRv+i9Nmk4E~ue6VUoJ6Dc)igFw?M?%X0)m-X{ucmHK(D_5 zysrU!vWT}K!u1LK9KLJ?3ZIp-CE($QRy>f8wujYSi|5&~q*(9OK9Pqng8Cp=A5@+} z8q#whe2)!x?ceM1Z8ZG9_?fTneW3%{aec^b|6TnSnp~cs*XharNWKo_$4IIBnZ~F2 zd9U{Cus#qND(_W&q{%O0e-DLi0jlTv)cZdsy7$8iLFze6uqsr!-^~xC`<@_QIDF2O z-!U@t*Y-e%&zZ;#P@x+{;lGpb4SySw-+5>?4EPq0-(71jLxsM`@q?oN1%~(G`I)W< zVE!&ZwC@59o+&WleHg#A%ijdPRr^Pg9%%G|B40=Bkpggk9JxLu-UsSu-nioqGl2wv zerv_cyl*~>$O!9#3h%k|cjLoSj(;Zgx&Ap(e76gCi|-A%z1Q!1K;MTY=Xcq!Q~E@L z&%*=6-<;||lFylhTR_ThiayZOZ$r@dE{WgSGx~q8@5y>i!{^e2#ngNnxbMN!b2?}n zpuSEZmdk?Yfr2$fd>XCGY~0$+U*_*u?_>JeATvp$KeYe8^Emr=L0_kc8)2#`sVJx? zaX1_fhr{7;m}*KY3hGH5mI{Z%;cz${4p&i4Nku_DiNjT5aai28mR2Sc^Xk%~3Y*Pu z=5w3*d}cm(xs92t%)qwD%wegs7C3A+pU2YH&U;X6_TRb8d?uUw?$}{lP-AIOPvS7t zlQ?WX!$4gTcxJ2d&Q<3#71<1Be*Z;<-)VIj z-2KPp=7NIn{lV2=U~w0`tpyIJ&1N-o*ccehWllQ-Q&EAZwy3~cW;C;@DJiX~^Lt8c z*H>19pTfe_cv^sKb)7nGip*7~1|fpE$pmyE}PF~%?I( z+xf{I<>sm~Yn45T&uTot^f^jg_g=rB_NKySyY`<{l^F0Gei|Euucz#u^xjc@3dCZm zH~UWvShuIs-|bNG9{Sz0}%WXSH)!jm#$osAjj}PhxgppB?-!?;U3M zQMJKpyC--WFdg2CqQX;CrN^q+*vw&YILyq(#%5+?Q!|H=$+*(Q;c}F@>>Lj7rT^gW zHQ>3;#ummF#umoLUQ^ML`J}??I<>oRO1u__tHSCtbr^~*ENq<~bu&uLM%`Sbe%R9TJ!elaBPz|3tpTlM{7)%cDk%dLU&3j>Nsy=p|6q$TBi@B=8 zTxxif`wwq@Cl3E!Siw5nMYb!y``&wYeSBwO=ch3FEbgm1zx&)}Hr=0@if=8b7K6`S zbz(9fnasDhHU{Vw#-@Us2kpXePj`QGQG4envlLkEtX3Dsca}P<^^wEQedhC7t*-AW zjU4vg<4dcl9xxmZ>|;OaaYe!L?8xFX*u3T&)2lnHqu_h%KQ*W`)E{3Ml)LZER=>mH z!6-FgAD`V>y%!~B1MbC)@H-&^1Hx!Zo{KtA`A z+37p;9{Fv@=Ie9cNrl;I_g@#)x&3CJ-+k^rz;yVD{dX57Cg<5jod?~0c~j;-w5Nx& z@zzq|x<7H4tqyw<1CrT&Q&eGYc>4_|+d;j#(&+5Mbvl{D$E6_cHfcNVzC(@8IDJ#{@Y8lL50V}TvO`yVA`E7 zKZVIrTYc~!L-|*KA))q+3z=*4{)pu=v5}u)t%w$bD)}iX7`=p>UWe_ z{Z4P$vD09HWb+wXRk+=*+pBX+2@2w^`3B$Yzt=kp@~PY6E;Zku`zh@1bGy~&JUHI@ z3>L%9>UKL_#a8cqV4ph={(h_L>e6R8JH2+N0nc`6I;t==c3WL1s6N;A?d_%EZojvf zorb5~X?2>|?ZsxN`P^!~I;|+EcV8WQ{oVrumiO%7&gm#TwHj`QYV+0csrmj4WlmG; zrQLK+0~%e0*eeU3#yrK7+##$PR-N zL)oqM%u-^$KX$rKT?W;+cCYQ$Y`(K9KEArKGT9D_To?9+uhVY$*`3a-3y0z6x-dNU z+FiGPr|HDua9B`q$_%c`oHj)!1BRXL)NQ^r+#IO(6n=W+z4^|AZn&DSPmT8!HY2Oy ze{H_Lx~Z^uFTIAd@9x%JP)~d7^xau6uP%N5vy_=kK8wv^X)_sqeyic>y+Ek&*=!c( z?t|B<0j1#Pu{5%snvJ*K(^9+BQsH;q8lL7;v)5zqJ+(To%}y=2_6m!^Vl%h}>%BC4 zeRoa^)}7DlJ-W1-n%%d@Ri@@v!{2K>wOeg>E>jCT|M?7er{V82yN?g=eEw8#&C{dy zQ^1cE_)!RL8`q+Z{=PwrYQkItQcP(PPH+YrgT_ekqhJkG>1qpu&vSm?%ENS#_;IiY z7sT3F8k{P{o8(H~6{`aRXk5*0!zH>ttJBXgd+Z7W#vAy9ApUCtN$n^c>Z3gZPJjG4 z$^yUN<}pG7rlpcr@#l3l!US2wlzj8BC8h>HX!T#K=%JvnUc@>Xr<~ihA_5z_Q1!%5TKOle^#ljXF0=rUR35EOJy{C*4NtDmz7V5Zt5UR$RIB@Z9%O zy`_wyjW0t3!{AEX&C>}qMyHjC}!Lo@F>@~pEkoW z7rIh3l`M1cTh(J@o?IIZ&*GZ{P(q@!^Q*H%@$ppck7Lg$gn)^v$VS>QAxgbKuok=| zD567y(*?aCa`~(}kV6P{U3?N4ukqeGYz}}X@8XH*5cD5F48OBf*1R)N@S+%V3VhJ< zo2$k+3HfJ!*|J#z4t;#@Ojdz$tpq;-f>09Wu*eWG=q%8sA*I7bx2e6`&2M9z>^z3W z$^%HRXg(t3U&JI6hT8k-S<>jgy)19Xl@FOtj#|$xusc@m+3tu;Lg))0)w#|@W0DQj zaR(a%fJNm_sTqNo$r>jihXXk+EoEHfS}E)o_59?~**r720r4eY>qAPmy~LuAzpMUZ z@fDoYP37BO=0W6*JJM|8Ird|`D8j+xVf|wp*1IotvOdTpYQqQFNM@cGzO@Yu=jm}!ITOb$#K0b z-?7Lp69P8l2*RzXxe-_?CRAIXD2pY4`*J*zGP^5;u#jDKv)$K@0q6u>%RAy&nj zbsDQ;7O9v7#IR}ZB$w87o8{HG8(I4{lj|2z>?tbS6^t zu>%~zr@GLf9Wwwc#5gpjhtJWG7$4+6J_^Za)zYOcf1pSSAyK58Vh|Ayz!xCn|H1+v z8RNHzUatSymmLp}IkX=zI~*y|iMb-hGQOg*EXEdP^)a4GKqU@tx*Aszos2`B8v->S zI@~?gmnWQng{ko5j%&OZd)fpft__g%u6J2a@(V5^RPya+VB8x+{*AEJETF-B$fA#d zt)U~hi50DIfWYo{oDc0b!TD^RS(>>c98Y?`G@Sxs9_<={<6z^H5THY;`9gTaAhx-Yi#P+m*0BeJe3#*Ig@s9T z7h`Qt8J6c^zF^|u(G8I}oLJl#sE}@-&4nJUHz7I3RoJN#I%dfz@!#yVDk&N?50A2;$dvf_;Pr=j8? zb4)<{D58iKs-BgJv*ghl;IZrFpLyipV!lvjb>Im2nzPr-UV#6sW#+fzD{vS91Bc*2 zn2N!?!T`PSb1a11)5aw!WT9kY58!vZILeK{DN|zz5Bbi|QF?}(FOOLETeCmA3>Z@_`=6;G_d z87|=eHMd+FgZcxMzH}`%!obW8A_)3FnZNG4?mU>5B@3qp7*oea0gO_yb_pr4+El?C zIkhjjion{#zDzzqfQy&0_CTCI0Kk|OhN~C72d{&rVAn>W7~)<4P;~z5^BbpO*AhSo zGeybN77~bS4=auPn%dG_h))=_ZX_m@2RT<_LsVjush;Yk;b+#1V>v^Aq0kbUl=nzN zxXjTXXOrJM<~1mIH@D2~>{=Q1@iU7Fgj#DkM40vuIN8MD0{x#lIMUShc?42?1x*4j zgaml5wMXmm%18ecmPh5nTICp*O?fIDUu{pV5;rH-t$nLP<(vqK*9+wB+uk?QEsu6E z`3ICdp%DKW_%^D6{!1D7y^GfYR8C4SKW$Cu0xV&Bd~y#;V2C;1yET>Y`^&kKf~Q!R z^LFcO{(T^f1Dl&M>tpHbiFa{ShZr^0p!FgfI~dePO^#M#hq#QNvhNS7oH(mh7)1?3 zl4cZkLROAxsOcRYc{H|>EN)atmWL2nI_T|C;}=M3m(L+3-Q=R@bw(Eg;S1^fH5^sf zTxb)9T)%8z)tw)(Qjm2l?#FjLhC2IuZyw#_bs3|k1L*NHxq*EHV@Jy6#6Sssssuzs z3|xw37HNgX{vx~tnFV!8hMpf4L+0X78-X+KJs*LgmU(KaP*Hyp?n}n#5P!wXSk711 z*J@SnM8;Y0fx+q%=Xnv9*rNs?j77SFv*>*yBDk;vM-CjyB|4yGFkF6v0yV_#Fb5&A zBLR*}>a$ptPtY@FZ9l`sPS5dUqAfLy#AlcQe;c!f_TUs!THo{O>cw&{hlM#RZ6>;C zK!@fbvT9cF@Ly!B5Y5BG2`h3X-*)d95c*Fn^!NIF-7?G*yb;9Dv!bSt2X;9ENX8gx$ zn;gx6J7^}AJGqOJ`9L>Ncdp^+!fC% zczwVMVudCcfGrWe#0^lrj1=GAa$@?J#e#usSDX|Q8>=m`HLOy~{$3hM# zjzF72@O^1rhmn`bpA;iT;JI-UmN-H@-%7%sjU+9Nc8gg9NWZuqF+~)AN!N;re>^K? z)mv+7>`0Be4{T7EFJrEKc*I`~2!k$q0G6=Md>K9y?II7p46ILHOphV7ijez~wHL2i zVb!B{6*}QRLV*6+NdR#remuSw344O? zD)8}PF^fLT%nTaSx;l8B`yWv~h*Pv9VF0pG?doPMYJS$&}c$+D^rR)Kc z^|K2}q(k<>pEx8zS4QqtFz1Gir4e2VNSxYVFV@Ff7JBP5Uq6q)hnKX_fmO3(V|NYQ z4NnnP51+az;hixr*pEOSh3#op!nktHptPdvF$8OUBtqc%!Q{6HLWVp{*~iI79)*%E zGI&yJz`oyu^+uc=qH`=&X^4mluNNjvH{KJkMv6!u9X>o+iz^-!`1qJVn+$V^FDlXz zJHc8H9}yh+E`p{~3Yhw;K5mM{?Ax!Sh7b*&8l3R0S@ zcXR0}(F8oYPn%6Jk}P>4OMBdc5b$$-o$r~1nl?yb&5HFWgG^FZcoEmNsP5p`8S717>d0((Nw?Nv@UxE`H3;|QLj6K25+0Y38yIVQ*P3r=hsHpT}*=Kdq2mn9;2mk;C03^eQ0R-bn zl%{#)YXNixASJFYz(6n%45R@900;mUC;$uq0s;U407QyrFz6*JTQSi}S^Bfmouy}% zo>_X&+A~Ywfe3*WD%6S z`F0rc9=&15YxKj6mwFB>Ug;S|ywN*scwx_B!dpEI3ts9a2E2L-+be93u)T%p6{bg+ z9>Vkp(<6-bG?gq1sRk8Fh*|V{o?e>xA?VNHz=2oDWaR^OfdXwrXh+I$=r72i(;r)( z;I4>B9f~Mf{)7&19W4Yd+nw>)9`(^Qt=W*pl%hH$E(m#+ymaiu2RFo8It4_yX-VNW zOl)Mpf!eYLh(fyDdd9>mQs)SQ2>qWHg?AO=WJ95^)O+mSWB10`c2Ul;-IA0PyZuo9 z61Pe6?RLFEIT7yr)nZ#MwrY>vT<(=c)Sr74*R~D@U>7X+^XYQ1h8oz=CI4w@m3o-*O1mAqg9kHuJ2r6+l!@B!&et~cOHR{=jfbS}UWPsAQ#ie(ly`n?X>0rM z2k>)zCQ7&@QUaQag}SQ;J4CX|u6;N!68DeI{I{%z0J=j-dOe`nq2Cby2mzBdBDuOx z(l+|aH8kX!-XuAO5(Imj#2EL22`UuK#0`R;qu*>swnyh@B39XsCrBD^dygTail#l5jO@ z&HLfAI`^RIBNBCGN`(uwHNZ^yccYl$`nzqjc_8pKjG4eXK>Xp{kOM!1bt@A7V~4)D zhB2VnJqG1l;J7*DLZ1caE~;aqiB2WTqJdt8i?n=RfK`d?ZP*@}Z4r%QF;xa(6glxi z`WKsZQVYEsRwPP(Sf4<`$9um*{!9o#mN7AdKu``?W9~72LL7h*5(woniTGOj`Vyn@ z@)}HInTj15?ED;livn`@zZ1Kxpw7m|4*FZlQ2-c!rb1F(Y`IS;{&8;L0U7Tz9xGc+ zcA(^JzZ6YG`MlLsqI^j^)NQ(xQKAkH6+;6B{Pd|>D6c^8`56|}eB$4pA%gjOr5e$v zrMrAcF-~R45a|VMkAh~>plqPTOz8w9Yx@cbZ9c1TPSJ5+^F0zN{zjjE0n^>7z;UUx zZ^deU4#>Y4LUb-K0es6dyYRU}{O(L5qG+3LTWL?bU+JYr!s#F%wYD$}9Y&9v|J~h1 zD|vxK|MqvxY9=(&c4qF$yItw3n7ar-Eg|ue8z4xs=pbx^%_fq|HXvc|vYI6FLtjZ~ z+@&oW;)jq7H)z( zM+ep(Exjt;ZkbI3H@0YE!Z=a22BJ~B`gOc&;_ss8#q`jqSBNy|H&14ja@;A2x>8-Q z5)&znmMH*k@8lm*Qhl|j#BNT67M_umM$<^0U}Jq2=ZVb92oDPbqZ>k8JO>567C|zH zIdGYw=G`E|IKqHQilq(1VD4~uEHh&CFpaEhcZ%v)GA02gA0aLWV8ECH8WS6S>*NFY{=56(dj^~9DtiI~-3mimQ6|CETe;Yt|>%9Ag;@Td;wHKyqd z3H=yEtL$%R{~CRBz`*$U2&S1Q$5F@ot9twU`|zOJ!IOJOb_S!g+H2$<~E_ z|6*rkZo>@%^vsUE7=L5`Acl{?n>9~tvj#L&1``-CK&4d_-N>?W5NJn)-xKn-zZ_v! z&eviixfC(QZ&%m?z6NB;``)+{Nj}B~@nPG`cEhzPkx__)@F=6C%N||9{xQPIT*Al9Lc?TDJs;)BPOq>Xk^xP8zs(! zSxF|m6@N8O(RF1h{$jcC zbL^s4iYqkyJ@MW*!Od@=0r!e}DFnx*Y<(CQz1ub|ZeET;r+2NWT$MR~*ns;1gpMi_^NJnuzZc%5JVrT|KukURzM|Rvr*s^rAD-r@9N87-tDp1MM>(zGMcR5$q1I}^2CSUu%OjqwmMzk@%Z z2DCm$_#!;w-1W_=GV!CGRGto2R+ej=|Cpq+$l5g#^n$sl$p$f``p1; zKR6K^a>3Xyw6(LR5>raczloKO!!0GCkj!)_W#~e&M0gXpb(QFn{>(cMz@f_N_cwD` zWB3~A30@fGz4hrZ+=g89E!d-je?ftbp9wrI-bK5h52t&=&&6UL!&%gT;RfdCo-&$6 z&mt$Ng5raTQde$jjs%SIV-cqjZplg*rwn*%@-SK`FpQUMUA6WI@;6vpm3Tod?_v`_ zO_#^<{>u1GihBHr5isyuv?DTlA9ZM&FhHIGe@puE#UsMp~wn~82F&ET3CD4-t$6_co z*S;$|u;8qo{}wVxNmWC9C3deLp;qfFI8 zRQ}Lna^?fvF|#SK+ipvrl4Mm`yb)7GW8*g_ib;YFJcZvR7SO}x;Ji>YnO=#D8d%T) zqG)_DlH3I|868t zXCOYJd}#l0`zkg}2?T)N=0x!IP1Xw9-k6W@l$ryr=Fe+`rnyS6ke4}nZpzPZOyr$@ zhxoLza7p64PAOFjp-8Vm4^LRC}J7%^tDX(2XYJ^q7j zr{wOd+r8(?IlpE)PN@IxOKgQGECmA~?LQi!g-SYl0y#6Dm!itmHxw2aY?t^=fIoyp zFHFw#4v4XXYf$d0Ge3&h`XG-zTG96zSOmDuwYC4fCqCvX8<;w}l%FJTGi}KDR&80y z8UlQXY~9RF0psbmKvV2QWU^;T9mhTr@N6kVCWiY?d&62EpXNohP8>Tk5FU5pF}rLH zNAA(MdjAWC8i!EHUeS2+gZT(qVJ3fPdixcN8vDMmKpN82Ii(MFbNqHv|EU{t#$d&b znj*eyHQK^*Pt*r&QBgBPZ0cNg@YSLu+(Or2o*Pl2*la**zKJ4t;bLOGvqnofJUJCy zo;E`~vdi3RTSW*va>&$EJsDbqx44p^SK#tBJ@oAi-|Pc2yX;r-5XWC*2eXRN>QQ_g zGK-aR3{`0vufVh+Df?X;x0|$;H=p$C=b#xHyW1iCaHN>r&jUklGE9KSS?A@Jc!WRP z%nTcpQ!8e?5SijIrx12iH((JN+a zb=G<@iher9H-Nj=O+ZGPrP4v1%y|*hE?92d`F$brPyIRaWXiQi(YPxkl zXfQZo8KEC*+g)S(d0H@%2p2d$pD{9Dc$kG~Pcy5FxxGbwA6SMENBO1i+nm~d&2pm# zb(e$=L;S1?)o1l}oAAPU?PO46-{nXhrWkqVsJFm1J_&iKc(m*LZ;}ZlTSi3FWTOS{ zUi=MI60~vS^Og6?%zO~3s|QGwrEh3{Xqz2siwUli6c5y0>Q-|mk?|mFCPD4PBCkXw z;ll3?EPu$=G?jdZm5L-oX0#nHaT|nQbD2>Z*`F6KPdA%x*L9U8Cp&wQgCSG)&lsQQ zZl@;zwdG=Z#s*lv6r+1qq8EzMPQ#bz#30VKt}P&d0Yr;C#dKiTgzBuZYh;~4v^<4v z_oVgxJS>6VNAReCp@^NEoA&-prRGp`Fp=fH1rrLy-QY=2_~I=He#^K0FRe6b3l*@R zf{SSKg{HsE@(#Jf>Q`Tq1M^yFWp!&uU%DQX&RFAWtrpqP{kSAso@E7Aefmp6AB@0Z^Tcr0Lso%@ zZ7=Mwx&Nk4O%3uUgT3(zFq1{_D2~`r6q($!0@rl1-gI=(mNiSb9XqvJJP>E`o%P=l zGq$$l;4&4tIz-dErF$r!WhZKJE6($$8PSp@xklr!);bJ+-C#I{;%8{fU!{exd@gmns-F4;+;?^Dv?o_yuB zBMfgBmdnBis;=^wb{lT`84cY*8jgHw@Y%Aknk%0E?3?}{+`rs0>;`m0-g?P8obf>F z5;MgzdRXAdV`yxr)>zJMf!AsRJtvugBe3eq?p)&jG~Z$$E$(j4V;Th-cCt*cK=?6~ zG-*Ia4#4eg3(OrshpS6;Ho9Cg%i-X8xWxgYHkych-%59CsHmx3n}%ShG{hU~Gh8&gNXJNxJdrzSkbO=4)m8!ldG zxO@T~Mo?oepg~;h2MeSvP1sCOFuCYyhn4Yt>VT`Gh~RHKj}TNwk{SU9=CkZ}j@hxy zrA$W}-RYb7S6_FVaX&mKn&5d{7x6Ob7Qkkl>O?9%!Puu&W>axD;r1;2$j%4N=cEKT z3vV##q>QaPzGpEDJzBaf=<5!M#g7{`&MSguFPeJ}WPCbWldp_^4WgbGW~~QR%5EW< zCydSTPRfCb@ta@&Vqtq$u+C0~UCp!TZ9Ck%VBQz<ux8f-RxwVfTPuYvgWeor)8b~l*VjmVtN zEe{x8xGU#ig9COvn%F4KF35K0&0~r>?gu&pb}=Iu(4J`LQ_}M@n9^TxBz?D*HqA=towy zh&Uw{>}c`3RV1tT(J|i*j8@r&&Ht2EcYrZ^i;$^k(C1nvo;4aIz!q+|os_M6_Pk)B zrI))N8p5p7Yg6PdqqQAaTJnAjo{Txe{S`O+tm3u^3N4JB8=*Fk;5v}f{^diTtFIfQ z?Wa@Rvc+id5tqVXTjn%_z(i3-xbBj~F~ZNt<@vA{uZ4WmXQySG%ey=oCX@E`yLGEh z<5gU& zBe5xLw}9gD>V>UkJj1wN<(r;s=M~B9`CoE3u#O=xIW=*nrUSgxpabS1x0jNlVVv`~ zbZgw5s*yCFbi(ZWX?Js&k%@M^jEz~bn70m&%y|?^{ktke4*D)nh}nW=k~hZvnigZCU=SK3E;F?tvjlBe?o=tV$8+) z7>#{a{2G*XygCuwy8{UWw4^;U5woCI#bou4DROvu85~l|6giQXjDG8U# zB|fv#cstk>t66mdM9kBfrmkL=Bi z@V=7I1%xY%V-vFVW^c{AWMdty@rmaxbxm07U1CnvDEBOO_tc&fH;d%#H;Zf~Qt$!w;-%7h<<3G+BG!TiiGj59n3H`KH{{YmBVs$ zny~#$Snk}%cHCmR>vAWV!I1G`%i%cj~y19<&?6UCVTF@4%po+H?MeD#=SL z6pgqC@Ws!%X72tNM^O0K=b_%Gudi4#nPmIOT~`-6YY@?5Z1g=2%?QPtmbgbj&;!ge zbnOZ2Fm-zk3%a~J>n=%K+QNJ6t_g9}Mq2V#@78aRAg!qp>EtR?L+=|k3Eb)b3}}p# zV7N#j{aDbfi9pj$B288j!XPNv1K5rIn_)NQ z8DFQl?auIp)%L$mc-|lU0vJfOU#Z=!vhfmv@9f80!s#N=;9oXxqz^Qbo9X6jj2nL) zu6HuPxk24SOX>HZ4{ za$i(e_?#^G;0OF#Kxo^&*qQtx8;U$eNMw-N6fyj*@?p{M&*Iynz`c&FCYoUE#Uf@o zIRbj7Y};hSc4ihCTY&#ZPTCxv1H)Y(5!6?;?t_RGFtzTOVGOiFnRDKWOb=|aDcAWl zQ|IL)PH%x%c5PejOndvfIqGbrLY(7F6JH@13tu*~Vmz6C^GebzU~5E1k~9M@JSH zMn<~xDuYJ*$<`YVrk-lY_O%$7jmg2`YNU&$7>CDy?>!1@(8*SGGjd9A3j-Une2eYB z+mxkXzO$yu<)P|exg7Q#(tB#xX8rY`z&0jkx0Ue^d=RasuQ9gL-XJKj&}nfmQh9ic zqlf;tri1aVo|D0jY%VL|<`_*rTCkTw0Pi!t7jxPu?46ebQ*DjoGTZmU#b#E9^5BaA zD<$qNENiINjE6@!d*%#Qk28r~h~w+6^xpAcQjEFq@p^uTn=IlJ`*S?9Z}`qchdjJl zbLD48yO3y-2QtXb$raL=qP5Lr*BcvuZhsi3JxkTLy=j(igFMHnbzv^2+u}^l4XKTa zX=oM~Ke?fwWw-Cq9zSY-GT;Hfy?LX-n#b zZ*3uM_DJ54sV;)(h<-dK5b|xR;r_zWRp}D-4CiQf%hL~Fb&OsVH#E?8C72M$8Em|5 z_lY;spY+ODX+q?nKxW)>Xj@NpyFKT)XIAhO)_!46O>a0mU3^QCTfIf*XUv7jtKOSu zyetiu0RnrzMw0M?oHb>|>Q0imY6&VjjgMi^4EA@3oSm|XZi})Lb+?wmm(gWiN9Nto zT;@rY(^x+N1f`csC(m@>lZx=gx!;w&Q*=&@&5B7@E02uL?Ff4D%DotdWc1i%POKMx z+UdyMX(_Oo9qgNHEu#Yq4JKkFfJ#usGe3_nJxsckOX$-+hSnli+Nh zPsYAg#*U@#E@V5LmY)EqkPGXE+_<9d2*zj5ySST90B&TQbU%}Krnmh7LfdmXfM$6? zOkD&7UYOa3WJpyqp9DVJM_!@7>=A3|A){zHB$;eTi z_qCkWj>Do|l(@~R6ckp}Ozsml=?$CR9pcMs0g^qFlPli=btn%#T#N?0fUzaL;4^6dcx-kj(|BNzo!BmSC#ZQ54ab#(ia^=ielxq$W(Py*Go`0}m;qrWd zfpj=(RI?pDMD5#|Y`7gJTsf`djObob$sHAlplet#%(vnaj5F+vEjc>mELtRT%SAF5 z5Vp-A2<7m3Rzt>2oV@8rCgC@&ZEzVC4IQi(-M#leis=Tw)nR={YBYIN+qhmc%#w85 zd&TZo)|rRQsAEKvPSd7YcVuP-(RY_UYhnB3U}IJ?Vyk?o?8UyCJSg2$D9xBy0&jJB zPIsrVUsJ-=GYa`)@8mu5p4nIer^LF&wG~Vk^mS^q{Ps?XFw4*~$()f183*Pqok(F2 z7WlsTKQ|Sy^9AGZftwFnYH)RCPb4P0mW+b0O9ALXAnVo|O})k+D!BkbpUqO&Zi~7M ztDn$4>6*0>YCjZ|x%_N;JUU(k=F6Xs02RD>D&M}W_hRUVVicB06Dx_9&zq!>Jz1M0 zE4JeJUvi~W;RT!FDE(6j;bj~yBy#?M7l}s6dykQC`d;SQ@Jp9`d*=nr7<{b1GLe(i zwZ1-cT<%N%YApe`d-q@IFby-Bjc zx&ZO60M#|IZ1w;#A_TSfr>SwZPuT4As8*z-C^s(5K5g9N9jsT|j1wwuiM5Lflez;e zymuPxxNQ3N3V~d4{A|L>Nf9Oki0?QuTP}f9h_!k=x+(q?s32E63<6KNYis)ic$a6D z_<5Z(Ip>4zKu{jcQ}T7l`!FNW?F41k!8_i4*9=%Im*s^r2TbV6!gtX}|Le#EunYbn zW5^&*8=>+<_$Hi9>1l2WF)}eb@iCO<0H3`yBT@Ea=fdB2R84+Kt!M(j1duPsICXua zArzWn?;?flZtM(T&xAL2^5e@e@t!REL;Pi=u7uxvJe4;|ic!76T8vR}$c<%WX2pgD zU`C{43wug=Z7PBfTUSTtEfdcLc`xaLC3;+4c}j{MAV1zSaWEyU(`I{VKGi1DU@=J+ zN6Qw2O_cSr*;b`HvA3(gqh0a=tcZO{XdFTDVSx&!u;3bzlMItMVW$QvI&_@XFvi{} zLLbZUt@384TN#rt&(cuJR@B3=;}4^B9p6M=5iPAA@mul&x;>032IR1wtX*nJlhbUz zUmh17FW0EjjnvS$v-kK(Er?|}G_&{DZ~@H{qG33L!r`YeF*T=j0V;2YynXq;tayGG z@;EqBGICDoGF$73^&j=itE@J-pN6^8Xq&TOmh)>cj5+ai*w80Tx1V7#xpp11Q0f#( zn*bKHid^+wYZ5B$8LaHV!_qmot<4hVB#0aDQa7OB-DH4C?@g_J8R#~IJtPx{UpTfN z*C_$gH)mIXeovQ3%FCW_u@t)e^;}^84!E(iI9`h0NXQ>K zpIyhD@>3jU(a7c^YD!lBv&~c!g0V6Gc7OGNS9ysvW8?yk*Twv(E4jR_a&{X|F&c-+ zL<5$mK_fSN`8THHGTgaO%Ph?uV#lY>0@AR^)Nhin(PE?GR$iGbOX+X-+Hvv&bD5)V zA85MXZ89_ywoILp=}k?hQEe4;r^}3?QfllKebE4G{3Fm!^8Jd99rGAGx{P@kuftxf zadq6mmxpZDDNJc5YOf4uh20Udl|JY>oCveo8$qb{L~8^&EDIrO7ghB-O8Hz&QJ!(n zG<{4g2lkuaOcGq6)W7Zyoh`?fv`uM=Q^mIVbv0nldhgPr?pYjSzIq4pxnS7oQ>B~b z_XHO{_v==A^9_W+Myn~hm`ry8kBsF-n@Hz6pqMn;FQ-j{FsuDI}BK`{0f76X7`#e@L1|>2{08HFf6xOS=Kd9TKj~&Uw`hr+?3( zokhINC2XXyI`*QJ(fBSqrOCHCM2+*-&N5(B?o5sblfDQ!u$`}Q-bbHx&H6?*O}6Uj za!#bv^YQr*nXo|O1XuyA%zATVU4Za|P4_DDJEf zLpek132XYvqAe#?fzwV%K|6gFh-1qk%Uw7Do$rdTcck2e4ExmmHoowrtRuO5PP&$> zuO1J8*~x6bGO*P~g;ZTQ5Mm=`X}N$hn$~7{bxw)%PJagp9_*UDXKRMeRNuG8<*%hU zWyTbCkUNmHn^ixBNrL;}ljJPXXZlvH+m8N5PSb2sWrvg3bMJ4WMEA(P&Q=Ac4@qK+g9MaQH&ItTE(ObqF#`+pDV^8GyqzlHO#5%}Q*@PU zGj;QYbz}^1v#05C-h8mD+=10M*h*`AS=!a)tV`$31VDDutjk2cR`qiQaE|*#ZOR=> z{%mtqylc&m@!6=FguI`cysCA-h$ zR;!KV5OhrV=Sk{5vfGQwp&kB~^Chm|*}W?2VCwaWT`NeNKo(nD601z-4`J~3`k{t$OVL9n@lb-Jbgbl~Rxa^?~WtG2w zn*P1%dpUE*gXJLNBKM`;1?@PWEVmeSKwgV zAa|v4m1@n_Wk3z(k}N84-U|oZgs1+wIbN8jL(kz?>A210qp)3J<2tHxwFNc!Ws&2q z=q-d0oW|@U@B+Hz5}H9moIn6Bu*T1zU^DQ9LRb&CE+mJEu>z%&#TYLTnj|u_afnc( z2q7?lYm7t#E+7xmD=tVuF;>Nb%*L2hX)*Q!x)Aash}rUZJ(oE^UCF61!~hqFeIUae z3P%vDzzk9`g&G{F5>iBA;01E&q!`MXCDs(-V#F~lh2c&GCt(E=3Uf(dhHJNgX$dT7 zuosyfgV3{>LetzEivlpIcG^S@yT5NTdP_18Qrvy74YCxyGcIjcoXo{$b_?LzIMk;h zTF6P2RH4_3=yOTnt@}K;P@=(eb;~aTKgwq(Y3`IN1$H*z9KnK_ccC1v?74vsl0%LH zjo~I%B~}V#_KyEYI9S2LiAio`*;15wHtrZgW8;*n{_jrueEKnI)VWj@Rv#wXT9P(d zt$cl0dvvw8G#|8=P9?%rL`IN_g}M60FaC1Q#-caW4_DWl7p3mm5F~A-5%GyS_MEA@ zn+@x_KHt`)iL?^esl%MF?C@N6>GYpY!VfjrikWQXn1}T68GWTm9g~;fRGq&Ttn7Go zM)$lAG80&?>wqM_T?w&GhprCZ$uKk zz{dXPeaf2l8v9YfGZm7#&vSEhVrLe3-`mEviSG|-8JnIl;QKqnYkU$xKKp@WueetB zir;=Ehu@blBxnHU?Sm!|tvCn6-FN{7T$`1($gbq~REG$DkY7Z9ey;p;ggUZckcjx>qNJk&8sWiEaP-v z!eCcrqLwFD4kEsQ)9!r8e_${}N|NsA& zO@z1UPI&%m{F?fJ_A#G9aA+Q@tEG8HvIH@a*W}zF1iIzWF|> zk#{tkuBNw&$%?QZLtE!%7s?_hR@HL5-wnRpp{uKJ#4%;aH$UinjH~^Ds0&4zv*B_u zBobNTfbb6r1#50v=2YwD-JwF=_BrE$u9}gUw8JGK=uaAD>Sd{x%BmCn&1OX+MJt0c zNxog!r8Bi5ZZFBrw@gnsQFTe9x=?8l{+ z^NVuG(C8^d_=c1=ZySv)=oGm#G>sV+u{Cb3wM)JyhOtx zGH^I70S<}LZd^MpCH^YEQl?SZ_i;dYJxr|glyxb zt#CAlVtIvVoq$T%9%b1gb^*@oCQd`%!nz1M#(OJFc10vd5VNY+O2bv~gX{c9sT_Pu z@wo+_40*uN(-Cyt0Dou{TUIiU?)z`gnU7i9oRN_!koIe z5*fQH#5nldzj}>Bwf-NQ^C<|@ag$gmR;X0FGO+R44&HbZe7B8B){!6{XH4S`LK1qz3ZRVd za9q(l+$uXH6VTLq*3Kh76sOr4;$uk6bihd}yjKN6ywTuxVILz+YOCns2>(@vZyNrU zIC$eMM>*Oe5|gT6*D25!$?;Ql!^G^DZqTHJWJHwbP%1q^lL=v7p?9|3$F)~qrlW@! zDhGPu(Yj+2uVay8-o9+-qq5y72FJl0aJ;iTYBNr2!Bw?a9i-KDb}kk28X)sTp8|a! zC7`gtpemZ6=jDken?GC~ibXxj!)6R|?Y8<%p24a`%aTWqI`4!J$SR;A_G`Z{f%g3W z_24w5oC)Mroo?cXEz+I3pH#i_dWO&*QgUx4y?x=|3ee$77M7R`?kQhYK%FuKc?%PK zDjUYMdC+6q>Wj^&^;q)QfO_xI@z*6y_BV5Qf)5TWFzE{^DUSNjO>z>;$sF#alt#4M zP{rZtHg(SW%J?dF%^0`~*%nTlaVBXHV!@9Z*n^)5PK9*qTjTsSD-}eNbuezCdV$cw z#R+Tgr4~-@Na{c!p5@Fr%1nodM!9GK5$TCP4;v$%XfvWUV|bL&)}wSm(G&RSC`HG& zhJR`+0~cdOS>p5!pxwNlMIG=0iYY|=oi&(j9a5~HrOjYw%1aox%s3C^eaiLafYFpi)>137M2U->|Ck1{T-BZ!eY#bT?a!SCzT?-KMrv0ON#Puww&zg z3~y_vA{rm)qq~OlcZD3Tn#1Ano=Uv>Hzn3I)zTK>@g*pCH#yPY~f}C(!Vd6Abcm6Nvk%3B-S90vVu~ zK=S7$F#8brEZfnVA0kiR6Y4e((xK8fng}=KnkKDVAhz^_QA~0aM{H=Trxs$w?zD&01FRdarH~z9>7Pu?o1~=jrf;4eU{D2z zYHiOxP&mE(%aw<2s0o3!T1_Q>QU{Jd($q{^)02XBMAa;bYv4zKs}(|^a2DH*uk=D#a?H*a{Xx1KWDC4wuQ3HQ731wndl?DFv zEKECV|8AnudK%h>Mam5ybbs6Olz;l{N9g@*yqJUYJEOAfJ6baPl~&ARX~C>yS})s? zmdhSSt7Tznv8+0+mEG33Yp9z(OlAOQ;8&}@uFQn*8Z^AR;f2_8vXvQ$x=g;WWfzR&HS+c!f2!NEc z-I4I!k?^hgdlCXjhJGjRKtRLhF*E@fS~Ltjg4r0303&Xl!}lf-|y{(7SW+ z7XSi*=7c0n3TdL-JMs;<^D%f31OgU&+W&hb5O70}=^$OyBxwN0NG(c&c^Ph|b5)dk zU6h=pUz<%Q^MHmkn^dN`VT5F;6N`H^DP&_a15*$P1_(_^qH(ZhrI#MFU^o;Uf`Wih z5F`Wwfj}@o2m}RzAV49203i^328F>uC=}wuP>6hn2;T~*Q%V6v`viCTrFWf3=tOGb zPJD0dY417O>7oPNDdbKqcgoX%fb_}iHD!Ie<8B2dV4x>Xh<1&{94lhtHttY`O8W!o z7A;}Eg|$nH1v~pjM4(Go{u7IoM9O6iNb=d(=;0R!i^oXSbOhK`=0BfBkz6<>U7REYbz=Xi`vNT~J{&mgi7qq>;k@H?QPeYwc+N}- z2i3J63m(RLGw54wC}0Q1B%E{nEQ>=9M2Mu3nk2okKWutKlGt6HH5au^LK1g$(sf$) zPNYCN(Q}e<5(YF17PTI+g82!723PAvGHsb3m|y^}_#ujgz19EX~iXG;)| zb4c$xDG2jMk=)rCL7Ok6YT=*qyt$|rLlkSi+a(b#bi;7stBQ}W&sc8v!2H&!>u+T+#*c_2#hX3H6aAB zF%xICf@oaYB|N!YV@tGwJYc*2#AXT?N(Wihc;H-uCV3Zx5$Pa3fLu{gXXpVa01=8f zusi!W)TcmnTX3vWTtpjQY@oY7p@T=?)d635@Wg525Fu~{y(b(n`s%81zn1d zWH}|G<0NvVL~SK_`9>y@wSvgPR1S&Ygs`m(7^49nyh-k?=%2LTriPOb&vk~3u{|M+ zH@UjG1pyp*QNo!nfNMkg2eA{|W31H64OZv*@&UUN9G|1R5p}rc6l}{(Q;?%2Z796^r~M*P2iM07 zMP-ULqhqTc=eHtAYAv|NpO*rPZQyMM*Bn4x@GS5-^z%DMP6%IqeDix+c28(4%uwk5 zjig(}s+f9etBOT*DsIS3Ye2j))(=euY#CB+s59d!b1K^zdVn{$iC8jIY^R+9P%dFc zEMHTHze+*jKvRBWS;15nl1_obVL1r_hJ^&PrH&AX(lJd?r#S2fu#ihxgGz?Yv$kOU z!BS9)3$Bwgwpi$MpnqVQyOa_jKhcu3)z|GWROR$IT)6B?kBJC<6=w>%7!? zTS~`s9?>=2bzgJ$aBc#MslQXT(|WWT2kpD96RqWMaaR@Xx{=jnWRW=aM$AKV5eqkQ5Gbj)JoMSsPkh=}#< zywfMVeNYW2(by`8$qwRnj?`oY1_d^@@%{FeDWSO676V961F*d36kseW=Yc{_E%!4Q z0p{V|=$~PE`SK@RuR6b@yt4i?xF+YHdZDY{pUc5DAP zHq}}q7k@w`B{VGsIIC*OtD0X4(7$!|FqLN=d^bGqrMNDiKOFl@C4Iso>rP8)uGNGmI7dF)@aQG+`00(W%X%9Pm@32lo})xdcT((z$Zyh#k(!1>PdS>a! zs{4~f7$m5d>~t2DhX)cSF#_sC1PWE8g0sf6C<0$rE(vvV0U^3@o}tZ zsx}{i;)_2dITDgg=k5wR$r%`YzWiVMhAWvb`9_p;G9dtg#4phAo4OBauTW>xrD#W} zXS?g$1N8A#P7BT0P@xv>`P6_ksYVH}|8fuLl$a$!?NeF|AXKO%EdoZRnnC1@m>CoS zbV8^`M&J8x@m8hMCGKmLHi|~XEq_3)ly!2Gg;|LT4Iv3?rH^a}bSsfr@gSk)N+*WY zXjiIuu8FB$iOUfgM#j4{rscbMGKi(*StEKZCJ-mHQ?p1eX!?&Tcg*_IcOOJpT!+Mg zoHoGP!Mm*2&3Pt-nr0A2ergS*0H1r~c7+33dUofY!l6c8{m(9x0}Opd(eXTjoJpx4 z_BjQH)u!PyGit%I)OzkP)(kAu_@1nI(1f27c5#e(?Ny0CHlx{;4Jf5?mQa>U*pL6d zP#tfY7t$@lad>n&5yf6UFW}w1Ni)s$m#st@RtNDaxq;S)*jG{*kI-Xgw=P)@af4 z-o)YI7L8wRqA8(M%osKB2B&!6l?^DOO;~3CJI65SA$O#EN_BLpYyhA|Tq+HinHf)m zRvgw1@>=8Z0@Ray(Lj&+B-_qyBt-I0xm0*>;~Dgk)dQwX7^nJNpkc~NlDr~EtQ88g zx+~SL?(O(B9P+9RlZLUs!Aq$GaA$+cT>qW?DuXbj9!$NG8IlEc6L{iH0nFLxCs5Wn zblp2})ef__Nw^%J51_g^AraZ%yLQ(q{c7F8^wS&|ijo=P0)b$AE^_;@F~;`X!oq;s z+EjQ>p*a5Ny)Tf5N&}RA;jT+wi9#A(`#KT2-|ht zu8)ltKZ_x~Fr*~vWEoW#Kvbz$8kXuctI5t({GE7_wU_W{iF(}?)|M13L;q?##jt0X z?n6W(xIf`{LiU7kN-lt9XR9Z@__d;gK!I9N0rJ(xgVe*8hhYm)V!0}EBRQ?YXuChn z_HAmmYZMF8?LH2EXmIj_bVa#$fI z(9J`%Gwi!!WQKa3u(+t@VyJZij3NM|P9)CZdlQ{=_#T_+en-Oh)PKYaiH-Zate9oa-jHqosk9oa;;j&x)b-8#~dO>}!lHqq@J*+lnC2p@cR`@8+! z{tuV{K~RChXB)`RIlv1LRKOj9+#Vh@gaW7l+P%9wjpw76aolA5ClUA5C}mC7zAMm z6a+yS1OW*Wf(BtA1mPfl{u+M+rrz{CD18P4>QsY5Ld6l1L%|W^r}?x$nd(4s(ye~d zsWVmqAox|Xauvd=Jdb8Yo=3N8S3?!G>X2?+<(x)Tb-ziHuB1$jlKj&?5+ZFRMY>2L z5~e$n`juo7$^@#L$xZ7q0j9?UOoPcVeY!EFAc;^)p-?qL$to=3Pe~^+0T`5TbtAbV0?Np_cMtRhbw32j^GI=Bv2~!aXoPL=ylROhB$AmC_Dlm1v zA1W{usv2rFh6$w_YfuPkgSvI5E5%i36|90KeE*j9s20$G@s%xo#XP^(HBFAxex05oemRl(^AAv{p$0tu1^v(Qy=PVO zrt{&_yOS5702BgQ(E*7c6ah1Sg-+TB!f>)VFy!r?Lj?#xP;NS(2W_G9HL2#$ljZ3J zS@NgHsD8H5N<-pOL-lh&#sS-%$~ut>-Kpq@Q*c_G%4u*K)tq1_kTN`NBt8I!Q#vCcsXAjoVHExP z4|!+*`w2l_RqY=Lk|01NL>YS_1Rw-pkOe0IH2^gL)fyyHQkAs}1=F-D<+r>2|L=Cg z|DA&X-rn7GchlWXcei(ko9>oz0GhIi2v$w|I8jCwL_rZUYaxLeok(^9@>m0duv!B8 z8XS?7R?5lT=emqDUhfPWLQKi&`6wg? z5e6n8ytN#!sNG3-$e4F-|FU&`i_+)g>*voj8? zjwc*&(>biON}VP;5p|;1DWY>wXZ1R5p`h|+9FJJjd@LgXE4c-=vb^=Qa&9@TgtwYj z{##5d4Bl{B*}1GAq}SpxN$A$kr@|D zgwry{7Uoo8nDTReV{SIC@5?3=3cWemU#{idJ+eq+fx_1?cwp1lvw+i9MhD_~a4eT; z!}F48MFk8Tpo2}8H=v>C7wZqk`T3Qh^Tii69)~%`SBJF2gcs@c{bv*Y=rtFfWTJbT zosG8Ue5&;NaVbzB5C8lZgD7|x-4479X^RMIKF0ih>jGLAcxmc+KOXOU4G!M#!3Y{e z_9esCTAc@uD?pB7U=Z#x0nxx&Bj+A*y$y67#0FuuDML~nf?8azn>gag{ZA?30*`0; z%NKbpA;lF(vA^0 zoE(5fMLt~q@teyX7}Rm%Quu$NvN==9b@D%ednu^<-Zp+mu28Vs`=}4GEu{I2C&?XR zr{;(CYDY!Ej41gLn_@j@_t$t*b}WS0YPLoKdUXijswh zjhfP2IF87lX*ltX2+;lh75oRcPkzl}kOOG6YD_vK(1bPgT%i5SEn{eY zOl2^Xd<3<&WVo(|Ju74+b|Yi8tM!#>es8n!*8~!2Jzdn-hgcp=CdigEytqs=J4}LJ zr-tCr*kV8np(^$NZk`f2xLy}QBmLt5lii*Qto7@Y665g3Kio^|T0CP{yC*4?XS z%~+;Eo|W;J^?&oKxTXSxN36@ascbsUuJpfTnh|UJDgaK3Bmzs|!ub-5nYtZfAz~_C()7di5#%6ylOOf=ki&7jo4M?y5V^5KryuywD$@ydBPeI91@utgJG9sd*7$7p8LpB{sq9oGyZ1 zg>3X=^|%VwCY$t>W3ExH)Qrl6Rim{b2_0%o(m7OSk~x$^QlycjnIOS#rbn=HO^#sM zGIdzpL!rSHq0Zp4iZX+{5|zOfT~!pvp;M?o`XQja?(I3PNP*4=DP^=MYp@1(#|Ks%bKdF9T6&ofLw>OWtqa0@G z5~oQfT8V&C5bV^8A{G_i-&nX_V%g|3v1;_evS{=TvGBjRV_n7?h}AXLQ5Pr`3!Y&r z)Kub9!3wJI-rJ?Z086GCOx2s}>QrxCN0h8wHBqlb0Ys%jkHRLWi0amY6g4WUThv8S zJ6Nw)j%_8a9$KMoMGLxO&?awXRR!B>xK+~%RSN1>30U?O{spO5wyIvSCc?17GmEgm zGgEaXekCSAbXBYRm24uCSO0wFDL0AqQ?9^H0jM$_-B4jXiZsPw$~xdG+EI$Bl9eyy z+5jrPI4DkF+)*3-Q9Vm)B!-j&1ICaxux_Go*VH3?`1>#XtrYVIJjKFKRO0F(KrOY8 z#uijUiIB1?Jo?GY-UTD?%9fU_=?ZlP?_?iuk#c`ba z#klO+q)IJXMODST%1>fHis2fxXZiRAul;$uM2+d9u$;JIGYg?%f3MHD?IK=Gd^NPp zP*HtB#Vk|u;Ge@Kxla;*Sc2GXYRHk!)zDz+y)g2w6%7rOhY>H#AvbjMM^VuLS0({9 z5U~V=89>pKspF_;?wGT(!AMfhtg=KfYe=wWkGn$66ktjl^G6A1CXhLGj4(tMeg+|; zVp1b5%mBp{g2c2LVu}-hm<4R!G=Q67T65CiP*Pc7g_)xWfh-kC4;7H6k2z}~7$O>B z9x$hm6Cl8J_D~_4G&Bd)1jzxU#;P$O$c_RC075f>4Ui#1=#L;das;8N0rEotA3Xr5 zsd&sCI%bXlXaJZuChVqU+9{Q+=?2TeupMmZhbPI*Fk8Zq+-MpOk`j{AP!G=!5EGL{ zVjAk{VS;oe=g1K$772#Lgeyi!NQQ=@6j{-+QLs>6nWDr>5>t>+ z&=Mhwl|o3$h<-{(L^x4~G9;rSA)%b4ASgmUQjm;DFik1C;#2DJ8Om@>n2ryTlqp0; zM?6=Kj6y)dLUbf#OGrjXL!}Usbc}K^48wGEFq|C>=LXZ+!MVY(9Gx5!hV5iHH<;bY zaBeUiog7mM+sQCf3Cl2R(#bKEu$>HJf;+I_g6zgr!myv9pr4hSp-^eF1Eb}yzF_&fu7;5-e!Ek#5L zW!(jR&IsPj>|Ci|0lU{zK)$3rr(qe1-y#| z?>8iSU^~LXi(U$;ep2;*bljv_rA*QEw40}%jS-u5$ zfd9Jp1husj-8JFLYzAad^I)Hf?(M*4BTRdV7YDt1D~zQG=xS#%uY3?HS;hO&2o*oz zLfVCVk+L}6ft+Wz1Ss7F$=nt-Pp#wAwX(|$tyT~9z*IaYnE8E9W_a|ubM3?LN$hs^_4aT(60lNTX16+D*CXeMy`eUeQ(RRH!2RRbM$VjS!?)2 zGq3&EtU5%?rUzI0GHLlsxIT|!*vBz83ffWq39bpsgGX^qrHp66){7S}(dv3|U=v@Bw?mBjv+;+%;06G)6YwCs&vvWb7p|6)OpJ;v{r^Zmmc4ho<#X`!9z|(=JFX{m zB4d$>ZTY1wj@rr#WBMNGSw+2PUTKwr> zU2TuQlJIKL5sZonU)E19L46W>?Bee^WqAev2YNDGl-3=`Au+d|@jvD3<1^8A7q=)` zEg`2b^B281eqz{9DGl~7$@aEJS?xKz@${@=>(qkHKFeJ_xpG!EDGU3H$y4gjk=c`@ z81jx&9Q&-%LMTA1DnmziSuk=ARO;}>t3>Y00x zf1hXfhiamBo7qpUtIORjR2!0+GZWpHRof6IU@Xh83oiVN<-BZ7p zXZHH_(&~qcImAmbKLJnrFYfSyZb1qR%ZX^P`-tlPA)|b_x(D1{A_wK$bQZHU1u)Jh zkY-x9RK81BYXeHjRAE#yvj|t7zV@RQ!ytSwVpB&SwEU~Udv7c^-(qPF=;toKZ;)V z7ExS(E#jutX?6NlV~^>HVK>T2)gI{X%gq|LXjRRu94G0=&zqp{4^_3_C=ZXEnbGzF z603zp4`7yB_)l#vg8UObFdC(e(9Vl^zszicZiQ^{T`8JMJ0hRUxX3+WB6BLaWe)lG zj^jvyU)0YFgEt+6!-2A+6?4UHSbO8x$eowF1ikoW$=CRG%b&)bE-F)_UzM|HrN-3O z$mF#>2zR6*?>)uA5327>-W4TkGQIQMxc#Ydj8AvW&$>Osxv)eutKPHb{ z^datMP|iUz`}5fz-xXCx?>^T>-*~v3H4iFG0=+k@_Nw3Nl|^G7ndK)(&v9Z6eNXWY z8j0TA5}7Bmqj_;vTeRxVnEYol`#=5;a`>e*;MIdt?I&ONj?u+vCe^iZ& zjwwHBw+zmHR}WjaC1lbvDl)fB1OFeF)Zp@8i(TZffFibMuv1OA5a@(^eruHOnoKTl zT`Pk<8r&tbC-eICv$|-StJI%B_%E_#4&Hls1jQ$~Lz$`0!7qC#47BbY43yhO`0}V} zj88P<_SzRVE4MQ0B%hfYh$T?|qz9_T9*(}7fm0j|KQVoyz7CT+%w6%fEpvFE`1Lab zqb(NuswAdmcIAa7W0I-mCH^s-v_kY>_UL7cSvUp{i>aver}8=n002SI00U?P1j9g> zWXKq$W@ry&06~HiI0Oa*0|NyJlOG@e00IOj2><{92q*#o1q6TrhB#>)b3On>FFDZ= z3P~K-xKyHuB3X-{vU9GK3%QFDM=AK-#9gptQw+@5@85Y24%iF<5$9x$tmC*zb?Y3- zb}H|Xf#BrAY;oIAN*c_Bp4eq$Z0v*6mylGOJJ@BdE9^4b!xE(7$g~3HW$)`X2#slF zGHrom<CAS&DAj5?IG3lb3+!Pp6HekUHza?UozcvK%3G>&1RqnaJE z1lxy;%}+?1IL5pD8u#&Zk8EPT=JXq#(zEYfG)(faf}NvPUem^SVR@+uCcXd+i0T-; zIBu*N2eC`Quyc$@R)nHO(B!OiAd#fDHLYGYCCZe=RkVeOnV3XAU^9vk7Lh8eP~6d; z9^)Ds1Y*u3GBjL)5)<4k3Mttd8Z|#7r0l8Fnc$L1R#TM8DC1PYwFX*CLGwPe^$Vy4 zg!V-TRFBLQJTU3x!va!@xeVt7XIOr;HeLxsJ()2zj-D51;Ip<*O>Cf$+{b^C?@7GL z^s0|o`CTYqYaI7v=}a)>g5NkZeV0M1R`ftY4Z>cobGyuf}*JaL>dIb1aD3v z5tU+F~@i>Cd&&-1s^C@ z3e^hl{4)%_cg8l~eO+fK6j+MNYGknj3z8Izh8;+Y_Wjwk*xy&%$M z)PFgf1E?1hQKZSbZ#WD#0oA}Ygil9l)Utv#-X|u%BMj}73=@C@ z0%)?_Y0j8s3IIMr=hCF~q85);Eb_L)v2vb_m?_ACj04Ob&s0IeM}imy>4P6c(VO6aNpSDuTI!%B;+H^qs3z*3)L{Ry};b^Ic?$ zHtRs;O2G93!kecx$i{&Lox;xvH$>*PQbpd8&Y<${BC}l#=n&GL#-vlQa8BSZ!XaAMG}~uMaW|n|E@5zxNJ-?>gWFTe-eO_n_&V6WkB}P?nXI&KhGX9ug6&s zR{F>Qw-C$GiRFwLX4Dyw!Txfwn!w7w@QA5uR*7Tym2!cB8)USS;mtdzxRWf5TFD>*f{YMe z9fy7QbvPC>MPoOq^YyQtOgzfvKj%(O#b&EdjVW4ph;)XbVNI9s>x7;&7Wr{-X6*A z#{5xGgSa@oM2`H>-^5?2Ouzut0;CRL%q-ApHmhh47^j6Qnu&7_GDET50OzMG=yux2 zd2<~U*i2~Yq0Cr<Ka)4=w^g$XXLCEA+QH(NiOQ@N zo~O7{D4HV>pQPJYr{QQ%HIXoH;nB<%$2t;uK!i$(WgllPOE!tzuW`a)CCiO%ZL#0g zZkuqQgIscSH(FEXO%>19#7q%#1H6EHQ$TU^>;X+WU@y%3j|i$RuTM5t5ZxbU4rPQW z*)8;OtjK^)z;L+3a4h5>EOJ(zypusjiBD(!*rgh&KXT_lM&;s6>R7fjBe4qP!7Dy? z1U%`GWscm!CeUok-9FqmhAbZyR&&Av<5J}uzkzg7G&Aeg2kaXG3cFt?I

MK~YayximZuugE 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�_9n7?HoSH(9M(+?{I-Zo{ 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

jkl%Y-IE_lGI}wg&wQq9lB?`k%`Qr`$Pw-8YQ5 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 Rq-?-by8u>Pe6_&n3<_%3uS@^{ literal 0 HcmV?d00001 diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md index 9227ae6..d25e728 100644 --- a/docs/gazebo-harmonic-humble.md +++ b/docs/gazebo-harmonic-humble.md @@ -70,7 +70,7 @@ vcs import --input-file dependencies.repos src ```bash sudo apt-get update cd robotnik_simulation -sudo apt-get install -y ./debs/*.deb +sudo apt-get install -y ./debs/ros-${ROS_DISTRO}-*.deb rosdep install --from-paths src --ignore-src -r -y ``` From cbb310c2a21158e238bcbc7f403662eb1962d23e Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Wed, 27 Aug 2025 14:38:20 +0200 Subject: [PATCH 05/23] added bridge dynamic and refactor harmonic --- .../config/profile/rb1/ros2_control.yaml | 75 +++ .../config/profile/rbkairos/ros2_control.yaml | 105 ++++ .../config/profile/rbrobout/ros2_control.yaml | 92 ++++ .../config/profile/rbsummit/ros2_control.yaml | 106 +++++ .../config/profile/rbtheron/ros2_control.yaml | 75 +++ .../rbvogui/ros2_control.yaml} | 88 ++-- .../rbvogui_xl/ros2_control.yaml} | 88 ++-- .../config/rbkairos/bridge.yaml | 40 -- .../rbkairos/rbkairos_controller_params.yaml | 135 ------ .../config/rbrobout/bridge.yaml | 26 - .../rbrobout/rbrobout_controller_params.yaml | 138 ------ .../config/rbrobout/rviz_config.rviz | 429 ----------------- .../config/rbsummit/bridge.yaml | 42 -- .../rbsummit/rbsummit_controller_params.yaml | 110 ----- .../config/rbsummit/rviz_config.rviz | 313 ------------ .../config/rbtheron/bridge.yaml | 52 -- .../rbtheron/rbtheron_controller_params.yaml | 91 ---- .../config/rbtheron/rviz_config.rviz | 449 ------------------ .../config/rbvogui/bridge.yaml | 51 -- .../config/rbvogui/rviz_config.rviz | 429 ----------------- .../config/rbvogui_xl/bridge.yaml | 51 -- .../config/rbvogui_xl/rviz_config.rviz | 429 ----------------- .../config/{rbkairos => }/rviz_config.rviz | 224 ++++++--- .../launch/spawn_robot.launch.py | 397 ++++++++-------- .../launch/spawn_world.launch.py | 4 +- .../worlds/ignition/demo.sdf.world | 1 - 26 files changed, 906 insertions(+), 3134 deletions(-) create mode 100644 robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml rename robotnik_gazebo_ignition/config/{rbvogui/rbvogui_controller_params.yaml => profile/rbvogui/ros2_control.yaml} (60%) rename robotnik_gazebo_ignition/config/{rbvogui_xl/rbvogui_xl_controller_params.yaml => profile/rbvogui_xl/ros2_control.yaml} (60%) delete mode 100644 robotnik_gazebo_ignition/config/rbkairos/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbrobout/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbsummit/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbvogui/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz rename robotnik_gazebo_ignition/config/{rbkairos => }/rviz_config.rviz (64%) diff --git a/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml new file mode 100644 index 0000000..5034a75 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml @@ -0,0 +1,75 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 0.2 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.0703 # radius: 0.0703 + track_width: 0.5032 + wheel_base: 0.0 + max_steering_position_error: 0.3 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBTheron Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.2 + max: 1.2 + acceleration: + min: -100.0 + max: 100.0 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -30.0 + max: 30.0 + + right: + traction: + joint_name: $(var frame_prefix)right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + left: + traction: + joint_name: $(var frame_prefix)left_wheel_joint + limits: + velocity: + min: -270.7 + max: 270.7 + acceleration: + min: -10.0 + max: 10.0 \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml new file mode 100644 index 0000000..93d4387 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml @@ -0,0 +1,105 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 0.2 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.11 # radius: 0.11 + track_width: 0.47 + wheel_base: 0.458 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBKairos Controller Params + + # Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -7.5 + max: 7.5 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml new file mode 100644 index 0000000..66d27ba --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml @@ -0,0 +1,92 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 0.2 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.127 + wheel_base: 1.116 + track_width: 0.573 + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -0.5 + max: 0.5 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -0.5 + max: 0.5 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -0.25 + max: 0.25 + acceleration: + min: -1.0 + max: 1.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml new file mode 100644 index 0000000..674f209 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml @@ -0,0 +1,106 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 0.2 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.11 + # TODO: simulation same but divided by 2 + track_width: 0.245 + wheel_base: 0.225 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBSummit Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -2.0 + max: 2.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml new file mode 100644 index 0000000..a09a6c2 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml @@ -0,0 +1,75 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 # TODO: restore to 0.1s + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.0703 # radius: 0.0703 + track_width: 0.5032 + wheel_base: 0.0 + max_steering_position_error: 0.3 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBTheron Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.2 + max: 1.2 + acceleration: + min: -100.0 + max: 100.0 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -30.0 + max: 30.0 + + right: + traction: + joint_name: $(var frame_prefix)right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -100.0 + max: 100.0 + + left: + traction: + joint_name: $(var frame_prefix)left_wheel_joint + limits: + velocity: + min: -270.7 + max: 270.7 + acceleration: + min: -100.0 + max: 100.0 \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml similarity index 60% rename from robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml rename to robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml index 8141b2d..9e084c5 100644 --- a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml @@ -1,23 +1,7 @@ +--- /**: - controller_manager: + robotnik_base_control: ros__parameters: - use_sim_time: true - update_rate: 50 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBVoguiController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 50 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true publish_rate: 50 #General Params @@ -27,19 +11,27 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.5 + cmd_vel_timeout: 0.2 #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint use_2D_odom: true #Kinematics Params - wheel_radius: 0.1125 #0.2552 - wheel_base: 0.76 #0.43 - track_width: 0.4745 #0.538 + wheel_radius: 0.1125 # radious: 0.1125, diameter: 0.2552 + wheel_base: 0.76 + track_width: 0.4745 min_turning_ratio: 1.0 + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params max_steering_position_error: 0.3 #Cartesian and wheels limits @@ -47,39 +39,39 @@ linear: x: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 y: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 angular: z: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: - min: -1.0 - max: 1.0 + min: -1.2 + max: 1.2 front_right: traction: - joint_name: robot_front_right_wheel_joint + joint_name: $(var frame_prefix)front_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_right_steering_joint + joint_name: $(var frame_prefix)front_right_steering_joint limits: velocity: min: -1.0 @@ -90,16 +82,16 @@ front_left: traction: - joint_name: robot_front_left_wheel_joint + joint_name: $(var frame_prefix)front_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_left_steering_joint + joint_name: $(var frame_prefix)front_left_steering_joint limits: velocity: min: -1.0 @@ -110,16 +102,16 @@ back_right: traction: - joint_name: robot_back_right_wheel_joint + joint_name: $(var frame_prefix)back_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_right_steering_joint + joint_name: $(var frame_prefix)back_right_steering_joint limits: velocity: min: -1.0 @@ -130,16 +122,16 @@ back_left: traction: - joint_name: robot_back_left_wheel_joint + joint_name: $(var frame_prefix)back_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_left_steering_joint + joint_name: $(var frame_prefix)back_left_steering_joint limits: velocity: min: -1.0 diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml similarity index 60% rename from robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml rename to robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml index d6872a7..10a8846 100644 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml @@ -1,23 +1,7 @@ +--- /**: - controller_manager: + robotnik_base_control: ros__parameters: - use_sim_time: true - update_rate: 50 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBVoguiXLController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 50 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true publish_rate: 50 #General Params @@ -27,19 +11,27 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.5 + cmd_vel_timeout: 0.2 #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint use_2D_odom: true #Kinematics Params - wheel_radius: 0.1125 #0.2552 - wheel_base: 0.76 #0.43 - track_width: 0.4745 #0.538 + wheel_radius: 0.1745 + wheel_base: 0.959 + track_width: 0.585 min_turning_ratio: 1.0 + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params max_steering_position_error: 0.3 #Cartesian and wheels limits @@ -47,39 +39,39 @@ linear: x: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 y: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 angular: z: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: - min: -1.0 - max: 1.0 + min: -1.2 + max: 1.2 front_right: traction: - joint_name: robot_front_right_wheel_joint + joint_name: $(var frame_prefix)front_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_right_steering_joint + joint_name: $(var frame_prefix)front_right_steering_joint limits: velocity: min: -1.0 @@ -90,16 +82,16 @@ front_left: traction: - joint_name: robot_front_left_wheel_joint + joint_name: $(var frame_prefix)front_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_left_steering_joint + joint_name: $(var frame_prefix)front_left_steering_joint limits: velocity: min: -1.0 @@ -110,16 +102,16 @@ back_right: traction: - joint_name: robot_back_right_wheel_joint + joint_name: $(var frame_prefix)back_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_right_steering_joint + joint_name: $(var frame_prefix)back_right_steering_joint limits: velocity: min: -1.0 @@ -130,16 +122,16 @@ back_left: traction: - joint_name: robot_back_left_wheel_joint + joint_name: $(var frame_prefix)back_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_left_steering_joint + joint_name: $(var frame_prefix)back_left_steering_joint limits: velocity: min: -1.0 diff --git a/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml b/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml deleted file mode 100644 index 3064602..0000000 --- a/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml +++ /dev/null @@ -1,40 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml b/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml deleted file mode 100644 index 3c570d4..0000000 --- a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml +++ /dev/null @@ -1,135 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBKairosController - - joint_trajectory_controller: - type: joint_trajectory_controller/JointTrajectoryController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - joint_trajectory_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - joints: - - robot_arm_shoulder_pan_joint - - robot_arm_shoulder_lift_joint - - robot_arm_elbow_joint - - robot_arm_wrist_1_joint - - robot_arm_wrist_2_joint - - robot_arm_wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - state_publish_rate: 50.0 - action_monitor_rate: 20.0 - - allow_partial_joints_goal: false - open_loop_control: true - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.2552 - wheel_base: 0.43 - track_width: 0.538 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml b/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml deleted file mode 100644 index 3f1dde9..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml +++ /dev/null @@ -1,26 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml b/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml deleted file mode 100644 index f73820b..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml +++ /dev/null @@ -1,138 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBKairosController - - joint_trajectory_controller: - type: joint_trajectory_controller/JointTrajectoryController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - joint_trajectory_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - joints: - - robot_lift_ewellix_lift_top_joint - - robot_arm_shoulder_pan_joint - - robot_arm_shoulder_lift_joint - - robot_arm_elbow_joint - - robot_arm_wrist_1_joint - - robot_arm_wrist_2_joint - - robot_arm_wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - state_publish_rate: 50.0 - action_monitor_rate: 20.0 - - allow_partial_joints_goal: false - open_loop_control: true - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom_robotnik_controller - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Imu - - #Kinematics Params - wheel_radius: 0.15 - wheel_base: 0.573 - track_width: 1.116 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml b/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml deleted file mode 100644 index 6760a0e..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml +++ /dev/null @@ -1,42 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/top_laser/point_cloud" - gz_topic_name: "/robot/top_lidar/scan/points" - ros_type_name: "sensor_msgs/msg/PointCloud2" - gz_type_name: "gz.msgs.PointCloudPacked" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS - -# -# gz topic published by JointState plugin -- ros_topic_name: "/robot/joint_states" - gz_topic_name: "joint_states" - ros_type_name: "sensor_msgs/msg/JointState" - gz_type_name: "gz.msgs.Model" - direction: GZ_TO_ROS \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml b/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml deleted file mode 100644 index 75e1dd2..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml +++ /dev/null @@ -1,110 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBSummitController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.1125 - track_width: 0.47 - wheel_base: 0.458 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz deleted file mode 100644 index e58f6b1..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz +++ /dev/null @@ -1,313 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: PointCloud2 -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_docking_contact_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_gps_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_gps_mast_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_top_3d_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_top_3d_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/PointCloud2 - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: PointCloud2 - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.009999999776482582 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/top_laser/point_cloud - Use Fixed Frame: true - Use rainbow: true - Value: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 9.600186347961426 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6553981304168701 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.7822139263153076 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml b/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml deleted file mode 100644 index c52efbd..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml +++ /dev/null @@ -1,52 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml b/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml deleted file mode 100644 index 5c13224..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml +++ /dev/null @@ -1,91 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBTheronController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.0762 - track_width: 0.5032 - wheel_base: 0.458 - - max_steering_position_error: 0.0 - - wheels_positions: ["right", "left"] - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - right: - traction: - joint_name: robot_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - left: - traction: - joint_name: robot_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz deleted file mode 100644 index 2a377a0..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz +++ /dev/null @@ -1,449 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 374 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_base_docking_contact: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_front: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_left: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_rear: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_right: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_left_wheel_tire_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_left_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_right_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_right_wheel_tire_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 9.600186347961426 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6553981304168701 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.7822139263153076 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000001ff000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650100000240000001740000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml b/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml deleted file mode 100644 index 672037d..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml +++ /dev/null @@ -1,51 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml b/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml deleted file mode 100644 index 672037d..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml +++ /dev/null @@ -1,51 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz b/robotnik_gazebo_ignition/config/rviz_config.rviz similarity index 64% rename from robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz rename to robotnik_gazebo_ignition/config/rviz_config.rviz index 975bc2e..51d6513 100644 --- a/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz +++ b/robotnik_gazebo_ignition/config/rviz_config.rviz @@ -7,6 +7,7 @@ Panels: - /Global Options1 - /Status1 - /RobotModel1 + - /RobotModel1/Status1 Splitter Ratio: 0.5 Tree Height: 241 - Class: rviz_common/Selection @@ -58,7 +59,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/robot_description + Value: /robotb/robot_description Enabled: true Links: All Links Enabled: true @@ -66,153 +67,133 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order - robot_back_left_visual_wheel_link: + robotb_back_left_wheel_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_back_left_wheel_link: + robotb_back_right_wheel_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_back_right_visual_wheel_link: + robotb_base_docking_contact: Alpha: 1 Show Axes: false Show Trail: false - Value: true - robot_back_right_wheel_link: + robotb_base_footprint: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_docking_contact: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: + robotb_base_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_link: + robotb_base_logo_front: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_logo_front: + robotb_base_logo_left: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_logo_left: + robotb_base_logo_rear: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_logo_rear: + robotb_base_logo_right: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_base_logo_right: + robotb_front_laser_base_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_front_laser_base_link: + robotb_front_laser_link: Alpha: 1 Show Axes: false Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_visual_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel_link: + robotb_front_left_wheel_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_front_rgbd_camera_base_link: + robotb_front_rgbd_camera_base_link: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_color_frame: + robotb_front_rgbd_camera_color_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_color_optical_frame: + robotb_front_rgbd_camera_color_optical_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_depth_frame: + robotb_front_rgbd_camera_depth_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: + robotb_front_rgbd_camera_depth_optical_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_infra1_frame: + robotb_front_rgbd_camera_infra1_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: + robotb_front_rgbd_camera_infra1_optical_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_infra2_frame: + robotb_front_rgbd_camera_infra2_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: + robotb_front_rgbd_camera_infra2_optical_frame: Alpha: 1 Show Axes: false Show Trail: false - robot_front_rgbd_camera_link: + robotb_front_rgbd_camera_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_front_right_visual_wheel_link: + robotb_front_right_wheel_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_front_right_wheel_link: + robotb_imu_base_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_rear_laser_base_link: + robotb_imu_link: Alpha: 1 Show Axes: false Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_top_cover: + robotb_rear_laser_base_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - robot_vectornav_base_link: + robotb_rear_laser_link: Alpha: 1 Show Axes: false Show Trail: false - Value: true - robot_vectornav_link: + robotb_top_cover: Alpha: 1 Show Axes: false Show Trail: false + Value: true Mass Properties: Inertia: false Mass: false @@ -251,7 +232,7 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/rear_laser/scan + Value: /robotb/rear_laser/scan Use Fixed Frame: true Use rainbow: true Value: true @@ -267,7 +248,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw + Value: /robotb/front_rgbd_camera/color/image_raw Value: true - Alpha: 1 Autocompute Intensity Bounds: true @@ -299,14 +280,131 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/front_laser/scan + Value: /robotb/front_laser/scan Use Fixed Frame: true Use rainbow: true Value: true + - Class: rviz_default_plugins/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: true + robotb_back_left_wheel_link: + Value: true + robotb_back_right_wheel_link: + Value: true + robotb_base_docking_contact: + Value: true + robotb_base_footprint: + Value: true + robotb_base_link: + Value: true + robotb_base_logo_front: + Value: true + robotb_base_logo_left: + Value: true + robotb_base_logo_rear: + Value: true + robotb_base_logo_right: + Value: true + robotb_front_laser_base_link: + Value: true + robotb_front_laser_link: + Value: true + robotb_front_left_wheel_link: + Value: true + robotb_front_rgbd_camera_base_link: + Value: true + robotb_front_rgbd_camera_color_frame: + Value: true + robotb_front_rgbd_camera_color_optical_frame: + Value: true + robotb_front_rgbd_camera_depth_frame: + Value: true + robotb_front_rgbd_camera_depth_optical_frame: + Value: true + robotb_front_rgbd_camera_infra1_frame: + Value: true + robotb_front_rgbd_camera_infra1_optical_frame: + Value: true + robotb_front_rgbd_camera_infra2_frame: + Value: true + robotb_front_rgbd_camera_infra2_optical_frame: + Value: true + robotb_front_rgbd_camera_link: + Value: true + robotb_front_right_wheel_link: + Value: true + robotb_imu_base_link: + Value: true + robotb_imu_link: + Value: true + robotb_odom: + Value: true + robotb_rear_laser_base_link: + Value: true + robotb_rear_laser_link: + Value: true + robotb_top_cover: + Value: true + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: false + Tree: + robotb_odom: + robotb_base_footprint: + robotb_base_link: + robotb_back_left_wheel_link: + {} + robotb_back_right_wheel_link: + {} + robotb_base_docking_contact: + {} + robotb_base_logo_front: + {} + robotb_base_logo_left: + {} + robotb_base_logo_rear: + {} + robotb_base_logo_right: + {} + robotb_front_laser_base_link: + robotb_front_laser_link: + {} + robotb_front_left_wheel_link: + {} + robotb_front_rgbd_camera_base_link: + robotb_front_rgbd_camera_link: + robotb_front_rgbd_camera_color_frame: + robotb_front_rgbd_camera_color_optical_frame: + {} + robotb_front_rgbd_camera_depth_frame: + robotb_front_rgbd_camera_depth_optical_frame: + {} + robotb_front_rgbd_camera_infra1_frame: + robotb_front_rgbd_camera_infra1_optical_frame: + {} + robotb_front_rgbd_camera_infra2_frame: + robotb_front_rgbd_camera_infra2_optical_frame: + {} + robotb_front_right_wheel_link: + {} + robotb_imu_base_link: + robotb_imu_link: + {} + robotb_rear_laser_base_link: + robotb_rear_laser_link: + {} + robotb_top_cover: + {} + Update Interval: 0 + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint + Fixed Frame: robotb_odom Frame Rate: 30 Name: root Tools: @@ -349,25 +447,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 10.589208602905273 + Distance: 3.956124782562256 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 + X: 0.08843796700239182 + Y: 0.0035828608088195324 + Z: 0.13061656057834625 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.6653980612754822 + Pitch: 0.5803976655006409 Target Frame: Value: Orbit (rviz) - Yaw: 2.1203980445861816 + Yaw: 5.408578395843506 Saved: ~ Window Geometry: Displays: @@ -377,7 +475,7 @@ Window Geometry: Height: 1016 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000001600ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d00650100000000000007380000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004010000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000002800ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a0000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004030000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -386,6 +484,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 1848 - X: 72 + Width: 1850 + X: 70 Y: 27 diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index 841ea09..aef772e 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -1,4 +1,4 @@ -# Copyright (c) 2022, Robotnik Automation S.L.L. +# Copyright (c) 2025, Robotnik Automation S.L.L. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -22,209 +22,232 @@ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import os -from launch import LaunchDescription -from launch.actions import GroupAction, IncludeLaunchDescription -from launch.substitutions import LaunchConfiguration, Command, FindExecutable -from launch_ros.actions import Node, PushRosNamespace -from launch_ros.substitutions import FindPackageShare -from launch_ros.descriptions import ParameterValue -from robotnik_common.launch import ExtendedArgument, AddArgumentParser -from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.conditions import IfCondition - -from ament_index_python.packages import get_package_share_directory - -from launch.event_handlers import (OnExecutionComplete, OnProcessExit, - OnProcessIO, OnProcessStart, OnShutdown) -from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess, - LogInfo, RegisterEventHandler, TimerAction) - - -def generate_launch_description(): +import tempfile +import yaml - ld = LaunchDescription() - add_to_launcher = AddArgumentParser(ld) - arg = ExtendedArgument( - name='namespace', - description='Namespace', - default_value='robot', - use_env=True, - environment='NAMESPACE', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='robot', - description='Robot model (rbvogui, rbkairos, rbtheron, rbsummit)', - default_value='', - use_env=True, - environment='ROBOT', - ) - add_to_launcher.add_arg(arg) - robot = LaunchConfiguration('robot') - - arg = ExtendedArgument( - name='robot_model', - description='Robot type variation (rbvogui, rbvogui_6w, rbvogui_ackermann)', - default_value=robot, - use_env=True, - environment='ROBOT_MODEL', - ) - add_to_launcher.add_arg(arg) - robot_model = LaunchConfiguration('robot_model') - - arg = ExtendedArgument( - name='robot_xacro_file', - description='Name of the xacro file', - default_value=[robot, '/', robot_model, '.urdf.xacro'], - use_env=True, - environment='ROBOT_XACRO_FILE', - ) - add_to_launcher.add_arg(arg) - - robot_xacro_file = LaunchConfiguration('robot_xacro_file') - arg = ExtendedArgument( - name='robot_xacro_path', - description='Path to the xacro file', - default_value=[FindPackageShare('robotnik_description'), '/robots/', robot_xacro_file], - use_env=True, - environment='ROBOT_XACRO_PATH', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='x', - description='x position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='y', - description='y position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='z', - description='z position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='has_arm', - description='If robot has an arm to start controller', - default_value='False', - ) - add_to_launcher.add_arg(arg) - params = add_to_launcher.process_arg() - - robot_dir = os.path.join(get_package_share_directory('robotnik_description'), 'launch') - - robot_state = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(robot_dir, 'robot_description.launch.py') - ), - launch_arguments={ - 'verbose': 'false', - 'robot_xacro_file': robot_xacro_file, - 'namespace': params['namespace'], - 'gazebo_ignition': 'true', - }.items(), - ) +from launch import LaunchDescription +from launch.actions import IncludeLaunchDescription, OpaqueFunction +from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch_ros.parameter_descriptions import ParameterFile +from launch.substitutions import LaunchConfiguration - ld.add_action(robot_state) - - robot_spawner = Node( - package='ros_gz_sim', - executable='create', - arguments=[ - '-name', [params['namespace'], '/', params['robot']], - '-topic', "robot_description", - '-robot_namespace', params['namespace'], - '-x', params['x'], - '-y', params['y'], - '-z', params['z'], - ], - output='screen', - namespace=params['namespace'] - ) - ld.add_action(robot_spawner) +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare - bridge_params = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/bridge.yaml'] - ros_gz_bridge = Node( +from robotnik_common.launch import AddArgumentParser, ExtendedArgument + + +from pathlib import Path +from tempfile import NamedTemporaryFile +from typing import Union, Optional + +from launch import SomeSubstitutionsType, SomeSubstitutionsType_types_tuple +from launch.substitutions import SubstitutionFailure +from launch.frontend.parse_substitution import parse_substitution +from launch.utilities import normalize_to_list_of_substitutions, perform_substitutions +from launch.utilities.typing_file_path import FilePath +from launch.substitution import Substitution +from launch import LaunchContext + +class ConfigFile(Substitution): + """Substitution to get the path of the configuration file.""" + + def __init__( + self, + param_file: Union[FilePath, SomeSubstitutionsType], + ) -> None: + """ + Construct a parameter file description. + + :param param_file: The path to the parameter file or a substitution that resolves to it. + """ + self.__evaluated_param_file: Optional[Path] = None + self.__created_tmp_file = False + + self.__param_file = param_file + if isinstance(param_file, SomeSubstitutionsType_types_tuple): + self.__param_file = normalize_to_list_of_substitutions(param_file) # type: ignore + + def perform(self, context: LaunchContext) -> str: + """Substitute the parameter file path.""" + param_file = self.__param_file + if isinstance(param_file, list): + # list of substitutions + param_file = perform_substitutions(context, self.__param_file) # type: ignore + + param_file_path: Path = Path(param_file) # type: ignore + with open(param_file_path, 'r') as f, NamedTemporaryFile( + mode='w', prefix='launch_params_', delete=False + ) as h: + parsed = perform_substitutions(context, parse_substitution(f.read())) # type: ignore + try: + yaml.safe_load(parsed) + except Exception: + raise SubstitutionFailure( + 'The substituted parameter file is not a valid yaml file') + h.write(parsed) + param_file_path = Path(h.name) + self.__created_tmp_file = True + self.__evaluated_param_file = param_file_path + return str(param_file_path) + + def cleanup(self) -> None: + """Remove the temporary file if it was created.""" + if self.__created_tmp_file and self.__evaluated_param_file is not None: + try: + self.__evaluated_param_file.unlink() + except FileNotFoundError: + # The file may have been deleted already, ignore this error + pass + self.__evaluated_param_file = None + + def __del__(self): + """Clean up the temporary file when the object is deleted.""" + self.cleanup() + + +def substitute_param_context(param, context): + """Resolve a parameter if it is a LaunchConfiguration.""" + if isinstance(param, LaunchConfiguration): + return param.perform(context) + return param + +def launch_setup(context, params): + ret = [] + + # Robot Description + ret.append(IncludeLaunchDescription( + PythonLaunchDescriptionSource([ + FindPackageShare('robotnik_description'), '/launch/robot_description.launch.py' + ]), + launch_arguments={ + 'verbose': 'false', + 'robot_xacro_file': params['robot_xacro'], + 'frame_prefix': [params['robot_id'], '_'], + 'namespace': params['robot_id'], + 'gazebo_ignition': 'true', + }.items(), + )) + + # Spawner + ret.append(Node( + package='ros_gz_sim', + executable='create', + namespace=params['robot_id'], + arguments=[ + '-name', params['robot_id'], + '-topic', "robot_description", + '-robot_namespace', params['robot_id'], + '-x', params['x'], + '-y', params['y'], + '-z', params['z'], + ], + output='screen', + )) + + # Gazebo bridge + def generate_bridge_yaml(params) -> str: + robot_id = substitute_param_context(params['robot_id'], context) + bridge_raw = [ + ("clock", "/clock", "rosgraph_msgs/msg/Clock", "gz.msgs.Clock", "GZ_TO_ROS"), + (f"/{robot_id}/imu/data", f"/{robot_id}/imu/data", "sensor_msgs/msg/Imu", "ignition.msgs.IMU", "GZ_TO_ROS"), + ] + def add_camera(camera_name): + bridge_raw.extend([ + (f"/{robot_id}/{camera_name}_camera_color/color/camera_info", f"/{robot_id}/{camera_name}_rgbd_camera/color/camera_info", "sensor_msgs/msg/CameraInfo", "gz.msgs.CameraInfo", "GZ_TO_ROS"), + (f"/{robot_id}/{camera_name}_camera_color/color/image_raw", f"/{robot_id}/{camera_name}_rgbd_camera/color/image_raw", "sensor_msgs/msg/Image", "gz.msgs.Image", "GZ_TO_ROS"), + ]) + def add_laser(laser_name): + bridge_raw.extend([ + (f"/{robot_id}/{laser_name}_laser/scan", f"/{robot_id}/{laser_name}_laser/scan", "sensor_msgs/msg/LaserScan", "gz.msgs.LaserScan", "GZ_TO_ROS"), + ]) + def add_pointcloud(points_name): + bridge_raw.extend([ + ( f"/{robot_id}/{points_name}_lidar/scan/points", f"/{robot_id}/{points_name}_laser/points", "sensor_msgs/msg/PointCloud2", "gz.msgs.PointCloudPacked", "GZ_TO_ROS"), + ]) + + add_camera("front") + add_camera("rear") + add_laser("front") + add_laser("rear") + add_pointcloud("top") + + bridge_config = [{"ros_topic_name": ros, "gz_topic_name": gz, "ros_type_name": ros_type, "gz_type_name": gz_type, "direction": direction} for gz, ros, ros_type, gz_type, direction in bridge_raw] + with tempfile.NamedTemporaryFile(mode='w', delete=False) as tmp: + yaml.dump(bridge_config, tmp) + print(f"Bridge config file: {tmp.name}") + return tmp.name + + bridge_yaml = generate_bridge_yaml(params) + ret.append(Node( package="ros_gz_bridge", executable="parameter_bridge", parameters=[ - {'config_file': bridge_params}, + {'config_file': bridge_yaml}, + ], + namespace=params['robot_id'], + )) + + # ROS2 control + controllers = ['joint_state_broadcaster', 'robotnik_base_control'] + has_arm = substitute_param_context(params['has_arm'], context).lower() == 'true' + if has_arm: + controllers.append('joint_trajectory_controller') + robot_controller_config = ConfigFile( + [ + FindPackageShare('robotnik_gazebo_ignition'), '/config/profile/', LaunchConfiguration('robot'), '/ros2_control.yaml', ], - namespace=params['namespace'] - ) - ld.add_action(ros_gz_bridge) - - joint_state_broadcaster = Node( - package='controller_manager', - executable='spawner', - arguments=['joint_state_broadcaster'], - namespace=params['namespace'] ) - ld.add_action(joint_state_broadcaster) - - joint_trajectory_controller= Node( - package='controller_manager', - executable='spawner', - arguments=['joint_trajectory_controller'], - output='screen', - emulate_tty=True, - namespace=params['namespace'], - condition=IfCondition(params['has_arm']) + controllers.append('--param-file') + controllers.append( + robot_controller_config, # type: ignore ) - init_joint_trajectory_controller = RegisterEventHandler( - OnProcessExit( - target_action=joint_state_broadcaster, - on_exit=[ - LogInfo(msg='JointStateBroadcaster spawned, launching JointTrajectoryController'), - joint_trajectory_controller - ] - ) - ) - ld.add_action(init_joint_trajectory_controller) - - robotnik_controller= Node( + print("Controllers to load:", robot_controller_config) + ret.append(Node( package='controller_manager', executable='spawner', - arguments=['robotnik_base_controller'], + namespace=params['robot_id'], + arguments=controllers, output='screen', - emulate_tty=True, - namespace=params['namespace'] - ) + )) - init_robotnik_controller = RegisterEventHandler( - OnProcessExit( - target_action=joint_state_broadcaster, - on_exit=[ - LogInfo(msg='JointStateBroadcaster spawned, launching RobotnikBaseController'), - robotnik_controller - ] - ) - ) - ld.add_action(init_robotnik_controller) - - rviz2_config = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/rviz_config.rviz'] - - rviz2 = Node( + # RViz + rviz_config = [FindPackageShare('robotnik_gazebo_ignition'),'/config/rviz_config.rviz'] + ret.append(Node( package="rviz2", executable="rviz2", - namespace=params['namespace'], - arguments=['-d', rviz2_config] + namespace=params['robot_id'], + arguments=['-d', rviz_config], + )) - ) - ld.add_action(rviz2) + return ret - return ld +def generate_launch_description(): + raw_args = [ + ("robot_id", "Robot ID", "robot", "ROBOT_ID"), + ("robot", "Robot Model", "", "ROBOT"), + ("robot_model", "Robot Type", LaunchConfiguration('robot'), "ROBOT_MODEL"), + ("robot_xacro", "Robot Xacro File Path", [FindPackageShare('robotnik_description'), '/robots/', LaunchConfiguration('robot'), '/', LaunchConfiguration('robot_model'), '.urdf.xacro'], "ROBOT_XACRO"), + ("x", "X Position", "0.0", "X"), + ("y", "Y Position", "0.0", "Y"), + ("z", "Z Position", "0.0", "Z"), + ("has_arm", "Has Arm", "False", "HAS_ARM"), + ] + + ld = LaunchDescription() + add_to_launcher = AddArgumentParser(ld) + for arg in raw_args: + extended_arg = ExtendedArgument( + name=arg[0], + description=arg[1], + default_value=arg[2], + use_env=True, + environment=arg[3], + ) + add_to_launcher.add_arg(extended_arg) + params = add_to_launcher.process_arg() + ld.add_action(OpaqueFunction(function=launch_setup, args=[params])) + return ld diff --git a/robotnik_gazebo_ignition/launch/spawn_world.launch.py b/robotnik_gazebo_ignition/launch/spawn_world.launch.py index 993566e..c70ba94 100644 --- a/robotnik_gazebo_ignition/launch/spawn_world.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_world.launch.py @@ -71,14 +71,14 @@ def generate_launch_description(): ), 'gz_sim.launch.py') ), - launch_arguments={ + launch_arguments={ 'gz_args':[ '-r ', '-s ', #'-v4 ', #verbose level params['world_path'] # 'empty.sdf' - ], + ], 'on_exit_shutdown':'true' }.items(), ), diff --git a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world index 5c8063f..422c086 100644 --- a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world +++ b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world @@ -5,7 +5,6 @@ 0.003 1.0 1000 - 0 0 -9.8 From 875d8ed640ba43ffb89109ec06b3e9dbc470a9c2 Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Thu, 28 Aug 2025 23:54:47 +0200 Subject: [PATCH 06/23] add hook --- robotnik_gazebo_ignition/CMakeLists.txt | 2 + .../hooks/robotnik_gazebo_ignition.sh.in | 39 +++++++++++++++++++ robotnik_gazebo_ignition/package.xml | 10 +++-- 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in diff --git a/robotnik_gazebo_ignition/CMakeLists.txt b/robotnik_gazebo_ignition/CMakeLists.txt index 52af660..8eac2ee 100644 --- a/robotnik_gazebo_ignition/CMakeLists.txt +++ b/robotnik_gazebo_ignition/CMakeLists.txt @@ -3,6 +3,8 @@ project(robotnik_gazebo_ignition) find_package(ament_cmake REQUIRED) +ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.sh.in") + if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) set(ament_cmake_copyright_FOUND TRUE) diff --git a/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in b/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in new file mode 100644 index 0000000..408d17e --- /dev/null +++ b/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in @@ -0,0 +1,39 @@ +#!/usr/bin/env sh + +# This hook adds robotnik gazebo resources to the appropriate environment variables +_GZ_PKGS=${GZ_RESOURCE_PKGS:-"robotnik_gazebo_ignition robotnik_description robotnik_sensors ur_description"} + + +_prepend_unique_value() { + eval _cur="\${$1}" + case ":$_cur:" in *":$2:"*) return 0;; esac + if [ -n "$_cur" ]; then eval export "$1=\"$2:$_cur\""; else eval export "$1=\"$2\""; fi +} + +_get_parent_abs_path() { + echo "$(CDPATH= cd -- "$(dirname "$1")" 2>/dev/null && pwd)" +} + +if [ -n "$AMENT_CURRENT_PREFIX" ]; then + _self_prefix="$AMENT_CURRENT_PREFIX" +else + _hook_dir="$(CDPATH= cd -- "$(dirname "$0")" 2>/dev/null && pwd)" + _self_prefix="$(CDPATH= cd -- "$_hook_dir/../../.." 2>/dev/null && pwd)" +fi + +_prefixes="$AMENT_PREFIX_PATH" +case ":$_prefixes:" in *":$_self_prefix:"*) : ;; *) _prefixes="$_self_prefix${_prefixes:+:$_prefixes}";; esac + +for _prefix in $(printf %s "$_prefixes" | tr ':' ' '); do + for _pkg in $_GZ_PKGS; do + _p="$_prefix/share/$_pkg" + if [ -d "$_p" ]; then + _prepend_unique_value GZ_SIM_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + _prepend_unique_value IGN_GAZEBO_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + _prepend_unique_value GAZEBO_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + fi + done +done + +unset _prefix _pkg _p _prefixes _self_prefix _hook_dir _GZ_PKGS +unset -f _prepend_unique_value _get_parent_abs_path diff --git a/robotnik_gazebo_ignition/package.xml b/robotnik_gazebo_ignition/package.xml index 5d1f922..d5154e5 100644 --- a/robotnik_gazebo_ignition/package.xml +++ b/robotnik_gazebo_ignition/package.xml @@ -1,10 +1,11 @@ - + robotnik_gazebo_ignition 0.0.0 - Package to simulate robots in Gazebo - + Package to simulate robots in Gazebo Robotnik Support Apache-2.0 @@ -21,6 +22,9 @@ teleop_twist_keyboard rqt_joint_trajectory_controller + robotnik_description + robotnik_sensors + ament_lint_auto ament_lint_common From 27248f8b0ddab76a61d3beaafff71e9ee3ae1697 Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Thu, 28 Aug 2025 23:55:13 +0200 Subject: [PATCH 07/23] update doc --- docs/gazebo-harmonic-humble.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md index d25e728..741a2a4 100644 --- a/docs/gazebo-harmonic-humble.md +++ b/docs/gazebo-harmonic-humble.md @@ -54,7 +54,7 @@ robotnik_interfaces: robotnik_sensors: type: git url: https://github.com/RobotnikAutomation/robotnik_sensors.git - version: a83a9831d7fc08343f28381ff99a8451d2c38604 # Waiting for upstream release + version: faaab6e1db429a6708c65d7311b148bba592fd1a # humble-devel robotnik_simulation: type: git url: https://github.com/RobotnikAutomation/robotnik_simulation.git From 6b706f07587b859a1deb9e996d56308fe4ee7188 Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Thu, 28 Aug 2025 23:56:46 +0200 Subject: [PATCH 08/23] added controller configs --- .../config/profile/rb1/ros2_control.yaml | 2 +- .../config/profile/rbkairos/ros2_control.yaml | 27 +- .../config/profile/rbrobout/ros2_control.yaml | 28 +- .../config/profile/rbsummit/ros2_control.yaml | 2 +- .../config/profile/rbtheron/ros2_control.yaml | 43 ++- .../config/profile/rbvogui/ros2_control.yaml | 28 +- .../profile/rbvogui_xl/ros2_control.yaml | 2 +- .../config/rviz_config.rviz | 329 ++++-------------- .../launch/spawn_robot.launch.py | 31 +- .../launch/spawn_world.launch.py | 7 +- .../ignition/{demo.sdf.world => demo.world} | 0 11 files changed, 208 insertions(+), 291 deletions(-) rename robotnik_gazebo_ignition/worlds/ignition/{demo.sdf.world => demo.world} (100%) diff --git a/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml index 5034a75..7bd7b87 100644 --- a/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml @@ -11,7 +11,7 @@ # Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 # Odom odom_frame_id: $(var frame_prefix)odom diff --git a/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml index 93d4387..012fbb8 100644 --- a/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml @@ -12,7 +12,7 @@ # Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 #Odom odom_frame_id: $(var frame_prefix)odom @@ -103,3 +103,28 @@ acceleration: min: -10.0 max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml index 66d27ba..2f2e757 100644 --- a/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml @@ -9,7 +9,7 @@ # Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 # Odom odom_frame_id: $(var frame_prefix)odom @@ -90,3 +90,29 @@ acceleration: min: -10.0 max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)lift_ewellix_lift_top_joint + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml index 674f209..e12489d 100644 --- a/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml @@ -12,7 +12,7 @@ # Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 # Odom odom_frame_id: $(var frame_prefix)odom diff --git a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml index a09a6c2..70ee407 100644 --- a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml @@ -1,5 +1,18 @@ --- /**: + joint_state_broadcaster: + ros__parameters: + # Need to publish zeros for the fake joints + extra_joints: + - $(var frame_prefix)front_left_joint_support + - $(var frame_prefix)front_left_joint_wheel + - $(var frame_prefix)front_right_joint_support + - $(var frame_prefix)front_right_joint_wheel + - $(var frame_prefix)rear_left_joint_support + - $(var frame_prefix)rear_left_joint_wheel + - $(var frame_prefix)rear_right_joint_support + - $(var frame_prefix)rear_right_joint_wheel + robotnik_base_control: ros__parameters: publish_rate: 50 @@ -11,7 +24,7 @@ # Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 2.0 # TODO: restore to 0.1s + cmd_vel_timeout: 2.0 # Odom odom_frame_id: $(var frame_prefix)odom @@ -19,7 +32,7 @@ set_odometry_service: ~/set_odometry # Kinematics Params - wheel_radius: 0.0703 # radius: 0.0703 + wheel_radius: 0.0703 track_width: 0.5032 wheel_base: 0.0 max_steering_position_error: 0.3 @@ -72,4 +85,28 @@ max: 270.7 acceleration: min: -100.0 - max: 100.0 \ No newline at end of file + max: 100.0 + + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml index 9e084c5..a2522cf 100644 --- a/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml @@ -1,6 +1,6 @@ --- /**: - robotnik_base_control: + robotnik_base_control: ros__parameters: publish_rate: 50 @@ -11,7 +11,7 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 #Odom odom_frame_id: $(var frame_prefix)odom @@ -139,3 +139,27 @@ position: min: -2.8 max: 2.8 + + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml index 10a8846..d10f534 100644 --- a/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml @@ -11,7 +11,7 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.2 + cmd_vel_timeout: 2.0 #Odom odom_frame_id: $(var frame_prefix)odom diff --git a/robotnik_gazebo_ignition/config/rviz_config.rviz b/robotnik_gazebo_ignition/config/rviz_config.rviz index 51d6513..93dce6d 100644 --- a/robotnik_gazebo_ignition/config/rviz_config.rviz +++ b/robotnik_gazebo_ignition/config/rviz_config.rviz @@ -3,13 +3,9 @@ Panels: Help Height: 78 Name: Displays Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /RobotModel1/Status1 + Expanded: ~ Splitter Ratio: 0.5 - Tree Height: 241 + Tree Height: 448 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -27,7 +23,10 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: RearLaserScan + SyncSource: FrontLaserScan + - Class: rviz_plugin_tutorials/Teleop + Name: Teleop + Topic: robotnik_base_control/cmd_vel_unstamped Visualization Manager: Class: "" Displays: @@ -59,7 +58,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robotb/robot_description + Value: robot_description Enabled: true Links: All Links Enabled: true @@ -67,133 +66,6 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order - robotb_back_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_back_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_docking_contact: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_logo_front: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_logo_left: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_logo_rear: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_base_logo_right: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_front_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_imu_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_imu_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robotb_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robotb_top_cover: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true Mass Properties: Inertia: false Mass: false @@ -202,6 +74,18 @@ Visualization Manager: Update Interval: 0 Value: true Visual Enabled: true + - Class: rviz_default_plugins/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: true + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: false + Update Interval: 0 + Value: true - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -220,7 +104,7 @@ Visualization Manager: Max Intensity: 0 Min Color: 0; 0; 0 Min Intensity: 0 - Name: RearLaserScan + Name: FrontLaserScan Position Transformer: XYZ Selectable: true Size (Pixels): 3 @@ -232,7 +116,7 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robotb/rear_laser/scan + Value: front_laser/scan Use Fixed Frame: true Use rainbow: true Value: true @@ -248,7 +132,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robotb/front_rgbd_camera/color/image_raw + Value: front_rgbd_camera/color/image_raw Value: true - Alpha: 1 Autocompute Intensity Bounds: true @@ -280,131 +164,48 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robotb/front_laser/scan + Value: rear_laser/scan Use Fixed Frame: true Use rainbow: true Value: true - - Class: rviz_default_plugins/TF + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 Enabled: true - Frame Timeout: 15 - Frames: - All Enabled: true - robotb_back_left_wheel_link: - Value: true - robotb_back_right_wheel_link: - Value: true - robotb_base_docking_contact: - Value: true - robotb_base_footprint: - Value: true - robotb_base_link: - Value: true - robotb_base_logo_front: - Value: true - robotb_base_logo_left: - Value: true - robotb_base_logo_rear: - Value: true - robotb_base_logo_right: - Value: true - robotb_front_laser_base_link: - Value: true - robotb_front_laser_link: - Value: true - robotb_front_left_wheel_link: - Value: true - robotb_front_rgbd_camera_base_link: - Value: true - robotb_front_rgbd_camera_color_frame: - Value: true - robotb_front_rgbd_camera_color_optical_frame: - Value: true - robotb_front_rgbd_camera_depth_frame: - Value: true - robotb_front_rgbd_camera_depth_optical_frame: - Value: true - robotb_front_rgbd_camera_infra1_frame: - Value: true - robotb_front_rgbd_camera_infra1_optical_frame: - Value: true - robotb_front_rgbd_camera_infra2_frame: - Value: true - robotb_front_rgbd_camera_infra2_optical_frame: - Value: true - robotb_front_rgbd_camera_link: - Value: true - robotb_front_right_wheel_link: - Value: true - robotb_imu_base_link: - Value: true - robotb_imu_link: - Value: true - robotb_odom: - Value: true - robotb_rear_laser_base_link: - Value: true - robotb_rear_laser_link: - Value: true - robotb_top_cover: - Value: true - Marker Scale: 1 - Name: TF - Show Arrows: true - Show Axes: true - Show Names: false - Tree: - robotb_odom: - robotb_base_footprint: - robotb_base_link: - robotb_back_left_wheel_link: - {} - robotb_back_right_wheel_link: - {} - robotb_base_docking_contact: - {} - robotb_base_logo_front: - {} - robotb_base_logo_left: - {} - robotb_base_logo_rear: - {} - robotb_base_logo_right: - {} - robotb_front_laser_base_link: - robotb_front_laser_link: - {} - robotb_front_left_wheel_link: - {} - robotb_front_rgbd_camera_base_link: - robotb_front_rgbd_camera_link: - robotb_front_rgbd_camera_color_frame: - robotb_front_rgbd_camera_color_optical_frame: - {} - robotb_front_rgbd_camera_depth_frame: - robotb_front_rgbd_camera_depth_optical_frame: - {} - robotb_front_rgbd_camera_infra1_frame: - robotb_front_rgbd_camera_infra1_optical_frame: - {} - robotb_front_rgbd_camera_infra2_frame: - robotb_front_rgbd_camera_infra2_optical_frame: - {} - robotb_front_right_wheel_link: - {} - robotb_imu_base_link: - robotb_imu_link: - {} - robotb_rear_laser_base_link: - robotb_rear_laser_link: - {} - robotb_top_cover: - {} - Update Interval: 0 + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.05000000074505806 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: top_laser/points + Use Fixed Frame: true + Use rainbow: true Value: true Enabled: true Global Options: Background Color: 48; 48; 48 - Fixed Frame: robotb_odom + Fixed Frame: robot_odom Frame Rate: 30 Name: root Tools: @@ -447,25 +248,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 3.956124782562256 + Distance: 3.8563950061798096 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 0.08843796700239182 - Y: 0.0035828608088195324 - Z: 0.13061656057834625 - Focal Shape Fixed Size: true + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.5803976655006409 + Pitch: 0.7853981852531433 Target Frame: Value: Orbit (rviz) - Yaw: 5.408578395843506 + Yaw: 0.7853981852531433 Saved: ~ Window Geometry: Displays: @@ -475,9 +276,11 @@ Window Geometry: Height: 1016 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000002800ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a0000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004030000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000001ad0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000249000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d006100670065010000028a0000010f0000002800ffffff000000010000010f0000035efc0200000004fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000215000000a000fffffffb0000000c00540065006c0065006f00700100000256000001430000004500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a0000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004720000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false + Teleop: + collapsed: false Time: collapsed: false Tool Properties: diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index aef772e..2fbafbc 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -50,6 +50,8 @@ from launch.substitution import Substitution from launch import LaunchContext + +# TODO: move this utility class into robotnik_common class ConfigFile(Substitution): """Substitution to get the path of the configuration file.""" @@ -152,6 +154,7 @@ def generate_bridge_yaml(params) -> str: bridge_raw = [ ("clock", "/clock", "rosgraph_msgs/msg/Clock", "gz.msgs.Clock", "GZ_TO_ROS"), (f"/{robot_id}/imu/data", f"/{robot_id}/imu/data", "sensor_msgs/msg/Imu", "ignition.msgs.IMU", "GZ_TO_ROS"), + (f"/{robot_id}/gps/data", f"/{robot_id}/gps/fix", "sensor_msgs/msg/NavSatFix", "ignition.msgs.NavSat", "GZ_TO_ROS"), ] def add_camera(camera_name): bridge_raw.extend([ @@ -176,7 +179,6 @@ def add_pointcloud(points_name): bridge_config = [{"ros_topic_name": ros, "gz_topic_name": gz, "ros_type_name": ros_type, "gz_type_name": gz_type, "direction": direction} for gz, ros, ros_type, gz_type, direction in bridge_raw] with tempfile.NamedTemporaryFile(mode='w', delete=False) as tmp: yaml.dump(bridge_config, tmp) - print(f"Bridge config file: {tmp.name}") return tmp.name bridge_yaml = generate_bridge_yaml(params) @@ -204,7 +206,6 @@ def add_pointcloud(points_name): robot_controller_config, # type: ignore ) - print("Controllers to load:", robot_controller_config) ret.append(Node( package='controller_manager', executable='spawner', @@ -214,27 +215,31 @@ def add_pointcloud(points_name): )) # RViz - rviz_config = [FindPackageShare('robotnik_gazebo_ignition'),'/config/rviz_config.rviz'] ret.append(Node( package="rviz2", executable="rviz2", namespace=params['robot_id'], - arguments=['-d', rviz_config], + arguments=[ + '-d', [FindPackageShare('robotnik_gazebo_ignition'), '/config/rviz_config.rviz'], + # Fixed frame + '-f', [params['robot_id'], '_odom'], + # Window name + '-t', [params['robot_id'], ' - ', params['robot_model'], ' - RViz'] + ] )) - return ret def generate_launch_description(): raw_args = [ - ("robot_id", "Robot ID", "robot", "ROBOT_ID"), - ("robot", "Robot Model", "", "ROBOT"), - ("robot_model", "Robot Type", LaunchConfiguration('robot'), "ROBOT_MODEL"), - ("robot_xacro", "Robot Xacro File Path", [FindPackageShare('robotnik_description'), '/robots/', LaunchConfiguration('robot'), '/', LaunchConfiguration('robot_model'), '.urdf.xacro'], "ROBOT_XACRO"), - ("x", "X Position", "0.0", "X"), - ("y", "Y Position", "0.0", "Y"), - ("z", "Z Position", "0.0", "Z"), - ("has_arm", "Has Arm", "False", "HAS_ARM"), + ("robot_id", "Unique Robot Identifier", "robot", "ROBOT_ID"), + ("robot", "Robot Model Name", "", "ROBOT"), + ("robot_model", "Robot Variant or Type", LaunchConfiguration('robot'), "ROBOT_MODEL"), + ("robot_xacro", "Path to Robot Xacro File", [FindPackageShare('robotnik_description'), '/robots/', LaunchConfiguration('robot'), '/', LaunchConfiguration('robot_model'), '.urdf.xacro'], "ROBOT_XACRO"), + ("x", "Initial X Coordinate", "0.0", "X"), + ("y", "Initial Y Coordinate", "0.0", "Y"), + ("z", "Initial Z Coordinate", "0.0", "Z"), + ("has_arm", "Enable Arm Controller", "False", "HAS_ARM"), ] ld = LaunchDescription() diff --git a/robotnik_gazebo_ignition/launch/spawn_world.launch.py b/robotnik_gazebo_ignition/launch/spawn_world.launch.py index c70ba94..f12413d 100644 --- a/robotnik_gazebo_ignition/launch/spawn_world.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_world.launch.py @@ -44,15 +44,14 @@ def generate_launch_description(): arg = ExtendedArgument( name='world', description='world in gazebo classic', - default_value='demo.sdf.world', - # default_value='warehouse_big.sdf', + default_value='demo', ) add_to_launcher.add_arg(arg) arg = ExtendedArgument( name='world_path', description='world path in gazebo classic', - default_value=[FindPackageShare('robotnik_gazebo_ignition'), '/worlds/ignition/', world], + default_value=[FindPackageShare('robotnik_gazebo_ignition'), '/worlds/ignition/', world, '.world'], # type: ignore ) add_to_launcher.add_arg(arg) @@ -75,9 +74,7 @@ def generate_launch_description(): 'gz_args':[ '-r ', '-s ', - #'-v4 ', #verbose level params['world_path'] - # 'empty.sdf' ], 'on_exit_shutdown':'true' }.items(), diff --git a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo.world similarity index 100% rename from robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world rename to robotnik_gazebo_ignition/worlds/ignition/demo.world From 9a9ddc5621daa7480f94af3f7f2edab003a075aa Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Thu, 28 Aug 2025 23:59:35 +0200 Subject: [PATCH 09/23] update doc --- docs/gazebo-harmonic-humble.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md index 741a2a4..dcfaf25 100644 --- a/docs/gazebo-harmonic-humble.md +++ b/docs/gazebo-harmonic-humble.md @@ -39,6 +39,10 @@ gz_ros2_control: type: git url: https://github.com/ros-controls/gz_ros2_control.git version: 0.7.16 +visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 robotnik_common: type: git url: https://github.com/RobotnikAutomation/robotnik_common.git From 5ab55713482eadca0128560e2a8806cff0a23346 Mon Sep 17 00:00:00 2001 From: albertmg2023 <113520317+albertmg2023@users.noreply.github.com> Date: Fri, 29 Aug 2025 15:21:15 +0200 Subject: [PATCH 10/23] add rbficus, rbsummit_steel, rbwatcher --- .../config/profile/rbficus/ros2_control.yaml | 141 ++++++++++++++++++ .../profile/rbsummit_steel/ros2_control.yaml | 130 ++++++++++++++++ .../profile/rbwatcher/ros2_control.yaml | 106 +++++++++++++ 3 files changed, 377 insertions(+) create mode 100644 robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml create mode 100644 robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml diff --git a/robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml new file mode 100644 index 0000000..3b10bca --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml @@ -0,0 +1,141 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + #General Params + profile: base + debug: true + open_loop: true + + #Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + #Kinematics Params + wheel_radius: 0.1745 + wheel_base: 1.34 + track_width: 1.23 + min_turning_ratio: 1.0 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params + max_steering_position_error: 0.3 + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.2 + max: 1.2 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)front_right_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)front_left_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)back_right_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)back_left_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 diff --git a/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml new file mode 100644 index 0000000..012fbb8 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml @@ -0,0 +1,130 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.11 # radius: 0.11 + track_width: 0.47 + wheel_base: 0.458 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBKairos Controller Params + + # Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -7.5 + max: 7.5 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml new file mode 100644 index 0000000..e12489d --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml @@ -0,0 +1,106 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.11 + # TODO: simulation same but divided by 2 + track_width: 0.245 + wheel_base: 0.225 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBSummit Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -2.0 + max: 2.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 From a9cbfcad011405a37655527a185a27b1158c98fa Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Mon, 1 Sep 2025 13:32:14 +0200 Subject: [PATCH 11/23] add: repositories --- robotnik_simulation.humble.repos | 32 ++++++++++++++++++++++++++++++++ robotnik_simulation.jazzy.repos | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 robotnik_simulation.humble.repos create mode 100644 robotnik_simulation.jazzy.repos diff --git a/robotnik_simulation.humble.repos b/robotnik_simulation.humble.repos new file mode 100644 index 0000000..2c7dd7e --- /dev/null +++ b/robotnik_simulation.humble.repos @@ -0,0 +1,32 @@ +repositories: + # Dependencies + ros-control/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 1.2.15 + ros-visualization/visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 + + # Robotnik + robotnik/robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 + robotnik/robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: 48c4f1be10751fa7fd04d3e0564d6542bb63481e # Waiting for release (feat/jazzy/gz-webhook) + robotnik/robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 + robotnik/robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: a904966011cada1d3b76508080438029b6fe2f09 # Waiting for release (chore/jazzy/apply-linter) + robotnik/robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: feat/humble/add-harmonic-gz # TODO: change before merging diff --git a/robotnik_simulation.jazzy.repos b/robotnik_simulation.jazzy.repos new file mode 100644 index 0000000..2c7dd7e --- /dev/null +++ b/robotnik_simulation.jazzy.repos @@ -0,0 +1,32 @@ +repositories: + # Dependencies + ros-control/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 1.2.15 + ros-visualization/visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 + + # Robotnik + robotnik/robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 + robotnik/robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: 48c4f1be10751fa7fd04d3e0564d6542bb63481e # Waiting for release (feat/jazzy/gz-webhook) + robotnik/robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 + robotnik/robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: a904966011cada1d3b76508080438029b6fe2f09 # Waiting for release (chore/jazzy/apply-linter) + robotnik/robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: feat/humble/add-harmonic-gz # TODO: change before merging From 82a49dff900c97a5c365e24786f42b1c7d46fc43 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 08:31:52 +0200 Subject: [PATCH 12/23] fix: Rename robot rbficus as rbfiqus --- .../config/profile/{rbficus => rbfiqus}/ros2_control.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename robotnik_gazebo_ignition/config/profile/{rbficus => rbfiqus}/ros2_control.yaml (100%) diff --git a/robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbfiqus/ros2_control.yaml similarity index 100% rename from robotnik_gazebo_ignition/config/profile/rbficus/ros2_control.yaml rename to robotnik_gazebo_ignition/config/profile/rbfiqus/ros2_control.yaml From 93c333cbeeebdb1046f37b3259ead65a4770075a Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 08:33:14 +0200 Subject: [PATCH 13/23] feat: Update readme to add rbwatcher and rbfiqus & examples --- README.md | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 78ec32d..61ce739 100644 --- a/README.md +++ b/README.md @@ -219,25 +219,35 @@ Available robots - rbsummit - rbkairos - rbrobout +- rbwatcher +- rbfiqus Available robot_model - rbkairos_plus - rbrobout_plus -Example: +Examples: ```sh ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbvogui -``` -In case that your robot has a variation (check robots folder in robotnik_description package), you can select it by the argument **robot_model**. +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbtheron -Example: -```sh -ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbsummit + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbwatcher robot_model:=rbwatcher + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbfiqus robot_model:=rbfiqus ``` -Then, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot. +Additionally, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot. + +In case that your robot has a variation (check robots folder in robotnik_description package), you can select it by the argument **robot_model**. + #### Control the robot @@ -279,6 +289,11 @@ To use them launch the spawn of the robot as follows: ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true ``` + +```sh +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout_plus has_arm:=true +``` + The arm has a joint_trajectory_controller configured that can be used with rqt_joint_trajectory_controller: From 3e1f5ef6cbefe289dac38f723c328799d5a38be3 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 18:22:39 +0200 Subject: [PATCH 14/23] feat: Add joint trajectory controller for RB-WATCHER PTZ camera --- .../profile/rbwatcher/ros2_control.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml index e12489d..12ecc1b 100644 --- a/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml @@ -104,3 +104,25 @@ acceleration: min: -10.0 max: 10.0 + + # HAS PTZ + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)top_ptz_camera_pan_joint + - $(var frame_prefix)top_ptz_camera_tilt_joint + - $(var frame_prefix)top_ptz_camera_zoom_color_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true \ No newline at end of file From 72c03b67a3f5c878a6feab0db57a15110513125b Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 18:23:20 +0200 Subject: [PATCH 15/23] feat: Add top PTZ camera to robot spawn launch configuration --- robotnik_gazebo_ignition/launch/spawn_robot.launch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index 2fbafbc..d34acdc 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -172,6 +172,7 @@ def add_pointcloud(points_name): add_camera("front") add_camera("rear") + add_camera("top_ptz") add_laser("front") add_laser("rear") add_pointcloud("top") From 5fbde833df05c89bfd2f116008fab4f5a3aeae26 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 18:29:06 +0200 Subject: [PATCH 16/23] Enhance robot spawner 2 extract controllers from control.yaml --- .../launch/spawn_robot.launch.py | 51 +++++++++++++++++-- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index d34acdc..1f33415 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -192,16 +192,59 @@ def add_pointcloud(points_name): namespace=params['robot_id'], )) + def extract_controllers_from_yaml(yaml_path): + + data = {} + existing_controllers = [] + # Load the YAML file + with open(yaml_path, 'r') as f: + + # Read the file content + content = f.read() + # Remove the string "---\n/**:" if it exists at the beginning + if content.startswith('---\n/**:'): + content = content[len('---\n/**:'):] + # Move file pointer back to start for yaml.safe_load + f.seek(0) + f = tempfile.SpooledTemporaryFile(mode='w+') + f.write(content) + f.seek(0) + + try: + data = yaml.safe_load(f) + except Exception: + raise RuntimeError('The ros2_control.yaml file is not a valid yaml file') + + for controller in data: + existing_controllers.append(controller) + return existing_controllers + + def get_ros2_control_yaml_path(params): + return str( + Path( + FindPackageShare('robotnik_gazebo_ignition').perform(context) + ) + / 'config' + / 'profile' + / substitute_param_context(params['robot'], context) + / 'ros2_control.yaml' + ) + + path = get_ros2_control_yaml_path(params) + new_controllers = extract_controllers_from_yaml(path) + # ROS2 control - controllers = ['joint_state_broadcaster', 'robotnik_base_control'] - has_arm = substitute_param_context(params['has_arm'], context).lower() == 'true' - if has_arm: - controllers.append('joint_trajectory_controller') + controllers = ['joint_state_broadcaster'] + controllers.extend(new_controllers) + print("Controllers to be spawned:", controllers) + robot_controller_config = ConfigFile( [ FindPackageShare('robotnik_gazebo_ignition'), '/config/profile/', LaunchConfiguration('robot'), '/ros2_control.yaml', ], ) + + controllers.append('--param-file') controllers.append( robot_controller_config, # type: ignore From bb955466f9c1690a65c16b811038c898da80d00f Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 18:36:13 +0200 Subject: [PATCH 17/23] Update README to remove 'has_arm' no needed anymore --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 61ce739..c56aff4 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,6 @@ Once you have the simulation running, you can spawn the robot in the world. For | x | 0.0 | position x in the Gazebo world to spawn the robot | | y | 0.0 | position y in the Gazebo world to spawn the robot | | z | 0.0 | position z in the Gazebo world to spawn the robot | -| has_arm | false | If the robot has arm or not to initilize joint_trajectory_controller | With the arguments described above, the launcher creates the robot that you want in Gazebo. As default, it will spawn a RBKairos robot, but you can changed it. @@ -286,12 +285,12 @@ There are two mobile bases with a manipulator that can be used: To use them launch the spawn of the robot as follows: ```sh -ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus ``` ```sh -ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout_plus has_arm:=true +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout_plus ``` The arm has a joint_trajectory_controller configured that can be used with rqt_joint_trajectory_controller: From 9aa1a58239e8262c44f32cfcc3e95217b30dc401 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Thu, 11 Sep 2025 18:51:21 +0200 Subject: [PATCH 18/23] Bump to version 1.0.0 --- robotnik_gazebo_ignition/package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/robotnik_gazebo_ignition/package.xml b/robotnik_gazebo_ignition/package.xml index d5154e5..dec70cf 100644 --- a/robotnik_gazebo_ignition/package.xml +++ b/robotnik_gazebo_ignition/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> robotnik_gazebo_ignition - 0.0.0 + 1.0.0 Package to simulate robots in Gazebo Robotnik Support Apache-2.0 From 8568c3acc522150b92d07b0c1f436ee7f12ebe37 Mon Sep 17 00:00:00 2001 From: Rafael Martin Date: Thu, 11 Sep 2025 23:03:34 +0200 Subject: [PATCH 19/23] Update robotnik_gazebo_ignition/launch/spawn_robot.launch.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- robotnik_gazebo_ignition/launch/spawn_robot.launch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index 1f33415..c219346 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -212,8 +212,8 @@ def extract_controllers_from_yaml(yaml_path): try: data = yaml.safe_load(f) - except Exception: - raise RuntimeError('The ros2_control.yaml file is not a valid yaml file') + except Exception as e: + raise RuntimeError(f"Failed to parse YAML file '{yaml_path}': {e}") for controller in data: existing_controllers.append(controller) From 208f318144bb6914a12a65a6d6f8a942ff84a4bc Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Fri, 12 Sep 2025 08:34:28 +0200 Subject: [PATCH 20/23] feat: Create new add_depth_camera funtion into robot spawner Although not being used for now --- robotnik_gazebo_ignition/launch/spawn_robot.launch.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index c219346..1de11b2 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -170,9 +170,16 @@ def add_pointcloud(points_name): ( f"/{robot_id}/{points_name}_lidar/scan/points", f"/{robot_id}/{points_name}_laser/points", "sensor_msgs/msg/PointCloud2", "gz.msgs.PointCloudPacked", "GZ_TO_ROS"), ]) + def add_depth_camera(camera_name): + bridge_raw.extend([ + (f"/{robot_id}/{camera_name}_camera_depth/depth/camera_info", f"/{robot_id}/{camera_name}_rgbd_camera/depth/camera_info", "sensor_msgs/msg/CameraInfo", "gz.msgs.CameraInfo", "GZ_TO_ROS"), + (f"/{robot_id}/{camera_name}_camera_depth/depth/image_raw", f"/{robot_id}/{camera_name}_rgbd_camera/depth/image_raw", "sensor_msgs/msg/Image", "gz.msgs.Image", "GZ_TO_ROS"), + ]) + add_camera("front") add_camera("rear") add_camera("top_ptz") + #add_depth_camera("front") add_laser("front") add_laser("rear") add_pointcloud("top") From 4a48e658d0b790f4b177c165723858db2938d974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n=20Navarro=20Garc=C3=ADa?= Date: Fri, 12 Sep 2025 08:54:53 +0200 Subject: [PATCH 21/23] Fix: rbtheron/ros2_control.yaml left motor limits Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../config/profile/rbtheron/ros2_control.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml index 70ee407..d181538 100644 --- a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml @@ -81,8 +81,8 @@ joint_name: $(var frame_prefix)left_wheel_joint limits: velocity: - min: -270.7 - max: 270.7 + min: -27.7 + max: 27.7 acceleration: min: -100.0 max: 100.0 From 442bf6102451bf955d7d74fac3526430c14e2436 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Fri, 12 Sep 2025 08:56:49 +0200 Subject: [PATCH 22/23] Update repo packages versions for jazzy --- robotnik_simulation.jazzy.repos | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/robotnik_simulation.jazzy.repos b/robotnik_simulation.jazzy.repos index 2c7dd7e..a54fce4 100644 --- a/robotnik_simulation.jazzy.repos +++ b/robotnik_simulation.jazzy.repos @@ -17,7 +17,7 @@ repositories: robotnik/robotnik_description: type: git url: https://github.com/RobotnikAutomation/robotnik_description.git - version: 48c4f1be10751fa7fd04d3e0564d6542bb63481e # Waiting for release (feat/jazzy/gz-webhook) + version: 2.1.0 robotnik/robotnik_interfaces: type: git url: https://github.com/RobotnikAutomation/robotnik_interfaces.git @@ -25,8 +25,8 @@ repositories: robotnik/robotnik_sensors: type: git url: https://github.com/RobotnikAutomation/robotnik_sensors.git - version: a904966011cada1d3b76508080438029b6fe2f09 # Waiting for release (chore/jazzy/apply-linter) + version: 2.1.0 robotnik/robotnik_simulation: type: git url: https://github.com/RobotnikAutomation/robotnik_simulation.git - version: feat/humble/add-harmonic-gz # TODO: change before merging + version: jazzy-devel From bdcaedd77f246133fdfdfeccab4ee14e5c960677 Mon Sep 17 00:00:00 2001 From: RomanRobotnik Date: Fri, 12 Sep 2025 09:00:17 +0200 Subject: [PATCH 23/23] Update repo packages versions for humble --- robotnik_simulation.humble.repos | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/robotnik_simulation.humble.repos b/robotnik_simulation.humble.repos index 2c7dd7e..86dfd54 100644 --- a/robotnik_simulation.humble.repos +++ b/robotnik_simulation.humble.repos @@ -17,7 +17,7 @@ repositories: robotnik/robotnik_description: type: git url: https://github.com/RobotnikAutomation/robotnik_description.git - version: 48c4f1be10751fa7fd04d3e0564d6542bb63481e # Waiting for release (feat/jazzy/gz-webhook) + version: 2.1.0 robotnik/robotnik_interfaces: type: git url: https://github.com/RobotnikAutomation/robotnik_interfaces.git @@ -25,8 +25,8 @@ repositories: robotnik/robotnik_sensors: type: git url: https://github.com/RobotnikAutomation/robotnik_sensors.git - version: a904966011cada1d3b76508080438029b6fe2f09 # Waiting for release (chore/jazzy/apply-linter) + version: 2.1.0 robotnik/robotnik_simulation: type: git url: https://github.com/RobotnikAutomation/robotnik_simulation.git - version: feat/humble/add-harmonic-gz # TODO: change before merging + version: humble-devel