Giter VIP home page Giter VIP logo

autolib's Introduction

Netlify Status

autolib

AutoLib is a Pros C++ Library based off of OkapiLib for Advanced Vex Autonomous Programming

Summary

AutoLib is a Pros C++ Library for Advanced Vex Autonomous Programming

Note: AutoLib v1.0.0 is coming out soon! And we would love your contributions! Click to contact us.

Why AutoLib?

Features:

  • PathGenerator: A simplified easy class for generating a path
  • PurePursuit: A robust path following algorithm for controlling your robot's chassis
  • Versatile: You can use your own custom library or you can use OkapiLib to handle the motor control and odometry
  • Documentation: Great Documentation for Expert to Newbie Vex Team Programmers
  • Open Source: You can and should contribute to this project

Docs

Head over to the documentation website:

https://github.com/team914/autolib/wiki

Note: The docs are currently in progress, so if you can't find something please contact us!

Contributing

AutoLib isn't perfect; and it never will be, but we can get it pretty close. However, without your contributions and community involvment it may never get to it's full potential. So help make AutoLib by submitting a PR.

Contributions are accepted using GitHub pull requests; for more information, see GitHub documentation - 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

For a good pull request, we ask you provide the following:

  1. Include a clear description of your pull request in the description with the basic "what" and "why"s for the request.
  2. If the pull request is a new feature, please include appropriate documentation in the wiki.
  3. Keep a consistent coding style.

Implimentation

Robot

We suggest that you use a robot similair to the one described in the 5225A Pilons Position Tracking Document, however we support basically any configuration of a Skid Steer or X Drive.

Note: Before you begin to use AutoLib we suggest that you read up on the algorithms that we use.

Contact

To contact us:

Mailing List

If you would like to join the mailing list, please email [email protected] that you would like to do so.

License

AutoLib is licensed under the MIT License.

Thank You!

Huge Thanks to the following. AutoLib wouldn't be AutoLib without these wonderful people.

  • Theo Lemay, 7842F - theol0403

  • Ryan Benasutti, WPI - Octogonapus

  • Alex Brooke, PROS - hotelcalifornia

  • Nick Mertin, QUEEN - nickmertin

  • Dysproh, 2158A - dysproh

  • Benjamin Gubler - nebrelbug

  • David Jones - jonesde

autolib's People

Contributors

acetousk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

autolib's Issues

Feature Request: Auto Selector

Please Describe The Problem To Be Solved
Many people make their own auto selector. It would be very nice to create a GUI for the brain that would allow for a dynamic auto selector that would be game independent.

(Optional): Suggest A Solution

  • Similair to this.
  • Making it game independent would be difficult unless it had a config file that contains where the possible places where the robot starts is and the amount of different autons.

Bug Report: autolib::Point and okapi::Point

opcontrol.txt

Description

Whenever using autolib it is necessary to put a autolib:: before accessing autolib's Point object. This is because okapi also has a Point object(but it isn't actually a point it's a x,y,yaw coordinate which is a pose) in PathFinder.

Steps to Reproduce

  1. Follow this guide.
  2. Replace opcontrol.cpp with file linked below.
  3. Make the code and see no errors.
  4. Delete autolib:: on lines 25-28
  5. Make the code and see all sorts of errors.

Expected behavior: No errors on step 5.

Actual behavior: A ton of errors on step 5.

Versions

Name Version Origin


kernel 3.1.6 pros-mainline
okapilib 4.0.0-beta8 local
autolib 0.9.0 local

Additional Information

N/A

Bug Report: PathGenerator

Describe the bug
When constructing PathFinder's first field initializer_list of autolib::Points,

To Reproduce
Steps to reproduce the behavior:

  1. Follow the Getting Started with AutoLib Guide
  2. Replace the opcontrol file with attached file.
  3. prosv5 mut --execute
  4. See error. It will print.
findCurvature
        iyaw(0.000000), idistance(inf)

Expected behavior
Replace line 28 with autolib::Point( 1_in, -1_in ) //Then ( 1 inch, -1 inch ) and run it again. It will print.

findCurvature
        iyaw(-51.425299), idistance(-0.019446)

Screenshots
N/A

Desktop (please complete the following information):

  • OS: pop!_os

Name Version Origin


autolib 0.9.0 local
kernel 3.1.6 pros-mainline
okapilib 4.0.0-beta8-odom local

*Note: running prosv5 conductor info-project will let you see what the versions are. You can just copy and paste the terminal output. *

Additional context
N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.