This shows you the differences between two versions of the page.
— |
wisar:slidemod [2014/08/11 13:48] (current) tmburdge created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | == Sliding Autonomy Modrator Tool == | ||
+ | This module is a plugin to the BYU HCMI lab's UAV Ground Control System (yet unnamed) interface that enables the UAV operator to manage UAV path planning autonomy using Sliding Autonomy. It provides real-time feedback to the user's what if path planning inquiries, so the user can choose the automatically generated path he/she approves and assign it to the UAV. | ||
+ | |||
+ | A simulation module is included to demonstrate how the tool works and also for performing user studies. | ||
+ | |||
+ | == Plugin to Real Interface (C++) == | ||
+ | === Input/Output === | ||
+ | Input Parameters: | ||
+ | * Width, height, and matrix representing overall probability distribution map | ||
+ | * (optionally) task-difficulty map | ||
+ | |||
+ | Output Parameters: | ||
+ | * Width, height, and matrix representing probability distribution map | ||
+ | * (optionally) task-difficulty map | ||
+ | * Starting position in (x,y) coordinates | ||
+ | * (Optionally) Ending position in (x,y) coordinates | ||
+ | * Duration (in seconds) | ||
+ | * UAV type: Fix-wing or Copter | ||
+ | * Detection type: fixed amount (e.g., 5), fixed amount in percentage (e.g., 25% of original, takes 4 times to clear), fixed percentage (e.g., 50%, always 50% of the current amount) | ||
+ | |||
+ | === Functions to be implemented === | ||
+ | * Plugin layer to existing interface | ||
+ | * Request probability distribution from a repository | ||
+ | * Update probability distribution in repository | ||
+ | * Request task-difficulty map from a repository | ||
+ | * Draw probably map using color map | ||
+ | * User specify UAV parameters (UAV type, Detection type, etc.) | ||
+ | * User specify search region (rectangular and can rotate) | ||
+ | * Compute matrix representing search region probability map | ||
+ | * User specify starting point (can drag and move, snap to grid), compute (x,y) coordinates wrt. matrix | ||
+ | * User specify ending point (can drag and move, snap to grid), compute (x,y) coordinates wrt. matrix | ||
+ | * Slider with minimum 1 maximum 3600 (seconds) | ||
+ | * Slider maximum decreases as previous paths planned uses up the total 3600 seconds | ||
+ | * As slider moves, periodically send request to IPPA to plan path (0.5 second intervals and 1 second duration change?) | ||
+ | * Remember paths already planned to reduce computation and network traffic. | ||
+ | * Draw path planned (as slider moves, remove previous path and draw new one) | ||
+ | * Keep approved path waypoints | ||
+ | * Use ending point from previous approved path as starting point for next segment | ||
+ | * Button for user to approve path for current segment. | ||
+ | * Field Trial | ||
+ | * Write Field Robotics paper | ||
+ | |||
+ | == Simulation Tool (C#) == | ||
+ | Input Parameters: | ||
+ | * Matrix representing probability distribution map | ||
+ | * (optionally) task-difficulty map | ||
+ | * Path returned from IPPA (a list of waypoints in (x,y) coordinates) | ||
+ | |||
+ | Output Parameters: | ||
+ | * Width, height, and matrix representing probability distribution map | ||
+ | * (optionally) task-difficulty map | ||
+ | * Starting position in (x,y) coordinates | ||
+ | * (Optionally) Ending position in (x,y) coordinates | ||
+ | * Duration (in seconds) | ||
+ | * UAV type: Fix-wing or Copter | ||
+ | * Detection type: fixed amount (e.g., 5), fixed amount in percentage (e.g., 25% of original, takes 4 times to clear), fixed percentage (e.g., 50%, always 50% of the current amount) | ||
+ | |||
+ | === Functions to be implemented === | ||
+ | * Load probability distribution map | ||
+ | * Load task-difficulty map | ||
+ | * Draw probably map using color map | ||
+ | * User specify UAV parameters (UAV type, Detection type, etc.) | ||
+ | * User specify starting point (can drag and move, snap to grid), compute (x,y) coordinates wrt. matrix | ||
+ | * User specify ending point (can drag and move, snap to grid), compute (x,y) coordinates wrt. matrix | ||
+ | * Slider with minimum 1 maximum 3600 (seconds) | ||
+ | * Slider maximum decreases as previous paths planned uses up the total 3600 seconds | ||
+ | * As slider moves, periodically send request to IPPA to plan path (0.5 second intervals and 1 second duration change?) | ||
+ | * Remember paths already planned to reduce computation and network traffic. | ||
+ | * Draw path planned (as slider moves, remove previous path and draw new one) | ||
+ | * Keep approved path waypoints | ||
+ | * Use ending point from previous approved path as starting point for next segment | ||
+ | * Button for user to approve path for current segment. | ||
+ | * Run user study and collect data | ||
+ | * For user study | ||
+ | ** Log everything. | ||
+ | ** Select test maps (bi-modal with overlapping and complex) | ||
+ | ** Design training materials and training scenarios | ||
+ | ** Enable fixed flight patterns (lawnmower pattern, grid spiral pattern) | ||
+ | ** Count-down timer to inform user of how much time is left (total 5 minutes) | ||
+ | ** At the end show how many objects are collected. | ||
+ | ** Manually set waypoints (in grid) | ||
+ | ** Record task completion time. | ||
+ | ** Record number of mouse clicks. | ||
+ | ** Secondary task (recognizing audio signals of call signs). | ||
+ | ** Record secondary task performance. | ||
+ | ** Demonstrate fully automatically planned path and fly UAV accordingly. | ||
+ | * Write HRI paper | ||
+ | |||
+ | == Current To Do List == | ||
+ | |||
+ | * Manipulate terrain height map at run-time. | ||
+ | * Color map terrain height map at run-time. | ||
+ | * Export Unity 3D app and see. | ||
+ | * Research how to include Unity in C# apps. | ||
+ | |||
+ | |||
+ | * Load DistMap to memory | ||
+ | * Load DiffMap to memory | ||
+ | * Display DiffMap | ||
+ | * Display DistMap | ||
+ | * Vacuum as UAV flies | ||
+ | * Allow manual flights | ||
+ | * Allow flight patterns | ||
+ | * Slider for resolution | ||
+ | * Slider for flight duration | ||
+ | * Network call to server | ||
+ | * 100x100 cells for map | ||
+ | * 24x24 cell size | ||
+ | * 12m/s flight speed (and accelerate) |