Giter Site home page Giter Site logo

sloth's Introduction

Sloth

Something's not working! What do I do!?

  1. Make sure the controller is on port 0 and the joystick is on port 1 in the driver station.
  2. If you aren't getting comms, try restarting everything; we've also noticed that connecting to the robot using USB and disconnecting after a while makes stuff work.
  3. Make sure you have the latest version of the robot code from this Github repository.

Controller Input Map

Controller Input Map

sloth's People

Contributors

sriracha21 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

sloth's Issues

Exception Called During Creation of Autonomous Commands

Problem: Exception is thrown when trying to create Autonomous command objects.

Explanation: Since the drivetrain is not a subsystem, it is instantiated in roboInit(). The RobotDrive object is not static because it is referenced within instance methods so when the same ports are called again to create a new RobotDrive object in autonomous commands, it throws an exception.

Solution:

  • Modify the autonomous command constructor so it takes a RobotDrive parameter
  • When constructing a new autonomous command, make actual parameter as the RobotDrive object in Robot.java

CameraServer Not Returning Video

Problem: CameraServer.getInstance().startAutomaticCapture() sets up a perfectly fine output but manually setting up the CvSink and CvSource returns nothing.

Possible Solution:

  • Read the source code for startAutomaticCapture() and build the servers from there.
  • ???

Center Autonomous

Problem: Center autonomous not made

Solution: Make it

  • Drive forward
  • Time delay
    • Test for correct time delay
      • The robot has to stop shortly after it comes into contact with the airship
  • Stop robot
  • Ensure robot is 100% stopped

NullPointerException called for grabImage()

Problem: Whenever grabImage() is called, a NullPointerException is called.

Possible Explanation: Scheduler works in a way where as command are added in last. Thus, the grabImage() is called before the SetUpCamera command is even ran.

Possible Solution:

  • Move setup code from SetUpCamera command to the constructor of the Camera subsystem
  • Delete SetUpCamera command
  • Ensure the program does not try to grab an image before sources are set up

Gyro Calibrates in Auto and TeleOp Init

Problem: gyro.calibrate() is called twice: during autonomousInit() and teleopInit()

Explanation: During manual testing, there are no FMS so it is not possible to call both autonomousInit() and teleopPeriodic() in one session. Thus gyro.calibrate() is called during teleopInit() to make the gyro work during teleop.

Solution:

  • Delete the gyro.calibrate() line from teleopInit()

Controlling Speed of Shooter

Problem: The shooter wheels spin at inaccurate and nonconstant speeds, especially after a long time of use.

Possible Solutions:

  • Bind a button and the right analog stick on the controller to modify the speed of the shooter.
    • The button has to be pressed and the analog stick has to be above a dead zone to modify the speed
    • The analog stick will allow the user to increase and decrease the shooter speed by a slight amount
  • Set up Encoder to monitor and actively change the output to keep the speed constant
    • Test for the PID values

Side Autonomous

Problem: Side autonomous is not finished

Solution:

  • Drive robot forward
  • Time delay
  • Turn robot towards airship
  • Drive forward
    The above two steps may be combined together
  • Vision Targeting
  • Stop robot
    • Stop robot shortly once it reaches the airship
  • Make sure robot is fully stopped

Numbers:

  • Wall to center gear: 2.88925 meters or 9 ft 5.75 in
  • Airship to Baseline: 0.37465 meters or 1 ft 2.75 in
  • Side Peg to Boiler: 4.0259 meters or 13 ft 2.5 in

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.