Skip to content
Snippets Groups Projects
Commit 9b57c21b authored by bbartels's avatar bbartels
Browse files

Update README.md

parent 75518b51
No related branches found
No related tags found
No related merge requests found
......@@ -5,11 +5,11 @@ for communicating with the ground station, responding to any commands it
receives and sending logs when appropriate.
## Controller Network (Control algorithm)
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.
First read the [documentation for the computation graph library](../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)
![Control network](src/gen_diagram/team_17-16_demo-simple_network.png)
![Control network](../gen_diagram/team_17-16_demo-simple_network.png)
One potential confusing point to take note of is the difference between "(X/Y) Vel PID" and "(X/Y) Vel" blocks. "(X/Y) Vel" is just a PID controller that has Kd=-1, which results in calculating the derivative of position to provide velocity. For clarity, it would be a good idea to create an actual differentiation block.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment