FRC1076 / RobotKitLib

Robotpy-WPILIB equivalent for raspberry pi robot kit
1 stars 1 forks source link

General info

RobotKitLib is our replacement for wpilib-robotpy for the Freenove Raspberry Pi Robot Kit, with compaitability (with minimal modifications) for frc robotpy code.

The Freenove 4WD Raspberry Pi - based robot kit looks like a promising platform for software training. This kits costs about $70, but requires a number of other components to be fully functional.

Important files:

NOTE: Using this code requires Python 3.9

Setup

Note for Windows users - In order to deploy code, you will need to install a bash terminal such as Git Bash (https://git-scm.com/downloads, make sure to select download for Windows) and run the file from there.

Setup:

Clone the repo both on your local machine and the robot's raspberry pi. Install requirements.txt with pip on both your local machine and on the robot On the raspberry pi, enable SSH and GPIO On the raspberry pi, run setup_autorunner.sh to allow the robot to run on boot

Usage:

Driverstation: The driverstation is run with python driverstation.py IP_ADDRESS with the IP being the IP of the robot (found with hostname -I)

Deploying code: Simply run python deploy.py IP_ADDRESS with the IP again being the IP of the robot

On the robot:

Running the code: Run python robot_setup.py (in future versions this will start on boot)

Further info and rationale

I think it can also serve as a platform for design/mechanical and electrical to do some nice custom projects.

One limitation that we discovered right away is the software architecture seems very limiting for what we want to do with robot programming. But, fortunately, everything is written in python, so fixing it up is certainly an option.

So we have kicked off a software project to make it programmable using the same robot.py kind of architecture that we are accustomed to. This requires:

The task of creating this environment should be excellent training for returning students, and should help them understand a little what has maybe been "magic" before.