|
|
| Line 1: |
Line 1: |
| | | test |
| <span>RADA Reserarch Code Base </span><br />
| |
| | |
| | |
| <br />
| |
| | |
| | |
| <br />
| |
| | |
| | |
| = Class Index =
| |
| | |
| == Class List ==
| |
| | |
| Here are the classes, structs, unions and interfaces with brief descriptions:
| |
| | |
| = File Index =
| |
| | |
| == File List ==
| |
| | |
| Here is a list of all files with brief descriptions:
| |
| | |
| = Class Documentation =
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double STATES_C
| |
| | |
| double STATES_C
| |
| | |
| double STATES_CSTATES_C
| |
| | |
| double STATES_CINPUTS_C
| |
| | |
| double OUTPUTS_CSTATES_C
| |
| | |
| double OUTPUTS_CINPUTS_C
| |
| | |
| double OUTPUTS_C
| |
| | |
| double INPUTS_C
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structCTRLSS_a99323b1af830e7170af3eb72aa41d8b3] [structCTRLSS_a751b08ff03f811cd299a275d64a1776a] [structCTRLSS_a3ea95aceed6524af85a73066285a25bd] [structCTRLSS_a01a7190f80d6033577efa0caf702a9de] [structCTRLSS_a3ddf713d4d6a47c452bb2c4f36601720] [structCTRLSS_acc76fcf689629f6d35cb37ef7274421d] [structCTRLSS_a029e4fe6ce170bcb874a0514af186198] [structCTRLSS_a6ce9144e59b5a087b8014e1f58df8292] [structCTRLSS_aea6bc624a0ebf341819b39020909dd04] [structCTRLSS_aab84633e6cc98bb274a137e0dbe0632e] [structCTRLSS_ad0c4dfb12c67eb1eebbe9ecb33ea81c7] [structCTRLSS_a2d457a9fd6b55eb5a445c2dc98ddd7d4] [structCTRLSS_a014cd2f9819f50a41b6a0e685f99be06] [structCTRLSS_a1dd57a341230062f91ffde1ac18f75d4] [structCTRLSS_ad22a1976dcc9969f365d01e0ef0a617e]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double STATES_C_LOSS
| |
| | |
| double STATES_C_LOSS
| |
| | |
| double OUTPUTS_C_LOSS
| |
| | |
| double INPUT2_C_LOSS
| |
| | |
| double OUT1_C_LOSS
| |
| | |
| double INPUT2_C_LOSS
| |
| | |
| double INPUTS_C_LOSS
| |
| | |
| double OUT1_C_LOSS
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structCTRLSS__loss_a904658b1581cfaf90efcef9cf0f5d48c] [structCTRLSS__loss_ac523ba7a0ee64b1618fdf9346e25bbd0] [structCTRLSS__loss_aad426c6e52a67fc40855671347b0872c] [structCTRLSS__loss_af3504df76d7647c9557e0382cdd5af03] [structCTRLSS__loss_ad9c1f4d4229875c7a8757134e3262f1a] [structCTRLSS__loss_a3306c7c3457a90cfd8913969acd07489] [structCTRLSS__loss_ab6a6d80b9d3bf0609025c2773a03aa6a] [structCTRLSS__loss_a94b30d3d55be796a780f1b7f6ff5d4fd] [structCTRLSS__loss_acfcc19f41c9e4d6ad41763780df431fe] [structCTRLSS__loss_a68ad7dacfd6564154b0ababc73adadb8] [structCTRLSS__loss_a2477cdabb56e7b05643566b0bf54a681] [structCTRLSS__loss_aec54a6d6e7de19b0025d9b5ba71302e8] [structCTRLSS__loss_a2241843bf580dae1221eca4bc7391094] [structCTRLSS__loss_a522a79b355319b1d7f76787ee267d049] [structCTRLSS__loss_a65d0a6c66bb0149fade8a9253cde83af]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| short
| |
| | |
| long
| |
| | |
| float
| |
| | |
| short
| |
| | |
| long
| |
| | |
| float
| |
| | |
| short
| |
| | |
| long
| |
| | |
| float
| |
| | |
| short
| |
| | |
| long
| |
| | |
| float
| |
| | |
| int
| |
| | |
| int
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structERIS_a594f58e4b65b38fdaab0f83bb7bc8293] [structERIS_affb5711d1d76fd40c46d868b5f6927aa] [structERIS_ad945a9871aa3ed47039939d88f9b2299] [structERIS_a4c8be3873d1d6d36d2adebb5583691fb] [structERIS_a112c7b15e1c3b9e357f7efd450311e8c] [structERIS_a85a4abeca56252fabbf184cb3322a7d6] [structERIS_a9928bd6601057058bc98f0f1eb872292] [structERIS_a869ad31293ee6b745995e7ffe1e6a0f3] [structERIS_ad9b624848a4ec324a96976aa405b045b] [structERIS_a7be16859eb75730aaf5ea03730eeff89] [structERIS_a9fb27e63c72b45f039b459c121057750] [structERIS_a9d0eab06fbf935d7ce8a07ec9f6abda8] [structERIS_a455b48179fcb3643a44977f21ef2bf92] [structERIS_a9d884151e04cd0868cb6bb12cec77add] [structERIS_aaefa4f638c81e80f8b0cfb61a9730566] [structERIS_a63236f07dd96e08e0771f229d100eeeb] [structERIS_aef28562d61240755434169358ea97368] [structERIS_afec79f417cb04b2dcfb9c56a63736014] [structERIS_ae418f284e890ee3c7e0c15df949395c2] [structERIS_ab5d12b6188aa05281c30d1c13d618f4b] [structERIS_a92dc86b172980adc160aeb94a7e27f8d] [structERIS_ad87f4be8f56b23c4e94c5d65c5db2384] [structERIS_a28f58b5c3dd3b40b010ac65650e5eeeb] [structERIS_a04871634308c93a163323a16bbb3b874] [structERIS_a2605317a4567b84182bd96e85af624b5] [structERIS_aa4385dd53171d645bc011c84b5087244] [structERIS_ac372ad4cb17b18d0d3e2ce7bfe970fbc] [structERIS_aa2b057d6e96bd5f4ac3761d9e38689e6] [structERIS_af0200895dba3547c9ea882142cde9197] [structERIS_a816bef39acccbe0732a634827f00091d] [structERIS_a5a7dde7e5ee1b5e68dac70b3a09be745] [structERIS_a15b49effc03c39587df29a16b694242d] [structERIS_a781bf4cc6d4a8af62c7a391c16880979] [structERIS_a1e1caaacbead60ba2bdea30dff17e941] [structERIS_a9cbd69c7ad62832ffd8dcbe255f83d1d] [structERIS_ad0b4447c7045d936f229aee0941c359b] [structERIS_a6c5dbc5227880cb78f6e65c16060f4cb] [structERIS_a5e2e564b7b9cedf1072eafb786890a02] [structERIS_a7ec6d729be463c37f202f6e7a432cbac] [structERIS_a92b52d91f51bf4f211261dc41febaa37] [structERIS_aa56379b46025b8686dd12c0bd8b7145e] [structERIS_a33574ef5cfbce10c10eb83989c176e5f] [structERIS_a52a15839c5ff34a1ddb55730850e93e1] [structERIS_a304ff39c8ab4196a475377baf82f932f]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double 7
| |
| | |
| double 7
| |
| | |
| double 6
| |
| | |
| double 3
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structERIS__LQG_a8806d631415884c9d64f2d3e518dddde] [structERIS__LQG_ac21c150b49c2fff2adfb0e5057fcc2ab] [structERIS__LQG_a498c5ca3fc85ce54403bef61cf41c875] [structERIS__LQG_a4d7694c9811f751f00f26e4fe43a9cbe] [structERIS__LQG_af6e2db69256e4c6d1502a14e21cb835e] [structERIS__LQG_ac137a0205e4f5816eb7b03d860199165] [structERIS__LQG_ad13d5c23aeb1a3c23b186db27724ef3c]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structfilter_a09a899b4383ada744678070d267949fb] [structfilter_a1b76e61c6be0159b055e6e653d12e464] [structfilter_aab2e9732f6e1fd3a570996479328a124] [structfilter_ae0db9676750bedeb2e90d845a6e7ebfe] [structfilter_ae9cc7c8691d84414aaf60252fe5a52ec]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>key_bindings.h<math>></math></span>
| |
| | |
| === Static Public Attributes ===
| |
| | |
| static const char = ’v’
| |
| | |
| static const char = ’b’
| |
| | |
| static const char = ’n’
| |
| | |
| static const char = ’2’
| |
| | |
| static const char = ’m’
| |
| | |
| static const char = 27
| |
| | |
| static const char = ’w’
| |
| | |
| static const char = ’s’
| |
| | |
| static const char = ’d’
| |
| | |
| static const char = ’a’
| |
| | |
| static const char = ’p’
| |
| | |
| static const char = ’y’
| |
| | |
| static const char = ’t’
| |
| | |
| static const char = ’i’
| |
| | |
| static const char = ’u’
| |
| | |
| static const char = ’e’
| |
| | |
| static const char = ’q’
| |
| | |
| static const char = ’7’
| |
| | |
| static const char = ’4’
| |
| | |
| static const char = ’8’
| |
| | |
| static const char = ’5’
| |
| | |
| static const char = ’7’
| |
| | |
| static const char = ’4’
| |
| | |
| static const char = ’8’
| |
| | |
| static const char = ’5’
| |
| | |
| static const char = ’9’
| |
| | |
| static const char = ’6’
| |
| | |
| static const char = ’i’
| |
| | |
| static const char = ’k’
| |
| | |
| static const char = ’o’
| |
| | |
| static const char = ’l’
| |
| | |
| static const char = ’1’
| |
| | |
| static const char = ’3’
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [classKeyBindings_aef90171b20d79ebc257f170181eaf890] [classKeyBindings_a58695bbfce90d6ffc0a84196d89b9960] [classKeyBindings_af826ec5e2054b40f1deb054e64ca0529] [classKeyBindings_a47c5ee2c44867d20c24f762d36e97f59] [classKeyBindings_aebaae84b4f4db7abdae29caaea528e8b] [classKeyBindings_a06d10f62d58db35f26c4e29f3465f657] [classKeyBindings_a5fd4a7111057bea6e2aa3514ca7e49d4] [classKeyBindings_aa221252e7c8c7dfbd6bf52cec6ff9efa] [classKeyBindings_a3536a06efd932f9f83c7b1401e62ac74] [classKeyBindings_a528caa743573e714305d2f326cdae482] [classKeyBindings_a0601b0f2f1c994b385ef9ff19b445541] [classKeyBindings_a3c4bb88bba2ea8f911fee2ec3e94b621] [classKeyBindings_a65d61f86eb4cce6c226c3a6d5040a5ce] [classKeyBindings_a94d0f20713e0122528f111ac6384a10a] [classKeyBindings_a6a8577243dd58679a919601817459a3d] [classKeyBindings_ac2ab34fa8f84c3e61dd691c85d4d6a9d] [classKeyBindings_ab5de5431af2bbec9beed76240b8e7210] [classKeyBindings_a2bde3f4c440aed4f1ec8004554c8bb6e] [classKeyBindings_a9406856a5b5bb0e59b65d9389abe1229] [classKeyBindings_a83941cf8641d93aa0792519298ea0119] [classKeyBindings_af5a66599d1eb2a203db566ce95f6d667] [classKeyBindings_a0f328dc9694c01262ca88aeaedcbe365] [classKeyBindings_a068e0ae5f38a66b981aa94f6f36db7b5] [classKeyBindings_a947cefad7da0002ef80f31c1bab4e25e] [classKeyBindings_af237d7d82eacdf495b9b9df6d7d1c19d] [classKeyBindings_aedde92ca55442a92af50c0732697cf8f] [classKeyBindings_adf03756ecc709d0f5b73f3b6e162bbda] [classKeyBindings_a126181719b0381e792f0aa3886654698] [classKeyBindings_ab98a06f6baa445e56e6b662adf2f5e54] [classKeyBindings_a118fbfad6a18c2b32204277077f77f67] [classKeyBindings_acff79176396fc2c9c65713c08d0cb36f] [classKeyBindings_a13ccf108959855740a39ee977984b09c] [classKeyBindings_a2cbbf6deb2943cff3496b6da55752c71]
| |
| | |
| The documentation for this class was generated from the following file:
| |
| | |
| <span>#include <math><</math>logger.h<math>></math></span>
| |
| | |
| === Public Member Functions ===
| |
| | |
| <span>'''Logger Object Removal'''</span>
| |
| | |
| ''[_amgrpef40c65612bb88d1b1d4e0d91e727cc2] Deleets logger object.''
| |
| | |
| Removes the logger object by freeing the resouces used by the object.
| |
| | |
| ()
| |
| | |
| <span>'''Initialize Logger'''</span>
| |
| | |
| ''[_amgrp3996112c3a768bbd5ae89716a6094e6a] Initialize te logger instance.''
| |
| | |
| Initializes the data logging by creating the log files. This is called during initialization.
| |
| | |
| <span>Returns</span> true if the log file s open false if the log file is closed
| |
| | |
| bool ()
| |
| | |
| === Static Public Member Functions ===
| |
| | |
| <span>'''Logger Instance'''</span>
| |
| | |
| ''[_amgrp90163ef8e72e8956084b6b4bd9b35af6] Gets the logger instance.''
| |
| | |
| Gets the singleton logger obect
| |
| | |
| <span>Returns</span> The logger object
| |
| | |
| static <math>\ast</math> ()
| |
| | |
| === Private Member Functions ===
| |
| | |
| <span>'''Logger Object'''</span>
| |
| | |
| ''[_amgrp79673e6bbe5de34f023f632dc03e3db4] Creates logger object.''
| |
| | |
| Creates a default object. It is private to prevent someone from destroying the current instance.
| |
| | |
| ()
| |
| | |
| <span>'''Write Logger Header'''</span>
| |
| | |
| ''[_amgrped625226a046a655e3d77605a871ab56] Writes the headder of the log data.''
| |
| | |
| Writes the pid constants to the top of the log file. Writes the column titles and units to the top of the log file.
| |
| | |
| void ()
| |
| | |
| === Static Private Attributes ===
| |
| | |
| static <math>\ast</math> = 0
| |
| | |
| === Stop Logging ===
| |
| | |
| Closes the log file.
| |
| | |
| Closes the log file.
| |
| | |
| std::fstream
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| bool
| |
| | |
| <math>\ast</math>
| |
| | |
| <math>\ast</math>
| |
| | |
| <math>\ast</math>
| |
| | |
| void ()
| |
| | |
| void ()
| |
| | |
| === Constructor & Destructor Documentation ===
| |
| | |
| [classLogger_abc41bfb031d896170c7675fa96a6b30c] [classLogger_acb668a9e186a25fbaad2e4af6d1ed00a]
| |
| | |
| === Member Function Documentation ===
| |
| | |
| [classLogger_a1287de14553cab2d7fddb74a015cef63] [classLogger_a4a2c28f7530b31a50684bee08c30c30e] [classLogger_a05311a9baf7b23ac45f0fa1a6ce1bea2] Writes a line to the log file. This is called whenever we need to log something into the file [classLogger_a52afa60704b98d0b206fd8bc978d2b0e] [classLogger_a680ecd9a68a45c4203a7b0c03f45e74f]
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [classLogger_a3477ad7e31f05db92807692445a2670d] [classLogger_a0fbc31b87c926c9ecf885b0f1675b1fe] [classLogger_ab18889d6fdbe2e2df34fc5f1f9c8bb02] [classLogger_a1f27181977abeeaebe319e1b18fe4b6a] [classLogger_acaa5b8f112473512838b557124e199c9] [classLogger_a9cef2ee3fe1f8c107ad07399ab4dff4a] [classLogger_af7d961fb7fb4b33bf589133ce84261f0] [classLogger_af8be280252ca544b1c2456084ce734aa] [classLogger_ad33727570915401a4960afcb4fcc0116] [classLogger_a06cf172509e2448b2a2c03fd9a20cd0d] [classLogger_ae133c211974fcb334209f997e770d56d] [classLogger_a0fcdcc99336a9fd24fc5d24039ef5393] [classLogger_a88d258aef340bd59cc36b66ab392b420] [classLogger_ad61e110daff94c8c3d5d2c94afbc7322] [classLogger_a3537680ba9f19fe19e98193a60014406]
| |
| | |
| The documentation for this class was generated from the following files:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structmotor__control__manual__t_a8597d7c041893e079504242ac0b08c29] [structmotor__control__manual__t_aa7380bb84a6a6fee523aca85b5829c6e] [structmotor__control__manual__t_a72fcf12d4d5eca4ddb5ce536a27d1e18] [structmotor__control__manual__t_ae51a611a6ae54a081226f5960f55881a]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structmotor__control__speed__t_ac869c864bab0a829fdb6e4979b5423d4] [structmotor__control__speed__t_abe11c48ec856b2c22d3874040743d1f5] [structmotor__control__speed__t_a17c66d80537c25ba0f0b91ee29aa441d]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| int
| |
| | |
| char
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structmotor__t_a8c4107c79b1e8be0bb867acb43f24dc2] [structmotor__t_ad10cf8ef2464c3948b63692c638220ac] [structmotor__t_a2da217bcba52c9f7730f547ce7b2f954] [structmotor__t_ab04b0231cc3d35441b9a550f6b709f37] [structmotor__t_aabc2e81419bf510dca8acdd9fdfb5fee] [structmotor__t_aa9d803b1dbe3ccc53502f498c67d0efd] [structmotor__t_a0b45561b3bd10d3fa5b967f27cc03b4d] [structmotor__t_a27a28d0b9cfa3d4df077d1b83b1ae50c] [structmotor__t_aa5e61f82d30c5beb67c3e4da63d3f973] [structmotor__t_a508cc8ca9efb12f6b7a2ca90c0145be3] [structmotor__t_ad9e0dad6c84f60b620b5c304f77a754e] [structmotor__t_ae1fd3fa15d93ee7ca77155e5065f19ae] [structmotor__t_a5aa7ba39f596fb84bc48ebe8bdf8742f] [structmotor__t_aa5663d6deb3ba03853ea1db9fee6d77a] [structmotor__t_af7acea56015c47320ad037a6447267a3] [structmotor__t_a01421ca52664b63fe5cf9045b31b5a93] [structmotor__t_af9f663b6c75e472266caa35a7327c7d9] [structmotor__t_a33267a8129db0fa1294a1e8411507b56] [structmotor__t_a228fe22eb14566279ab42ef21c8a056b] [structmotor__t_a7e8adeb92e7b56bec55778e93188b5ac] [structmotor__t_a633626a1a87f7660c37cfee774da143e] [structmotor__t_aef378823f8f766d89f79a12c1fad7298] [structmotor__t_afa5290085f6f4cbb82321b61f0e759e2] [structmotor__t_aa8f2bb71f13d25bd493f086b25d2a793] [structmotor__t_ab2e32b36075436b3d3022c2d08c6c7af]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller.h<math>></math></span>
| |
| | |
| === Public Member Functions ===
| |
| | |
| <span>'''Initialize all Quad Motors'''</span>
| |
| | |
| ''[_amgrpfce05aebd28fd6a36058c581a4d953d3] Initializes all four quad motors''
| |
| | |
| Uses the initQuadMotor to initialize all quad motors.
| |
| | |
| void ()
| |
| | |
| <span>'''Initialize Quad Motor'''</span>
| |
| | |
| ''[_amgrp1d644151bbcce9057e75fa35a143c31a] Intializes a specific propeller motor.''
| |
| | |
| The propeller motor is is initialized in open loop tapaziodal profile on the FPGA PWM generator.
| |
| | |
| void (int motorNum)
| |
| | |
| <span>'''Set Qaud Duty Cycle'''</span>
| |
| | |
| ''[_amgrpf05c4be638915bb1f32e0410817774b6] Sets the quad motor duty cycle of a single quad motor.''
| |
| | |
| Sets the desired PWM generator block C to the desired duty cycle.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the desired PWM command
| |
| | |
| is the intiger value for the motor number in the PWM generator C block.
| |
| | |
| void (int pwmgen_value, int motor_num)
| |
| | |
| <span>'''PID Control Calculator'''</span>
| |
| | |
| ''[_amgrp9957f7bb2056d8a6c35ddf4083298f7b] Calculates the output of a PID controller.''
| |
| | |
| Runs a PID control algorithm on the struct. Doesn’t saturate the PID correction.
| |
| | |
| <span>Parameters</span>
| |
| | |
| A pointer to a struct
| |
| | |
| <span>Returns</span> the controller output as a double
| |
| | |
| double ( <math>\ast</math>pidptr)
| |
| | |
| <span>'''PID Control Calculator with Filtering'''</span>
| |
| | |
| ''[_amgrp14c8571050a8ae6f680e516dc4f4e5ac] Calculates the output of a PID controller with filtering.''
| |
| | |
| Runs a PID control algorithm on the struct. Doesn’t saturate the PID correction. Filtering is used in the derivative calcuation.
| |
| | |
| <span>Parameters</span>
| |
| | |
| A pointer to a struct
| |
| | |
| <span>Returns</span> the controller output as a double
| |
| | |
| double ( <math>\ast</math>pidptr)
| |
| | |
| <span>'''Load Motor Controller Configuration'''</span>
| |
| | |
| ''[_amgrp5f023cd0ca8b5dab8a80d84aba4ef6c6] Loads configuration data and initializes some controllers.''
| |
| | |
| Initializes controllers and filters needed for controller calculations. It reads in data from eris.cfg and other hard coded values.
| |
| | |
| <span>Returns</span> 1 if sucessful
| |
| | |
| int ()
| |
| | |
| <span>'''Arm Quad Motors'''</span>
| |
| | |
| ''[_amgrp5c2ef70f6e4cadb7e720b01879f688a3] The quad motor ESC require an initialization sequence, this function creats that sequence.''
| |
| | |
| The ESC comands a cycled through a set of values to activate the ESCs.
| |
| | |
| void ()
| |
| | |
| <span>'''Data Filter'''</span>
| |
| | |
| ''[_amgrpd7dc50ca0736a594701687e8186067ab] Filter a data set using an FIR digital .''
| |
| | |
| Calcualtes an FIR used to data in the time domain.
| |
| | |
| <span>Parameters</span>
| |
| | |
| The point to the object to use
| |
| | |
| The input data to the
| |
| | |
| The output
| |
| | |
| float (struct <math>\ast</math>, float data)
| |
| | |
| <span>'''State Feedback Controller Calculator for 1D inverted pendulum'''</span>
| |
| | |
| ''[_amgrp0537bb25e7f514750bffba69f7f4dba0] Calcuats the pole plavement controller for RADA''
| |
| | |
| Using the a (quad state space) struction it calcuates the controller output. This is for a 1D inverted pendulum.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the structure to be used to calcualte the controller output.
| |
| | |
| the contoller output as a double
| |
| | |
| double ( <math>\ast</math>ssptr)
| |
| | |
| <span>'''State Feedback Integral Controller Calculator for 1D inverted pendulum'''</span>
| |
| | |
| ''[_amgrpf03ca3c2efc11db8bbd67d4f5cc8746c] Calcuats the pole plavement controller for RADA''
| |
| | |
| Using the a (quad state space with integration) struction it calcuates the controller output. This is for a 1D inverted pendulum.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the structure to be used to calcualte the controller output.
| |
| | |
| the contoller output as a double
| |
| | |
| double ( <math>\ast</math>ssptr)
| |
| | |
| <span>'''RADA LQI Controller Calcuator'''</span>
| |
| | |
| ''[_amgrp078731063da6706b78f325db9a9695df] Calculates the LQI controller output with estimation.''
| |
| | |
| Filter the angular postion, calcuatetheangularrates, and then calcualte the controller outputs for the whole RADA system.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the LQI controller structure
| |
| | |
| <span>Returns</span> 1 as long as the controller is calculated
| |
| | |
| int ( <math>\ast</math>lqiptr)
| |
| | |
| <span>'''State Space Control Calculator'''</span>
| |
| | |
| ''[_amgrpf6257f816f8d6d1766ce1561b15f352f] Caculatesthe state space controller (controller and estimator) comands.''
| |
| | |
| Calculate the controller output based off of the previous estimation and then estimate then ext step of the controller.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the pointer to the state space controller object
| |
| | |
| <span>Returns</span> 1 if the controller calcultes the controller
| |
| | |
| int ( <math>\ast</math>ctrlss)
| |
| | |
| <span>'''State Space Controlelr Configuration'''</span>
| |
| | |
| ''[_amgrpd94fd80ab4422727a101b6dc5baeb94a] Initializes a state space controller.''
| |
| | |
| This function initializes as state space controller (H2) that can track references or Dance depending on complier macros.
| |
| | |
| 1 when the initialization is complete
| |
| | |
| int ()
| |
| | |
| <span>'''MSP Packet Drop Controller Calculator'''</span>
| |
| | |
| ''[_amgrpdef89e6ca047cb84488107cf20260329] Calcultes the MSP controlelr for lossy systems.''
| |
| | |
| Calcutes the value v2 (a set of inputs). Then calculate u2, a set ouf outputs. Next calculatev1_bar a set of inputs. Then calculate u1 a set of outputs. Then calculate Yo the scaled outputs that are sent to the actuators. Next calculate estimation of the next time step’s state. Finally, set these next step etimated states to thecurrent state estimation.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the packet loss controller structure
| |
| | |
| <span>Returns</span> 1 when the calculation completes
| |
| | |
| int ( <math>\ast</math>ctrlss)
| |
| | |
| <span>'''State Space Controller Configure for Packet Loss'''</span>
| |
| | |
| ''[_amgrp37c81e75a7a9d084c58c456e7571158e] Configurs the Packet drop controller.''
| |
| | |
| Configures the initial state estimation, inputs, and outputs.
| |
| | |
| <span>Returns</span> 1 when the controller structre is initialized
| |
| | |
| int ()
| |
| | |
| <span>'''PID Control Calculator with Filtering and Variable Time Step'''</span>
| |
| | |
| ''[_amgrp063a8faceb5db6e16b76dbd036348387] Calculates the output of a PID controller with filtering and time step calcuation.''
| |
| | |
| Runs a PID control algorithm on the struct. Doesn’t saturate the PID correction. Filtering is used in the derivative calcuation and calculating theactual time between controller calculations.
| |
| | |
| <span>Parameters</span>
| |
| | |
| A pointer to a struct
| |
| | |
| The time between the last sample and now as a double
| |
| | |
| <span>Returns</span> the controller output as a double
| |
| | |
| double ( <math>\ast</math>pidptr, double dt)
| |
| | |
| <span>'''RADA LQI Controller Calcuator with Variable Time'''</span>
| |
| | |
| ''[_amgrpbcc1a735d18c2d59c7f5d9a769ad357e] Calculates the LQI controller output with estimation using theactual system dealt T.''
| |
| | |
| Filter the angular postion, calcuatetheangularrates, and then calcualte the controller outputs for the whole RADA system.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the LQI controller structure
| |
| | |
| is a double that is the time between samples
| |
| | |
| <span>Returns</span> 1 as long as the controller is calculated
| |
| | |
| int ( <math>\ast</math>lqiptr, double dt)
| |
| | |
| <span>'''RADA LQI Controlelr with Estimator Calcuator'''</span>
| |
| | |
| ''[_amgrp7500c88d96ef8d92553589505462fd1c] Calculates the LQI controller output with normal estimation.''
| |
| | |
| Calcualtes the controller output, estimate the next time step’s states. Set the current states to the next states.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the LQI controller structure
| |
| | |
| <span>Returns</span> 1 as long as the controller is calculated
| |
| | |
| int ( <math>\ast</math>lqiptr)
| |
| | |
| <span>'''LQG Controller Calculator'''</span>
| |
| | |
| ''[_amgrp41ce89edf82c1d5162ec0a37eeb4a94a] Calculatesthe LQG controller for the whole RADA system.''
| |
| | |
| Calcultes the controller outputs using the previous time step’s estimation and the current inputs. Then it estimates the statesof the next time step.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the pointer to the LQG controller structure.
| |
| | |
| <span>Returns</span> 1 once the calcution is complete
| |
| | |
| int ( <math>\ast</math>ctrlss)
| |
| | |
| <span>'''LQG Quad Controller Calculator'''</span>
| |
| | |
| ''[_amgrp829e83dc64015e37961d2d115748c72e] Calculatesthe LQG controller for the whole pendulum system.''
| |
| | |
| Calcultes the controller outputs using the previous time step’s estimation and the current inputs. Then it estimates the statesof the next time step.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the pointer to the quad LQG controller structure.
| |
| | |
| <span>Returns</span> 1 once the calcution is complete
| |
| | |
| int ( <math>\ast</math>ctrlss)
| |
| | |
| <span>'''LQG Eris Controller Calculator'''</span>
| |
| | |
| ''[_amgrpc38c2a17da2f8813651939769b09ec53] Calculatesthe LQG controller for the whole Eris system.''
| |
| | |
| Calcultes the controller outputs using the previous time step’s estimation and the current inputs. Then it estimates the statesof the next time step.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the pointer to the eris LQG controller structure.
| |
| | |
| <span>Returns</span> 1 once the calcution is complete
| |
| | |
| int ( <math>\ast</math>ctrlss)
| |
| | |
| <span>'''Initialize Motor Contorllers'''</span>
| |
| | |
| ''[_amgrpd1997c79c23a3862511f6af22c0ec5da] This funtion initializes the motor controller strucures.''
| |
| | |
| Initializes the . If the mode is anything other than free, then the controller will attempt to acquire the motor device descriptors as defined in the Configuration object.
| |
| | |
| <span>Returns</span> 1 on success, 0 otherwise
| |
| | |
| int ()
| |
| | |
| void ()
| |
| | |
| <span>'''Stop Motors'''</span>
| |
| | |
| ''[_amgrp3ef1bdab6ae253ecc163a825f4ea9e9f] Stops all motors.''
| |
| | |
| This will stop all quad and ground robot motors
| |
| | |
| void ()
| |
| | |
| <span>'''Stop Ground Robot'''</span>
| |
| | |
| ''[_amgrp5ca3b6a80bff934023e8810a002438b4] Stops all wheels.''
| |
| | |
| This will stop all ground robot motors. This is different from because the controller will still maintain the connection to the motor device descriptors, but the motors will be stopped.
| |
| | |
| void ()
| |
| | |
| <span>'''Set Motors'''</span>
| |
| | |
| ''[_amgrpdadd3c7c8f5910982d289bd98101684d] Sets the speed of the wheel motors.''
| |
| | |
| This will control the motors in a manual way, such that each motor can be controlled individually.
| |
| | |
| <span>Parameters</span>
| |
| | |
| The parameters for the movement command.
| |
| | |
| void ()
| |
| | |
| void (const struct <math>\ast</math>command)
| |
| | |
| void (const struct <math>\ast</math>command)
| |
| | |
| void (float dt)
| |
| | |
| void (MotorControl <math>\ast</math>packet)
| |
| | |
| void ()
| |
| | |
| void ()
| |
| | |
| int ()
| |
| | |
| int ()
| |
| | |
| void (int useBoundsLimit)
| |
| | |
| void (int useStatusLogging)
| |
| | |
| === Private Member Functions ===
| |
| | |
| <span>'''Motor Controller default object'''</span>
| |
| | |
| ''[_amgrp9e5257757bb47d5223c038f91d3ca39b] Creates a motor contorller object.''
| |
| | |
| Creates the object. Nothing is requested of the motor controller board at this ponint.
| |
| | |
| ()
| |
| | |
| <span>'''Free Motor Controller bject'''</span>
| |
| | |
| ''[_amgrp407b092ba9c174a55708b5d3e7ba1e6a] Deletes the motor contolelr object.''
| |
| | |
| Frees any resources used by the motor controller.
| |
| | |
| ()
| |
| | |
| <span>'''Initialize One Wheel Motor'''</span>
| |
| | |
| ''[_amgrpf5dc760419735c025a71fd62d74cb75f] Initializes one of the motot settings on the MESA board.''
| |
| | |
| Initializes one motor
| |
| | |
| <span>Parameters</span>
| |
| | |
| The motor structure to initialize
| |
| | |
| void (struct &motor)
| |
| | |
| <span>'''Initialize All Wheel Motors'''</span>
| |
| | |
| ''[_amgrp624dc6c5d4b272edbe3b43cae3f7e0ee] Initializes all wheels.''
| |
| | |
| Initializes all the motors
| |
| | |
| void ()
| |
| | |
| === Static Private Attributes ===
| |
| | |
| static <math>\ast</math> = NULL
| |
| | |
| === Motor Controller instance ===
| |
| | |
| Get the instance of the motor controller.
| |
| | |
| Returns a single instance of the .
| |
| | |
| <span>Returns</span> A single instance of the
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| char
| |
| | |
| char
| |
| | |
| short
| |
| | |
| short
| |
| | |
| short
| |
| | |
| short
| |
| | |
| int
| |
| | |
| int
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| <math>\ast</math>
| |
| | |
| <math>\ast</math>
| |
| | |
| static <math>\ast</math> ()
| |
| | |
| === Set Motor Speeds ===
| |
| | |
| Passes the motor speed settings to the FPGA.
| |
| | |
| Passes the motor speeds onto the motor board. After this command has been executed, the robot will begin to move.
| |
| | |
| class
| |
| | |
| class
| |
| | |
| void (const char <math>\ast</math>name, const &motor)
| |
| | |
| void ()
| |
| | |
| static int (unsigned int degree)
| |
| | |
| static int (unsigned int degree)
| |
| | |
| === Constructor & Destructor Documentation ===
| |
| | |
| [classMotorController_a1c32db157ba4b6dba1f2d6bc8891f16d] [classMotorController_ae4a6055b64466936c3576fb52fda9307]
| |
| | |
| === Member Function Documentation ===
| |
| | |
| [classMotorController_add1bf5dae0eb05623df4b754d1c6fb49] [classMotorController_a93e60b0fa743ec1a6a69957d64689b55] Computes the output of cos(degree)<math>\ast</math>256 using a lookup table
| |
| | |
| <span>Returns</span> (int)(cos(degree)<math>\ast</math>256
| |
| | |
| [classMotorController_a2553c87383d8241316ea2053fb12c7a4] [classMotorController_a48e1b88df6b0d6da8195ba102108d9d9] [classMotorController_a34520b22e1f3e4a6529133fb2481d32e] Gets if the motor controller is using bounds limiting
| |
| | |
| <span>Returns</span> 1, if the korebot stops the motors when it leaves the bounds of the playing field, 0 otherwise
| |
| | |
| [classMotorController_af3bade74d928cdddf29dbcaec33e9dba] Gets if the motor controller is logging status
| |
| | |
| <span>Returns</span> 1, if the motor controller is logging, 0 otherwise
| |
| | |
| [classMotorController_a4fecad722d049d29bc6efc6b4a549048] [classMotorController_a7e93f0790d37d266359cab27eaf19389] [classMotorController_a1772b5eb25ed867b6799c6488a1da283] [classMotorController_a6ea32666e8808436dc6d299a26e96d08] [classMotorController_a41163916eb76f85ea6d5c0bfeb0b0869] [classMotorController_ace062a26702f28230668809781e41039] [classMotorController_a712bfbc418522a2297053b16cd04ba3d] [classMotorController_a953b0bd7cf69a499d444e283cdcf2c6f] [classMotorController_a9b9cf813441e188fec5dde9783e4a56f] [classMotorController_ab64a7f9780e66317a624cdd945070b80] [classMotorController_a69d031076349d49d2a68de9d7a8ca8db] [classMotorController_a0b1e833f2acca5f4ca229edcdb982ba1] Prints the status of the given motor to console
| |
| | |
| <span>Parameters</span>
| |
| | |
| A human-readable description of the motor
| |
| | |
| The motor details
| |
| | |
| Prints the status of the given motor to console
| |
| | |
| <span>Parameters</span>
| |
| | |
| A human-readable description of the motor
| |
| | |
| The motor details
| |
| | |
| [classMotorController_ae350b355b22cd83ad7b735e456b146a9] Prints the status of various modules on the Korebot [classMotorController_a419d79a3fff2307b0ab96418270cbf92] Processes a packet received over the network
| |
| | |
| <span>Parameters</span>
| |
| | |
| The packet received from the network
| |
| | |
| [classMotorController_a0e32982f7d58fc52a0bafe4f50572faa] [classMotorController_ad90235c67d1e809452589cba4b58f806] [classMotorController_a96915dcda6bfca14d18e523542982d49] [classMotorController_a2282991fb80e1689e1e7ffaa104015f2] [classMotorController_a0265a0be71190b23bdb591cde9c68097] Runs one iteration of the motor controller; Sets the speeds of the motors according to how the user / AI wants them to go.
| |
| | |
| <span>Parameters</span>
| |
| | |
| The time difference since the last call to this method
| |
| | |
| [classMotorController_addb10f30dae3f4daeb0074b28f0ee1d1] Sends status information about the sensor manager to the control server.
| |
| | |
| This includes the mode & speeds of the motors. [classMotorController_a2e5e8ac28229cb8f9a0ce5f64a8d5b77] [classMotorController_a5abb6d80f4891452cbb6a3c7a3c32d5c] [classMotorController_a65dfcc468ce3529defe398fe7bf7392d] [classMotorController_ac9bd97a93cbe94bf844e80ef23056ad6] [classMotorController_a25f60534f1ef27d30f6cdf62519c791a] [classMotorController_a4e45155b4d2d208dc76967c304b7ebf3] Sets if the motor controller should stop the motors if the korebot leaves the bounds of the playing field
| |
| | |
| <span>Parameters</span>
| |
| | |
| 1, if the korebot should stay in-bounds, 0 otherwise
| |
| | |
| [classMotorController_ab76a224b0d5188d15f33b6b697905933] Sets if the motor controller should log the status information to a file
| |
| | |
| <span>Parameters</span>
| |
| | |
| 1, if the motor controller should log, 0 otherwise
| |
| | |
| [classMotorController_a41bec40abfaefa050d98ea4522945bd6] Shuts the motor controller down, destroying any resources & releasing any devices the controller is holding. [classMotorController_a4635621e96ad618a1f33d02165cdfc9e] Computes the output of sin(degree)<math>\ast</math>256 using a lookup table
| |
| | |
| <span>Returns</span> (int)(sin(degree)<math>\ast</math>256
| |
| | |
| [classMotorController_a50e55a6199c3cef74b5e8cd64039f315] [classMotorController_a69733631dbe8550b52933cc03fcb0f54] [classMotorController_aab0247df4f0413a46e68ada1e3b4e991] [classMotorController_a3b1f06b4d39a840887079ce725401162] [classMotorController_a46b269cc3a363a8a621e3f50aef79963] [classMotorController_af0e455864d2af2f4f293961d95b843a1] [classMotorController_a317ce58ea93ea1329de5b87391560082] [classMotorController_a1296842f7e49211c6dd36023967e8ac2]
| |
| | |
| === Friends And Related Function Documentation ===
| |
| | |
| [classMotorController_a0191eec9042e10ff1da22f98f14498fb] [classMotorController_a56b5005fdfe78e27f0ecd4d7d876b646]
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [classMotorController_a1d97bedd5ac33c60ecb00442569b0ada] [classMotorController_a746ddd1d96190bbc14669d555ae1ed11] [classMotorController_af9ad9c5897f6fc801694837c2ecce6e5] [classMotorController_ab78c465d4e96d3c8b21b08fa8b2f5589] [classMotorController_a915f7c7db7eafe922c183f0a008ae53a] [classMotorController_a07e3f68c416a983de11e401b5c0f1433] [classMotorController_a77bd609c9cce4b00533f00eb3b4b9197] [classMotorController_ac14cc62eae3a30fc2752a78fbd18a6e8] [classMotorController_ad49cd20423752fe17d45abca19fcd5f8] [classMotorController_aa53faa6f4491dcdc8fbcaa22ca0498d5] [classMotorController_a7dfcbab99afde391b774d444f603fb5b] [classMotorController_a12e46cfc455ac7e814a977d244be5f08] [classMotorController_a824e25371c790d050dc68a8ca861ac17] [classMotorController_ac455cbf551bd87ff0e7b9647d3e29caa] [classMotorController_a1d266c8a0c0bd8d1a123fe92eadac4b4] [classMotorController_a34ba46e538027b3897d8a52c432acea8]
| |
| | |
| The documentation for this class was generated from the following files:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structmotortrain__t_ac93c32e936810c89d906a780388fa543] [structmotortrain__t_a936dab25cd19cd882c1f4b5547f6854d] [structmotortrain__t_a0975c7dc29c06eb3e41c7b3d2d89f897] [structmotortrain__t_a7374ec1fab1a3b24ab05f4f3f562286a] [structmotortrain__t_a17d91b9941dd97fe08ac5f05d320db77] [structmotortrain__t_a1bf8fd344ea4ab736e8be74807f28ce8] [structmotortrain__t_aa512d3487dad0e44ba34f7bd80644989]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| int
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| int
| |
| | |
| int
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structQUAD_a2eed9f1713c43f7c7491813afe60d159] [structQUAD_a00d9ad43243a8079bdafc17bad61e8a8] [structQUAD_a10e64234abe44400db28b86cccf71b9c] [structQUAD_a37a8faccecc87a0a36db7758aebd4cd3] [structQUAD_ab6322c69c61e8c52113215b8782f5640] [structQUAD_a1c0d275153c7e8f6a96cb438c57de6fb] [structQUAD_a8e0ab0fca05fa4368e9c142b879165b8] [structQUAD_aae593162318a8f85cee245d36384e43e] [structQUAD_a8fb550e3a46fca686af955f7070891d5] [structQUAD_aa39e1ed5847afe259a4bed63fdcdcdb2] [structQUAD_af0a105f1ee7eb97eab0db1b5e1996f37] [structQUAD_a1e4d41cb80153a8d7cd81c66c98c8b3a] [structQUAD_adefa68d6df6fb3288bce229cad63eaa3] [structQUAD_a2f1b6a7383290f5c552eef5e51825a35] [structQUAD_ae9bb78262875c8a49b7c1ce6eba1691f] [structQUAD_a5d6a99d953ddbc2f0e0d799459afbe0b] [structQUAD_a893e505f05bad2f5904387c926f12c8c] [structQUAD_a5f2425f4d2370d30a963157527e2bf9c] [structQUAD_ae7f289e91404a2f165d2f7c6a25a8450] [structQUAD_aa8a9da65a487c47e81c77b33323428ef] [structQUAD_ae2c9ab465e6ebfe2a26122cc3caf15d7] [structQUAD_a17071969d4bc2093b3d2fc1ee83af04d] [structQUAD_a5150d2569d431a1380cb7d837e96ebf5] [structQUAD_ace794fbc91c3193f6e5e42d1f8e2cd64] [structQUAD_a754e8f9b57794e2ab9b4c3542e39464d] [structQUAD_a79b59140f8b04dac9218dcc699f5b3f8] [structQUAD_a2449ef626bfeca6b8a7c63fcbc2c6818] [structQUAD_a542aee3387201368593832b4e47ba743] [structQUAD_a883c6b66339a648916033d296368f9dc] [structQUAD_aedc6dc7e5aa35ef51d1ced2dce9513a0] [structQUAD_a2ab750ab10497d939cdddba72cfc4de6]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double 6
| |
| | |
| double 6
| |
| | |
| double 4
| |
| | |
| double 2
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structQUAD__LQG_a76bbbb078df43082bbd27354d9458b9d] [structQUAD__LQG_ae06b105072a09fdfe8bf26f6db82e1d3] [structQUAD__LQG_a34c2cd67f46354f4dd1390ceb13d8639] [structQUAD__LQG_ab2510335708e94ce453625ec6c88a8f4] [structQUAD__LQG_a45f38782147369b8b6df1999ebdcfa17] [structQUAD__LQG_ac031b1e1bb3c1e293c422eb66f388f39]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structQUADPID_af57693675d3b91e74c7fce833c2d3229] [structQUADPID_a37120d7ed179891e570632dde992a62d] [structQUADPID_aebe069933b736158b6e9c66480b5dd66] [structQUADPID_a9e340ef1ec326c3ea24ab853eaab5356] [structQUADPID_a8c459e89dad8aba573f629a2eee95a2e] [structQUADPID_a53abc22b47daebd646ffa93edeebabf3] [structQUADPID_a15a2c22f71f430b0f3da088fdaf11e8b] [structQUADPID_a35bd258abd8b446cf0fc7192f5444ace] [structQUADPID_aad48c2639f5e7f7a7507a65f2fc9f840] [structQUADPID_af0c37cfc4dd8de23ea8e1f5a9dde49ca] [structQUADPID_ac0ca662a0fd18d9a7ae9be60f16642aa] [structQUADPID_a4e96ee985a438bbac5a5a2e7c20a6ba3] [structQUADPID_ac2322202d22bfef5a2bac06ab69ad04e] [structQUADPID_adffd1a7f278135c8b1dbe8ed3c028d49] [structQUADPID_a641e3400a556ef67ae641bb748f35502] [structQUADPID_a37ec2314c8e6ea28ce2bf9677bac90c3] [structQUADPID_ae2363c0b0775bd8139ba5768470b986d] [structQUADPID_a074e9f874f299cd53447a34638c0daad] [structQUADPID_ad2e9f72912b4f53ec0a6c57652706a9f] [structQUADPID_a5b2c0619378b80766a76fe248d4e82cf] [structQUADPID_a52b5fb6398fecd60c22bedd8b5c88554]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structQUADSS_add3c0c29d0b5a86bc0650e10048da943] [structQUADSS_aea9e3c78961e8d18c5a5b0e7801a3757] [structQUADSS_a429e966bc34c1bdc2277139488b777d6] [structQUADSS_aedab9a84e7fe0fc90e9fb6573f92edc9] [structQUADSS_a82100cd859c1d02e9a0610610f9ce598] [structQUADSS_a848a1f6b9b1386b06cbc1545a8a850bf] [structQUADSS_a5184771429743ed0518c4cb93764bdc1] [structQUADSS_a4586121326628ddd1183bb6bf7bbcf39]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structQUADSSI_a578f581dca979d890f092a5276c1de2e] [structQUADSSI_a4226d40c10573f3f827ae7666ef1fc44] [structQUADSSI_a9abfe43101a30f54fe2d38d60de74b2c] [structQUADSSI_a2c5a14aeaeee20b7f0a28f519bb88ba3] [structQUADSSI_ac85d5d5297bdae061cafd99d3a1735c5] [structQUADSSI_a16756c462227bebb2eada031f7926249] [structQUADSSI_adbc07d19432895cd041db18a418ed9ac] [structQUADSSI_a474e0b411cc0f122694e51d1b0659acf] [structQUADSSI_abece16790d7a4e8a8ca59afb9448c370] [structQUADSSI_a45e12800b609b4a4f8b3bac4566695cc] [structQUADSSI_a4a270033dec1ba6e9339ae6165389c9f]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double 13
| |
| | |
| double 13
| |
| | |
| double 10
| |
| | |
| double 5
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structRADALQG_aa940eeca8f5baac2249898725297a0d0] [structRADALQG_af266d468cac40fa2d420f8bfddd7b557] [structRADALQG_ae3d7654593c0ce69332c8a60ea4cb4b7] [structRADALQG_a71dff35bb7444784fa6a4fb0abfd79e6]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>motor_controller_common.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double 8
| |
| | |
| double 8
| |
| | |
| double 5
| |
| | |
| double 513
| |
| | |
| double 5
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| double
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structRADALQI_afdcf53ebe9bcecebb6672e3477bf3033] [structRADALQI_a951609272a5a9521d530b01e9ef09595] [structRADALQI_a3db98fefec3bacd77109ed872770ee52] [structRADALQI_a5c8328044c5e72bd14586d7518597d86] [structRADALQI_a03256a0ae4e91b1be17aff1e5fe5d97e] [structRADALQI_a187690a16632205e125a65ad4c446eb0] [structRADALQI_a923333c98a36453319870d2c3c41e664] [structRADALQI_a7553fcb3e6b678243cb011c35b8f7654] [structRADALQI_aa922b81415119cbcc3bc2cda233187aa] [structRADALQI_ac7c14eccdd17f87c18fc0d3c5a9fbeff] [structRADALQI_a6da18a4d7a2ce4036df91f6dadff1046] [structRADALQI_a4a8c3336e535d69214c5b1544cff8a4f] [structRADALQI_a029c912330265d6601207a31b673ac2e] [structRADALQI_ab8db739fd43babe83c86aaccdee03107] [structRADALQI_ac3ba42e78de0c7a9f9bac06ee59d9af7] [structRADALQI_a38be3a08ecdef8905bf026197ec2d001] [structRADALQI_a00e509effa31ce836d84e8ac44691237] [structRADALQI_a5f04861fdd822873fddfbb9b8ed6e1ac] [structRADALQI_a295076da380631add54edc56a0720cf1] [structRADALQI_a2ac030254978e192ed3a511324dd5dc6] [structRADALQI_a9e3250b14c3c011c300dff35b7358558] [structRADALQI_ad58dffb99676bd9adb92bc5af8bb1c70] [structRADALQI_a7b2374ca0e9ccfeb1beb1d272b39b0b4] [structRADALQI_aef3f073773528798287820fd58976d14] [structRADALQI_a97aa272c346c35631ca4564a37124dc5] [structRADALQI_a229c3294975da8be631e9e11107c37af] [structRADALQI_a8d61dd4ba5cd4475c5146bd11b467a9b] [structRADALQI_a15fb171c13f71768f9919b8f1f691dd3] [structRADALQI_a48be324b5e318ac948cc745350b2d234] [structRADALQI_adafde08ed92f42256ca80f4c62d61614] [structRADALQI_a2885d192d345fbc7b2032b3ddaf6adfd] [structRADALQI_a469a7e328410a7a783338c6609d8cc06] [structRADALQI_aa93908270a2fa6ab0e608ce60c68f47f] [structRADALQI_acdc45aaafc81cd9d721e7fcb8eecb746] [structRADALQI_a99de43ecd01f525e3c3e25c61a81d842]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| <span>#include <math><</math>vrpn.h<math>></math></span>
| |
| | |
| === Public Attributes ===
| |
| | |
| double
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| float
| |
| | |
| === Member Data Documentation ===
| |
| | |
| [structvrpn__data__t_a36832473aff982b334e73ef8f2107975] [structvrpn__data__t_a174930b2f9de89327cbd168ecc288da2] [structvrpn__data__t_aef6531470caa7a95e650b19ed0139ae6] [structvrpn__data__t_a5a5a96aa9d0640599eb1d950e8e4c833] [structvrpn__data__t_a5faf10d13f8203d5d34ed0ac580d50ee] [structvrpn__data__t_a643aa072522e303a9d9cd7637d8632a0] [structvrpn__data__t_a9b71e15122a1d3fa495f5e6a797c7084]
| |
| | |
| The documentation for this struct was generated from the following file:
| |
| | |
| = File Documentation =
| |
| | |
| This clss dercribes the key bindings for the UI.
| |
| | |
| === Classes ===
| |
| | |
| class
| |
| | |
| === Detailed Description ===
| |
| | |
| This clss dercribes the key bindings for the UI.
| |
| | |
| <span>Author</span> Dylan Gransee, Robert Larsen
| |
| | |
| <span>Date</span> July, 2016 This class holds the key bindings for the command line interface. Changes and additions can easily be made by anyone who does not like the available commands.
| |
| | |
| The different sets may have the same command because you can only use one set of commands at once.
| |
| | |
| Code that logs data from RADA system tests. <span>#include <math><</math>iomanip<math>></math></span>
| |
| | |
| <span>#include ‘"logger.h‘"</span>
| |
| | |
| <span>#include <math><</math>iostream<math>></math></span>
| |
| | |
| <span>#include <math><</math>string<math>></math></span>
| |
| | |
| <span>#include <math><</math>sys/stat.h<math>></math></span>
| |
| | |
| <span>#include ‘"utils.h‘"</span>
| |
| | |
| === Variables ===
| |
| | |
| struct
| |
| | |
| const string = ‘"<math>\backslash</math>033H<math>\backslash</math>033J‘"
| |
| | |
| === Detailed Description ===
| |
| | |
| Code that logs data from RADA system tests.
| |
| | |
| <span>Author</span> Paul Uhing, Ian McInerney, Dylan Gransee, Robert Larsen
| |
| | |
| <span>Date</span> July, 2016 This file logs data to a text file in the Eris directory /root/Logs/ErisDate/log(timestamp).txt There are some compiler macros for configuring the logger. They must be set in Logger.cpp because Paul Uhing couldn’t get the macros in to work in . . ssDrop makes the logger log data for the MSP packet drop controller. RADAlqi_est causes the lager to log controller inforamtion about a LQI controller . RADAlqi_est causes the lager to log controller inforamtion about a LQI controller with a traditional estimator. rada_lqg causes the logger to log data about the LQG controller for the whole system. rada_split_lqg causes logger to log data about the seperate LQG controllers. rada_split_lqg_ol causes the logger to log data about a LQG controller and the Eris to control its yaw with a PID and the linear velocities are controlled through open-loop commands. H2ctrl cause the logger to log data about a H2 controller. If ssDrop, H2ctrl, RADAlqi, RADAlqi_est, rada_lqg, rada_split_lqg, or rada_split_lqg_ol are not defined then RADA will default to PID control.
| |
| | |
| === Variable Documentation ===
| |
| | |
| [logger_8cpp_ae565de10fdcd13a32c3deef98b10b045] [logger_8cpp_a57e5a12456f314ffc728d5d8da312970]
| |
| | |
| <span>#include <math><</math>fstream<math>></math></span>
| |
| | |
| <span>#include ‘"motor_controller.h‘"</span>
| |
| | |
| === Classes ===
| |
| | |
| class
| |
| | |
| main code that controls the data flow for running RADA <span>#include <math><</math>iomanip<math>></math></span>
| |
| | |
| <span>#include <math><</math>iostream<math>></math></span>
| |
| | |
| <span>#include <math><</math>string<math>></math></span>
| |
| | |
| <span>#include <math><</math>cstdlib<math>></math></span>
| |
| | |
| <span>#include <math><</math>cstdio<math>></math></span>
| |
| | |
| <span>#include <math><</math>pthread.h<math>></math></span>
| |
| | |
| <span>#include <math><</math>quat.h<math>></math></span>
| |
| | |
| <span>#include <math><</math>signal.h<math>></math></span>
| |
| | |
| <span>#include <math><</math>ctime<math>></math></span>
| |
| | |
| <span>#include ‘"configuration.h‘"</span>
| |
| | |
| <span>#include ‘"korebot.h‘"</span>
| |
| | |
| <span>#include ‘"logger.h‘"</span>
| |
| | |
| <span>#include ‘"motor_controller.h‘"</span>
| |
| | |
| <span>#include ‘"utils.h‘"</span>
| |
| | |
| <span>#include ‘"vrpn.h‘"</span>
| |
| | |
| <span>#include ‘"key_bindings.h‘"</span>
| |
| | |
| <span>#include ‘"sensor_manager.h‘"</span>
| |
| | |
| <span>#include ‘"sensor_manager_common.h‘"</span>
| |
| | |
| <span>#include <math><</math>math.h<math>></math></span>
| |
| | |
| === Defines ===
| |
| | |
| #define
| |
| | |
| #define 26000
| |
| | |
| #define 56000
| |
| | |
| #define 65535
| |
| | |
| #define ((DUTY_CYCLE_MAX - DUTY_CYCLE_MIN) / 2) + DUTY_CYCLE_MIN
| |
| | |
| #define (DUTY_CYCLE_MAX - DUTY_CYCLE_MIN) / 2
| |
| | |
| #define 6656
| |
| | |
| #define 26880
| |
| | |
| === Enumerations ===
| |
| | |
| enum { , }
| |
| | |
| enum { , , , }
| |
| | |
| === Functions ===
| |
| | |
| <span>'''Handle pendulum postion VRPN callback'''</span>
| |
| | |
| ''[_amgrp37d875ee3807f019e19d2d6dee41a566] Preocesses the pendulum VRPN data.''
| |
| | |
| vrpn callback function that is called everytime vrpn data of the pendulum is received. The callback gets the data and calls the pid controller by passing that data in.
| |
| | |
| <span>Parameters</span>
| |
| | |
| no clue what this is
| |
| | |
| the vrpn data that was received
| |
| | |
| void VRPN_CALLBACK (void <math>\ast</math>, const vrpn_TRACKERCB t)
| |
| | |
| <span>'''Handle Eris VRPN callback'''</span>
| |
| | |
| ''[_amgrpe6e20aba9f601fcbc946d140a2025da7] Processes the camera system data for Eris from VRPN.''
| |
| | |
| vrpn callback function that is called everytime vrpn data of Eris is received. The callback gets the data and calls the pid controller by passing that data in.
| |
| | |
| <span>Parameters</span>
| |
| | |
| no clue what this is
| |
| | |
| the vrpn data that was received
| |
| | |
| void VRPN_CALLBACK (void <math>\ast</math>, const vrpn_TRACKERCB t)
| |
| | |
| <span>'''Main thread UI control'''</span>
| |
| | |
| ''[_amgrpf3df38af8777b52967885581a6bf5072] Handels the user input and data printed for the user.''
| |
| | |
| This thread prints of data to the user and checks for user input the changes control modes and references. In the Stopped mode the thread is looking for the user to request entry in to the other modes or exit the program. It also stops the VRPN thread from executing. In tuning mode the user will be allowed to tune the pendulum PIDs. In Robot control mode the user can give commands to manuver Eris. In Box step mode the pendulum goes through a series of setpoint steps. The escape key will cause the program to stop.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is a pointer to the thread ID of theis thread.
| |
| | |
| void <math>\ast</math> (void <math>\ast</math>threadID)
| |
| | |
| <span>'''Control Loop Thread'''</span>
| |
| | |
| ''[_amgrp4e6e712710141b9bb1acc2a64aef0639] The main function for the control loop thread.''
| |
| | |
| This thread should be used if the packet drop code is ever edited to work with a real fading network. It should be implimented such that the controller will run every 10ms and determine if there has been packet loss
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the thread ID
| |
| | |
| void <math>\ast</math> (void <math>\ast</math>threadID)
| |
| | |
| <span>'''Pendulum PID controller calcualtion'''</span>
| |
| | |
| ''[_amgrp9fc67c72cd599f172740e6b41f919d72] Calculates PID controller for the Pendulum commands.''
| |
| | |
| This function sets up the calculation of the desired PID controller for the pendulum commands then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnData)
| |
| | |
| <span>'''Eris PID controller calcualtion'''</span>
| |
| | |
| ''[_amgrp966797ce8643a3dd9f9c9be64292a6f5] Calculates a PID controller for the Eris system.''
| |
| | |
| This function sets up the calculation of the desired PID controllers for Eris then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the ponter to the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnData)
| |
| | |
| <span>'''User PID Tuner'''</span>
| |
| | |
| ''[_amgrp19c4ee08c9dbcdaf609dc0a72c72d089] Used to tune the pendulum PIDs''
| |
| | |
| This UI is used to tune the pendulum PIDs. It doesn’t perminatly change the PID values in eris.cfg. You can also swithc control mode
| |
| | |
| <span>Parameters</span>
| |
| | |
| pionter to the pendulum vrpn data
| |
| | |
| void ( <math>\ast</math>vrpnData)
| |
| | |
| <span>'''Robot Control User Interface'''</span>
| |
| | |
| ''[_amgrp1252ccc3177db21404c6dc4ed6a4eaa4] Lets users command Eris to move and change headding.''
| |
| | |
| The user can command Eris to move in x/y and rotate. The user can also change the command mode.
| |
| | |
| <span>Parameters</span>
| |
| | |
| The pointer to the pendulum VRPN data
| |
| | |
| void ( <math>\ast</math>vrpnData)
| |
| | |
| <span>'''Robot Control Mode'''</span>
| |
| | |
| ''[_amgrp74ce911b6d1d37b44c2b8ce61152513b] Handles user inputs in robot control mode''
| |
| | |
| This function processes the user input from the UI when in rop=bot control mode.
| |
| | |
| void ()
| |
| | |
| <span>'''Tuning Mode'''</span>
| |
| | |
| ''[_amgrpb934e8737cc509085ebb5f73b19acb1c] Hadles the user inputs when in tuning mode''
| |
| | |
| This function handers the user input when in tuning mode.
| |
| | |
| void ()
| |
| | |
| <span>'''Pendulum Box Step Mode'''</span>
| |
| | |
| ''[_amgrp0dd1499b5cddba7f94d7e8d3984cd1c7] Causes the pendulum to move in a box when in PID mode.''
| |
| | |
| This function performs a demo by moving in a box formation (first moves to a corner from center, then steps around in a square). It takes 9 steps to be centered again.
| |
| | |
| This function uses the following global variables nextChange - Time in seconds of the next state change state - The current state - the position in the box boxSize - Angle size in radians of the box changeRate - Time in seconds between each state change
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the current vrpn time
| |
| | |
| void (double curTime)
| |
| | |
| <span>'''Load Configuation Files'''</span>
| |
| | |
| ''[_amgrped311958465031c00fa547e89c46a708] Loads eris.cfg from the NFS''
| |
| | |
| Lods the configuration file in the Configuration class
| |
| | |
| <span>Returns</span> bool value that for success or failure
| |
| | |
| bool ()
| |
| | |
| <span>'''UI Thread'''</span>
| |
| | |
| ''[_amgrp62c5d6af5e738187ff22ed2cdba8093e] This is the main function for hte UI thread''
| |
| | |
| This thread just waits for user input (in the form of a single keypress). Once input is received, a global variable for the key is set so that the main thread can access the key that was pressed.
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the thread ID
| |
| | |
| <span>Returns</span> NULL since it shouldn’t end in our case
| |
| | |
| void <math>\ast</math> (void <math>\ast</math>threadID)
| |
| | |
| <span>'''ctrl+c handler'''</span>
| |
| | |
| ''[_amgrp99eb6333e039b04cc2ae3b28102e0bfa] this function exits the program correctly even when exiting via ctrl+c.''
| |
| | |
| This is a ctrl+c handler. It sets app_shutdown to 1, which should shut down the program. I am not sure of the specifics because this was written before the May15-27 team
| |
| | |
| <span>Parameters</span>
| |
| | |
| the signal that it receives when the key is pressed
| |
| | |
| static void (int sig)
| |
| | |
| <span>'''RADA LQI controller calcualtion'''</span>
| |
| | |
| ''[_amgrpe30a3a342484e25b238d7c5cd8c27cbb] Calculates a LQI controller for the entier RADA system.''
| |
| | |
| This function sets up the calculation of the desired LQI controller then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulum
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataPen, <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''RADA State-space controller calcualtion'''</span>
| |
| | |
| ''[_amgrp23542f9ec756f55caa3591c437bfac56] Calculates a state-space controller for the entier RADA system.''
| |
| | |
| This function sets up the calculation of the desired state space controller then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulum
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataPen, <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''RADA State-space controller calcualtion with packet loss'''</span>
| |
| | |
| ''[_amgrpf56561d2b664983cbfcb2c50e691a9d8] Calculates a state-space controller for the entier RADA system under lossy conditions.''
| |
| | |
| This function sets up the calculation of the desired state space controller then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulum
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataPen, <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''Test propellers at 50% commands'''</span>
| |
| | |
| ''[_amgrp467ef14d3f83635ee95aefccc1c11b89] Runs the propeller motors at 50% of maximum command.''
| |
| | |
| The motors are tested at 50% of maximum command to determine what the effective batter voltage the ESCs see. This sould only be used to with the battery voltage measuing setup for te quadrotor in Chapter 5 of Paul hing’s thesis.
| |
| | |
| void ()
| |
| | |
| <span>'''RADA LQI controller with esitmation calcualtion'''</span>
| |
| | |
| ''[_amgrp44e159876fd6aed6675462ea834d4ada] Calculates a LQI controller for the entier RADA system with esitmation.''
| |
| | |
| This function sets up the calculation of the desired LQI controller with esitmator, then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulum
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataPen, <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''RADA LQG controller calcualtion'''</span>
| |
| | |
| ''[_amgrpa91cac312d6bef2eb5e7e736994f4383] Calculates a LQG controller for the entier RADA system.''
| |
| | |
| This function sets up the calculation of the desired LQG controller then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulum
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataPen, <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''Quadror LQG controller calcualtion'''</span>
| |
| | |
| ''[_amgrp45f126903f6b8cbbb39832621800abd6] Calculates a LQG controller for the pendulum system.''
| |
| | |
| This function sets up the calculation of the desired LQG controller for the penduum then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of the pendulums
| |
| | |
| void ( <math>\ast</math>vrpnDataPen)
| |
| | |
| <span>'''LQG controller calcualtion for Eris only'''</span>
| |
| | |
| ''[_amgrp2fcbbf0d43176e1469cdb7ef2c01215d] Calculates a LQG controller for the Eris system.''
| |
| | |
| This function sets up the calculation of the desired LQG controller for Eris then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnDataEris)
| |
| | |
| <span>'''Eris PID controller with open-loop calcualtion'''</span>
| |
| | |
| ''[_amgrp5d5162a153e3702020f806e0b98a335a] Calculates PID controller for Eris with open-loop commands.''
| |
| | |
| This function sets up the calculation of the desired PID controller for Eris with open-loop commands then calls the controller function. Finaly it converts the controller output to valid actuator commands and sens these commands to the actuators.
| |
| | |
| <span>Parameters</span>
| |
| | |
| the vrpn data of Eris
| |
| | |
| void ( <math>\ast</math>vrpnData)
| |
| | |
| <span>'''Tic stopwatch starts'''</span>
| |
| | |
| ''[_amgrpbe5fa55475c3c5cd3d3dde119cd0c839] Starts a stopwatch timer.''
| |
| | |
| This function will get the current time to start timing something.
| |
| | |
| Example Usage:
| |
| | |
| tic(); do_things; toc(); deltT():
| |
| | |
| void ()
| |
| | |
| <span>'''Toc stopwatch stops'''</span>
| |
| | |
| ''[_amgrp7282852836645082f4d2dc3a1ee2f48f] Stops a stopwatch timer.''
| |
| | |
| This function will get the current time to stop timing something.
| |
| | |
| Example Usage:
| |
| | |
| tic(); do_things; toc(); deltT():
| |
| | |
| void ()
| |
| | |
| <span>'''Delta T stopwatch output'''</span>
| |
| | |
| ''[_amgrp6c89f10ad681f33bea46252ec9ef66c1] Prints the length of execution of the last set of timed code.''
| |
| | |
| This function take the diefference between the start time and stop time and convert that to time in milliseconds. Then the function prints the time to the STD Out.
| |
| | |
| Example Usage:
| |
| | |
| tic(); do_things; toc(); deltT():
| |
| | |
| void ()
| |
| | |
| <span>'''Main function of RADA'''</span>
| |
| | |
| ''[_amgrp9789cfd4cd4c15da3d3fa22ebb5abadd] This function intitializes the RADA test and hands execution to the threads.''
| |
| | |
| This function intializes the code execution by loading the configuration, intializing the motor controller settings, the , VRPN, and then hands the execution for the code to the VRPN thread and the main thread. The main tread is in charge of text based UI the user interacts with over SSH. The vrpn thread handles processing the VRPN data including controller calcualtions. There could be a thrid thread added to garentee that the packet drop controller runs every 10ms when packet drop controllers are run in a real enviorment (not simulating drops).
| |
| | |
| int (int argc, char <math>\ast</math><math>\ast</math>argv)
| |
| | |
| === Variables ===
| |
| | |
| int
| |
| | |
| pthread_mutex_t
| |
| | |
| pthread_mutex_t
| |
| | |
| static char
| |
| | |
| const string = ‘"<math>\backslash</math>033H<math>\backslash</math>033J‘"
| |
| | |
| static double = 0
| |
| | |
| static = STOPPED
| |
| | |
| static = STOPPED
| |
| | |
| static FILE <math>\ast</math>
| |
| | |
| static unsigned char 2
| |
| | |
| static size_t
| |
| | |
| static ssize_t
| |
| | |
| static unsigned char = 0
| |
| | |
| static unsigned char = 0
| |
| | |
| = PITCH
| |
| | |
| static double = 0
| |
| | |
| static double = 20
| |
| | |
| static int = 0
| |
| | |
| static float = 0.0872664626
| |
| | |
| struct
| |
| | |
| static int = 35
| |
| | |
| static int = 0
| |
| | |
| static float = 9<math>\ast</math>0.0872664626
| |
| | |
| struct timeval startt
| |
| | |
| long
| |
| | |
| long
| |
| | |
| double
| |
| | |
| === Detailed Description ===
| |
| | |
| main code that controls the data flow for running RADA
| |
| | |
| <span>Author</span> Paul Uhing, Ian McInerney, Dylan Gransee, Robert Larsen
| |
| | |
| <span>Date</span> July, 2016 This file setsup and controls the execution of the RADA system on Eris. ssTracking setsup reference tracking of inputs to control RADA when under H2 control. ssDrop puts the code in to packed drop mode and then RADA is controlled by a packed drop MSP controller. drop10 has the packet drop controller use a 10% drop controller design and forces the loss of 10% of packests. drop30 has the packet drop controller use a 30% drop controller design and forces the loss of 30% of packests. drop50 has the packet drop controller use a 50% drop controller design and forces the loss of 50% of packests. mot50 is used to test the actual propeller battery voltage at the ESCs after a test. The propellers are run at 50% command and the wheels are not commanded. RADAlqi causes RADA to be controlled by an LQI controller. FIR filters ae used to estimate velocities. RADAlqi_est causes RADA to be controlled by an LQI controller with a traditional estimator. rada_lqg causes RADA to be controlled by an LQG controller for the whole system. rada_split_lqg causes the pendulum and eris to be controlled by seperate LQG controllers. rada_split_lqg_ol causes the pendulum to be controlled by a LQG controller and the Eris to control its yaw with a PID and the linear velocities are controlled through open-loop commands. yaw_off turns off yaw control of Eris. H2ctrl puts RADA into a mode that uses an H2 controller to control RADA. ssMotors has RADA use an H2 controller that has propeller motor states in the controller design and will cause the system to ‘"dance.‘" accR sets up an acceration ramp for eris velocity control. posRamp causes Eris to control velocity as a postion ramp. If ssDrop, H2ctrl, RADAlqi, RADAlqi_est, rada_lqg, rada_split_lqg, or rada_split_lqg_ol are not defined then RADA will default to PID control. Make sure to edit the defines in to match the controllers used here.
| |
| | |
| === Define Documentation ===
| |
| | |
| [main_8cpp_a4e084139c6a2952b2d8e3926f7a5d4dd] [main_8cpp_a994d9f112b804790cb294940eb9d323b] [main_8cpp_adea6f9fd5cbfe15ba103162c938c82c1] [main_8cpp_ad6c255586afaadad77cc9ead98c4c3ef] [main_8cpp_ad83c5423508a0de5baa15de51dda7dc5] [main_8cpp_a89551354e91f5016b1abcfaf16e940a3] [main_8cpp_a1ec7940bd8e2d994ebe311607d8300c9] [main_8cpp_a2a7307f445fd64358b32c0e3b7c1d97b]
| |
| | |
| === Enumeration Type Documentation ===
| |
| | |
| [main_8cpp_ae3996976d8ffb3e58d88f58227473f8e]
| |
| | |
| ; <span> ''[main_8cpp_ae3996976d8ffb3e58d88f58227473f8ea2eeb9fef8a6a516fa6437a44a6efbd52]'' </span>
| |
| :
| |
| ; <span> ''[main_8cpp_ae3996976d8ffb3e58d88f58227473f8eaa4ed247aa19723caf868d2b2dd5cf4ff]'' </span>
| |
| :
| |
| | |
| [main_8cpp_a46c8a310cf4c094f8c80e1cb8dc1f911]
| |
| | |
| ; <span> ''[main_8cpp_a46c8a310cf4c094f8c80e1cb8dc1f911a948b2aee15f52b421fa4770c47bcfe8c]'' </span>
| |
| :
| |
| ; <span> ''[main_8cpp_a46c8a310cf4c094f8c80e1cb8dc1f911a5b098db3405ab997f1df697c8a25af60]'' </span>
| |
| :
| |
| ; <span> ''[main_8cpp_a46c8a310cf4c094f8c80e1cb8dc1f911a8a1be19211abeacf191fa94e53a88df7]'' </span>
| |
| :
| |
| ; <span> ''[main_8cpp_a46c8a310cf4c094f8c80e1cb8dc1f911a3f7641d93f9edd6dcef0ecbc9e5bcac2]'' </span>
| |
| :
| |
| | |
| === Function Documentation ===
| |
| | |
| [main_8cpp_a21bf4fc6c3a34c923d42af1dd5980075] [main_8cpp_ace0ab8e44bfaa97bfcd82adb89d74854] [main_8cpp_ac9f02fb0114292a308e093f0d9f8aa30] [main_8cpp_adb0f7bc1fa10ac859582e433e7acc7dc] [main_8cpp_a1dbdf224e16e0509ac19e34c27bc37e7] [main_8cpp_aa19799b0e80b4e69de6b6cc3ade092c1] [main_8cpp_aac75d50db164b40415d3d80142fc4d2c] [main_8cpp_a4a20cd0821f9530e40398374ca1a4311] [main_8cpp_a3c04138a5bfe5d72780bb7e82a18e627] [main_8cpp_a568000bf542342c7b00ddb00afb93fd9] [main_8cpp_aa8c69f9e4a04bdaa5ce904551cae390d] [main_8cpp_ac94b9d8c47c3b310cd58bd94b0133783]
| |
| | |
| <math>\ast</math> [main_8cpp_a5669af9fd1cb16cbafe7bba476401d1e] [main_8cpp_aa48cf9381fdd01af90024b19545df7d4] [main_8cpp_aa8d50bf6758495a8070ea25c1e37e7f9] [main_8cpp_a728c70f1946e291f107c8c6e7a2ea65e] [main_8cpp_a1075d00c4632a01409111682ed506a4b] [main_8cpp_a16b090c977019835b449e0113e61a29b] [main_8cpp_a23c4b3cc92e1574ab3fd5522a51f274f] [main_8cpp_a898ef4198c44ab81d796a247d6a61458] [main_8cpp_ab5a1f466bba3d4b5cffc3697c11d218f] [main_8cpp_a7424442480a606c0febd38ec999c6af8] [main_8cpp_a5ba73899fe15846cc99820005d978e24] [main_8cpp_a3f604b0d492a343dd2c72ca7469b3cf7] [main_8cpp_a8f66738d39f61b6992e622acb683de6a] [main_8cpp_a6a64e00f10edf7b5f98ecae52de3427e] [main_8cpp_a40769a58f3fc191e9913aa92d53f527d]
| |
| | |
| === Variable Documentation ===
| |
| | |
| [main_8cpp_ac32d6ad6c0714685f04b0130c7f77553] [main_8cpp_ad51e2c30d9b96de16e744f7ca54f3413] [main_8cpp_a4189bb97da233315f5721d38f82f10fe] [main_8cpp_ae565de10fdcd13a32c3deef98b10b045] [main_8cpp_a5d055a05b7de1e0898d6da92e2725e5e] [main_8cpp_a4565889a5449584de4acd8be53fefaf2] [main_8cpp_af29ec1ae9c2baac59d467be4d379f21e] [main_8cpp_abd94ded7cb6d0d29c553f52d2d926623] [main_8cpp_a1694170037849281e4db8c84dacc83ce] [main_8cpp_a2a9f405177eabe05143b129a3382e406] [main_8cpp_a57e5a12456f314ffc728d5d8da312970] [main_8cpp_a92459f6ff687f04fceaed1971c63fe89] [main_8cpp_af9b56b61a692a17c47d1e55b43b28320] [main_8cpp_a05067f85fb2548dbd7f1ba726256d60d] [main_8cpp_a4acff8232e4aec9cd5c6dc200ac55ef3] [main_8cpp_a6592d52d34d039c367f711900f17fdf7] [main_8cpp_acbd9a866ed8a9b963fee4f52d8fc9d48] [main_8cpp_a1e3954fef6954d324a4cea5118be77e9] [main_8cpp_a7dba94b79a26ddcc7a47f1b1fd880353] [main_8cpp_a28071e06a55fb35b53807b2292d77dac] [main_8cpp_a7bc6234247b5d8ec59319cb33b47b719] [main_8cpp_af6a35d8bda2bbb2656b29287230d8c81] [main_8cpp_ae7734f26f6b6e0008fe2b7884b2d4ac4] [main_8cpp_a0a07a521d3525b9b7dc70c0a625adea0] [main_8cpp_a89f234133d3efe315836311cbf21c64b] [main_8cpp_a4599153a1fb61e7bcdca1b8ea7aac88a] [main_8cpp_a3caf00a2855215688b02988d68d8b710]
| |
| | |
| These funtions initiaize controllers and do the actual controller calculation. <span>#include ‘"motor_controller.h‘"</span>
| |
| | |
| <span>#include <math><</math>iostream<math>></math></span>
| |
| | |
| <span>#include <math><</math>cstring<math>></math></span>
| |
| | |
| <span>#include ‘"ai.h‘"</span>
| |
| | |
| <span>#include ‘"configuration.h‘"</span>
| |
| | |
| <span>#include ‘"korebot.h‘"</span>
| |
| | |
| <span>#include ‘"localization_system.h‘"</span>
| |
| | |
| <span>#include ‘"Network/tcp_connection.h‘"</span>
| |
| | |
| <span>#include ‘"Network/network_bitstream.h‘"</span>
| |
| | |
| <span>#include ‘"Network/packets/motor_control_speed.h‘"</span>
| |
| | |
| <span>#include ‘"Network/packets/motor_control_manual.h‘"</span>
| |
| | |
| <span>#include ‘"Network/packets/configuration_packet.h‘"</span>
| |
| | |
| <span>#include ‘"DMCCom.h‘"</span>
| |
| | |
| <span>#include ‘"INCLUDE5.H‘"</span>
| |
| | |
| <span>#include ‘"IO5.H‘"</span>
| |
| | |
| === Functions ===
| |
| | |
| <span>'''State Model'''</span>
| |
| | |
| ''[_amgrpc4df07eb6e37e6b16df68627217435d1] Calculate a state controller.''
| |
| | |
| Calculates a controller using code autogenerate from a MATLAB conroller.
| |
| | |
| <span>Parameters</span>
| |
| | |
| The vector input to the controller asa double
| |
| | |
| is the location where the output is stored
| |
| | |
| void (const double u13, double y13)
| |
| | |
| <span>'''State Model Full Initialization'''</span>
| |
| | |
| ''[_amgrp90df6d656fcc497e551f2b80226e3ae7] Initialize the state controller.''
| |
| | |
| Initializes a controller using code autogenerate from a MATLAB conroller.
| |
| | |
| void (void)
| |
| | |
| <span>'''State Model Terminalte'''</span>
| |
| | |
| ''[_amgrpb57c89198c125d8a20eaf14eda168e0d] Terminalte the state controller.''
| |
| | |
| Terminates a controller using code autogenerate from a MATLAB conroller.
| |
| | |
| void (void)
| |
| | |
| === State Space Controlelr Configuration ‘"Dance‘" ===
| |
| | |
| Initializes a state space controller.
| |
| | |
| This function initializes as state space controller (H2) that has states for the quadrotor motors and causes the system to ‘"Dance‘".
| |
| | |
| 1 when the initialization is complete
| |
| | |
| static double 13
| |
| | |
| static void (void)
| |
| | |
| === Detailed Description ===
| |
| | |
| These funtions initiaize controllers and do the actual controller calculation.
| |
| | |
| <span>Author</span> Dylan Gransee, Robert Larsen, Paul Uhing, Ian McInerney
| |
| | |
| <span>Date</span> July, 2016 These functions interact with actuators. This includes the actual controller calcuations, controller initialization, and sending the actuator commands to the FPGA. The namespace contains the data structures thqat store mast of the system’s data. Compiler macros are used to define a few modified calcuations. ssDrop defines a version the packet drop controller. posRamp defines the PIDs for the wheel velocity controllers so they are really postion controllers. LQI_strong defines a different LQI controller. ssMotors defines the H2 controller that makes the system ‘"dance.‘" ssTracking deines the H2 controlelr that will track reference inputs.
| |
| | |
| === Function Documentation ===
| |
| | |
| [motor__controller_8cpp_a9ece9d0ee8318af42d3ea6a39c04438f] [motor__controller_8cpp_a50f56ed304c94c72900834bfee6880fb] [motor__controller_8cpp_ae0feaa1d69224c3c692ea4d015bf6772] [motor__controller_8cpp_aff2689042e650760bf8c24c25f98b459]
| |
| | |
| === Variable Documentation ===
| |
| | |
| [motor__controller_8cpp_ad79f130e5c463fb8299547a7e40d3273]
| |
| | |
| <span>#include <math><</math>sstream<math>></math></span>
| |
| | |
| <span>#include ‘"motor_controller_common.h‘"</span>
| |
| | |
| <span>#include ‘"Network/packets/motor_control.h‘"</span>
| |
| | |
| <span>#include <math><</math>stddef.h<math>></math></span>
| |
| | |
| <span>#include <math><</math>stdlib.h<math>></math></span>
| |
| | |
| <span>#include <math><</math>string.h<math>></math></span>
| |
| | |
| === Classes ===
| |
| | |
| class
| |
| | |
| === Defines ===
| |
| | |
| #define 0.01
| |
| | |
| #define -500
| |
| | |
| #define 500
| |
| | |
| === Functions ===
| |
| | |
| void (const double u13, double y13)
| |
| | |
| void (void)
| |
| | |
| void (void)
| |
| | |
| === Define Documentation ===
| |
| | |
| [motor__controller_8h_a6f7e745f759b3e4035d8465798a4e075] [motor__controller_8h_a4d585ad2fa2a686567fe72cd14428dde] [motor__controller_8h_ac32e7bee9d8c1ee37bfae3e48852535d]
| |
| | |
| === Function Documentation ===
| |
| | |
| [motor__controller_8h_a9ece9d0ee8318af42d3ea6a39c04438f] [motor__controller_8h_ae0feaa1d69224c3c692ea4d015bf6772] [motor__controller_8h_aff2689042e650760bf8c24c25f98b459]
| |
| | |
| <span>#include ‘"RADA_est.h‘"</span>
| |
| | |
| <span>#include ‘"RADA_split_LQG1.h‘"</span>
| |
| | |
| <span>#include ‘"RADA_LQG_s2.h‘"</span>
| |
| | |
| <span>#include ‘"packLoss0.h‘"</span>
| |
| | |
| === Classes ===
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| struct
| |
| | |
| === Defines ===
| |
| | |
| #define 10
| |
| | |
| #define 5
| |
| | |
| #define 5
| |
| | |
| #define 13
| |
| | |
| #define 13
| |
| | |
| #define 13
| |
| | |
| #define 5
| |
| | |
| #define 8
| |
| | |
| #define 5
| |
| | |
| #define 8
| |
| | |
| === Variables ===
| |
| | |
| const int = 40
| |
| | |
| static const double 513
| |
| | |
| === Define Documentation ===
| |
| | |
| [motor__controller__common_8h_a955a986a03f5aeb6bf10e71895a3fdc3] [motor__controller__common_8h_a01d92c67268fde027859c170514a4302] [motor__controller__common_8h_a26fc6745fdc4de3ad2ee421fc25aad41] [motor__controller__common_8h_a517216260e9c5807ff1d17e6b6ccfeff] [motor__controller__common_8h_acab00577a38703b3785f3d2310227a83] [motor__controller__common_8h_aa5b8ec5acecfe7e95912d6b3d6f64bcd] [motor__controller__common_8h_a65bdc185b18744aeb24c1ed6b3f070ea] [motor__controller__common_8h_a145ce8a02c1957fca71b9e2e241b15b4] [motor__controller__common_8h_a16dd14f45595e42913f1ef8e51127484] [motor__controller__common_8h_af1ee1bb5f099e72114ef336dae59ef7c]
| |
| | |
| === Variable Documentation ===
| |
| | |
| [motor__controller__common_8h_af72d10797fe016402e0f6b4784fb5f72] <span>'''Initial value:'''</span>
| |
| | |
| <span><span>89246, -1435, 0, 33, 2065, 26120, -420, 0, -78669, 1265, 0, 532, 33092</span>, <span>1435, 89246, 0, -2065, 33, 420, 26120, 0, -1265, -78669, 0, -33092, 53 2</span>, <span>0, 0, 34251, 0, 0, 0, 0, 1848, 0, 0, -43274, 0, 0</span>, <span>0, 10700, 0, 133545, 0, 0, -1685, 0, 0, 4740, 0, -802320, 0</span>, <span>-10700, 0, 0, 0, 133545, 1685, 0, 0, -4740, 0, 0, 0, -802320</span></span>
| |
| | |
| [motor__controller__common_8h_a3bf73988242d507676faf5e730c51951]
| |
| | |
| These are utility funtions. <span>#include ‘"utils.h‘"</span>
| |
| | |
| <span>#include <math><</math>cmath<math>></math></span>
| |
| | |
| <span>#include <math><</math>cstdio<math>></math></span>
| |
| | |
| <span>#include <math><</math>iostream<math>></math></span>
| |
| | |
| <span>#include <math><</math>termios.h<math>></math></span>
| |
| | |
| === Functions ===
| |
| | |
| <span>'''Normalize Number'''</span>
| |
| | |
| ''[_amgrp7182c311916e84625d4f869ea77768f4] Normalizes number from one range to another''
| |
| | |
| Normalizes a number within range A and B to be equivalent in range C to D
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the number to be normaized
| |
| | |
| is the minimum value of the range of the input
| |
| | |
| is the maximum value of the range of the input
| |
| | |
| is the minimum value of the range of the output
| |
| | |
| is the maximum value of th erange of the output
| |
| | |
| <span>Returns</span> the new value normaized in in the new range as a double
| |
| | |
| double (double num, int A, int B, int C, int D)
| |
| | |
| <span>'''Radians to Dergrees'''</span>
| |
| | |
| ''[_amgrpb9794915799365dc1c3fa4144041f823] Converts a radians to degrees.''
| |
| | |
| Radians to degrees convertion utility function
| |
| | |
| <span>Parameters</span>
| |
| | |
| is the angle in radians to be converted as a double
| |
| | |
| <span>Returns</span> the inital angle converted to degrees as a double
| |
| | |
| double (double angle)
| |
| | |
| <span>'''Get character'''</span>
| |
| | |
| ''[_amgrp330971785c699ebf40c4e9e8bcc083e9] Gets the keyboard comands from the user.''
| |
| | |
| Gets the key board commands from the user. This works with the user interface and must be blocking as it has its own thread.
| |
| | |
| the charater pressed on the user’s keyboard
| |
| | |
| char ()
| |
| | |
| === Detailed Description ===
| |
| | |
| These are utility funtions.
| |
| | |
| <span>Author</span> Dylan Gransee, Robert Larsen
| |
| | |
| <span>Date</span> July, 2016 These utility functions can be used to normalize data, convert angle units and get input from a keyboard.
| |
| | |
| === Function Documentation ===
| |
| | |
| [utils_8cpp_af3facad10e05defa48d45b46eb9ebe7e] [utils_8cpp_a3c082bb8a8bc92f9531055f7dd87f29e] [utils_8cpp_a45cf2c44832d15363ce9ea6ecb67a6ba]
| |
| | |
| === Functions ===
| |
| | |
| double (double num, int A, int B, int C, int D)
| |
| | |
| double (double angle)
| |
| | |
| char ()
| |
| | |
| === Function Documentation ===
| |
| | |
| [utils_8h_af3facad10e05defa48d45b46eb9ebe7e] [utils_8h_a3c082bb8a8bc92f9531055f7dd87f29e] [utils_8h_a45cf2c44832d15363ce9ea6ecb67a6ba]
| |
| | |
| These funtions interact with the VRPN library. <span>#include ‘"vrpn.h‘"</span>
| |
| | |
| <span>#include <math><</math>unistd.h<math>></math></span>
| |
| | |
| === Functions ===
| |
| | |
| <span>'''Initialize VRPN'''</span>
| |
| | |
| ''[_amgrp20a78012704698ef784ff27869f78644] This funtion initializes the VRPN client that receives information about the UAV (pendulum) and trackables.''
| |
| | |
| This funtion intilialises the VRPN link with the camera system using the defined IP address to listen for data from and what port to listen at. This initializes the trackable C++ object for the two camrea system constenlation this system needs to look for.
| |
| | |
| void (std::string connectionName, void(<math>\ast</math>callback)(void <math>\ast</math>, const vrpn_TRACKERCB), void(<math>\ast</math>callback1)(void <math>\ast</math>, const vrpn_TRACKERCB))
| |
| | |
| <span>'''VRPN Go Process Trackables'''</span>
| |
| | |
| ''[_amgrpecbaa586fe612dd88809d85ebee6a568] This loop continously checks for new trackable data then processes it using the VRPN library.''
| |
| | |
| This function loops forever chencking the VRPN connection for new data then processing the trackable data when it recives new trackable data for constellations it is listening for.
| |
| | |
| void ()
| |
| | |
| === Variables ===
| |
| | |
| vrpn_Connection <math>\ast</math>
| |
| | |
| vrpn_Tracker_Remote <math>\ast</math>
| |
| | |
| vrpn_Tracker_Remote <math>\ast</math>
| |
| | |
| === Detailed Description ===
| |
| | |
| These funtions interact with the VRPN library.
| |
| | |
| <span>Author</span> Dylan Gransee, Robert Larsen, Paul Uhing
| |
| | |
| <span>Date</span> July, 2016 These funtions are used to interact with the VRPN data being broadcast by the camera system.
| |
| | |
| === Function Documentation ===
| |
| | |
| [vrpn_8cpp_aad572d3b2e50ca74bc1cbb7095bb10e6] [vrpn_8cpp_aa23c89cec3a84dfd2217574495042ed1]
| |
| | |
| === Variable Documentation ===
| |
| | |
| [vrpn_8cpp_a82358f6a74652dcb4c021fcaf08132b0] [vrpn_8cpp_aafcf6a4836ee8542ec8b2e8bcecebd2e] [vrpn_8cpp_a1808fc275087d0affb46825e96f5f7ed]
| |
| | |
| <span>#include ‘"vrpn_Connection.h‘"</span>
| |
| | |
| <span>#include ‘"vrpn_Tracker.h‘"</span>
| |
| | |
| === Classes ===
| |
| | |
| struct
| |
| | |
| === Functions ===
| |
| | |
| void (std::string connectionName, void(<math>\ast</math>)(void <math>\ast</math>, const vrpn_TRACKERCB), void(<math>\ast</math>callback1)(void <math>\ast</math>, const vrpn_TRACKERCB))
| |
| | |
| void ()
| |
| | |
| === Variables ===
| |
| | |
| static const std::string = ‘"192.168.0.196‘"
| |
| | |
| static const int = 60560
| |
| | |
| static const int = 8
| |
| | |
| === Function Documentation ===
| |
| | |
| [vrpn_8h_aad572d3b2e50ca74bc1cbb7095bb10e6] [vrpn_8h_ac6e5e1f9755d0d510c997af6ee86c2c9]
| |
| | |
| === Variable Documentation ===
| |
| | |
| [vrpn_8h_a352f55c57b6223930012cfd93bc03485] [vrpn_8h_a2cbd02aedf20e63c4a0be4c28afc976d] [vrpn_8h_a24ee7d8017cbda77544b28c99880eca1]
| |