Skip to content

Commit 41b9d6c

Browse files
authored
Update README.md
1 parent c5f6a1b commit 41b9d6c

File tree

1 file changed

+74
-1
lines changed

1 file changed

+74
-1
lines changed

README.md

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,75 @@
11
# autolib
2-
*a pros library for advanced vex autonomous programming*
2+
3+
**Summary**
4+
5+
AutoLib is a Pros C++ Library based off of OkapiLib for Advanced Vex Autonomous Programming.
6+
7+
*Notice: AutoLib Version 1 beta is coming out soon! And we would love your contributions! To find us, email acetousk@gmail.com or ping on the [Unofficial Vex Discord](https://discord.gg/) @potatehoes#7782*
8+
9+
## Why AutoLib?
10+
11+
### Features:
12+
- PathGenerator: A simplified easy class for generating a path.
13+
- PurePursuit: A robust path following algorithm for controlling your robot's chassis.
14+
- Documentation: Great Documentation for Expert to Newbie Vex Team Programmers
15+
- Open Source: You can contribute to this project.
16+
17+
## Docs
18+
We know nobody reads through the long and boring documentation in the ReadMe anyway, so head over to the documentation website:
19+
20+
[https://github.com/team914/autolib/wiki](https://github.com/team914/autolib/wiki)
21+
22+
## Examples
23+
24+
### Implimentation
25+
```cpp
26+
//This will construct the PathGenerator class
27+
PathGenerator pathGenerator(
28+
{
29+
//The first point is, by default, automatically 0, 0
30+
autolib::Point{ -1_ft, 1_ft }, //This generates a Point at ( -1 foot, 1 foot )
31+
autolib::Point{ 0_ft, 2_ft }, //Then ( 0 feet, 2 feet )
32+
autolib::Point{ 1_ft, 1_ft }, //Then ( 0 feet, 2 feet )
33+
autolib::Point( 1_in, 1_in ) //Then ( 1 inch, 2 inches )
34+
//You can send any number of points along your path.
35+
}, .1_in /**This is the distance between each point after you generate a path.
36+
* The more points the better, however more points will take longer
37+
* to setup in pre auton.
38+
*/
39+
);
40+
41+
/**This will generate a series of points based off an algorithm.
42+
* Currently only HermiteSpline is supported. To figure out how this algoritm works,
43+
* we suggest you check this desmos graph out. https://www.desmos.com/calculator/h2jshqzjdo
44+
*/
45+
pathGenerator.generatePath( PathGenerator::PathType::HermiteSpline );
46+
47+
//This will construct the PurePursuit class
48+
PurePursuit purePursuit(
49+
pathGenerator.getPath(), // this will send the path from the PathGenerator to PurePursuit
50+
4_in // this is the Pure Pursuit Algorithm's lookaheadDistance
51+
);
52+
53+
/**This should be run in a loop during auton. This uses okapi's odometry feature to
54+
* identify the current global x, y, and yaw of the robot. This data is extremely vital
55+
* to the Pure Pursuit Algorithm. If this data is signifigantly off the actual position,
56+
* then it can and probaly *will* mess up your auton.
57+
*/
58+
purePursuit.getGoalCurvature( 0_ft, 0_in, 0_rad );
59+
60+
```
61+
## Contributing
62+
63+
We love contributions from the community! Contributions are
64+
accepted using GitHub pull requests; for more information, see
65+
[GitHub documentation - Creating a pull request](https://help.github.com/articles/creating-a-pull-request/). In addition, dealing with git branches and forks can be tricky if you don't already know how to use them; see [Editing and Creating a new branch with git and manage branches](https://github.com/acetousk/autolib/wiki/Editing-Create-a-new-branch-with-git-and-manage-branches)
66+
67+
For a good pull request, we ask you provide the following:
68+
69+
1. Include a clear description of your pull request in the description with the basic "what" and "why"s for the request.
70+
2. If the pull request is a new feature, please include appropriate documentation in the wiki.
71+
3. Keep a consistent coding style.
72+
73+
## License
74+
75+
AutoLib is licensed under the MIT license.

0 commit comments

Comments
 (0)