Skip to content

Davidconfoey/2022-Remake

 
 

Repository files navigation

Robot Base

1757 base swerve robot

Chief delphi form

The Blue Alliance

Website

Installation

Visual Studio 2019 redistributable

vc_redist.x64

Python

3.9.6 amd64

VS Code

VS Code

FRC Game Tools

FRC Game Tools

FRC Radio Configuration Utility

FRC Configuration Utility

CTRE Phoenix

Phoenix Tuner

Setup

roboRIO

  1. Image the roboRIO Imaging instructions
  2. Configure the roboRio
    Item Value
    Team number 1757
    Firmware 6.0.0f1
    Image FRC_roboRIO_2021_v3.0
    Static IP 10.17.57.2
    Subnet Mask 255.255.255.0

Run Phoenix Tuner

Update device firmware

  • PDH
  • FalconFX
  • CANCoder
  • Pneumatics Hub

Configure CAN devices

Device Class Range ID
robo_rio core 0 - 9 master (no ID)
pdh core 0 - 9 0
front_left_drive motors 10 - 29 10
front_left_steer motors 10 - 29 11
front_right_drive motors 10 - 29 12
front_right_steer motors 10 - 29 13
back_left_drive motors 10 - 29 14
back_left_steer motors 10 - 29 15
back_right_drive motors 10 - 29 16
back_right_steer motors 10 - 29 17
front_left_encoder sensors 40 - 59 40
front_right_encoder sensors 40 - 59 41
back_left_encoder sensors 40 - 59 42
back_right_encoder sensors 40 - 59 43

Configure network devices

Device IP Address Subnet Mask
OpenMesh radio 10.17.57.1 ???.???.???.???
roboRIO 10.17.57.2 255.255.255.000
Driver Station (laptop) 10.17.57.5 255.000.000.000

Install robotpy

  • IMPORTANT: Perform ALL operations in a python virtualenv

Create virtualenv (if not previously done)

Recommend placing the virtualenv in the mentorbot repo folder under .venv (to keep everything together) however the virtualenv is local to your system and should not be uploaded (ignored in .gitignore)

cd <path-to-mentorbot-repo>
py -3 -m venv ./.venv

Workflow

  1. Activate virtualenv (Virtualenv activation may differ depending on your operating system and terminal)

    • Git Bash (Windows)
      source <path-to-mentorbot-repo>/.venv/Scripts/activate
    • normal bash (linux, macOS)
      source <path-to-mentorbot-repo>/.venv/bin/activate
  2. Update pip and wheel. Old versions of pip can prevent binary wheels from being installed. Installing wheel makes other installs faster (must have internet connection)

    python -m pip install --upgrade pip wheel
  3. Install / update robotpy (must have internet connection)

    python -m pip install -r requirements.txt

    (examples: robotpy, robotpy[ctre,navx], robotpy[all]) (see: robotpy on pypi)

  4. Download python for roboRIO (must have internet connection)

    python -m robotpy_installer download-python
  5. Download robotpy modules for roboRIO (must have internet connection)

    python -m robotpy_installer download robotpy

    (examples: robotpy, robotpy[ctre,navx], robotpy[all]) (see: robotpy on pypi)

  6. Install python on roboRIO (must be connected to roboRIO)

    python -m robotpy_installer install-python
  7. Upload robotpy modules to roboRIO (must be connected to roboRIO)

    python -m robotpy_installer install robotpy

    (examples: robotpy, robotpy[ctre,navx], robotpy[all]) (see: robotpy on pypi)

  8. Deploy robotpy program

    • To robot (must be connected to roboRIO)
      python robot.py deploy
    • To simulator
      python robot.py sim

Steps to take when commiting

  1. Make sure Pylint, Black and Prettier are installed
  • Run Pylint in terminal and check for a help output. It should be autoinstalled with python.
pylint
  • Run Black in terminal empty and look for "No path provided". If nothing happens, run the second command
black

python -m pip install -U black
  1. Make Pylint happy
  • Run Pylint on your files
pylint $(git ls-files "*.py")
  • With the error "Method could be a function" on an isFinished in a command, add this command above it. If necessary, swap out "no-self-use" with whatever error it gives you at the end.
# pylint: disable-next=no-self-use
  1. Formatting with Black and Prettier
  • Run black on your files (autoformats). Also note that it can be configured to run on save of a file.
black .

-You also may need to format json files using Prettier. When opening a json file in VSCode, it should prompt you to download Prettier in a small window in the bottom right. If not, go to the extensions tab on the left and search "Prettier". The top result is it (about 19 million downloads)

  1. Make sure it starts in sim and works as expected
  • Should be obvious but make sure to do it
  1. CODE FORMATTING PRACTICES

About

a base swerve drive robot for 1757

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Shell 0.2%