From 391889c8e7d0d1abceedcf183db87d901f470c34 Mon Sep 17 00:00:00 2001 From: Adan Silva Date: Sat, 23 Oct 2021 11:24:01 -0700 Subject: [PATCH] Add Romi setup instructions + controller curriculum --- ci/index.html | 13 ++++++ ci/romi/bang-bang/index.html | 78 ++++++++++++++++++++++++++++++++++++ ci/romi/pid/index.html | 63 +++++++++++++++++++++++++++++ ci/romi/setup/index.html | 56 ++++++++++++++++++++++++++ 4 files changed, 210 insertions(+) create mode 100644 ci/romi/bang-bang/index.html create mode 100644 ci/romi/pid/index.html create mode 100644 ci/romi/setup/index.html diff --git a/ci/index.html b/ci/index.html index 6738b89..77d3bf0 100644 --- a/ci/index.html +++ b/ci/index.html @@ -187,6 +187,19 @@

Robot software


+
+ + Romi robots + +

Romi Setup

Module +

Setup your Romi robot and flash the wpilibpi image onto it to start + learning FRC programming.

+

Romi Project #1: Bang Bang

Module +

Create a Bang-Bang style drivetrain controller for your romi.

+

Romi Project #2: PID

Module +

Create a drivetrain system for your romi using PID controllers.

+

Miscellaneous computer science diff --git a/ci/romi/bang-bang/index.html b/ci/romi/bang-bang/index.html new file mode 100644 index 0000000..9674f56 --- /dev/null +++ b/ci/romi/bang-bang/index.html @@ -0,0 +1,78 @@ + + + + + + + Romi Project #1: Bang Bang + + + + + +
+

Romi Project #1: Bang Bang

+

Introduction

+

A Bang-bang controller is defined as controlling a plant with two + states: on and off. This on state is applied when we went are system to + perform an action, while off serves as the "idle" state. In our specific + example, the drivetrain of the Romi would continue to drive until its + distance equals or is higher than the desired distance. If you are + interested in learning more, this Wikipedia + article is a great starting point.

+

Project Goal

+

Your goal is simply to have the Romi drivetrain move forward and then + stop after a certain distance.

+

Recommendation

+

While there are many different solutions to achieve the goal, one + recoomendation could be:

+
    +
  • Make a drive function that takes in a distance (in meters)
  • +
  • Apply voltage to the Romi motors constantly
  • +
  • Have logic to set the voltage to 0 once that distance is met
  • +
+
+ Note: For this project, it does not matter if you run your code in + either the telop or autonomous period. However, its recommended to place + your code into autonomous to practice creating autons. +
+

Project Setup

+

Type CTRL+SHIFT+P in Visual Studio Code, and type "Create a new project" + (Should have WPILib tagged in front of it). The wizard should appear. For + the project type, select "Template", "cpp", and then "Romi - Timed Robot". + Next, selected where to store your project. Team number doesn't matter, but + you may type your team number if you want to. Make sure to select "Desktop + Support". Once done, click "Create".

+
+ Note: The project needs to have an empty folder to be created. If + you intend to place your robot project into a Git repo, create it + somewhere else, and then copy it into it. +
+
+ + diff --git a/ci/romi/pid/index.html b/ci/romi/pid/index.html new file mode 100644 index 0000000..4398d2c --- /dev/null +++ b/ci/romi/pid/index.html @@ -0,0 +1,63 @@ + + + + + + + Romi Project #2: PID Controller + + + + + +
+

Romi Project #2: PID Controller

+

Introduction

+

A PID controller is a feedback controller (), in which you are able to + set a reference (or a goal), and be able to reach that goal while the 3 + terms are able to correct for slight lapses (or errors) during the journey + to reach that goal. If you are interested in learning more, this Wikipedia article is a + great starting point.

+

Project Goal

+

Your goal is simply to have the Romi drivetrain move forward and then + stop after a certain distance.

+

Project Setup

+

Type CTRL+SHIFT+P in Visual Studio Code, and type "Create a new project" + (Should have WPILib tagged in front of it). The wizard should appear. For + the project type, select "Template", "cpp", and then "Romi - Timed Robot". + Next, selected where to store your project. Team number doesn't matter, but + you may type your team number if you want to. Make sure to select "Desktop + Support". Once done, click "Create".

+
+ Note: The project needs to have an empty folder to be created. If + you intend to place your robot project into a Git repo, create it + somewhere else, and then copy it into it. +
+
+ + diff --git a/ci/romi/setup/index.html b/ci/romi/setup/index.html new file mode 100644 index 0000000..ee254c3 --- /dev/null +++ b/ci/romi/setup/index.html @@ -0,0 +1,56 @@ + + + + + + + Romi Setup - FRC Team 3512 + + + + + +
+

Romi Setup

+

Introduction

+

Romis are small, inexpensive robots where students are able to program + them using the same tools used for regular FRC competition bots. It's + imaged with wpilibpi, meaning that its possible to implement solutions like + vision on to it, making it a great learning tool for newer software + students.

+

Assembly

+

Please refer to here + for instructions on how to put together your Romi kit.

+

Flashing

+

Please refer to here + on how to flash your SD card with wpilibpi and how to connect to the its + web UI.

+
+ +