@@ -69,7 +69,7 @@ The XIlinx SDK has a few quirks that are important to watch out for:
...
@@ -69,7 +69,7 @@ The XIlinx SDK has a few quirks that are important to watch out for:
3. The project does not detect changes in header files, so if you modify a `.h` file, you should do a clean before re-building, otherwise you may experience unexpected behavior. We got into the habit of always doing a clean before a build whenever creating code that will be put on the quadcopter.
3. The project does not detect changes in header files, so if you modify a `.h` file, you should do a clean before re-building, otherwise you may experience unexpected behavior. We got into the habit of always doing a clean before a build whenever creating code that will be put on the quadcopter.
## Controller Network (Control algorithm)
## Controller Network (Control algorithm)
First read the [documentation for the computation graph library](computation_graph/README.md) to understand how the graph computes functions from a directed graph.
First read the [documentation for the computation graph library](src/computation_graph/README.md) to understand how the graph computes functions from a directed graph.
To visualize the default control network, from the quad folder, run `make diagram` with graphviz installed, and an image of the control network will show up as `network.png` in the _src/gen\_diagram_ folder. To see the autonomous controller, you can change the call at the bottom of `control_algorithm_init` from `connect_manual()` to `connect_autonomous()` before running `make diagram`. Just be sure to change it back to `connect_manual()` before the final build. Below is a simplified version of the autonomous controller that shows the control network for autonomous flight using VRPN data. (Unused blocks relating to manual flight and optical flow have been removed, as well as Ts\_IMU and Ts\_VRPN, which are blocks that keep track of the sampling period)
To visualize the default control network, from the quad folder, run `make diagram` with graphviz installed, and an image of the control network will show up as `network.png` in the _src/gen\_diagram_ folder. To see the autonomous controller, you can change the call at the bottom of `control_algorithm_init` from `connect_manual()` to `connect_autonomous()` before running `make diagram`. Just be sure to change it back to `connect_manual()` before the final build. Below is a simplified version of the autonomous controller that shows the control network for autonomous flight using VRPN data. (Unused blocks relating to manual flight and optical flow have been removed, as well as Ts\_IMU and Ts\_VRPN, which are blocks that keep track of the sampling period)