Skip to content

Commit 391889c

Browse files
committed
Add Romi setup instructions + controller curriculum
1 parent e8f694f commit 391889c

File tree

4 files changed

+210
-0
lines changed

4 files changed

+210
-0
lines changed

ci/index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,19 @@ <h3 id="Robot_software">Robot software</h3><a href=
187187
patterns are covered as well as features of WPILib and FRC team 3512's
188188
custom classes.</p>
189189
</details><br>
190+
<details>
191+
<summary class="curriculum">
192+
Romi robots
193+
</summary>
194+
<h3 id="RomiSetup">Romi Setup</h3><a href="romi/setup/">Module</a>
195+
<p>Setup your Romi robot and flash the wpilibpi image onto it to start
196+
learning FRC programming.</p>
197+
<h3 id="RomiBangBang">Romi Project #1: Bang Bang</h3><a href=
198+
"romi/bang-bang/">Module</a>
199+
<p>Create a Bang-Bang style drivetrain controller for your romi.</p>
200+
<h3 id="RomiPID">Romi Project #2: PID</h3><a href="romi/pid/">Module</a>
201+
<p>Create a drivetrain system for your romi using PID controllers.</p>
202+
</details><br>
190203
<details>
191204
<summary class="curriculum">
192205
Miscellaneous computer science

ci/romi/bang-bang/index.html

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="description" content="Romi Project #1: Bang-Bang">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Romi Project #1: Bang Bang</title>
8+
<link rel="stylesheet" type="text/css" href="../../../main.css">
9+
<link rel="shortcut icon" type="image/ico" href="../../../favicon.ico">
10+
</head>
11+
<body>
12+
<header id="navbar">
13+
<ul>
14+
<li>
15+
<a href="../../../">Home</a>
16+
</li>
17+
<li>
18+
<a href="../../../admin/">Admin</a>
19+
</li>
20+
<li>
21+
<a href="../../../bootstrap/">Developer Bootstrap</a>
22+
</li>
23+
<li>
24+
<a href="../../../vpn/">VPN Setup</a>
25+
</li>
26+
<li>
27+
<a href="../../../ci/">Curriculum</a>
28+
</li>
29+
<li>
30+
<a href="../../../fll/">FLL</a>
31+
</li>
32+
<li>
33+
<a href="../../../archives/">Archives</a>
34+
</li>
35+
</ul>
36+
</header>
37+
<div class="body">
38+
<h1>Romi Project #1: Bang Bang</h1>
39+
<h2 id="Introduction">Introduction</h2>
40+
<p>A Bang-bang controller is defined as controlling a plant with two
41+
states: on and off. This on state is applied when we went are system to
42+
perform an action, while off serves as the "idle" state. In our specific
43+
example, the drivetrain of the Romi would continue to drive until its
44+
distance equals or is higher than the desired distance. If you are
45+
interested in learning more, this <a href=
46+
"https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control">Wikipedia</a>
47+
article is a great starting point.</p>
48+
<h2 id="Goal">Project Goal</h2>
49+
<p>Your goal is simply to have the Romi drivetrain move forward and then
50+
stop after a certain distance.</p>
51+
<h2 id="Recommendation">Recommendation</h2>
52+
<p>While there are many different solutions to achieve the goal, one
53+
recoomendation could be:</p>
54+
<ul>
55+
<li>Make a drive function that takes in a distance (in meters)</li>
56+
<li>Apply voltage to the Romi motors constantly</li>
57+
<li>Have logic to set the voltage to 0 once that distance is met</li>
58+
</ul>
59+
<blockquote>
60+
<i>Note:</i> For this project, it does not matter if you run your code in
61+
either the telop or autonomous period. However, its recommended to place
62+
your code into autonomous to practice creating autons.
63+
</blockquote>
64+
<h2 id="Tutorial">Project Setup</h2>
65+
<p>Type CTRL+SHIFT+P in Visual Studio Code, and type "Create a new project"
66+
(Should have WPILib tagged in front of it). The wizard should appear. For
67+
the project type, select "Template", "cpp", and then "Romi - Timed Robot".
68+
Next, selected where to store your project. Team number doesn't matter, but
69+
you may type your team number if you want to. Make sure to select "Desktop
70+
Support". Once done, click "Create".</p>
71+
<blockquote>
72+
<i>Note:</i> The project needs to have an empty folder to be created. If
73+
you intend to place your robot project into a Git repo, create it
74+
somewhere else, and then copy it into it.
75+
</blockquote>
76+
</div>
77+
</body>
78+
</html>

ci/romi/pid/index.html

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="description" content="Romi Project #2: PID Controller">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Romi Project #2: PID Controller</title>
8+
<link rel="stylesheet" type="text/css" href="../../../main.css">
9+
<link rel="shortcut icon" type="image/ico" href="../../../favicon.ico">
10+
</head>
11+
<body>
12+
<header id="navbar">
13+
<ul>
14+
<li>
15+
<a href="../../../">Home</a>
16+
</li>
17+
<li>
18+
<a href="../../../admin/">Admin</a>
19+
</li>
20+
<li>
21+
<a href="../../../bootstrap/">Developer Bootstrap</a>
22+
</li>
23+
<li>
24+
<a href="../../../vpn/">VPN Setup</a>
25+
</li>
26+
<li>
27+
<a href="../../../ci/">Curriculum</a>
28+
</li>
29+
<li>
30+
<a href="../../../fll/">FLL</a>
31+
</li>
32+
<li>
33+
<a href="../../../archives/">Archives</a>
34+
</li>
35+
</ul>
36+
</header>
37+
<div class="body">
38+
<h1>Romi Project #2: PID Controller</h1>
39+
<h2 id="Introduction">Introduction</h2>
40+
<p>A PID controller is a feedback controller (), in which you are able to
41+
set a reference (or a goal), and be able to reach that goal while the 3
42+
terms are able to correct for slight lapses (or errors) during the journey
43+
to reach that goal. If you are interested in learning more, this <a href=
44+
"https://en.wikipedia.org/wiki/PID_controller">Wikipedia</a> article is a
45+
great starting point.</p>
46+
<h2 id="Goal">Project Goal</h2>
47+
<p>Your goal is simply to have the Romi drivetrain move forward and then
48+
stop after a certain distance.</p>
49+
<h2 id="Tutorial">Project Setup</h2>
50+
<p>Type CTRL+SHIFT+P in Visual Studio Code, and type "Create a new project"
51+
(Should have WPILib tagged in front of it). The wizard should appear. For
52+
the project type, select "Template", "cpp", and then "Romi - Timed Robot".
53+
Next, selected where to store your project. Team number doesn't matter, but
54+
you may type your team number if you want to. Make sure to select "Desktop
55+
Support". Once done, click "Create".</p>
56+
<blockquote>
57+
<i>Note:</i> The project needs to have an empty folder to be created. If
58+
you intend to place your robot project into a Git repo, create it
59+
somewhere else, and then copy it into it.
60+
</blockquote>
61+
</div>
62+
</body>
63+
</html>

ci/romi/setup/index.html

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="description" content="Romi Setup">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Romi Setup - FRC Team 3512</title>
8+
<link rel="stylesheet" type="text/css" href="../../../main.css">
9+
<link rel="shortcut icon" type="image/ico" href="../../../favicon.ico">
10+
</head>
11+
<body>
12+
<header id="navbar">
13+
<ul>
14+
<li>
15+
<a href="../../../">Home</a>
16+
</li>
17+
<li>
18+
<a href="../../../admin/">Admin</a>
19+
</li>
20+
<li>
21+
<a href="../../../bootstrap/">Developer Bootstrap</a>
22+
</li>
23+
<li>
24+
<a href="../../../vpn/">VPN Setup</a>
25+
</li>
26+
<li>
27+
<a href="../../../ci/">Curriculum</a>
28+
</li>
29+
<li>
30+
<a href="../../../fll/">FLL</a>
31+
</li>
32+
<li>
33+
<a href="../../../archives/">Archives</a>
34+
</li>
35+
</ul>
36+
</header>
37+
<div class="body">
38+
<h1>Romi Setup</h1>
39+
<h2 id="Introduction">Introduction</h2>
40+
<p>Romis are small, inexpensive robots where students are able to program
41+
them using the same tools used for regular FRC competition bots. It's
42+
imaged with wpilibpi, meaning that its possible to implement solutions like
43+
vision on to it, making it a great learning tool for newer software
44+
students.</p>
45+
<h2 id="Tutorial">Assembly</h2>
46+
<p>Please refer to <a href=
47+
"https://docs.wpilib.org/en/stable/docs/romi-robot/hardware.html">here</a>
48+
for instructions on how to put together your Romi kit.</p>
49+
<h2 id="Flashing">Flashing</h2>
50+
<p>Please refer to <a href=
51+
"https://docs.wpilib.org/en/stable/docs/romi-robot/imaging-romi.html">here</a>
52+
on how to flash your SD card with wpilibpi and how to connect to the its
53+
web UI.</p>
54+
</div>
55+
</body>
56+
</html>

0 commit comments

Comments
 (0)