Work Breakdown Structure
Subsystem | Major Tasks | Milestones |
AGV
|
1) System Component finalization | 1. Finalize the platform for AGV. 2. Finalize the perception system sensors : Lidar, Camera. 3. Finalize the sensors for localization system : GPS, IMU, Odometry. 4. Procure the batteries, spares and the above finalized hardware. |
2) AGV Basic hardware and software setup | 1. CAD Design 2. Fabrication 3. Mini-PC: ROS Setup 4. Electrical Integration sensors 5. ROS sensors driver setup |
|
3) AGV Sensor Calibration and Data Capture | 1. Outdoor testing of the AGV platform with RC. 2. Checking the Odometry data of the AGV. 3. Statically testing the standalone Lidar sensor for the accuracy of data. 4. Statically testing the GPS data in outdoor environment. 5. Statically checking the IMU for accurate sensor data. |
|
4) AGV control | 1. Creating control Stack for AGV 2. Controlling AGV based on given locations 3. AGV tele-op control with remote PC |
|
5) Sensor Integration | 1. Software development and testing for different sensors (IMU, GPS, LIDAR, Odometry) with ROS. 2. Obstacle detection for AGV using the Lidar. 3. Path Planning : considering virtual obstacles in environment. 4. Localization : Integration of GPS and wheel odometry |
|
UAV
|
1) System Component finalization | 1. Evaluate and finalize the available UAV Platforms 2. Procure the batteries, spares and the above finalized hardware. |
2) Initial UAV testing | 1. Outdoor free flight test of the UAV platform with RC. 2. Lower level commands using SDK on remote PC. |
|
3) UAV Basic ROS sensor Software Development | 1. Setup ROS on remote-PC for the UAV. 2. Lower level control using ROS on remote-PC. 3. ROS driver setup for the different sensors (IMU, GPS, Camera). |
|
4) UAV Sensor Calibration and Data Capture | 1. Statically testing the GPS data in outdoor environment. 2. Statically checking the IMU for accurate sensor data. 3. video capture using UAV camera |
|
5) Higher Level UAV control | 1. Creating control Stack for UAV 2. Controlling UAV based on given GPS locations |
|
6) UAV intelligence | 1. Take off from the AGV platform 2. detection and computation of April tag location with camera video feed |
|
System Integration
|
1) Communication and peripheral setup setup | 1. Making a WiFi access point with Remote PC 2. WiFi boosters for remote-PC and AGV 3. Network setup for all the components 4. Communication layer setup between AGV, UAV and Remote PC. |
2) Major Sub-system integration with fall demo vehicle | 1. Integrating obstacle detection with path planning 2. Motion Planning and control for AGV movement integrating all the software stacks. 3. Behavioural model for autonomous navigation. 4. Testing and validating the entire sub-system. |
|
3) Major Sub-system integration with spring demo vehicle | 1. Path Planning with obstacle avoidance 2. Motion Planning and control for UAV movement 3. Integrating all the software stacks. 4. Video feed from the camera of AGV to remote PC. 5. GUI for the system. |
Timelines
September and October
November and December
Spring Semester
Progress Review Presenters in round robin order
Fall 2017 Semester
- Yuchi
- Pratibha
- Danendra
- Pulkit
- Rahul
Spring 2018 Semester
- Pulkit
- Rahul
- Yuchi
- Danendra
- Pratibha
Test Plan (FVE)
April Tag localization experimentTest step | Description | Performance Metrics |
---|---|---|
1 | Place UAV on the ground. | |
2 | Give take-off command (teleop) to 5m. UAV takes off and transmits video to the CPU. | |
3 | The CPU detects the two April tags placed on the ground through the camera feed of UAV | Accurately detect both the markers |
4 | Compute the distance between the two tags | Accuracy of distance computed with respect to manual measurement (+- 30cm) |
Test step | Description | Performance metrics |
---|---|---|
1 | Place the UAV on ground. | |
2 | Takeoff UAV (teleop) to 5m height | |
3 | The CPU detects all markers placed in the test environment through camera feed from UAV | Accuracy of number of markers detected (80 %) |
Test step | Description | Performance metrics |
---|---|---|
1 | Feed known GPS locations as destinations. | |
2 | UAV flies to the given GPS locations in sequence | Accuracy in reaching desired GPS locations (+- 5m tolerance) |
Test step | Description | Performance metrics |
---|---|---|
1 | Feed known GPS locations as destinations. | |
2 | AGV navigates to the given GPS locations in sequence | Accuracy in reaching desired GPS locations (+- 5m tolerance) |
Capability Milestones
- Nov 3: Fabrication of assembly
- Nov 5: PDR Finalization
- Nov 9: Localization of 2 April Tags
- Nov 9: Complete fabrication and electrical wiring
- Nov 14: Husky Teleop and Bebop Network
- Nov 15: GPS UAV navigation
- Nov 18: Multi April Tag localization
Second Semester PR Milestones
- Jan 31: Location fusion
- Feb 28: Obstacle avoidance with LiDAR
- Mar 27: AGV Path planning
- Apr 22: Final demonstration
Budget Status
Issues Log
Log Number | Date Discovered | Date Resolved | Resolved by | Module | Description | Resolution |
---|---|---|---|---|---|---|
1 | Sept 27 | Oct 19 | Team F | Husky | George's Husky would not move | Attached power cable to motor input |
2 | Oct 28 | Nov 2 | Rahul | SE100 | Navsat driver did not parse NMEA data correctly | Wrote own ROS node |
3 | Nov 5 | Nov 15 | Rahul, Pulkit | Bebop 2 | Bebop 2 refused to act as client and connect to WiFi | Telnet into Bebop 2 and ran custom script |
4 | Nov 7 | Nov 9 | Yuchi, Pulkit | Husky | ROS master did not receive messages across network | Added each machine's IP and name to each machine's /etc/hosts file |
5 | Oct 24 | Nov 15 | Yuchi | Bebop 2 | Highly unstable april tag visualization in RVIZ | Added a low pass filter to locations |
6 | Nov 7 | Nov 20 | Pulkit | Husky | Husky Navsat package not working | Edited configuration to map to the correct GPS |
7 | Nov 15 | Nov 23 | Danendra | IMU | UM7 not showing correct yaw | Recalibrated UM7 outside Wean Hall |
8 | Nov 24 | Dec 1 | Danendra | IMU | UM7 still drifts slowly. Unstable for FVE purposes | Switched to phone as temporary solution |
9 | Nov 27 | Dec 7 | Yuchi | Husky | Husky Navsat still does not work as intended | Copied over Bebop 2 controller and modified it for Husky |
10 | Jan 19 | Jan 25 | Yuchi | Bebop 2 | April Tags sometime show the incorrect transform | Added bidirectional edges of internal graph |
11 | Jan 20 | Jan 23 | Yuchi | Bebop 2 | Bebop 2 controller does not keep April Tags in camera view | Disabled scaling term in controller. Results in a less smooth controller however |
12 | Jan 28 | Feb 5 | Danendra | IMU | Borrowed IMU from Dan's lab doesn't work | Returned borrowed IMU to Dan and borrowed from Groundsbot |
13 | Feb 5 | Feb 8 | Danendra | IMU | Borrowed IMU still doesn't work. | Returned IMU and purchased new one from Amazon |
14 | Feb 15 | March 10 | Yuchi | Bebop 2 | Navigation purely on April Tags is too slow and reliant on camera view. | Used GPS to dynamically assign location to April Tags and use GPS to navigate instead |
15 | March 01 | March 27 | Pulkit | Husky | GPS drift is too significant. | Removed GPS from EKF and use it only to determine final destination. |
16 | April 13 | April 20 | Yuchi | Bebop 2 | Bebop 2 sometimes creates disjointed graph that crashes A* | Added a connected member to the graph vertices. Drone exploration and AGV A* only considers vertices that are "connected". vertices are by default disconnected and only become connected when a TF tree is built from the source node. |