From ac8dbe6d2bd56796c7535852559b5a5bfd06563e Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 14:01:32 -0800 Subject: [PATCH 01/21] start on cpp template tutorial starting from python version Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 369 ++++++++++++++++++++++++ 1 file changed, 369 insertions(+) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index e69de29b..3ea296c9 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -0,0 +1,369 @@ +# Quick Start — Writing External Controller With GitHub Template Repository +--- + +In this tutorial, you will make and customize a GitHub repository from a GitHub Template with +a ROS 2 C++ package and code ready to implement your own external controller utilizing the +`buoy_api_cpp` interface. This interface may be used with the both the simulated and physical buoy. + +## Interfaces and Templates + +There are two GitHub +[template repositories](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) +set up (C++/Python) for a quick start on writing a +custom controller utilizing +[buoy_api_cpp](https://github.com/osrf/buoy_msgs/tree/main/buoy_api_cpp) and +[buoy_api_py](https://github.com/osrf/buoy_msgs/tree/main/buoy_api_py). Please see +[C++ examples](https://github.com/osrf/buoy_msgs/tree/main/buoy_api_cpp/examples) and +[Python examples](https://github.com/osrf/buoy_msgs/tree/main/buoy_api_py/buoy_api/examples) for +example controller implementations. + +* [mbari_wec_template_cpp](https://github.com/mbari-org/mbari_wec_template_cpp) +* [mbari_wec_template_py](https://github.com/mbari-org/mbari_wec_template_py) + +--- + +## Using C++ Template + +### Creating your own repo from the template + +You may also refer to GitHub's +[template documentation](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) + +To start using the C++ GitHub template + +1. Navigate to +[mbari_wec_template_cpp](https://github.com/mbari-org/mbari_wec_template_cpp) and click the green +button with the text `Use this template` and select `Create a new repository` + + ![use_this_template](resources/use_this_template_cpp.png) + +2. Next, set up the repository like you would any new GitHub repository choosing the owner, +repository name, public/private, etc. + +3. Now that your new repository is set up, clone it to your local machine, make a branch, etc. + `$ git clone https://github.com//.git` + +You should now have a C++ ROS 2 package with the following structure: + +``` + + ├── CMakeLists.txt + ├── config + │   └── controller.yaml + ├── include + │   └── mbari_wec_template_cpp + │   ├── controller.hpp + │   └── control_policy.hpp + ├── launch + │   └── controller.launch.py + ├── LICENSE + ├── package.xml + ├── README.md + └── src + └── controller.cpp +``` + +### Customizing the controller + +You may also refer to the `README.md` in your newly cloned repository. + +#### Modify template for your package +Replace `mbari_wec_template_cpp` with your package name and modify other fields as necessary in: + +- `package.xml` (lines 4-8) + +``` xml linenums="1" hl_lines="4-8" title="package.xml" + + + + repo_name + 3.14 + Your Controller Description + Your Name + Your License +``` + + +- `CMakeLists.txt` (line 2) + +``` cmake linenums="1" hl_lines="2" title="CMakeLists.txt" +cmake_minimum_required(VERSION 3.8) +project(mbari_wec_template_cpp) # Update ${PROJECT_NAME} + +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) +find_package(rclcpp REQUIRED) +find_package(buoy_interfaces REQUIRED) +find_package(buoy_api_cpp REQUIRED COMPONENTS buoy_api) + +add_executable(${PROJECT_NAME} src/controller.cpp) +target_link_libraries(${PROJECT_NAME} PUBLIC buoy_api_cpp::buoy_api) +ament_target_dependencies(${PROJECT_NAME} PUBLIC rclcpp buoy_interfaces) +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) +target_compile_features(${PROJECT_NAME} PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17 +``` + +- `launch/controller.launch.py` (line 22) + +``` py linenums="22" hl_lines="1" title="launch/controller.launch.py" +package_name = 'your_package_name' # Update package name (same as in CMakeLists.txt) + +def generate_launch_description(): + ld = LaunchDescription() + config = os.path.join( + get_package_share_directory(package_name), + 'config', + 'controller.yaml' + ) + + node = Node( + package=package_name, + name=package_name, # ensure same as name in config.yaml + executable=package_name, +``` + +- `config/controller.yaml` (line 1) + Update first line with your controller name (same as node name in launch file) + +``` yaml linenums="1" hl_lines="1" title="config/controller.yaml" +/your_controller_name: + ros__parameters: + foo: 1.0 +``` + +and rename the folder + +- `include/mbari_wec_template_cpp` (containing `controller.hpp` and `control_policy.hpp`) to your + package name + +resulting in the following folder structure: + +``` + + ├── CMakeLists.txt + ├── config + │   └── controller.yaml + ├── include + │   └── + │   ├── controller.hpp + │   └── control_policy.hpp + ├── launch + │   └── controller.launch.py + ├── LICENSE + ├── package.xml + ├── README.md + └── src + └── controller.cpp +``` + +Update the include paths in + +- `controller.cpp` (lines 15-16) +``` cpp linenums="15" hl_lines="1 2" title="src/controller.cpp" +#include // update include path +#include // update include path +``` + +- `control_policy.hpp` (line 15) +``` cpp linenums="15" hl_lines="1" title="include/your_package_name/control_policy.hpp" +#include // update include path +``` + +Update include guards in + +- `controller.hpp` +``` cpp linenums="15" hl_lines="1 2" title="include/your_package_name/controller.hpp" +#ifndef YOUR_PACKAGE_NAME__CONTROLLER_HPP_ +#define YOUR_PACKAGE_NAME__CONTROLLER_HPP_ +``` +`...` +``` cpp linenums="74" hl_lines="1" +#endif // YOUR_PACKAGE_NAME__CONTROLLER_HPP_ +``` + +- `control_policy.hpp` +``` cpp linenums="15" hl_lines="1 2" title="include/your_package_name/control_policy.hpp" +#ifndef YOUR_PACKAGE_NAME__CONTROL_POLICY_HPP_ +#define YOUR_PACKAGE_NAME__CONTROL_POLICY_HPP_ +``` +`...` +``` cpp linenums="67" hl_lines="1" +#endif // YOUR_PACKAGE_NAME__CONTROL_POLICY_HPP_ +``` + +Modify `CMakeLists.txt` as desired and add any dependencies in `package.xml` following standard +ROS 2 documentation. + +--- + +## Implement Controller +Assuming you have followed the above, + +- `include//control_policy.hpp` +- `src/controller.cpp` + +are stubbed out to implement your custom external controller. You may also use +`config/controller.yaml` for any policy parameters. + +### ControlPolicy + +You may use the struct `ControlPolicy` in `control_policy.hpp` to implement your controller. + +``` cpp linenums="25" +struct ControlPolicy +{ + // declare/init any parameter variables here + double foo{1.0}; + double bar{10.0*foo}; + + ControlPolicy() + : foo{1.0}, + bar{10.0*foo} + { + update_params(); + } + + // Update dependent variables after reading in params + void update_params() + { + bar = 10.0*foo; + } + + // Modify function inputs as desired + // Calculate target value from feedback inputs + double target( + const double & /*some*/, + const double & /*feedback*/, + const double & /*values*/) + { + + // secret sauce + + return 0.0; // obviously, modify to return proper target value + } +}; +``` + +- declare/define any configurable parameters in the struct and init list + +``` cpp linenums="27" + // declare/init any parameter variables here + double foo{1.0}; + double bar{10.0*foo}; + + ControlPolicy() + : foo{1.0}, + bar{10.0*foo} +``` + +- Set any dependent variables in `update_params` on line 39 + +``` py linenums="38" + // Update dependent variables after reading in params + void update_params() + { + bar = 10.0*foo; + } +``` + +- Declare/get/update params in the `set_params` function of the `Controller` class on line 58 + +``` cpp linenums="58" +// Use ROS2 declare_parameter and get_parameter to set policy params +void Controller::set_params() +{ + this->declare_parameter("foo", policy_->foo); + policy_->foo = this->get_parameter("foo").as_double(); + + // recompute any dependent variables + policy_->update_params(); +} +``` + +- Then, your control logic will go in the `target` function on line 46. + Modify the input args as well as the return value as necessary + +``` cpp linenums="44" + // Modify function inputs as desired + // Calculate target value from feedback inputs + double target( + const double & /*some*/, + const double & /*feedback*/, + const double & /*values*/) + { + + // secret sauce + + return 0.0; // obviously, modify to return proper target value + } +``` + +### Controller + +The `Controller` class contains an instance of `ControlPolicy` as the member variable, +`self.policy`. The `self.policy.target` function may be called anywhere within the +`Controller` class. You may call it inside any of the data callbacks to enable feedback +control (for example): + +``` py + # To subscribe to any topic, simply define the specific callback, e.g. power_callback + def power_callback(self, data): + '''Callback for '/power_data' topic from Power Controller''' + # get target value from control policy + target_value = self.policy.target(data.rpm, data.scale, data.retract) + + # send a command, e.g. winding current + self.send_pc_wind_curr_command(target_value, blocking=False) +``` + +Or, set up a loop in `main()` and run open-loop: + +``` py linenums="121" +def main(): + rclpy.init() + controller = Controller() + rate = controller.create_rate(50.0) # Hz + while rclpy.ok(): + + # Open-loop control logic + + rclpy.spin_once(controller) + rate.sleep() + rclpy.shutdown() +``` + +You may get feedback data from any of the buoy topics by simply creating a specific callback +listed below. For feedback data you'd like to use in another area of the class, feel free to +assign them to class variables. + +(Delete any callbacks you don't need in the `Controller` class) + +Available callback functions: + +`/ahrs_data` → `def ahrs_callback(self, data):` +`/battery_data` → `def battery_callback(self, data):` +`/spring_data` → `def spring_callback(self, data):` +`/power_data` → `def power_callback(self, data):` +`/trefoil_data` → `def trefoil_callback(self, data):` +`/powerbuoy_data` → `def powerbuoy_callback(self, data):` + +You may also send commands from within the `Controller` class: + +`self.send_pump_command(duration_mins, blocking=False)` +`self.send_valve_command(duration_sec, blocking=False)` +`self.send_pc_wind_curr_command(wind_curr_amps, blocking=False)` +`self.send_pc_bias_curr_command(bias_curr_amps, blocking=False)` +`self.send_pc_scale_command(scale_factor, blocking=False)` +`self.send_pc_retract_command(retract_factor, blocking=False)` + +--- + +## Example + +An example using this interface will follow in the next tutorial: [Linear Damper Example (Python)](PythonLinearDamperExample.md) From da4fc65987f71f0ac5878e8ec7849b89f711fc31 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 14:29:46 -0800 Subject: [PATCH 02/21] first draft cpp Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 71 ++++++++++-------- .../Tutorials/ROS2/CppLinearDamperExample.md | 0 .../ROS2/resources/use_this_template_cpp.png | Bin 0 -> 249174 bytes 3 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 docs/docs/Tutorials/ROS2/CppLinearDamperExample.md create mode 100644 docs/docs/Tutorials/ROS2/resources/use_this_template_cpp.png diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index 3ea296c9..9fce2dfe 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -307,35 +307,40 @@ void Controller::set_params() ### Controller The `Controller` class contains an instance of `ControlPolicy` as the member variable, -`self.policy`. The `self.policy.target` function may be called anywhere within the +`this->policy`. The `this->policy->target` function may be called anywhere within the `Controller` class. You may call it inside any of the data callbacks to enable feedback control (for example): -``` py - # To subscribe to any topic, simply define the specific callback, e.g. power_callback - def power_callback(self, data): - '''Callback for '/power_data' topic from Power Controller''' - # get target value from control policy - target_value = self.policy.target(data.rpm, data.scale, data.retract) +``` cpp + // To subscribe to any topic, simply declare & define the specific callback, e.g. power_callback - # send a command, e.g. winding current - self.send_pc_wind_curr_command(target_value, blocking=False) + // Callback for '/power_data' topic from Power Controller + void power_callback(const buoy_interfaces::msg::PCRecord &) + { + // get target value from control policy + double wind_curr = policy_->target(data.rpm, data.scale, data.retract); + + auto future = this->send_pc_wind_curr_command(wind_curr); + } ``` -Or, set up a loop in `main()` and run open-loop: +Or, set up a loop in `main` and run open-loop: -``` py linenums="121" -def main(): - rclpy.init() - controller = Controller() - rate = controller.create_rate(50.0) # Hz - while rclpy.ok(): +``` cpp +int main(int argc, char ** argv) +{ + rclcpp::init(argc, argv); - # Open-loop control logic + auto controller = std::make_shared("controller"); + auto rate = controller->create_rate(50.0); + while (rclcpp::ok()) { + rclcpp::spin_some(controller); + rate.sleep(); + } + rclcpp::shutdown(); - rclpy.spin_once(controller) - rate.sleep() - rclpy.shutdown() + return 0; +} ``` You may get feedback data from any of the buoy topics by simply creating a specific callback @@ -346,24 +351,24 @@ assign them to class variables. Available callback functions: -`/ahrs_data` → `def ahrs_callback(self, data):` -`/battery_data` → `def battery_callback(self, data):` -`/spring_data` → `def spring_callback(self, data):` -`/power_data` → `def power_callback(self, data):` -`/trefoil_data` → `def trefoil_callback(self, data):` -`/powerbuoy_data` → `def powerbuoy_callback(self, data):` +`/ahrs_data` → `void ahrs_callback(const buoy_interfaces::msg::XBRecord & data):` +`/battery_data` → `def battery_callback(const buoy_interfaces::msg::BCRecord & data):` +`/spring_data` → `def spring_callback(const buoy_interfaces::msg::SCRecord & data):` +`/power_data` → `def power_callback(const buoy_interfaces::msg::PCRecord & data):` +`/trefoil_data` → `def trefoil_callback(const buoy_interfaces::msg::TFRecord & data):` +`/powerbuoy_data` → `def powerbuoy_callback(const buoy_interfaces::msg::PBRecord & data):` You may also send commands from within the `Controller` class: -`self.send_pump_command(duration_mins, blocking=False)` -`self.send_valve_command(duration_sec, blocking=False)` -`self.send_pc_wind_curr_command(wind_curr_amps, blocking=False)` -`self.send_pc_bias_curr_command(bias_curr_amps, blocking=False)` -`self.send_pc_scale_command(scale_factor, blocking=False)` -`self.send_pc_retract_command(retract_factor, blocking=False)` +`this->send_pump_command(duration_mins)` +`this->send_valve_command(duration_sec)` +`this->send_pc_wind_curr_command(wind_curr_amps)` +`this->send_pc_bias_curr_command(bias_curr_amps)` +`this->send_pc_scale_command(scale_factor)` +`this->send_pc_retract_command(retract_factor)` --- ## Example -An example using this interface will follow in the next tutorial: [Linear Damper Example (Python)](PythonLinearDamperExample.md) +An example using this interface will follow in the next tutorial: [Linear Damper Example (C++)](CppLinearDamperExample.md) diff --git a/docs/docs/Tutorials/ROS2/CppLinearDamperExample.md b/docs/docs/Tutorials/ROS2/CppLinearDamperExample.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/docs/Tutorials/ROS2/resources/use_this_template_cpp.png b/docs/docs/Tutorials/ROS2/resources/use_this_template_cpp.png new file mode 100644 index 0000000000000000000000000000000000000000..c5c94891dc669e4e998897fe560fcbcfb6ce732d GIT binary patch literal 249174 zcmdS=RX|-$vjvJm2oN;E-GX~?x8UyXPJo5GCwQ>n?(XjH?(XjHwicX~@7w>s_kFwP z@$dk1cK7V=svcckHL3|!kP}CO$AyQ0fIyOz5K)4FfOdg^_!#~P23$hdFfRc9^U?9U zq{=7okJl%Y5b!&Wlc5nKLDl>vfu}14q`D=BVy)n%q+xA%-qcE+-%Im3bMos$}0T(I6omEh#@3J zgjC$p&elCO;!IzT@>NllzHgBtuMiDvfxknLi-H&?9dcqav zRjF5iWqGi!{kTk{4jX-cjPA8x$}iYHJCSH1ln>5d@L_Hq2N6StG$Y-8E5b_C9 zkw&pPasKzSA`;0nc#=Nho|To9gYi@jC+z>Nf>!!1^ofKJ6+SR0Tll{tiO@&)Rebr* zOP0bGo9OkQ(RUWVckCm8JNj;U0{@@FPQsWajQ{rc<$DN)7;5YPdH*!sCt;-if2WKa zO3>O-I^(fWziuZa1o`8~kG#Ud-J_$B)>cmd2c)2w7z`Gpo=CpZ_Qge{QgK$Jmy}dOW$L4fhX+2+OOq%$T3{orj znvmBM1gDix84tCk%MUyqf{PsmtBdVc_OG0P^KmqOx%s6LKbv>{I|hGuozeSTK(Pqa(33>TK=hFofGczMrT&vnpqeMpifrW*HwKW}7RMaLPkVkr*GNFHW z7ckKFwxKAJ5Hj1+k!mHGR2qe7m&rUAfX8jwB_a)2At}=_z)t z*|Bh}6Z}vHv{n@kmb9^9z~caH*K^rkucS3DHT{rYXGr`R z`n%uiTvzkR54sbThQi>-et&EIK^bnJrH(|$pc5a?p@X|Ojhz{IOX^5RYppiF&ht(+ zp4U>B*O||3vEm6Ah>110%t6*p=00D^TWL<&gWLlDDn`UO7OaMs`%}#t6FAR@GsDRY zK03{sfcw)$aK&O)wWydFDjJ%wj11!GVx{dLY)e4j#eAuHv)3~-J3G6ZhsOsy(2MiU z?d_=vE5Oi@q+GjkV0t?G_HZ&bE-s+9mW6?VK|_1-MR3m(8xck?jXk#X_*e!pQ?Re^ z$}<6U-xAw16ieCMOOSzsrd7xUR#rh;nzjXxv(d7+FTLY)nfiO*eChE${yeC` z<~=AbPUWD3AHi?_J!J1zHZ}R1kM%i+nQ?GxD(o}hx7hSRwZ{cd(t-8ic>{a>rXH!O z)N{0>yA9&C&C&DYUe}BK) zWEd3)0%0r(SL12H^2-2d*o-4h5Cy8To93=<*;y{v3;gEhX6KayeF2@3`8%h#4u@wxNnMC| zDd$c4d01rpl3BNaFF6(c_?&%l0wP;SPgIeSQOx_FQSb#&^u^2FukK><$KY&~#b0gV zW%BycNhim#Y+qrJMYnsV=6-Dq1%p`h$hie6euj$(Gm$AUna<;CvDv`~ zSZydTZz_?^oi?zwl~+F8uw@XCT`nSg1-CQ8>)_;w~J3eWisMgFCKe1M5dkXV&Wug22xuV;juHT1d zjt|QbbVRCgYi#yg>D#=|$b#y6%Qg77U(u-b$F`C&j!kw2U;V%z$WIzEB;)n!2Wg7E zz@&=59Gqp0vy`T5-du7$X+C&55Aw)F$OtAH``4;}Q`SqCtJ2ma^{+&&-7#J`3)^*w zL_)R^cDH(V0$S5WT}JL&b`aP=%CkJjo5NWcZAth6*qus7 z&>3aO3QT1rK^vIK<;2nxe5j6S>tqZJ=e5FL^TN5lqw?TP7XNs2YDanK2U+69gh5Z_`sJ0u}=q z4^OL}<%OBKd9C}c+04w$CqzV(tF7+5{Cvo*ogJma^Thmt(Dj_*QELFe-qm$*VWEM2 zw*)0#O7!t!T~bbtf}A{XZEZ~}v+cY~==NxJhSXV_Mhg?m7gb>MLMce-({vuleVYe@ zSKvASHDO%;j=`4Etv1DTjM8S=8uQGm*S4^&pZ5HGh^s0FnrEkJgo<}$P3-4o-G1B5 zDojy4PQS96S8Kcvzwy5Gd6Qh2n!ha0ZDOyUv?&Z;f`opb*$Hm5unl2KB$#pcLOFT&*cQ{zAm?XFlfwActBfhg(s^Pj4`I7_qx zQ<1IaBTgHu6(<3@>G^EHMX738n3dcn%H(x;EStOiX3d2L{4&K9IyqgciU7J|*7?q_ z`v-I-nXO#ERBCDybQ3%3{*M6kKZ)O^TpYQb?5poK1)h`^BTUSrRLj(|2;Rgq9;#u=6qgU9pG-vo`zp0jjuO+l1zE~elaG#m zWe8_cE2Ag%jmccbPwTfD-m5DsPej3|;M?1qOd4l(6Hr)~+$n61vpO{)LF{y)9E`xq z+mwcRLjXYba3X#B^d1buCbMARRiCbgY?DCn}eA z_NIATucQZFmhF$>T1uK8)QMK-?u?(UG;O9tgSAj1&ACSqzUll*D5k4a;dU^L?~Bo^V(43Z5=BK zuD~h+FW0E*_~FlZ+;)wZ9bqY<>}`F+7?3WfDX(dw)nZ82{p&f0yg0o+03ObkmD85SM@Ed+n(UqRv|T|j_iG*A zc;BKhGq{~;v;fPlmmG1hBSQy=hsqinOGT)y1{JTVnYJ1GYa=5i4|r~S(JPyUU`L&9 zg3^wVBjdgtgxdm0Ulo*N=VDtIO0BS1-E+JJ5eBLa13*1XIDicu!^5cFg4H(d1Gr&OElISuFUB%;WsMCIC7DVS){Unj*W;8 z0iP8p73eHP=uR;T^+=G2N1)OuDKiW~#J0HOay8$PIc1I`IGy(E*9UwV)nj6`!cLu` z7B^`lb%MUKLL?np1++5yXkM$?Vi8Z%GYZncx({qnttxRv)?*-rP|S09gUdD1FfLBj`%&pJa1RhzoA3mU|n2pri>KjmA}4} z!FZqLiJo2&giUgLsNPJhkwavIazuAm&cXrv_- z`__~C8$oMpDQHtDc58ilZyt%5kzH%19%?B1(%<~Dz!qrVBP!t-ppL4%9+lfz6I0C;G#_OaGaj7&rH}|zn zrJT+xmOle6lK+ICbSJ|afqquOWnL(+&t!IkplaK9fKNhkS-IzYTNJ{DZ;_a{Uc1|+ zYOD_}>4had);~(B@9yq~WMpIn`>mhg;2^V<3*{ceXCi+8?in2|oj5s_OXG|Nhmww9 z6#w;e>n$r#m2(QDy*@QgI=qSn3_6tZ_flC9`~WQLa*|0ESUuy z$H3a!+Rj-zmp3wHb-I788@k7%(S6+1x82{$?p><4);zTb2N<#Q3;qpxUwj)%b}i4V zs{Mg!Cy~ANxe@81rH7?H2z=Dnedfzq=USG`3LKx;I47rPm|ES}-=F5)b}Co47Um;T zn$RE7U??|H_hBu&*$7(B4lLI2honb|TbmQMP&S;VIJ51of=h6pD>3D4oQ@2hXNwey z*6nIKdbo5q*5hj!?1rcCDH|O&f(dl&h@o_)^p;0|06_}L$nAu}@tBiuy@yTb2N9|5 zm_&t$6K4Wr&1Wu8?%HB8CF^!o6BNBuA1EmcQGIC~cN&{~k>(Ku4I}EEA)(zHFZtCp zwd=Rdv~UhLfX`Ju{FUc!rK`541G*9W|Dtpuf`BK1$QKw*z~cf2X0Tdme}8`<*cEp< zTk8G^1^WrH?UH?1D|g;9nZuSa43qvV8Cd{0{EUf@?+1J3ORcVq1`Mj&tUtAc-Lfjb zN#&!;%TMljG{E>ne*PTgkttE0mE{KxwT!=EpR`?61_vj+fnI8SdJhqgHo*;QtgO-m zDtGnq*k{_c8yyx=zK6sh!T0#o&$Jxgk)>j`hXG1$)XHKo% zOdAwgbYQpZ9YuOL4>4(U{D$0EQ+4LQMXLTO^y)7-~R z;eZHTgX6qdc05P%bvsp^;NUVnqkyo0Bvm}GVKh1 z1sS{RX-nduJZTbsfF;Y6{dGaaq2pX30Y=4Fg*oqw>wurK{-wjnXBAb*An8L1CwmBC z_+Xdw{S;~9-4-f~=mIfko(%8SiL5K=p3=--u}Qz(m8AL*%S^hcX* zg~ATN#b}e{mxA1!s&j|+__p~VHN`bmO@@DXqZ2JKFp_v&8B#fH&A{QN)5#p%H~EZ% z%gf2RV&&yFcNP>BlzZk-O-0F1;Ajra4lQ^3`r0FH2>HWcB!(2p*T;b7ELfLTR~@%| zpeNF}{8Ll4+sR!k^*iOjmeTcNE!%i7(wSMRu}+|!Jyl&lvln63?8|kl9mShX58r6# zYJ0H!dq)b7>%})vKGq5EU&_YiR1Mh|WJlflC^Fry%>i-12t*JLMm$(3$Jc78D>eD- zT-sh*um(4`(rRg0HOP+WZ3V|Qs&+G9)9fXR$Gf7W!j*k?UnqNc#8axteu-yyB-OX7 zDtWfD#Q_574L{RHj~-mtOA1K`H#ptXmn^TqFm6`h^R@hX_OvmyJeFD9P}X1u{owWU zJSAU3;WVeVEq_ZIn!mgnr?)u9@4Bn_iI`p=(5U7+c4B(_%)J@;;FIh2DzAK1BB}SN zgkM-Yf9IKno8i)AvFiA;hP=?fS&-FCz@Q7mL{7GpHg)nX>FSSl$4X6F)?jNYKPMK617D?9-%Gj2 zBz;rUccY8PwY*{h*VO8$napZOm6}{@&F;&iSP`3xsFd9@@;A^<*y!mio z{zj9@-`vr)p#2a)K~IhsrBn}Tx8_opzhBxKcFWr~N1|FSNB<>!)~&!C02nbQ=H{{S z@z8!@Vbb>00U;ruzLJuj(l;Zxir-8mvlKp6CnY7pNS^V7$+?TUg$a0gcnLYV129uW z6)zPoM#|@LR}?#4dwqS)dox6e9U%se!mh8b1dCM`Jb3n*un~b^YN!9+rG7My4QCJP{vu=#(6gl_vauZ_MSWkOAX!Ia>Aw+L%9I#FSW z)`u~?!jyX0F;(NV>(qwJodlD&*$`lg^>S6H+0AP`%d*Z}m)8Hf=5`$MrHp9D$3jbK zsp08T2bVK35q3dKtc_3w(^Z*|;U9l3SXoO;tDVvn5-cg$AAsl@9SsW!3DH`8jMUv^ zvh1spS}dIpF9mb3VBX`eq&n>$@h;~p^O}+Ya_QXJi>K~))8f+>mdr+H-9;)iZ#5Q> zhm)tAc2{2xow*$xY?zq5J`fV7`?NPIAdpzj-zDl9^cVV48W}zD#nOq%APz1z@FLY$&{{>={2;-H`Dyuj%n8}) zN{h3VR-=tBRx3k+Qt{Q@UD+&qNl&jZZLUM$7q)}#YDB$zYWbHp=VI_LVp8RT-5z&>~ zP{XL#`b%Al?9L}iGkuz_+l$Vhq^K+tg~yPSqdDn7w=xdNCgD39Wc-&vCvyq>vXe~` z`j7klSNxsDTuotE;(u%Z<#}^F$f{`rzI+blaovMK`e)RC8h-!FXkY(%+E3KS<^K4e z^6zt~|HG@BFta&*`jODJ{Hbi3^FO2JyrH9` zD<~*TO&R{TZU=HWd?>V8>a+1=vN7(;YjPEMFq=dTO zrj}0so$BAdzUQI)|DR94voig^W$sh3{|fxSLy4e~{;xj&|D5kXiG}}4{QsFr{LQk| zOXk`ejwzEgwKQc-H*J+Ly{lKsLlLWH2I*yrS!&^mM-q}g3{}HKHd#lNr2m*bP}Evk zHZ(1_II;uljMXR*n!;v(?@#){Js*?0J|C^v6rXP_e@zW@6l2L8<6TGDrjo;5b8UOe?!f&NM1_1t;)( zcR#}6@M!z|lp);ztW=S)EO#}J<4af@FQ^}OLtgRMV=PAI{C5?$*`5Y+-4>5n53ay5 zD|I|N=_@CA8tJH~=IeUOR>JM_Zvh?mmO5Qp@*_9rscar>@ z334NjlmjU8a5+9Wc?k!9{U3njAZykuHtH@-38@T@9W&m%?KGa6Y(6~DynMX-ur)OO zQrh`iw1R_|A2S!X=V7J%iKMSm`2y?%@bHe1j;9P4{bwsYVOS}Jt|Of;Tsc`tq&Ln| zW?@w@Fr0x5_0t=nw^ll!l5vjLCPqsWAHX96TR;wnSoj3CxTp(rcEKq3hGpZyiWZL&TEsZt;> z$f(Ca+Wd0AaPHL(;DK!Sy#9A}*;ag~1AhDkOx7a^(9R1Iz5DUQtKHc%;sI>0cD7B7 z!Sr)%N`i~a(h~2|D!|7F^7;8WuTXz?fxb8uY@_}$0Urpjk4`)bv;B)CoaQQ+V;hA0 z#j_R*A;IYUc2NB1HKxYH8@D*Y+3!^h^akiR_o~^c-SM?zWe^cRZ>gkj=a0zhCM7)L zq}kathY%PbEUE<|fbEz5Kgk&v3V}{PFvIHLKuCvETBn#*Ro%U;86oFdEj6s`Zj17- z5em_76yq~;J-EXfB?v8LjINqLoqaL^4+Y9RZ?e>pm@izfZ6k{qfL4z{s1}cmZa6f z$Ch)U>oro}R7CWJzBh88#^r-G%!-?c3(zK7X>NhcQd*9+Wi=Y(h;h7y2}8qx_PC_LUnMptbno^B*J1$`|2sQ}?*(-P*IyR$i=~eDk2Ka*{pX?e=~g*W1gq$SXcUNjy;<4n-_$P8f(}yZA?PfT`FvN7v^F8GFd933p&T-&E;=rmuGd_ z{)lu;59L}?wm6-uSqcn48BlmpQTzP4{!XXC z!F*vc!6gx?kUb+>DpTQLBDuS0B7!tyKxp_6x#y+tJ1wZu7E;LBVM^*{eDjA5sU;-H zhmQcf)H(PO?A6-SA!|#dgCk|puUSS>_`9d&tF+<8HG8(+e^*9yHp45onlsvyoDJGP zAJ{XAv&iZCfd1oUbcrh7>3HS58_$`b=hU(A+lqL1JZbB4lMjIvyEXZV6GO^Ib{qdA zmq)$Fm6=bygEA*>dsHq~s-Qb!sY|%t6SXa30vb&~k*J!~8C%9jS&gpFg^4Wja*C3V ze%@D{y#sS5|G5ib1~U9==*`-hBQo6E6-^SxUJY0_5xalvo9}jbuvTsIfce6HOUhoE zD%+U?B>sv^pT8;iODbJ?@n=+Sy=9VHiMV8E)v?TPY;ikE_xiv430Eq&teS_SZYR1r zvkX`^vGTS$GD%}CkmXv*ElH!UJ}7sPIl!nVLDLv%14hdv&T)~-Lq9pL&qR}2FD8Z? zhyt5&mG;czk&pdEYQv~4_-Iey=Ay479C4+$8lY~uB*vDbNcG!R(#9Gco{ELFm)fOV zK=tx^E~GqRaE0v&+nj`uhJd?iduJwcX(<X_ z*`Jk)&v&pcIyI?=ymq^%_5(a##q&yG-eniW+0RrYg5O1$i`NM5jAI1k1~ShX^}d@@ zcgr#guH+VDB0a$^#+NM7{gwEJOTVzgkqD~X3W3dy*=Uu zXdb{=Ic2RbSu8~H+|y_#b$q?M=%;jE@R;WhK6u|D?wE{476Ra@&H($PdG61g4EwQuMlPV8}9@#F{@I>Q5sA*+*niKlZE?f&q=@&#@k-c{X1Aln$fL@&m zhkreOS3Gk|ZEPqocE(HEnNK zRsEBj3st+Ww$KH}j%&H`JS4P#?;vwtD_(h1cR$)@mDxEzLkdJ7CCX)on8L~-9sluw zBPsBBX#mqE@5?*LOwBu1!sZwoQZ(ul|J$yh7NpEm2-4)q67wZrLq605ADrhw0~&LtQW9YUr}js%wmX)bRBrkMyeZi0TB0Lu_FY< zN%4AdXRjF%?_E~Y5q`qgm$G~EP=dTI-+9%X+6212U)`JV3gVAU?E{}|h^34XZFxI0 zvmVXA^*z%`!^oQgD3&~fn5_;tgB~2j0SGvWJE0p@apb9}mlTratRKhI2G^L{r%Q-Q zk6{;l>d+QNN8wzdboWGp+I>+?C*8do4e={XYD`}wHkQo!eM~dmy&mO9cNxR?B0veY z_sHvTzNRqS-5pKb5X(RCSDJs56ZwW!9EEk3Q|6jY7~Bx+*8xT8M zP;z@Y7v60NL3D8Vi*Ti!eBE7x61tw=d4DIDDnEfaiRyyv5^P6{$harFT;Cvt9X#19b3o3&Is zstxGl?cj?Ap&(DLY74Ydahm2Il|oj~aDjd^=_Ja9%wboXl zrd!r{CwK2ahKqA3-|OBjaSB;Ib=Swx}`b4A+upQrD4jhmGy$aQJv& z(q6&=0>&9gkdgGp5~g3Q4{W&N*P2C|TX0~_H5iP^989@JlSfKRPQ|2`A=?M+O5?OH zr#~J9px&?@W3TsUN?AJG3eUk3!6yXEFki0PzF=g>Ig^Jo% zZYzj(9PU_E=9QQDfgE?|B$|d&*@}750@%Q$~c)W){0SVn`lwalwfTU^` z!tS6b<70s5&vZPsn{M;W+CwE;7~WTLy=Q=;HHA#4U(UH;57066?UB0yzk*X!N0&mG zf5`)teZW5~RbWs4_B~2BQG5C{dANvfE^0GY0J?AP&{9KRlxG>o17<9oHm@S%t~WW#zA@Pt*& zl?|oQn1IN)CM5!v*&gSK*H#88?#1gnFGPGgyq|I*8ZKvyhgxQ??+yKCSvdjD{R?7H zQ}J(cJ{msC8eRv;?d}XJmYvW@*&t-dfN}kC@!j<>*KM|Y(gb-Vk<+3+3yIwVZ{k{h zxBH9oxxnZ7s8M!5O)K?UVmb)=Vf=S}-eR?jkD_gZof|kd?f_?#xzK!P7wxycaGj<+L#ZATXBChK& z>Y0K)n-M1CV;BAToN*xY+JklbJ4fa0v2ileN5!BC_b9t_P`f2&6KkE`B5w8$%A%cIrJ8({aX#rPYjc#jqpI2GL?gfIX_NM~ z(e+9B7s;{Z2XkpZ*839k(Pz`X3dreWV59AD>3jIg?P_#b5^jUmt2^Bzg$HArkB=l3 z`aH{$(KNg|BE+OS8<9;mtgz`vLk(movok3<~>3edAA;a04dnbb8&{I)qjF z&* zC%U;ZXKJiWT4&WQ@-2kL#MRnZu?_Porn%0eIVuSgLu%>#mMpDK6x{qw5s!%-gTK_j zy4i>jcT||Rg|))m&Oxxf6vca8_47xjb53-xXWn)nR_|GUz*$~RQ&Fk23La-8P<+=L zA0RT~av=-SJ>{o-`TZ-B4>+w6Q(MsERRst>o|0OyUKPKKMt8u-2*;jA5}i@w*J+P0 z0#%CubjL@CDzc7d65r%pdw-a^hDH#H)&P9zV11WHe%s0!Dz!{6=e9XOHQW)R$PDVE zE;m`Ttv(P@z71kGl_5BG|VCNI4G9hVA!|HGU3cQygwDWaiF~~U%Bnt`yGef z`lGUof9d|~H|Y7OVK!^#Sl)O8-r*X_-DFO0np{fy!vK`I-U8GMsHF$9B|&lGSOUkv zZ`@uq;QY$}(TWT;LrUn8JYSkH7p@D^}2Z5u`T)VPboZb4S-dICw# z_tor61rw37M4xh#7UVJ$9X#G}6%#4W!-1q71AzqbYyn^B3OsW|XZO(+j*L5d-0~_* zcLPss0sl`v6_5vw6h+Bda~t!oYQ{-pk0~lAexwo7LksOJoQ=$_lOSZyb#Zp)?8id+@w8VXE?hqHlAH4UY z@FUrf5|r$GYp;fN8r;30EzCjkK>ch?f%9^yc>@%oc;o+doH`~W zF;{(yy-@m@-*9wX;8R@IUD}ZNZSbz8=~mx}`xvdq^;M|B12&Qrq6lN8!5sn%Hjfzv z9)n-atnwKAtUxz_sQM>^t*a60a8UbxnxT7nKZ@y^(ZJiAs+oM0frAM%!~;ke zj`nge52hLOh3M5A%Rn9LF1?WQ0X~BPj$Q4cY+Z<}G2{hkd*45*K{`$zggaI5Mg^d&w7mR-Whi zXnP?h_St-}>$03H4+}4Vw?Yq}^3d3Grw=#l0taXRD>OVilispx>mtde&s`c8 zawp9&vZf3D<-o@&6y$ULkvJrMN8mcSrZZ zN8*=ups`iWGZ53P#<=%UhKL=dyqwV+wnU?KK9*2-+_Tf&gi>2+%yVez6}puX(OfB1 z8x+3*c{c}v&Dq8{5Tn6*wb?G-jKhrY`964D3QTxcJNBTlcX8NVu3o?SS^O<|T_DZa zX7XaHftHWe?x^Rn?RxccT$_tC$7ME4WrK_quL|0;9+!N$2$nxG5tT~DS0`+YqlH4A(koUYY|iCX$(B-^JP?WKd;M(WRoJ@G7Mn z=W`;1jJ9#Ng!ha3w8k~J2BI0X4N3pSF2OU>&a&?Wmoho7AOq@b<2{i%A19Oxi}JPO z?ZRJq%D!-VH zr4PIv^1_KcXpR^Am@n`ZAIv0tZwb6P9(}umW)s@Yhz!pgVgouC2)JQU=M1^vmR&hU zms)?vi{^X4TivdJS!2aiTvMaQuegaV@-J#}8a9ZM=Kk9hG_Pt)%Z(*BMe8{xcB*LI z`!sDrN_S>4IUN2yn6imBPcFBG?|vEKZi-TJp(dXXv;ajy+qd}7b^v*JrIh{0*8lG0J*^ymEvMqr%N zW<+DB)WDfZL*X=tF@ApEHU)Bf;pj_lpkC zbIWNgH#apITi41r{WbtF?Y%}BJ1_2`b%F^KHuszMV_*ncPgSdSaCP8|NSiQuOwg6N z`P{FHHk8K!l^oD)-Iv|2t@-@O$Q2F8yLG)$SOOY*R1K?a*xzWl>qMf_#w$9r*5KON zw&cpVGnq)#;S-%?6AX)a0I(V4iUFRZd4zo*7u?}vr*)yF7VH3p)oUp>#mQPNx}Hdc z6IF#Ri^>fdbEwS);bVx75hk=4mi4F%1{ILJx705`F60+!%dH{E&vl8|1PtaJpDjZ{ z{l1ftPdOde)@z3^gwOaZu5sa0+ZL~|IqR!wKDdINnMY*US{}}W5C!9zgLywMT*W;T z>^6m$xt$*4@2kpIeen(ZSN9V+^`%xC>+for{h(oYG!#5m8xFW9DQS4xdSsZDq;=q4 z#&)b~<5#NFBI1zj=;szs^+lPNZ{Fa8o*0RTgx~@XP!TCdUa|{kd}LdF@wAaD5*Q|@ zC^uu>#-~o3C0)(dq zF;9r*YI6?M5hP#@T%>f_T^LTcUbe^dR%4*BJ|=j>%^fX4Q&799gU`*gRJgD5fIrQS zz@^Q7PlfDEvZOz_f!F#(LUXvg9`i_R}Xc`lY#m(FVkdDh#>#6lqqARD$pmCTJEmYKG7EM)aRE?KX+UH_4mau|**@SS>{M3d6LENS+@}(?m)EuqiLvDfb#^~lmh|MNLq(0-l zUH9YxnL~U<;qRK9e65G{p5LOoQ#2&T?;dJCt_gU7xZm|sg%pyXJAX$u*=L@<=0t#q zC=q*cX1M&ayT|S8f6e(bkzq?yx)9*7y_1?DDg7jgrqA>l&Ms~Iae>vnbG^UjYg=|i z`GK@$_D7NTnqpL1cilJ>9haWv`FFlx7sBRu@wl^ERibFko93bbDTE%jsd@$TnoiRf zwA&@+K(ROi-XHoZ#secLjJ8-I^yaMg&ad@f7ufe1T68y3O#%OeN|v(VP^m!e&(is9 zD^}*5{j0afJ&miTC8@+2rfg6_jjiaQTza!xcA01Ln01^KIAH|&#B~da+S*`qhdYH- zIEL+#PGziOX7&|}rF*fVzS-;h0+LJ}>ATohxWZ99RLd}Zd3kHc$l8nAa(ucM)s+&0 z4%H`SeO{%xY=XG7)n<3vxpMTq&7rdAr|BM<8po~%XIiaZK9*{pdQ0fewJk9IQ+xES2ZeapD68Qm`Ctb#rK^M$5F#x0(? zUXc7J$Z&ENm^L?`?S<8Wl_j%2M`2&PZEgRZ^#efzx1hUdbL5Okn#*_o6Tj3{)2tqx zDAZG2lygpdzTV}&w8zk*L6r)xq7^Gu^_oMa(_sCajP!s?`#$cZc%v1Z?OE9tCvAJi zo1?3)xN98^r^#}9gMTg;fw~1TX>W*&MOJeLU|VvbqdgAEqsxV}_h4<7II&V|1euE9 zdP>2IwzK7(vj;S9z&rX-FAfeT7{8D*P@k>l^NKWP4{6OGgi7&aa`Yup*de< z-aC;T|ClCpeh|qQ+7G9p&JodECT)mYoJiBMVRikF-%yIXzxM;fe!gk$*C|1{ zD2|LeV>U;3MCL@!dp-uAhij|rpIBp}3{U$HLKg?jpMGP)H+k=7C_y%C$bZ>W3rwm= zBd11S?N~q7Fd8Z{dm_?&*dW4Lt}qLR_oEIBxNY8AAn1(A|;Gf0N-O!GUp zYLy~@iO^6#t-0=()w_a^vHQ6CLvr^C<3g=ZzqJ?_l;kzp+DC;M$2+$+Yeym?7%cf5Uo~<@-#ka)RG!_en*Zht%4ucHr1u&R`dWmE9TyqQ zZ8V7ac-OB_p2=bp$__|J^F%m&!?&xtySBZ>$3t-rg@7b|%!biQ!b1U+_R!z(O(%t* zuy?uMV!7O2{h|XjGn7xVQ3B%L%HrJucGV$O?vScwnu1U(L!y>|{WNNf@S;|#{-=`1 z(i(2Aw_Nt0h^>oE1B&@G&^)9NS*pABOl_2T_~SYfZYZR*Z<{4Rn<$P(6C<(N#^Y$2 zhO6mU>SiqG`NJ|Nh20uULzDO3h$2McgCX$sxu`W!s07+B5K__t)Bx3k4ktvDnW3EN zmIta*mRy4iKsfkB^l1r06kKNcwM=qAseRH-dLTJn<^>1GB99#!A5`VKSo@q=s__Cl z+Du31v02kyU0xC{rUEnra*mQYMIyr0>ZAq^r-iV@Rr4b`($D2PP|7=soM(Oi;U0OP z$~6gGlX*{gESNAmw-oQga;z~rXj78Z7(v(hCemx>?~eVboW86 zQ&@BRCWH-SxFI3utFL_4dFe;#M9FrWcS+Y0M(~i$fY~HCDAdtzgALrV^7Qv-s@`uf zVP4x=V9bJhqW5>4%oV_s?)kYcBES^UJ^2>>Y5sGcX^P#A*RR4~b0+wD!-S(pU++WQ zf%nNS_@FaYHA1HN+oWGv>Td%kmm&+m>-XR0ikLfwGi91A9uHThyI9(|+;K2wdrueG zN`v9Os>j21LzQqXA1hKaxqQ|H736QRE?Zt}EDR?7;UvfYa~GgQLhdeE=<~Rpn)RvN zFMc9tbJsbkp(PMBL)Ve5uKq4tDZrI-qZ=P#rOAcU5+kQMSHf`Wxo5Oqw%0C6S{T!Pri4Zz7}2xg4Bh##9{TQeC1XW z-uGcOiakM-@c3V`Uycbbv|O$qYIJp8cfNcL=IQG%5R-nwIV+^#Q_oT~`;v4I8!v1=Bij>kyi6tpWy{ z0V3*ki+mF$SoORtuH?2}9xTJVMo0W_^c{pLVf>saa_4gfykjS>0tc*uw7%t~v`=PO zonulvQfx=QOWk^;Y@PaA$W>s*3@;camw+i%{*4V&`q4+k%xfYeBozmJDhv)GR7`O&>-!IZTI_Qj(L4;)#tFE4l=`@z8CJUE(#nx_`U~TsLO9Zd%E5vvJIB5 zRc_pC(IRXD9Z^za^|l+5J`!rz$FD}=O}Si1nLrrGm_MJE>SP1FasMCo-YPDR;M*1^ z5Fi19yAy&t1oz-haCdii*Fccq?(S{_4DJ@(-Q5{%;7-o>Klk4A{ypA#8TobhbXVc-v5{%~;_H(k(@DcXpOn{Rr5O zJE!}h8w?E5M*+(ocp8pSolS-<6%ycqO0H!A=9r5Q$ayC3YRTjJ z!-ECc=!)boZw-y9l`2t;+`$$PS8W_^yXB z#i=xwA2wbp*P4HmCx5C2&#u4LDX$ahI0Jn$78lQoa{EvR!TSP(y54w$bL<^&7mJuW zTgPh61q2@8DupHc64=QH2YixhitJ!?3yl3fQV;Ye{lA$JhRE0r17Z-jmB1 z<=mLODXi&I*YGE!Wm!rAa2p+Icdvpy|0J9BEVpfKt{qO`^BSX`uaV}2)D|IkrJoHisjpu* zGhvY0JsekLH{SGlU`1ySPrkw3M}}ppaCET;M>z9?U7a;R53~<^8r>gO+^p!a>5@qj zJhv`KY~J3ulHGLiTwKxB-4>J_40!DYSwe?S&%;+TT`Il3;2P8~c2bPLQfOFtA}tP)h3UMv%le zQ^tuEkoUPJPr4KgpX<+GU1lPiwV43$8r;7B{_X*%*aKGh*|vt&H~R%#6ho?%)mPj$ zRr|fKlR0U09vYUb(~c4&=M80(a6wp<>A4@aK(PMz{FJ=mp!6bZMh8EhvZv|7%c}_z zrBcOUKJPfrC10QH)D2MK;5u~mNz7b$oh+O9q_5J?25yS}2}M8CCAv*nwwCTOoi_qc zM&Pg{L2ZsjH$sJg3vg?!m&p^V&Yx6W_108q3R0}a3U=wF#2H+Fv^YJDfU)mg&5Ynx* z>fJ@uI^4Z{>ELliu=nt~#(x_lu(v%d{cwdy$=a>eIgk@)H(N|dXS!9*krE+y!ZJQ=%74v zZXbQwJdBlTCBF2y#GXbj#P>1jzlSel6srTP@2&QlA%JNo{^oePUEfm%C7+|>9W30r zZ42R#D)94`EC($>1`XiTP1lzV#%hIkGfzHybzS~c65yt9&)Cnh`O=c|NUw%|DP>4uXM&g?Xt(53GlP;E`pxi4yTv|`xuIHn0+^JCUoKH zLrNun^zIY#dj-|k*Ynu3ncjSJJKyNb>+9n1YNJhx)a%^g@_GEEW(}St;aD{PZ4vP7 zh3((;Yjve(+7!gjurCN26q_J10s3L$nlT*Gh6}GRFh*+$rC{IZ%~t2}^UTSS{g+1Hy*&W*)-xq{ zJC7xlR0K>bPn{(Lk(M$+*zNXb_dfE1S}ng#jC&m`7Imb&&3S)Pal>69;N0Z@kq-Pq zoV5yG&&LhYdorvkW42*QZDgESGBabfx>CHvE)}qP%!G6)(D-nNd zr`QbzPMdO0dONyGY(#T;{U8pg-rw=9XuD6&(3pg4y$d8J#mr=Wr?w zMM?lA2&ehK_|guRP5f?wwDWDm?>f(n_6)u)3#Z*!uYQ2M?U6;b_m^PtSaK?=6l?oZ zUV5P74E)beWPaKJ*V9PpqMfVlaWmZu(=4M;NC;MQPWugF|KW%Gt!mlE>N=>O1HpDl zV;6+ZypVp`+uLJ(1H#k(Sj)^@!}s+#bpk{rwN!PsK#D5;TG+okCRCvn^tz9vs??

@_j0lvRNn#nT_WG>N6zsI&uFwW;ofC;ccas% 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 bs(i}!jh?`I(=!H7M_YPYMw&GbpGW- Date: Mon, 27 Feb 2023 14:47:02 -0800 Subject: [PATCH 03/21] fix open loop example Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index 9fce2dfe..ac5eb8f4 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -332,9 +332,9 @@ int main(int argc, char ** argv) rclcpp::init(argc, argv); auto controller = std::make_shared("controller"); - auto rate = controller->create_rate(50.0); + rclcpp::Rate rate(50.0); while (rclcpp::ok()) { - rclcpp::spin_some(controller); + rclcpp::spin_once(controller); rate.sleep(); } rclcpp::shutdown(); From e5d4936cf1aaed96e74e2c4e93e33d9f1eb3d928 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 14:48:11 -0800 Subject: [PATCH 04/21] minor Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index ac5eb8f4..416a9b73 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -351,21 +351,21 @@ assign them to class variables. Available callback functions: -`/ahrs_data` → `void ahrs_callback(const buoy_interfaces::msg::XBRecord & data):` -`/battery_data` → `def battery_callback(const buoy_interfaces::msg::BCRecord & data):` -`/spring_data` → `def spring_callback(const buoy_interfaces::msg::SCRecord & data):` -`/power_data` → `def power_callback(const buoy_interfaces::msg::PCRecord & data):` -`/trefoil_data` → `def trefoil_callback(const buoy_interfaces::msg::TFRecord & data):` -`/powerbuoy_data` → `def powerbuoy_callback(const buoy_interfaces::msg::PBRecord & data):` +`/ahrs_data` → `void ahrs_callback(const buoy_interfaces::msg::XBRecord & data){}` +`/battery_data` → `void battery_callback(const buoy_interfaces::msg::BCRecord & data){}` +`/spring_data` → `void spring_callback(const buoy_interfaces::msg::SCRecord & data){}` +`/power_data` → `void power_callback(const buoy_interfaces::msg::PCRecord & data){}` +`/trefoil_data` → `void trefoil_callback(const buoy_interfaces::msg::TFRecord & data){}` +`/powerbuoy_data` → `void powerbuoy_callback(const buoy_interfaces::msg::PBRecord & data){}` You may also send commands from within the `Controller` class: -`this->send_pump_command(duration_mins)` -`this->send_valve_command(duration_sec)` -`this->send_pc_wind_curr_command(wind_curr_amps)` -`this->send_pc_bias_curr_command(bias_curr_amps)` -`this->send_pc_scale_command(scale_factor)` -`this->send_pc_retract_command(retract_factor)` +`this->send_pump_command(duration_mins);` +`this->send_valve_command(duration_sec);` +`this->send_pc_wind_curr_command(wind_curr_amps);` +`this->send_pc_bias_curr_command(bias_curr_amps);` +`this->send_pc_scale_command(scale_factor);` +`this->send_pc_retract_command(retract_factor);` --- From 3d55e49b2fc6d3fccfef486222ecbbbde96609ab Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 14:55:11 -0800 Subject: [PATCH 05/21] minor Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index 416a9b73..be23974c 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -371,4 +371,5 @@ You may also send commands from within the `Controller` class: ## Example -An example using this interface will follow in the next tutorial: [Linear Damper Example (C++)](CppLinearDamperExample.md) +An example using this interface will follow in the next tutorial: +[Linear Damper Example (C++)](CppLinearDamperExample.md) From 71541370820ebde877ec037e28d44915fcd75365 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 15:06:26 -0800 Subject: [PATCH 06/21] minor Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index be23974c..88d9f74b 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -315,7 +315,7 @@ control (for example): // To subscribe to any topic, simply declare & define the specific callback, e.g. power_callback // Callback for '/power_data' topic from Power Controller - void power_callback(const buoy_interfaces::msg::PCRecord &) + void power_callback(const buoy_interfaces::msg::PCRecord & data) { // get target value from control policy double wind_curr = policy_->target(data.rpm, data.scale, data.retract); From 64056d5ee146cd62c4fd3df1b8369608237f76f2 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 15:20:26 -0800 Subject: [PATCH 07/21] add packet rates to cpp Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/CPPTemplate.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/docs/Tutorials/ROS2/CPPTemplate.md b/docs/docs/Tutorials/ROS2/CPPTemplate.md index 88d9f74b..4c86dc4a 100644 --- a/docs/docs/Tutorials/ROS2/CPPTemplate.md +++ b/docs/docs/Tutorials/ROS2/CPPTemplate.md @@ -367,6 +367,25 @@ You may also send commands from within the `Controller` class: `this->send_pc_scale_command(scale_factor);` `this->send_pc_retract_command(retract_factor);` +In the `Controller` constructor, you may also uncomment lines 31 or 32 to set the publish rates for +the Spring or Power Controllers on the buoy. These controllers default to publishing at 10Hz. You +can call commands to set the rates anywhere from 10Hz to 50Hz (default argument is 50Hz). + +``` cpp linenums="22" +Controller::Controller(const std::string & node_name) +: buoy_api::Interface(node_name), + policy_(std::make_unique()) +{ + this->set_params(); + + // set packet rates from controllers here + // controller defaults to publishing @ 10Hz + // call these to set rate to 50Hz or provide argument for specific rate + // this->set_sc_pack_rate_param(); // set SC publish rate to 50Hz + // this->set_pc_pack_rate_param(); // set PC publish rate to 50Hz +} +``` + --- ## Example From 7fea45252bf166a3944b2bb2cf3a96a015ee3ea7 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 15:25:26 -0800 Subject: [PATCH 08/21] add packet rates to py Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/PythonTemplate.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/docs/Tutorials/ROS2/PythonTemplate.md b/docs/docs/Tutorials/ROS2/PythonTemplate.md index a4551c7a..b5606c29 100644 --- a/docs/docs/Tutorials/ROS2/PythonTemplate.md +++ b/docs/docs/Tutorials/ROS2/PythonTemplate.md @@ -325,6 +325,24 @@ You may also send commands from within the `Controller` class: `self.send_pc_scale_command(scale_factor, blocking=False)` `self.send_pc_retract_command(retract_factor, blocking=False)` +In the `Controller` constructor, you may also uncomment lines 31 or 32 to set the publish rates for +the Spring or Power Controllers on the buoy. These controllers default to publishing at 10Hz. You +can call commands to set the rates anywhere from 10Hz to 50Hz (default argument is 50Hz). + +``` py linenums="46" + def __init__(self): + super().__init__('controller') + + self.policy = ControlPolicy() + self.set_params() + + # set packet rates from controllers here + # controller defaults to publishing @ 10Hz + # call these to set rate to 50Hz or provide argument for specific rate + # self.set_pc_pack_rate_param() # set SC publish rate to 50Hz + # self.set_sc_pack_rate_param() # set PC publish rate to 50Hz +``` + --- ## Example From fe630a2fc74de342a09808cbaf15342cf10d2803 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 15:26:07 -0800 Subject: [PATCH 09/21] add packet rates to py Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/PythonTemplate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/PythonTemplate.md b/docs/docs/Tutorials/ROS2/PythonTemplate.md index b5606c29..e6b2b7ac 100644 --- a/docs/docs/Tutorials/ROS2/PythonTemplate.md +++ b/docs/docs/Tutorials/ROS2/PythonTemplate.md @@ -325,7 +325,7 @@ You may also send commands from within the `Controller` class: `self.send_pc_scale_command(scale_factor, blocking=False)` `self.send_pc_retract_command(retract_factor, blocking=False)` -In the `Controller` constructor, you may also uncomment lines 31 or 32 to set the publish rates for +In the `Controller` constructor, you may also uncomment lines 55 or 56 to set the publish rates for the Spring or Power Controllers on the buoy. These controllers default to publishing at 10Hz. You can call commands to set the rates anywhere from 10Hz to 50Hz (default argument is 50Hz). From d50db802ab89f84ff4f56d2179591841615c26fd Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Mon, 27 Feb 2023 15:29:50 -0800 Subject: [PATCH 10/21] update links and remove unused file Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/Template.md | 0 docs/docs/tutorials.md | 1 + 2 files changed, 1 insertion(+) delete mode 100644 docs/docs/Tutorials/ROS2/Template.md diff --git a/docs/docs/Tutorials/ROS2/Template.md b/docs/docs/Tutorials/ROS2/Template.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/docs/tutorials.md b/docs/docs/tutorials.md index 3854a628..bdef8110 100644 --- a/docs/docs/tutorials.md +++ b/docs/docs/tutorials.md @@ -15,6 +15,7 @@ - [Controller GitHub Template (Python)](Tutorials/ROS2/PythonTemplate.md) - [Controller GitHub Template (C++)](Tutorials/ROS2/CPPTemplate.md) - [Linear Damper Example (Python)](Tutorials/ROS2/PythonLinearDamperExample.md) +- [Linear Damper Example (C++)](Tutorials/ROS2/CppLinearDamperExample.md) - [Open-Loop Control Example](Tutorials/ROS2/OpenLoopControl.md) - [Closed-Loop Control Example](Tutorials/ROS2/ClosedLoopControl.md) - [Model-Predictive Control Example](Tutorials/ROS2/MPC.md) From e0d042539e20383869ab821fc676c14b0c577f3c Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Thu, 2 Mar 2023 21:19:47 -0800 Subject: [PATCH 11/21] python linear damper example tutorial Signed-off-by: Michael Anderson --- .../ROS2/PythonLinearDamperExample.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index e69de29b..2dfd52e8 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -0,0 +1,62 @@ +# Quick Start -- Simple Linear Damper Controller (Python) + +--- + +## Prerequisite + +This tutorial assumes you have followed the steps from the previous +[tutorial](PythonTemplate.md) on creating and customizing your own Python ROS 2 controller package +from the [mbari_wec_template_py](https://github.com/mbari-org/mbari_wec_template_py) template +repository. + +To begin, you should have a Python ROS 2 controller package that looks similar to: + +``` +mbari_wec_linear_damper_py +├── config +│   └── controller.yaml +├── CONTRIBUTING.md +├── launch +│   └── controller.launch.py +├── LICENSE +├── mbari_wec_linear_damper_py +│   ├── controller.py +│   ├── __init__.py +├── package.xml +├── README.md +├── resource +│   └── mbari_wec_linear_damper_py +├── setup.cfg +├── setup.py +└── test + ├── test_copyright.py + ├── test_flake8.py + └── test_pep257.py +``` + +with the files modified according to the previous tutorial + +--- + +## Linear Damper ControlPolicy + +In this tutorial you will implement a simple linear damper controller for the piston in the WEC +Power-Take-Off (PTO). Given motor RPM, it outputs desired motor winding current (interpolated from +RPM->Torque lookup table) to generate a torque to resist piston velocity with a damping force. +Configurable gains (scale/retract factor) are applied before output. + +### Parameters + +Parameters for the controller are: + +- `torque_constant`: Motor Torque Constant (N-m/Amp) + Find motor winding current to apply for desired torque +- `n_spec`: Motor RPM Breakpoints + `N` (RPM) is the input to the controller and `n_spec` are the x-components of the breakpoints + (`n_spec`, `torque_spec` / `torque_constant`) for the interpolant, + `f(n_spec) = torque_spec / torque_constant` +- `torque_spec`: Desired Motor Torque (N-m) Breakpoints + Torque (N-m) is the eventual desired output of the controller given an input `N` (motor RPM) and + `torque_spec` / `torque_constant` (Amps) are the y-components of the breakpoints for the + interpolant. The controller actually outputs motor winding current (Amps) to generate a torque + in the opposite direction of piston velocity to generate a damping force. From d193dddd9e7b56084d4a4a1cc025adf5a8b6624e Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Thu, 2 Mar 2023 21:28:16 -0800 Subject: [PATCH 12/21] formatting Signed-off-by: Michael Anderson --- docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 2dfd52e8..a89d34f0 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -50,12 +50,17 @@ Configurable gains (scale/retract factor) are applied before output. Parameters for the controller are: - `torque_constant`: Motor Torque Constant (N-m/Amp) + Find motor winding current to apply for desired torque + - `n_spec`: Motor RPM Breakpoints + `N` (RPM) is the input to the controller and `n_spec` are the x-components of the breakpoints (`n_spec`, `torque_spec` / `torque_constant`) for the interpolant, `f(n_spec) = torque_spec / torque_constant` + - `torque_spec`: Desired Motor Torque (N-m) Breakpoints + Torque (N-m) is the eventual desired output of the controller given an input `N` (motor RPM) and `torque_spec` / `torque_constant` (Amps) are the y-components of the breakpoints for the interpolant. The controller actually outputs motor winding current (Amps) to generate a torque From daf4e0d7005858804dbfa3e01a0f052c453ec951 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Thu, 2 Mar 2023 22:09:18 -0800 Subject: [PATCH 13/21] formatting Signed-off-by: Michael Anderson --- .../Tutorials/ROS2/PythonLinearDamperExample.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index a89d34f0..29014e2a 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -49,18 +49,17 @@ Configurable gains (scale/retract factor) are applied before output. Parameters for the controller are: -- `torque_constant`: Motor Torque Constant (N-m/Amp) - - Find motor winding current to apply for desired torque - -- `n_spec`: Motor RPM Breakpoints - +- `torque_constant`: Motor Torque Constant (N-m/Amp) + Constant to convert desired torque to applied motor winding current +
+
+- `n_spec`: Motor RPM Breakpoints `N` (RPM) is the input to the controller and `n_spec` are the x-components of the breakpoints (`n_spec`, `torque_spec` / `torque_constant`) for the interpolant, `f(n_spec) = torque_spec / torque_constant` - -- `torque_spec`: Desired Motor Torque (N-m) Breakpoints - +
+
+- `torque_spec`: Desired Motor Torque (N-m) Breakpoints Torque (N-m) is the eventual desired output of the controller given an input `N` (motor RPM) and `torque_spec` / `torque_constant` (Amps) are the y-components of the breakpoints for the interpolant. The controller actually outputs motor winding current (Amps) to generate a torque From df83a7321a36eff63b49c22f42d214b7b480cb45 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Fri, 3 Mar 2023 00:38:29 -0800 Subject: [PATCH 14/21] first draft; need to show expected controller output Signed-off-by: Michael Anderson --- .../ROS2/PythonLinearDamperExample.md | 178 +++++++++++++++++- 1 file changed, 171 insertions(+), 7 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 29014e2a..2175e353 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -34,7 +34,8 @@ mbari_wec_linear_damper_py └── test_pep257.py ``` -with the files modified according to the previous tutorial +with the files modified according to the previous tutorial. The package for this tutorial is named +`mbari_wec_linear_damper_py`. --- @@ -43,7 +44,12 @@ with the files modified according to the previous tutorial In this tutorial you will implement a simple linear damper controller for the piston in the WEC Power-Take-Off (PTO). Given motor RPM, it outputs desired motor winding current (interpolated from RPM->Torque lookup table) to generate a torque to resist piston velocity with a damping force. -Configurable gains (scale/retract factor) are applied before output. +Configurable gains (scale/retract factor) are applied before output. In the end, you will have a +working linear damper controller that is very close to the controller running on both the physical +and simulated buoy. + +A full example starting from the template may be found +[here](https://github.com/mbari-org/mbari_wec_template_py/tree/linear_damper_example). ### Parameters @@ -53,14 +59,172 @@ Parameters for the controller are: Constant to convert desired torque to applied motor winding current

-- `n_spec`: Motor RPM Breakpoints - `N` (RPM) is the input to the controller and `n_spec` are the x-components of the breakpoints - (`n_spec`, `torque_spec` / `torque_constant`) for the interpolant, - `f(n_spec) = torque_spec / torque_constant` +- `n_spec`: Input Motor Speed (RPM) Breakpoints + \(N\) (RPM) is the input to the controller and `n_spec` are the x-components of the breakpoints + \(\left(n\_spec, \frac{torque\_spec}{torque_constant}\right)\) for the interpolant, +
+ \(\hat{f}_{I}(n\_spec) = \frac{torque\_spec}{torque\_constant} \approx f_{I}(N) = I\)

-- `torque_spec`: Desired Motor Torque (N-m) Breakpoints +- `torque_spec`: Desired Output Motor Torque (N-m) Breakpoints Torque (N-m) is the eventual desired output of the controller given an input `N` (motor RPM) and `torque_spec` / `torque_constant` (Amps) are the y-components of the breakpoints for the interpolant. The controller actually outputs motor winding current (Amps) to generate a torque in the opposite direction of piston velocity to generate a damping force. + +These can be configured using the `config/controller.yaml` file. + +``` yaml linenums="1" title="config/controller.yaml" +/linear_damper: + ros__parameters: + torque_constant: 0.438 + n_spec: [0.0, 300.0, 600.0, 1000.0, 1700.0, 4400.0, 6790.0] + torque_spec: [0.0, 0.0, 0.8, 2.9, 5.6, 9.8, 16.6] +``` + +As you can see, as motor speed increases, so does the damping torque. For low RPM (up to 300), +there is no damping. + +Initialize these variables in `ControlPolicy` in `mbari_wec_linear_damper_py/controller.py`. This +example makes use of `numpy.array`. + +``` py linenums="24" title="mbari_wec_linear_damper_py/controller.py" +class ControlPolicy(object): + """ + Simple Linear Damper Control Policy. + Implements a simple linear damper controller for the piston in the WEC + Power-Take-Off (PTO). Given motor RPM, outputs desired motor winding current (interpolated + from RPM->Torque lookup table) to resist piston velocity. Configurable gains + (scale/retract factor) are applied before output. + """ + + def __init__(self): + # Define any parameter variables here + self.Torque_constant = 0.438 # N-m/Amps + # Desired damping Torque vs RPM relationship + self.N_Spec = np.array([0.0, 300.0, 600.0, 1000.0, 1700.0, 4400.0, 6790.0]) # RPM + self.Torque_Spec = np.array([0.0, 0.0, 0.8, 2.9, 5.6, 9.8, 16.6]) # N-m +``` + +Update the dependent variable, `I_Spec`, and create the interpolator, `windcurr_interp1d`, which +uses `interp1d` from `scipy.interpolate`. + +``` py linenums="43" title="mbari_wec_linear_damper_py/controller.py" + def update_params(self): + """Update dependent variables after reading in params.""" + # Convert to Motor Winding Current vs RPM and generate interpolator for f(RPM) = I + self.I_Spec = self.Torque_Spec / self.Torque_constant # Amps + self.windcurr_interp1d = interpolate.interp1d(self.N_Spec, self.I_Spec, + fill_value=self.I_Spec[-1], + bounds_error=False) +``` + +Finally, in the `Controller` class, declare/get/set/update these parameters from ROS 2 (as set in +`config/controller.yaml`). + +``` py linenums="118" title="mbari_wec_linear_damper_py/controller.py" + def set_params(self): + """Use ROS2 declare_parameter and get_parameter to set policy params.""" + self.declare_parameter('torque_constant', self.policy.Torque_constant) + self.policy.Torque_constant = \ + self.get_parameter('torque_constant').get_parameter_value().double_value + + self.declare_parameter('n_spec', self.policy.N_Spec.tolist()) + self.policy.N_Spec = \ + np.array(self.get_parameter('n_spec').get_parameter_value().double_array_value) + + self.declare_parameter('torque_spec', self.policy.Torque_Spec.tolist()) + self.policy.Torque_Spec = \ + np.array(self.get_parameter('torque_spec').get_parameter_value().double_array_value) + + # recompute any dependent variables + self.policy.update_params() + self.get_logger().info(str(self.policy)) +``` + +The example includes a helper function, `__str__`, in the `ControlPolicy` class to report the +parameters used. + +``` py linenums="66" title="mbari_wec_linear_damper_py/controller.py" + def __str__(self): + return """ControlPolicy: +\tTorque_constant: {tc} +\tN_Spec: {nspec} +\tTorque_Spec: {tspec} +\tI_Spec: {ispec}""".format(tc=self.Torque_constant, + nspec=self.N_Spec, + tspec=self.Torque_Spec, + ispec=self.I_Spec) +``` + +### Control Policy Target + +To implement the torque control control policy, we use the `target` function in `ControlPolicy`. +This is where we accept feedback data and return a command value. In this case, we need the motor +`rpm`, and the gains applied to the winding current damping, `scale_factor` and `retract_factor`. +Typical values for these gains are + +- scale_factor = 1 +- retract_factor = 0.6 + +``` py linenums="52" title="mbari_wec_linear_damper_py/controller.py" + def target(self, rpm, scale_factor, retract_factor): + """Calculate target value from feedback inputs.""" + N = abs(rpm) + I = self.windcurr_interp1d(N) + + # Apply damping gain + I *= scale_factor + + # Hysteresis due to gravity assist + if rpm > 0.0: + I *= -retract_factor + + return float(I) +``` + +So, as you can see we apply a positive damping torque when `N` is negative (piston extending), and +a positive damping torque when `N` is positive (piston retracting). The damping torque required is +reduced when retracting. + +### Controller + +All that is left is to connect the necessary feedback data to the `ControlPolicy`. In this case, +`rpm`, `scale`, and `retract` are present in `buoy_interfaces.msg.PCRecord` on the `/power_data` +topic published by the Power Controller running on the buoy. + +To access the data, all that is required is to define the callback `def power_callback(self, data)` +in the `Controller` class, and pass the data to `self.policy.target` to get the desired winding +current command. Various commands are available, and this time we will be using +`self.send_pc_wind_curr_command(wind_curr, blocking=False)` + +``` py linenums="107" title="mbari_wec_linear_damper_py/controller.py" + def power_callback(self, data): + """Provide feedback of '/power_data' topic from Power Controller.""" + # Update class variables, get control policy target, send commands, etc. + wind_curr = self.policy.target(data.rpm, data.scale, data.retract) + + self.get_logger().info('WindingCurrent:' + + f' f({data.rpm:.02f}, {data.scale:.02f}, {data.retract:.02f})' + + f' = {wind_curr:.02f}') + + self.send_pc_wind_curr_command(wind_curr, blocking=False) +``` + +## Try It Out + +We will be using `ros2 launch` and `launch/controller.launch.py` to run our new controller. + +To run the controller along with the simulation, first source your workspace. Then, launch the +sim: +`$ ros2 launch buoy_gazebo mbari_wec.launch.py` +and click the play button. + +Then, launch your controller: +`$ ros2 launch mbari_wec_linear_damper_py controller.launch.py` + +You should see output similar to + +``` +... +``` \ No newline at end of file From 5d22c1fdd2e009a407d2e819d48fc245fbce3c20 Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Fri, 3 Mar 2023 09:29:02 -0800 Subject: [PATCH 15/21] add example controller output Signed-off-by: Michael Anderson --- .../ROS2/PythonLinearDamperExample.md | 49 ++++++++++++++++--- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 2175e353..b5e3e02c 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -215,16 +215,53 @@ current command. Various commands are available, and this time we will be using We will be using `ros2 launch` and `launch/controller.launch.py` to run our new controller. -To run the controller along with the simulation, first source your workspace. Then, launch the -sim: +To run the controller along with the simulation, first source your workspace. Then, launch your controller: +`$ ros2 launch mbari_wec_linear_damper_py controller.launch.py` + +Then, launch the sim: `$ ros2 launch buoy_gazebo mbari_wec.launch.py` and click the play button. -Then, launch your controller: -`$ ros2 launch mbari_wec_linear_damper_py controller.launch.py` -You should see output similar to +You should see output similar to: ``` -... +[linear_damper-1] [INFO] [1677864397.617058507] [linear_damper]: Found all required services. +[linear_damper-1] [INFO] [1677864397.618426488] [linear_damper]: ControlPolicy: +[linear_damper-1] Torque_constant: 0.438 +[linear_damper-1] N_Spec: [ 0. 300. 600. 1000. 1700. 4400. 6790.] +[linear_damper-1] Torque_Spec: [ 0. 0. 0.8 2.9 5.6 9.8 16.6] +[linear_damper-1] I_Spec: [ 0. 0. 1.82648402 6.62100457 12.78538813 22.37442922 +[linear_damper-1] 37.89954338] +[linear_damper-1] [INFO] [1677864197.432679525] [linear_damper]: WindingCurrent: f(4962.91, 1.00, 0.60) = -15.62 +[linear_damper-1] [INFO] [1677864197.532727531] [linear_damper]: WindingCurrent: f(7764.73, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864197.632748699] [linear_damper]: WindingCurrent: f(10504.88, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864197.732851121] [linear_damper]: WindingCurrent: f(11491.33, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864197.833078440] [linear_damper]: WindingCurrent: f(11075.84, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864197.933050356] [linear_damper]: WindingCurrent: f(9546.51, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864198.033185882] [linear_damper]: WindingCurrent: f(7499.68, 1.00, 0.60) = -22.74 +[linear_damper-1] [INFO] [1677864198.133197926] [linear_damper]: WindingCurrent: f(5190.35, 1.00, 0.60) = -16.51 +[linear_damper-1] [INFO] [1677864198.233322713] [linear_damper]: WindingCurrent: f(2353.02, 1.00, 0.60) = -9.06 +[linear_damper-1] [INFO] [1677864198.333507127] [linear_damper]: WindingCurrent: f(-257.59, 1.00, 0.60) = 0.00 +[linear_damper-1] [INFO] [1677864198.433489830] [linear_damper]: WindingCurrent: f(-2185.58, 1.00, 0.60) = 14.51 +[linear_damper-1] [INFO] [1677864198.533538450] [linear_damper]: WindingCurrent: f(-2987.98, 1.00, 0.60) = 17.36 +[linear_damper-1] [INFO] [1677864198.633671249] [linear_damper]: WindingCurrent: f(-3513.15, 1.00, 0.60) = 19.22 +[linear_damper-1] [INFO] [1677864198.733703803] [linear_damper]: WindingCurrent: f(-3738.12, 1.00, 0.60) = 20.02 +[linear_damper-1] [INFO] [1677864198.833889518] [linear_damper]: WindingCurrent: f(-3751.64, 1.00, 0.60) = 20.07 +[linear_damper-1] [INFO] [1677864198.933993414] [linear_damper]: WindingCurrent: f(-3595.71, 1.00, 0.60) = 19.52 +[linear_damper-1] [INFO] [1677864199.034078009] [linear_damper]: WindingCurrent: f(-3306.87, 1.00, 0.60) = 18.49 +[linear_damper-1] [INFO] [1677864199.134273438] [linear_damper]: WindingCurrent: f(-3012.52, 1.00, 0.60) = 17.45 +[linear_damper-1] [INFO] [1677864199.234371669] [linear_damper]: WindingCurrent: f(-2617.97, 1.00, 0.60) = 16.05 +[linear_damper-1] [INFO] [1677864199.334275962] [linear_damper]: WindingCurrent: f(-2269.58, 1.00, 0.60) = 14.81 +[linear_damper-1] [INFO] [1677864199.434369620] [linear_damper]: WindingCurrent: f(-1893.56, 1.00, 0.60) = 13.47 +[linear_damper-1] [INFO] [1677864199.534461914] [linear_damper]: WindingCurrent: f(-1513.34, 1.00, 0.60) = 11.14 +[linear_damper-1] [INFO] [1677864199.634556815] [linear_damper]: WindingCurrent: f(-1128.46, 1.00, 0.60) = 7.75 +[linear_damper-1] [INFO] [1677864199.734798736] [linear_damper]: WindingCurrent: f(-825.91, 1.00, 0.60) = 4.53 +[linear_damper-1] [INFO] [1677864199.834753871] [linear_damper]: WindingCurrent: f(-586.78, 1.00, 0.60) = 1.75 +[linear_damper-1] [INFO] [1677864199.934809041] [linear_damper]: WindingCurrent: f(-393.25, 1.00, 0.60) = 0.57 +[linear_damper-1] [INFO] [1677864200.035109715] [linear_damper]: WindingCurrent: f(-132.04, 1.00, 0.60) = 0.00 +[linear_damper-1] [INFO] [1677864200.134981992] [linear_damper]: WindingCurrent: f(92.19, 1.00, 0.60) = -0.00 +[linear_damper-1] [INFO] [1677864200.235094219] [linear_damper]: WindingCurrent: f(338.10, 1.00, 0.60) = -0.14 +[linear_damper-1] [INFO] [1677864200.335164181] [linear_damper]: WindingCurrent: f(636.96, 1.00, 0.60) = -1.36 +[linear_damper-1] [INFO] [1677864200.435227880] [linear_damper]: WindingCurrent: f(863.33, 1.00, 0.60) = -2.99 ``` \ No newline at end of file From 20fce16e6038a86e5f5258b07664eecd759bd37d Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Fri, 3 Mar 2023 09:46:38 -0800 Subject: [PATCH 16/21] update line numbers etc after fixing linters in template Signed-off-by: Michael Anderson --- .../ROS2/PythonLinearDamperExample.md | 19 +++++++++++- docs/docs/Tutorials/ROS2/PythonTemplate.md | 31 ++++++++++--------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index b5e3e02c..79426c91 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -49,7 +49,8 @@ working linear damper controller that is very close to the controller running on and simulated buoy. A full example starting from the template may be found -[here](https://github.com/mbari-org/mbari_wec_template_py/tree/linear_damper_example). +[here](https://github.com/mbari-org/mbari_wec_template_py/tree/linear_damper_example). Line numbers +in this tutorial refer to files in the full example. ### Parameters @@ -211,6 +212,22 @@ current command. Various commands are available, and this time we will be using self.send_pc_wind_curr_command(wind_curr, blocking=False) ``` +Finally, let's set the Power Controller's publish rate to the maximum of 50Hz. Uncomment the line +to set the PC Pack Rate in `Controller.__init__`: + +``` py linenums="79" title="mbari_wec_linear_damper_py/controller.py" + def __init__(self): + super().__init__('linear_damper') + + self.policy = ControlPolicy() + self.set_params() + + # set packet rates from controllers here + # controller defaults to publishing feedback @ 10Hz + # call these to set rate to 50Hz or provide argument for specific rate + self.set_pc_pack_rate_param() # set PC feedback publish rate to 50Hz +``` + ## Try It Out We will be using `ros2 launch` and `launch/controller.launch.py` to run our new controller. diff --git a/docs/docs/Tutorials/ROS2/PythonTemplate.md b/docs/docs/Tutorials/ROS2/PythonTemplate.md index e6b2b7ac..355d4a87 100644 --- a/docs/docs/Tutorials/ROS2/PythonTemplate.md +++ b/docs/docs/Tutorials/ROS2/PythonTemplate.md @@ -76,7 +76,7 @@ Replace `mbari_wec_template_py` with your package name and modify other fields a - package.xml (lines 4-8) -``` xml linenums="1" hl_lines="4-8" title="package.xml" +``` xml linenums="1" hl_lines="4 5 6 7 8" title="package.xml" @@ -126,11 +126,12 @@ script_dir=$base/lib/your_package_name install_scripts=$base/lib/your_package_name ``` -- launch/controller.launch.py (lines 22, 34-35) +- launch/controller.launch.py (lines 22, 35-36) -``` py linenums="22" hl_lines="1 13 14" title="launch/controller.launch.py" +``` py linenums="22" hl_lines="1 14 15" title="launch/controller.launch.py" package_name = 'your_package_name' # Update package name + def generate_launch_description(): ld = LaunchDescription() config = os.path.join( @@ -207,14 +208,14 @@ class ControlPolicy(object): self.update_params() def update_params(self): - '''Update dependent variables after reading in params''' + """Update dependent variables after reading in params.""" self.bar = 10.0 * self.foo pass # remove if there's anything to set above # Modify function inputs as desired def target(self, *args, **kwargs): - '''Calculate target value from feedback inputs''' + """Calculate target value from feedback inputs.""" # secret sauce @@ -235,17 +236,17 @@ class ControlPolicy(object): ``` py linenums="29" def update_params(self): - '''Update dependent variables after reading in params''' + """Update dependent variables after reading in params.""" self.bar = 10.0 * self.foo pass # remove if there's anything to set above ``` -- Declare/get/update params in the `set_params` function of the `Controller` class on line 111 +- Declare/get/update params in the `set_params` function of the `Controller` class on line 113 -``` py linenums="111" +``` py linenums="113" def set_params(self): - '''Use ROS 2 declare_parameter and get_parameter to set policy params''' + """Use ROS2 declare_parameter and get_parameter to set policy params.""" self.declare_parameter('foo', self.policy.foo) self.policy.foo = \ self.get_parameter('foo').get_parameter_value().double_value @@ -257,10 +258,10 @@ class ControlPolicy(object): - Then, your control logic will go in the `target` function on line 36. Modify the input args as well as the return value as necessary -``` py linenums="36" +``` py linenums="35" # Modify function inputs as desired - def target(self, *args, **kwargs): - '''Calculate target value from feedback inputs''' + def target(self, *args, **kwargs): # noqa: D202 + """Calculate target value from feedback inputs.""" # secret sauce @@ -287,7 +288,7 @@ control (for example): Or, set up a loop in `main()` and run open-loop: -``` py linenums="121" +``` py linenums="123" def main(): rclpy.init() controller = Controller() @@ -339,8 +340,8 @@ can call commands to set the rates anywhere from 10Hz to 50Hz (default argument # set packet rates from controllers here # controller defaults to publishing @ 10Hz # call these to set rate to 50Hz or provide argument for specific rate - # self.set_pc_pack_rate_param() # set SC publish rate to 50Hz - # self.set_sc_pack_rate_param() # set PC publish rate to 50Hz + # self.set_pc_pack_rate_param() # set PC publish rate to 50Hz + # self.set_sc_pack_rate_param() # set SC publish rate to 50Hz ``` --- From ab8db358d203d62f4d4afecc2780a023eb9c387d Mon Sep 17 00:00:00 2001 From: andermi Date: Tue, 7 Mar 2023 14:57:09 -0800 Subject: [PATCH 17/21] Update docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md Co-authored-by: Dharini Dutia --- docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 79426c91..93d6815d 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -50,7 +50,7 @@ and simulated buoy. A full example starting from the template may be found [here](https://github.com/mbari-org/mbari_wec_template_py/tree/linear_damper_example). Line numbers -in this tutorial refer to files in the full example. +in this tutorial corresponds to the lines in relevant files in the full example. ### Parameters From 9c06ea5ede7944c2625d5d5c5582382f31065b15 Mon Sep 17 00:00:00 2001 From: andermi Date: Tue, 7 Mar 2023 14:57:19 -0800 Subject: [PATCH 18/21] Update docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md Co-authored-by: Dharini Dutia --- docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 93d6815d..08d6ea35 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -34,7 +34,7 @@ mbari_wec_linear_damper_py └── test_pep257.py ``` -with the files modified according to the previous tutorial. The package for this tutorial is named +with the files modified from the previous tutorial. If haven't already, follow the steps in the above mentioned link to create a package for this tutorial named `mbari_wec_linear_damper_py`. --- From 0021c7a640469a55c929b3e84a7a126aea944176 Mon Sep 17 00:00:00 2001 From: andermi Date: Tue, 7 Mar 2023 15:04:18 -0800 Subject: [PATCH 19/21] Update PythonLinearDamperExample.md --- .../ROS2/PythonLinearDamperExample.md | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 08d6ea35..7ffb5263 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -2,6 +2,15 @@ --- +In this tutorial you will implement a simple linear damper controller for the piston in the WEC +Power-Take-Off (PTO). Given motor RPM, it outputs desired motor winding current (interpolated from +RPM->Torque lookup table) to generate a torque to resist piston velocity with a damping force. +Configurable gains (scale/retract factor) are applied before output. In the end, you will have a +working linear damper controller that is very close to the controller running on both the physical +and simulated buoy. + +--- + ## Prerequisite This tutorial assumes you have followed the steps from the previous @@ -34,23 +43,16 @@ mbari_wec_linear_damper_py └── test_pep257.py ``` -with the files modified from the previous tutorial. If haven't already, follow the steps in the above mentioned link to create a package for this tutorial named -`mbari_wec_linear_damper_py`. +with the files modified from the previous tutorial. If you haven't already, follow the steps in +the above mentioned link to create a package for this tutorial named `mbari_wec_linear_damper_py`. --- ## Linear Damper ControlPolicy -In this tutorial you will implement a simple linear damper controller for the piston in the WEC -Power-Take-Off (PTO). Given motor RPM, it outputs desired motor winding current (interpolated from -RPM->Torque lookup table) to generate a torque to resist piston velocity with a damping force. -Configurable gains (scale/retract factor) are applied before output. In the end, you will have a -working linear damper controller that is very close to the controller running on both the physical -and simulated buoy. - -A full example starting from the template may be found +A complete example starting from the template may be found [here](https://github.com/mbari-org/mbari_wec_template_py/tree/linear_damper_example). Line numbers -in this tutorial corresponds to the lines in relevant files in the full example. +in this tutorial correspond to the lines in relevant files in the full example. ### Parameters @@ -281,4 +283,4 @@ You should see output similar to: [linear_damper-1] [INFO] [1677864200.235094219] [linear_damper]: WindingCurrent: f(338.10, 1.00, 0.60) = -0.14 [linear_damper-1] [INFO] [1677864200.335164181] [linear_damper]: WindingCurrent: f(636.96, 1.00, 0.60) = -1.36 [linear_damper-1] [INFO] [1677864200.435227880] [linear_damper]: WindingCurrent: f(863.33, 1.00, 0.60) = -2.99 -``` \ No newline at end of file +``` From 31fec7a4e55b79895653e9285abbe3d3656e7981 Mon Sep 17 00:00:00 2001 From: andermi Date: Fri, 17 Mar 2023 16:45:09 -0400 Subject: [PATCH 20/21] Update docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md Co-authored-by: Dharini Dutia --- docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 7ffb5263..97cb10da 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -145,7 +145,7 @@ Finally, in the `Controller` class, declare/get/set/update these parameters from self.get_logger().info(str(self.policy)) ``` -The example includes a helper function, `__str__`, in the `ControlPolicy` class to report the +Add a helper function, `__str__`, in the `ControlPolicy` class for this example to report the parameters used. ``` py linenums="66" title="mbari_wec_linear_damper_py/controller.py" From a9641ad8dd02f752376d8c62725ec3a9805a64af Mon Sep 17 00:00:00 2001 From: Michael Anderson Date: Fri, 17 Mar 2023 14:35:58 -0700 Subject: [PATCH 21/21] PR comments Signed-off-by: Michael Anderson --- .../ROS2/PythonLinearDamperExample.md | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md index 97cb10da..54ddc10c 100644 --- a/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md +++ b/docs/docs/Tutorials/ROS2/PythonLinearDamperExample.md @@ -13,10 +13,10 @@ and simulated buoy. ## Prerequisite -This tutorial assumes you have followed the steps from the previous -[tutorial](PythonTemplate.md) on creating and customizing your own Python ROS 2 controller package -from the [mbari_wec_template_py](https://github.com/mbari-org/mbari_wec_template_py) template -repository. +This tutorial assumes you are familiar the steps from the previous [tutorial](PythonTemplate.md) +and have built your own custom Python ROS 2 controller package from the +[mbari_wec_template_py](https://github.com/mbari-org/mbari_wec_template_py) template +repository which we will use to implement a simple linear damper controller. To begin, you should have a Python ROS 2 controller package that looks similar to: @@ -89,9 +89,14 @@ As you can see, as motor speed increases, so does the damping torque. For low RP there is no damping. Initialize these variables in `ControlPolicy` in `mbari_wec_linear_damper_py/controller.py`. This -example makes use of `numpy.array`. +example makes use of `numpy.array` as well as `scipy.interpolate.interp1d`, so don't forget to +include those. + +``` py linenums="21" title="mbari_wec_linear_damper_py/controller.py" +import numpy as np +from scipy import interpolate + -``` py linenums="24" title="mbari_wec_linear_damper_py/controller.py" class ControlPolicy(object): """ Simple Linear Damper Control Policy. @@ -179,7 +184,7 @@ Typical values for these gains are # Apply damping gain I *= scale_factor - # Hysteresis due to gravity assist + # Hysteresis due to gravity / wave assist if rpm > 0.0: I *= -retract_factor @@ -230,11 +235,15 @@ to set the PC Pack Rate in `Controller.__init__`: self.set_pc_pack_rate_param() # set PC feedback publish rate to 50Hz ``` +In this tutorial, we've named this controller `linear_damper`. Don't forget to update controller +names along with other changes according to the previous tutorial. + ## Try It Out We will be using `ros2 launch` and `launch/controller.launch.py` to run our new controller. -To run the controller along with the simulation, first source your workspace. Then, launch your controller: +To run the controller along with the simulation, first source your workspace. Then, launch your +controller: `$ ros2 launch mbari_wec_linear_damper_py controller.launch.py` Then, launch the sim:

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� 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 qa5)uFU>$*J$Au9BT@e!{r9_0&iNy?koxM<_y7 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 z zk$U$oW$b}wS@CC-9Z2FyHJ;x+ZG<0)h)^1lY2+H-{%SFV#s5L z{@|3rQ^}6y(TSJV*>`q+jD;{kNp2D~)r%N{b%9+d_0~yL9IYdWtK?Xint)!=4r%bG z0YZOO#-4dCI!sl`<@yIKhfy)HAiuxHqW_?PznTne&GEt*BEcOVJiovcyXa(lLaEYi z4N`B-VD0o~$W3;Jj3F&@XRvR8Lp7q}BT;aK5b(FIdvZzXLCY{tABS*??U;k_(c090 z-yvFgn)-(0mI(9M@wduO3BvTFvrB(`2s#Rk@lRhHg3ec|%@q_V8zQU*6Jx!v`Orox z=|8&-`OYdna$LoMwbsQ7>|IVZvu)MAF8ug$CP~cIsY)1rRmUia@5mCi-{ZgH#IeXC za;o5WYe&Q~TiRdCDB(Z$T`Qxf^)Nv?@`;8D|NF5q2|BeuH(4>1K;BHx#o04M+?LDh zZ&_}RVbtFhw7p<1h1tv{<8MSZe1Hw1dae{wUp$RgGlr`>@AvTCP#w%my&J5nH$|S^ z?ynuqafg|<@Dl!xn#qA*VD3VG*mP@u2D_4p7mG*B79Hodc|EaJ|7bLDOujm}9D&u3 zy#FXPk0%?&?^~bhXW@qG30x$H&AXspmz!_)s-WYfE2FB7Lm2Le7kJPlb4uyJA01n1p~a8xRX&e8CCL1GecMPt+Oibg%Rk8H z*F(CmZ*-|}CXI*%`(}{x4@e059Wgi`uOj)9Q>OAVo~3w~3O*fbq`XrSI1uLyYcczs ztuBuP<*#87U!=#2Ju5!Xv?D~)`)JaC+PJz|<5KK;L(ApP!zijiuBN<_qB+0i=Cyeo zJz+Hio6EXwep0Scl`M*nx|Q70O^5|99@Liy`ri6A#Xu6=U0QfX#srxA_RB$6rgBsL zuuBYq?&Fn9Z?AL|DjeK%9()}y)>-zar1u>QpPa8`SDG5|RhP`WSaUhq$c=@N$*K&^ zMN3y3vS4UtdBw3~ZIrWfoPUMOn#(I4Qq#)E%q_to&n(4WpLWC(LiH$Kv3-05Nj=ap zJOVQ&DzE=|2U)6{V2+uO)5042ergW!0>}2q_RX1>PVB>hM%!;0zc+g^x1qZkCe_0Q zKRB>cleI!IM%2A>lr3M@ze8s*0T^j~szPpbJ@>N1qu$cDpJuxoC-zM>RT~vgzK^*9 z%%I$zomAlvGDV}(Fb$5=K|F$%(YEd3@#@NxSeyu#`#sXv-bk2`m>Yx-M*5Bv zIpadZVazubO!eJw%)Ym72>oI%GVzpp?=8o_l95T;Ga+4gfZxj*93P|$WmsJ>(MxIy z-wV`18keW82H@pgfjA{JWslb?_#wWs#MLH)>FDJn`hYByN0h9=ujYN0p)%Be*7^?S zah>K0mR@tK$6|1RKB=S}n5eXJwp(EcHKZ0xK&Ir*gx*X8R13=7w&hj-bFyk%75(t~)f;0iq;H z!7Jj+PVY<3*(_1DWpaQoAn)&XwrWyC;($l;Z?BHz$E5G-6^{=J(+*nzXQk4Hy8C4O#C-b9YmIE90HLPlB`GD05a1g~OKri7y_p9r^f zrFOPbh{fBP{!?>43GOzq$9MBzB0&$jWTRk_bPy(dQNK%oNudA2YR;o7>E>u8nC7FS z5zeEp$gL#&yKlLc&fLz$KCwZs#J)W=Ya$n#NFHx27q)pcB4tF%WI7;!3u<7Y|32Fc()rn}b z2ga!a6s+U%!Bi?3FEvW5J8zwx%wUq%X`KyeVzhj-c6Yp==W^GSl%Mt_SvT6W8VGcx zia1b;h?zE8ZAg|*8~lhr=Nl*6b0BR)y58bdusb$4r_FRf^_lvt5tjujScC3KPfXTj zt_gH^C;dJXHpsRvVgpQYF{gIX$CfnEn>mcy84BIm>=rQL)Ny@Lt0Z%1$}EOd?t+G! z_xZDHG>ZDgu9xw?v+O0LcLZ@@fIrlmw-MNq_0>-p_^jz=hCS|+x%n&EQ_bZ)X{@w# zhBLULzDKcis~w$Ai8!sUcepZMgs|`8aj)jJJlDmQVBPMx&Sn{W1+2)tTc$C$n6YysDLm1HJsNy+l%Gb#2#L-33Te)2ULqN=#^ zln0`V@y}x;KO&+i?&v+_X(Ruxrz)kfWDY7TVqn>K-TAeIMl_5@M7_@~&>4bXB5zQ- zF&?-^Zei@p;{ej*Lav!&y@ZB447%6HJIc}KzD$_wyR&}_ zNT1@nGTjL!>`@!)njo;{_Qp)-0^D5j0i5mB&Fc<3Dd+tgwBh*;4I$i-(pSxOFDKm8 z{(RBQE(pqmfY>iX3ALTUh=|{!eF_rk<6&Ow#(UokCe{0Uik{N6{N=y3!n23vy{?>I^wbzjN=0=NV-SlzVh+K z6bj4XKQ_d`{TKO49uC((O3LdKC4EE=w3;G41|)E0)_8D*=*Rb642SB%?R#W- zf;)l{pFae=6`8Gu2x?>$7FT$8s8?nBH5z4IgL@&s!+!)qE&T&zLYZ#YF}qEc5@ zWiDmtriMSl)R4*y(k|`?=_GVN!2^Zcda;H`x?_x%w?){6WR$5EcI#^>}vbZ%5h3r*ysSTNL8~!w^3o zO{|yLz5#LX>dbK}mxlPQ&GAs)l<%#)L5+4F32}pS-u=Xjr!pWvIyqq)?7H#r zacFl~YL_@4ml}ekO)c&xqsr zx99jEVh#F!D}W*x@)1%OG5&&- z%S%$i=JPIW<0*~brSWF9W7Df?(~=Sm{8dT!HTU9uEs3aeLM3v*Oo29j|APzxTsNYlbrV3ZjUfR0KO3LRqNNMXsF%AC1gs7O4~A5NFl zN1g87Uc=&OWFY}knczPIeVygR$VfJy-g&-0&v(dWg)q0lwxxCRPj`gYSzl7GDln#% z`8)`VHBH{1qTpee$ERCKUF3{19h@<>_A&onu6r(IehDY$rcZ~99hsFt# z^!@?gmG1a+?8yk_6(eHz5i6FhXuz`_N}dad(^!eJ?E@|6(O1-dzuX-|+%&`m&o3-S zAhB0VqYpAuc4o+7(YbN&J6r-95`RCey3X3j)Lr)cd2reIaG~@S?((bM#Y+2|+~YVq z*YJ1aia+eKEBCxO5D5PEAR}+4zy8)3L06a^D2yd!hHDaA_&cK|y>XXfJSsZxRPu8M zs_5J2um8gZsL*cnf0s6v@KqJ(I@AK6!;k)AuAk_nXwe(Re>a)!<`N~@w>_1sfI!F( z*-tn=#3j9y+$*$!j+^w)QapeuzA6&WFSKiXN67-~SbKCZYmjLTko_4~*st&DA}V#L zqgF))9>Bip@*5>!h^;v1w5wQClrLKW?DtJCNqlk$yE$DATgd=PW}L=oQcVJ^&|gG# znT2@BTlo7{AIXenS`_E&x&zj?@OprGdn~1yq{Rb^fg}io{fV_Amv@@hl7Zf(n7!D- zhN!?VLbok;ShLD_qPdCMjx%T{WU2vkT$ewI-pGT~K})Wt%9;bOp8o1|+yAED9Fr{Vi|?d0ZWWrv z9N2?!0Q=>la{ZHp5lDdJMP+<@V~w7xf=+R_!E~>ggz%{A&IHkJZk4<@$9SgxPtyJIC+K+zlIQjuN*g5{ zf0HhEqyucuj;kq{e3!&-0gPJ7>WWFyVM?3$xLpKFKN5sTe|!zfU{y`73G_($qyJm{ z(*FGP{>_X-jd7$Ea+}vadI1BW=~xSiW|bkVnMvitcrGuSqpOhIfdb|7oKvSycK60p zLr(*^&` z4IDY?uhZ(%74$S4oFzrdqBz;|`qy}WFC#{!-CJ*UI?y>?(F%;_%&T$6n*`}J#}s9* zHz~Tf(h2zbB7|pgX45D1+r|8msc(p6YrE&TTKG*f_GSMbdEmjK*46=+e+Yj^=VJ_f zqetWQHvasGp(CY+%Etj|j3+}``J6|n|0lg%c#cT<{iPT(b!B(o;v1YZ@mS##zX#~> z83-@&f><&T!YY8^G$L2#ZGo7!A{Rb2yS+;$vHn<*#_{pCvn!^6?4SW6JdIIqvyA9x ziQO+8`M0z3qfp5&icKgy2I^+DTaBX%PoN-rtet)7HV2)fDi zodviJT{IzkO>5r*pf1>~2BFakrZDWU$ZIoOLR+I(1rd;J@zs6Y+tNn+!JqsUEAwuM zV?28a_uJ_5@ME+avZ+4)hKLGqnqT)-d4}i=mESjAb#y%$PMXqZf)2ccaawo!3?Yq# zdWsy#Jc-)E&wS3UCDFj(7IXHZvbZr|jerT&kG24Y{vGXxSGYwEv{vRwp7@8H&Y$E| zo<>MD2aF!${F`V<+CLiiyY87YO3Co*HLrlL8XTWAs`A)s-nuPkg&qRnH>$=&cb;yu zC)4?hn6$h84D2o})>An1AUh}&P3a+>;c=&nlocfkZ;Cniy_CUc1!q}B{oj!v-#}(K zLauk$sMI`G>{rGJM4}~nU+SELV(0fO{*G%a)FWT(m`Qo|$%fGlW!VC+~ZclYrzVJq4E+Z$&}CdQ0EB zS5R6K6ct%;iG82!ZUd1b_@hMliSD+q2J?klPzr<&ic9KnfMas*c_&4&a`u>@wv3mcAe@_v7hsii5Z@k() zMLS`&x*XX-0%;J-5uaLk{JFmf)o{TN*rAatsBUc;R0b@^)Zs&~vp<~8eFDWiXfDFf2~O1nC$-hJ9^ zpvx4AsBfi1@&uR&Br836V?rxKVD{c)`hzuqWH#4(R=TawQ?l1rNnj4MW-sZ3XK zZiwQ)F(W-%G3eRy{G{*XhazNlZi_pN%WidItn#JW1SFhY4jZmK7Q^NLGPcsfAM~T( z*D^*i`<9U{c4y|)AG3QluK19ezm9Sj=l{3?{zn0-NW%^OF?eGd7Rs&G$Z6##L|6s8 z+Cm4DnVZKEc1%7V@5)P9`wy7RX0B;Kqu6~o+`}WjtRWH|hnyVQ(jRD=E`10D0ylL= zJ9ZPk`7wsPKDu}-nwcg0a-@b`O+nvD2vhwf@8v*&Y=p7>s|kPPX-eAGPB1d*MVOTA zo-h3lkK6?k`KSo;!u)4I{vDOpfMFU?e{;-5M1m*vh_@|go z6{z53eYO2X{LAi_FCy7A|L5g@Yp_fL--i_`Ltn@LZ%_YuE>*Fg!HIP zbfHz;^8vyoODfpQa-o++XHf-Seh<_VXi#(B7p@AaE z?h8X}r37HOeb(Xd>yGimRjY3QHt_D&W%0#|QJR*;sUU{5-=#m|aq#Pd+uK&Di;|q$ zdm@kjR`I%SlNJBGIc&mcrE2$}&HqX0bU&$8DWU^Fq7`lW?9A~2rMy=mOi7F!;bw_H z;OWDyS#mvVO=<{{#>b@%`;1XamAR-Hj0~A|L%pEhbad0-?Ze~0Tg!so?F3LlmAiN1 z@?yuT{X5ez}lG)8ydDiGCgw{#@W+Ls`<(*8p8lf$GszVrYKs&f#b-#4F=X~leWdHA}wF7LsU;5)6(|&8+@H{lp zoxHvvQqIFlQI<>SDn7nen-!=~q19+etgH-Q$g}7?iOEmT9ubg zL(RG17kLfoih{U;!H^Q+=ZZbbWUusY%e=@88Un}ge@?+2(((;u zU!_H>%(T9aDdpGQn($bhQ`OL_j9-`^;K2@kco7}m<*g6u|8N6M5j-uJVAo)r+3L2t;cCa0heSKT2yL@Bin*BuHVa{OQq zhpYcYq0_u}ez!CCEE(-+HGFlkUe=zL=d(yW5jW=c1?fVTwITWsj%|qyA5z_mKL+%X zSSoF%dhV>6!Bh6|Exo>R<=3*N|B?MyTB&EE=P!Q)!OVCg>JOltj6RxZ)+1%;n#)0R z0X*b*v06#}Q&rm{X}g`kG}X>#1X;cV`EMd$2cBPwaV7oE7y?JRPop>jH*nHd0RN~a zH>?P*pel2E8v07nP6M4@_OYPY@os?_W*fzA_D5neJ@08JOtf~ltiljluN_G&O?$o1 zPQBlRa5a>j!Qx*a6c-bp11)j}JYWm&ND_SHix_bqU=YJTU?(6?L)4pgiS2gf z8Pywbc$*Km?(n~;XQMIL^k2#gnXvvrkh_v%p6*EX2`iKak6Lb@ce>ETf;YuAmsKxQ zlg65Dk>1Uz@@oQZ25GO8>V=!_>ZAC~?EQHyp6e58vhgRwfwwTn8Yj;Uvac1Mq5M&s zCcCs}SHp-Vo=;awo*uf4M9nZ6cEQHb=$B{KqdLa7ui$Him@Kj5BP4%SS5FTN!>31D@2QXb%e@6h&Q7;dFNvM5 z@(*{xR&+Co!llV27TwSoomU+)qZjV)xi9xc2 zY3}YBcM_C*E&%10_8<@bp7@+Pe6j5uIl3H&> zgbdTc&ml5MXjmGUV`n{Yl@vlx&^6891hc;tHnKZE+2hT;$b0-s_mqi61-NMJH!&0x zaGRG*ix@M+OO803IJX>*6?>N*n=a#=_>aqviq}A90IeWHuUKV52F~QHyXiM}hRU14 zN*V~rV*nC-t&aJjpVqy=NABckfNF51#Y$#q=(f;a^nPaf>$B1oCST!0@nH~IL47#) zn8sX1%l|ch;bg2(W$_;l#YRhh^BY1`hwo!h#Jg#8BFBpgpKU*LBG_F)bfWj3-9;Me zqv?!3&}$I{LG>VI(vyjfjYDCWep%UILZWTEwq7)Qp1TBx8v91Zhx7#QZ6W=oXV+&N z#d%knLd|z!Zbfk8=VRx?al3R8?Rd&%QD$z__jaeH%3@@Qj;9mY^TaIiWVvA+P&Vo| z6&uXMd+__tsjjs2XFeb-W)XKQr`4pv`{}(I?%~3Ef9yp0^}l#>QGGi_>558`Lt{bEU!F9Ni@7u#hrtFC*dzNq$Xz!LXc1 zWXTp7HjAS@+&;PvIwg1z-AKO9tRg<;4*eH!?O6$Y7`>iWobK9Rg9=PxXUYOFS7M`$ zJiV9q{twG!fA3uJfV)WNt={RPH5+65T{R!g9Z~h+hSw6Amvua~4B_Vv1=A&p=ke8(-*l)0{6p_OpOKODVKN(Z0j)Libk zS37S=P{>rjA;A-=D0>!Wq9jD-^TIb8!L0-h5lt@-R19YP|2h=_vN5Sl0v%|tQ6ti& zp1>3yG#Czvvf8(@Dm;4)FNK&1<+)JrKV7UtY$lV`fhS*70Dm+z7wtH_8FYEn6P}