-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsoftware.html
More file actions
170 lines (170 loc) · 11 KB
/
Copy pathsoftware.html
File metadata and controls
170 lines (170 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<!doctype html>
<html>
<head>
<link href="styles.css" rel="stylesheet">
<meta charset="utf-8">
<title>Software</title>
</head>
<body>
<div id="spacer">
</div>
<header id="header">
<section class = "headerContainer">
<h2 class="headerName">Jeremy<br>       Murray</h2>
<h3 class="headerContact">Contact me at: <br> <a href="mailto: jermurray2@gmail.com" id="emailLink">jermurray2@gmail.com</a></h3>
</section>
<nav class="navContainer">
<ul class="navColumn" onclick="window.location.href = 'Index.html';">
<a class = "navButton">Home</a>
</ul>
<ul class="navColumn parent">
<a class = "navButton" onclick="window.location.href = 'FTCRobotics.html';">Robotics ▼</a>
<a>
<ul>
<a class = "navButton subButton" onclick="window.location.href = 'software.html';">Software</a>
<a class = "navButton subButton" onclick="window.location.href = 'CADMachine.html';">CAD and Machinery</a>
<a class = "navButton subButton bottom" onclick="window.location.href = 'competitions.html';">Competitions</a>
</ul>
</a>
</ul>
<ul class="navColumn parent">
<a class = "navButton" onclick="window.location.href = 'TAMU.html';">Texas A&M Univesity ▼</a>
<a>
<ul>
<a class = "navButton subButton bottom" onclick="window.location.href = 'Cyber.html';">Cybersecurity</a>
</ul>
</a>
</ul>
<ul class="navColumn" onclick="window.location.href = 'Personal.html';">
<a class = "navButton">Projects</a>
</ul>
<ul class="navColumn">
<a class = "navButton" href="Murray_Resume.pdf" download>Resume</a>
</ul>
<ul class="navColumn" onclick="window.location.href = 'DevBlog.html';">
<a class = "navButton">DevBlog</a>
</ul>
</nav>
</header>
<section id="aboutContainer">
<img src="Imgs/Software.jpg" id="selfPic">
<div id="aboutText">
<h4 id="aboutTitle">Software</h4>
<p><br>My experience on the software team, and eventually lead programmer at 14020 has been some of the most challenging programming work I've had. Using Java and an SDK provided by FIRST Tech Challenge. I've programmed
driver controlled and autonomous programs for three separate years of robot competitions. From incorporating open-source plugins to working with machine learning software. Scroll down to see a display
of the major projects I've worked on for the team's software.</p>
</div>
</section>
<section class="quoteContainer">
<h4 class="quoteText">"Talk is cheap, show me the code."</h4>
<h5 class="quoteCite"><i>-Linus Torvalds</i></h5>
<img src="Imgs/Linux.png" class="quoteImg">
</section>
<section class="projectDisplay">
<h2 class="projectHeader">Major Projects</h2>
<div class="projectFlex">
<div class="projectSection">
<h3 class="projectTitle">Tensorflow Object Detection</h3>
<p class="projectText">FTC Teams are granted access to Google's Tensorflow machine learning software, as well as software generated by FTC to help team's use
webcams to detect specific objects on the field. The team has made heavy use of this over the 2018-2021 seasons for autonomous tasks. A major portion of the autonomous routine is processing
and utilizing the data from tensorflow. From getting basic positional data to calculating specific distances and angles on the fly when combined with other data from the webcam.</p>
<img src="Imgs/Tfod.png"class="projectImg">
</div>
<div class="projectSection">
<h3 class="projectTitle">Driver Operated Control</h3>
<p class="projectText">A large portion of the game is operated by driver's. As such, constant communication with the driver's about a desired control scheme and how to
implement it is essential to help the driver's on the field. Over the years I've helped develop several assists for driver control, such as mappoing analog inputs on parabolic or cubic curves, as well
as a field-centric drive for the 2019-2021 season's holonomic drivetrains, which use the onboard gyro to switch the driver's inputs to be relative to the rotation of the field rather than that of the robot.</p>
<img src="Imgs/controller.png"class="projectImg">
</div>
<div class="projectSection">
<h3 class="projectTitle">Autonomous Navigation</h3>
<p class="projectText">Nemsis Prime uses several navigational tools within the Robot's hardware in order to ensure smooth and precise navigation across the field. From using simple
motor encoders and a gyroscope in the 2018-2019 season. To the utilization of dedicated odometry wheels and PID control systems within the software during the 2019-2021 seasons. Autonomous
navigation is key to scoring the crucial first points within a matches autonomous period.</p>
<img src="Imgs/compass.png"class="projectImg">
</div>
<div class="projectSection">
<h3 class="projectTitle">FTC Roadrunner: PID, Motion Profiling, Trajectories</h3>
<p class="projectText">In the 2019-2020 season as well as the following 2020-2021 season, I personally took on the implementation of FTC Roadrunner, a gradle plugin provided by another FTC team that allows
for complex path following. Roadrunner can create profiles for proportional, integral, and derivative control, motion profiles on a singular axis as well as complex paths
for a robot to follow. Implementing this into our code allows us to take full advantage of our holonomic drivetrain during the autonomous period, as well
as minimize error during the autonomous period. Implementation of roadrunner into our autonomous has been a major leap in FTC's autonomous capabilities.</p>
<img src="Imgs/PID2.png"class="projectImg"> <!---FLAG FOR REPLACEMENT*/--->
</div>
</div>
</section>
<section class="projectDisplay" id="tools">
<h2 class="projectHeader">Tools We Use</h2>
<div class="projectFlex">
<div class="projectSection">
<h3 class="projectTitle">GitHub</h3>
<p class="projectText">The team has established a git repository for each year, and for the 2019-2020 season two individual repositories for each robot. Github
helps keep us organized as well as keep track of a "final" version of the code that we can view for competitions. View the team's Github organization
<a href="https://github.com/NemesisPrimeFTC14020">here</a></p>
<img src="Imgs/github.png"class="projectImg">
</div>
<div class="projectSection">
<h3 class="projectTitle">Android Studio</h3>
<p class="projectText"> The team uses Android Studio to develop code in Java. FTC provides teams with a standard SDK of the code used to interact
with the robot's hardware, this only contains examples for how to program and teams must develop and expand from there.</p>
<img src="Imgs/AStudio.png"class="projectImg">
</div>
<div class="projectSection">
<h3 class="projectTitle">FTC Dashboard</h3>
<p class="projectText">FTC Dashboard is a gradle plugin built by another FTC team that allows us to see telemetry data from the robot on a computer. We can then
graph this information or save it for later. This helps greatly with PID tuning and analysis of any issues the robot is having, both physical or within the software.</p>
<img src="Imgs/Graphs.png"class="projectImg">
</div>
</div>
</section>
<section class="mediaGallery">
<h2 class="mediaheader">Media Gallery</h2>
<h4 class="mediasubHeader">Below are Some Video Demonstrations of Autonomous Routines</h4>
<section class="scrollGallery">
<button class="w3-button w3-display-left" onclick="plusDivs(-1)">❮</button>
<video width="400" height ="400" controls class="slides">
<source src="Vids/Auton1.mp4" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<video width="400" height ="400" controls class="slides">
<source src="Vids/Auton2.mp4" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<video width="400" height ="400" controls class="slides">
<source src="Vids/Auton3.MOV" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<video width="400" height ="400" controls class="slides">
<source src="Vids/FAuton.mp4" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<video width="400" height ="400" controls class="slides">
<source src="Vids/Shooter.mp4" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<video width="400" height ="400" controls class="slides">
<source src="Vids/TOp.mp4" type="video/mp4">
This video is an Mp4, please check if your browser supports the video tag
</video>
<button class="w3-button w3-display-right" onclick="plusDivs(+1)">❯</button>
</section>
<section class="captionGallery">
<p class="caption">This 2019-2020 autonomous used the encoders on the motors to estimate the distance it moved in a singular direction, as well as a basic PID control
scheme using the onboard gyro for turning.</p>
<p class="caption">This 2019-2020 autonomous test used FTC roadrunner to create and run a complex path using odometry wheels, and Roadrunners PID, Motion Profiling,
and Pathing capabilities</p>
<p class="caption">This is a test autonomous for 2020-2021. Using the same Roadrunner system, aimed to mimic a path followed during autonomous.</p>
<p class="caption">This is a full display of an in-progress autonomous program for the 2020-2021 robot during a practice match.</p>
<p class="caption">This is a test of the 2020-2021 flywheel shooter, shooting lightweight foam rings as part of the autonomous and driver controlled scoring method. The flywheel is controlled by a simple PID controller.</p>
<p class="caption">This is a test of the driver controls for the 2020-2021 robot.</p>
</section>
</section>
<section class="quoteContainer">
<h4 class="quoteText">"Life is not fair. Get used to it."</h4>
<h5 class="quoteCite">-Bill Gates</h5>
<img src="Imgs/Msoft.png" class="quoteImg">
</section>
<script src="siteJS.js"></script>
</body>
</html>