This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cs:ai:start [2018/02/24 13:53] Mike Bykhovtsev Deleted stale, and added description of our AI. Added hyperlink to SMACH. |
cs:ai:start [2018/10/08 11:32] Sean Kallaher |
||
---|---|---|---|
Line 36: | Line 36: | ||
* If your state is using control wrapper to move, right before final outcome make sure to set changed yaw/roll/pitch/forward to 0. | * If your state is using control wrapper to move, right before final outcome make sure to set changed yaw/roll/pitch/forward to 0. | ||
* Control wrapper forward and strafe do not use relative same way as yaw and pitch, use instead **strafeLeftError()** and **forwardError()** | * Control wrapper forward and strafe do not use relative same way as yaw and pitch, use instead **strafeLeftError()** and **forwardError()** | ||
- | * Some current AI files use parameters from roscore server for different configuration of values. They will crash if they do not load parameters. To load parameters run | + | * Some current AI files use parameters from roscore server for different configuration of values. They will crash if they do not load parameters. Parameters are located in <wrap em>/ros/robosub/param/</wrap> or some may be located in individual utility folders. To load parameters run |
<code bash> | <code bash> | ||
rosparam load [param_file_name].yaml | rosparam load [param_file_name].yaml | ||
Line 42: | Line 42: | ||
* Every time you restart roscore you need to reload parameters | * Every time you restart roscore you need to reload parameters | ||
* Our vision detection requires undistortion to be running. | * Our vision detection requires undistortion to be running. | ||
+ | |||
+ | |||
+ | ===== Example Flow Chart ===== | ||
+ | <flow> | ||
+ | graph LR; | ||
+ | A(SM_ROOT)-->|execute|B[START_SWITCH]; | ||
+ | subgraph RoboSub | ||
+ | B-->C[GATE_TASK]; | ||
+ | C-->D[PATH_MARKER_TASK1]; | ||
+ | D-->E[DICE_TASK]; | ||
+ | E-->F[PATH_MARKER_TASK2]; | ||
+ | F-->G[GOTO_PINGER]; | ||
+ | G-->H{Where am I?}; | ||
+ | H-->|Roulette|I[ROULETTE_TASK]; | ||
+ | H-->|Square|J[SQUARE_TASK]; | ||
+ | end | ||
+ | I-->EN((end)) | ||
+ | J-->EN((end)) | ||
+ | click B "start_switch" | ||
+ | click C "gate_task" | ||
+ | click D "path_marker_task" | ||
+ | click E "dice_task" | ||
+ | click F "path_marker_task" | ||
+ | click G "goto_pinger" | ||
+ | click I "roulette_task" | ||
+ | click J "square_task" | ||
+ | style A fill:#f9f,stroke:#333,stroke-width:2px; | ||
+ | style EN fill:#f9f,stroke:#333,stroke-width:2px; | ||
+ | </flow> |