This commit is contained in:
2018-05-17 21:47:17 -07:00
30 changed files with 288354 additions and 6 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
\section{Goals}
The summary of goals for the the Mars Rover Ground Station project are as follows:
\begin{itemize}
\item Create a stable, dual-monitor, full-screen GUI that runs on an Ubuntu 16.04 computer.
\item In the GUI, display video streams, Rover arm joint positions, and status information from the Rover.
\item Also in the GUI, provide a user-interactable map that includes the ability to plot and edit multiple kinds of way-points.
\item Provide control elements to enable the Rover's autonomous mode for the appropriate event during the URC competition.
\item Via various user input devices, allow the user to remotely drive and control the arm on the Rover.
\item Maintain software stability even when radio systems are dropping packets or completely disconnecting and reconnecting.
\item Keep the GUI intuitive enough that the user can focus on performing competition tasks rather than fighting the ground station software.
\item Provide enough documentation so that future Rover years may more easily build off of the code foundation.
\end{itemize}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,31 @@
# This config is copied from overleaf so output there will match compiled output here
# support for the glossaries package:
add_cus_dep('glo', 'gls', 0, 'makeglossaries');
add_cus_dep('acn', 'acr', 0, 'makeglossaries');
sub makeglossaries {
system("makeglossaries \"$_[0]\"");
}
# support for the nomencl package:
add_cus_dep('nlo', 'nls', 0, 'makenlo2nls');
sub makenlo2nls {
system("makeindex -s nomencl.ist -o \"$_[0].nls\" \"$_[0].nlo\"");
}
# from the documentation for V. 2.03 of asymptote:
sub asy {return system("asy \"$_[0]\"");}
add_cus_dep("asy","eps",0,"asy");
add_cus_dep("asy","pdf",0,"asy");
add_cus_dep("asy","tex",0,"asy");
# metapost rule from http://tex.stackexchange.com/questions/37134
add_cus_dep('mp', '1', 0, 'mpost');
sub mpost {
my $file = $_[0];
my ($name, $path) = fileparse($file);
pushd($path);
my $return = system "mpost $name";
popd();
return $return;
}

View File

@@ -0,0 +1,18 @@
# Makefile created by Corwin Perren
# Generic makefile for all LaTeX projects downloaded from overleaf
#
# All this makefile does is call perl against latexmkrc, which is
# the latex equivalent of make
LATEXMK_COMPILE_FLAGS = -pdf
LATEXMK_CLEAN_FLAGS = -c
.DEFAULT_GOAL := all
all: latexmk_output clean
latexmk_output:
perl latexmk.pl $(LATEXMK_COMPILE_FLAGS)
clean:
perl latexmk.pl $(LATEXMK_CLEAN_FLAGS)

View File

@@ -0,0 +1,3 @@
\section{Problems / Solutions}
\subsection{Mars Rover Team Development Progress}
As the Mars Rover project is a very large multi-disciplinary project run by undergraduate volunteers, the team has historically had problems with being behind schedule, and this year is no different. The team lost their electrical lead fall term and has been catching up since the team lead, Nick McComb, took over this position. This, plus normal delays in development have meant that many of the core systems that the capstone team needs to test against are not present, not ready to interact with in their current state, or in a few cases still in a research state. Corwin has attempted to alleviate some of this by helping assemble hardware for the electrical team and prioritizing some ground station development time for the Rover systems themselves. In addendum, some time was put into working with the Arm team in trying to fix their software issues, in addition to part delays.

View File

@@ -0,0 +1,27 @@
\subsection{Chris Pham}
\subsubsection{Week 1}
During the start of the term, I personally did not work on much because of issues with registration
However, we did work out when we are expecting to work and meet up this term, which would be on Thursdays around 10 o'clock in the morning.
\subsubsection{Week 2}
This week, I worked on completing the integration of the GUI.
It turned out last term, that the East/West portion of the DMS conversion was not being set correctly.
I spent a bit of time trying to get the correct float value to go down but then my minutes was completely off to the calculated DMS of the GPS location.
Turns out that the box that contained the DMS location, would be limited to 0, 90, which actually needs to be 180 because it needs to span a half circle.
Once that value was changed, the values were being set correctly.
\subsubsection{Week 3}
Turns out that I forgot to set the sign of the longitude and latitude to their corresponding North/South and East/West values.
That was easily done using with many possible implementations like equalities, sign function in python, and other things like that.
\subsubsection{Week 4}
This week we worked on fixing our poster and fixing our documentation to fit the new specification that the new competition is now the CIRC (Canadian International Rover Challenge) instead of URC.
\subsubsection{Week 5}
During Week 5, I worked on two important things, multi-threading the downloading of the image files from Google and integration of inputs into my mapping system.
\noindent Multi-threading was done using and starting a list of processes that have access to a download function in the class.
I could not of done a pool because of the issues I was getting like the pickling issues in Python in trying to pack the state.
Another issue that came with this implementation, was the rate limitations that the server was sending.
To combat both issues, I implemented a bounded semaphore instead a normal semaphore, because a bounded version of it will return an error whenever the process tries to obtain a lock.
One big issue is still combining the files because that is still done in square time.
One optimization should be splitting work into its smallest parts and then combining them, however, trying to merge all the files correctly ended up being the biggest issue I had.
\noindent Also have started on integrating the GPS data that we are getting and applying that onto the map system that I've created.
One problem is I forget how the data is formatted in the system and I need direct access to view the data that is being sent by the rover to parse correctly.

View File

@@ -0,0 +1,24 @@
\subsection{Github Commits}
\begin{center}
\begin{tabular}{l l l l} \textbf{Detail} & \textbf{Author} & \textbf{Date} &\textbf{Description}\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/7f826271356542813ed582df922494ed1595ed87}{7f82627} & Chris Pham & 2018-04-12 11:10:36 -0700 &Implementing DMS for Latitude\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/368401176b22f21268aa00b85bc7afa9b1003331}{3684011} & Corwin Perren & 2018-04-12 11:15:24 -0700 &Added error handling for missing radio. More spacenav...\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/443cc5dd837567b0335bea229a4b5a567d3e83e7}{443cc5d} & Chris Pham & 2018-04-12 11:22:17 -0700 &DMS convert to var and int/float issues\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/d4dd59937809087ae7c64bc3362b069188989fcd}{d4dd599} & Chris Pham & 2018-04-12 11:24:01 -0700 &cast lat\_min to float\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/30f518c34ffc146cc0082baeec1843f22c15095b}{30f518c} & Chris Pham & 2018-04-12 11:26:42 -0700 &DMS for longitude added\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/1507c11f47d642aae6fc2490f2e9bb3098a19501}{1507c11} & Chris Pham & 2018-04-12 11:28:58 -0700 &Correct mispelling on longitude\_second\_label\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/af7b48f19a5b8e6ea94ddbe9cf944453d160f7af}{af7b48f} & Chris Pham & 2018-04-12 12:08:06 -0700 &Fixed DMS issues, needed to fix int cast\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/cf95a46c7dd4fce46380bb2942564b245b727d3a}{cf95a46} & Corwin Perren & 2018-04-12 12:08:13 -0700 &Spacenav mouse now broadcasts states for use with gui.\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/e8ddedcf42e3a503bfff4d978d49cea8a7119663}{e8ddedc} & Chris Pham & 2018-04-12 12:21:13 -0700 &Set DMS cardinality\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/d9e5b403d7247922864e81703aad900eab72918a}{d9e5b40} & Chris Pham & 2018-04-12 12:22:25 -0700 &Swap East/West for DMS\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/324b9b89874d7253c565fc5ff8a750d2023d4f0b}{324b9b8} & Ken Steinfeldt & 2018-04-12 12:39:52 -0700 &timer right-left click\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/307b978fb9fb349f1ee983808c24aaaec060375e}{307b978} & Ken Steinfeldt & 2018-04-12 13:04:08 -0700 &Merge pull request 16 from captntuttle/master\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/4daf40a229b1da9380a242414cc08573f6a44ca4}{4daf40a} & Chris Pham & 2018-04-14 14:08:54 -0700 &Changed UI file to allow 180 from 90 and abs numbers\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/a15500b4c586db82800a5fba1a2078716b3cc954}{a15500b} & Corwin Perren & 2018-04-14 17:51:05 -0700 &Added Iris status for voltage on Rover. Nav testing launch...\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/7b7efbe37a588da269b8ca870ed949a518feade4}{7b7efbe} & Corwin Perren & 2018-04-21 16:03:30 -0700 &Added senders/receivers for Matthews new GPS statuses.\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/72994f9c9c61fe490c17f003dbc40a750f0ef988}{72994f9} & Corwin Perren & 2018-04-21 17:01:27 -0700 &Added battery status monitoring. Also made wheel status...\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/acbe86bd07c84bf9b7b31d980f5d337769a70ccc}{acbe86b} & Corwin Perren & 2018-04-21 18:44:56 -0700 &Added new rover package rover\_arm. Updated rover\_setup...\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/a2ad3c2c9a43aeba8a0419087997820dc692e003}{a2ad3c2} & Corwin Perren & 2018-04-21 19:45:37 -0700 &Got simple package compiling with both ros and...\\\hline
\href{https://github.com/OSURoboticsClub/Rover_2017_2018/commit/1d9797f00b7366ae4998919edc9d4d3564f30de4}{1d9797f} & Corwin Perren & 2018-04-26 14:03:27 -0700 &Updated requirements document to version 1.1\\\hline
\end{tabular}
\end{center}

View File

@@ -0,0 +1,17 @@
\subsection{Corwin Perren}
\subsubsection{Week 1}
The first week I spent catching up with Chris and Ken after the break to see where we were at for the term. Part of this was talking about the Mars Rover team changing to the Canadian International Rover Challenge over URC. The requirements for the competitions are near identical, and in fact removed some requirements over what URC desires. We made plans to update the design requirements document and poster to reflect these changes.
\subsubsection{Week 2}
During work on Thursday, I got SpaceNav mouse integration working and ready for Chris to integrate with mapping. As the Rover's arm was not yet ready, integration for arm control was not yet possible. This week I also registered our team for EXPO and dealt with getting signed release forms from Chris and Ken to send in. Per the previous week revelation that the team would be changing competitions, we worked through the new requirements to find out which exact ones needed to be modified in our design requirements document and then made an up to date list of all remaining work to be done.
\subsubsection{Week 3}
Week three I went back to working on some code for the Rover itself as the core of the ground station was done minus features that had missing Rover components. I mainly worked on modifying the Rover node that interfaced with the Rover's IRIS controller to get feedback about the Rover's battery voltage. I then updated the system\_statuses node to send this information to the ground station. I also helped a Rover team member do the same for GPS statuses. At the end of this week, I also made a new ROS package called rover\_arm to begin interfacing with the IONI motor drivers that the arm uses for control. I got a simple package compiling with the Simplemotion library and ROS packages and got an arm motor moving using the node.
\subsubsection{Week 4}
This week I mainly took care of class and administrative work. Our team worked to make changes to the poster to reflect the challenge change as well as some minor wording and alignment changes. Additionally, we made changes to the design requirements document, signed off on the changes ourselves, had the stakeholder sign it, and sent it to the TA, professors, and stakeholder.
\subsubsection{Week 5}
This was my busy midterms week, so no project work was done. I did work on this midterm progress report and presentation though.

View File

@@ -0,0 +1,36 @@
\subsection{Ken Steinfeldt}
\subsubsection{Week 1}
The first week of the term.
This is the week after spring break so the team meets to go over the status of the project and any of the changes that occured during the last two weeks.
The rover team is no longer going to compete in the University Mars Rover Challenge, but instead will now compete in the Canadian International Rover Challenge.
Because of the change in competition some minor changes in requirements are needed, and these are discussed.
The general status of the project is also discussed, as well as new meeting times for the coming term.
\subsubsection{Week 2}
In week 2 Corwin wrangles the group into dealing with the required EXPO bureaucracy.
This includes registering the group itself for expo and signing release forms.
We also discuss changes required by the change in competition.
These changes, as well as some general design changes made by the rover team, require some slight changes to the status readout on the GUI.
Adding these statuses to the StatusCore module isn't too bad but the status signals are not yet all built on the Rover side.
\subsubsection{Week 3}
Though Rover does not yet broadcast all of the necessary status updates, I start preparing for them.
This includes deprecating some old statuses that will no longer be used (the bogies, for example) and stubbing out new subscribers, etc.
Later this week Rover team adds new statuses to the rover.
These new statuses will allow me to wrap up StatusCore in the future.
\subsubsection{Week 4}
Week four I continue to build the foundation for the new statuses.
This week our final poster is finalized and submitted after being approved.
At this point all except the software is ready for Expo.
The group also discussed and finalized necessary changes to the project requirements and had them signed off on by every team member as well as our client.
\subsubsection{Week 5}
During week five I am absolutely swamped with midterm exams and projects so I am not able to get much done on the ground station.
I do meet with the team on Thursday, but I am unable to accomplish much.
This week also required that we write this midterm report as well as record the midterm report presentation.

View File

@@ -0,0 +1,7 @@
\section{Progress}
\input{progress/progress_summary}
\input{progress/chris}
\input{progress/ken}
\input{progress/corwin}
\include{progress/commits}
\input{progress/progress_remaining}

View File

@@ -0,0 +1,7 @@
\subsection{Remaining Work}
\begin{itemize}
\item Finish integrating waypoints
\item Integrate the last few system statuses
\item Arm Visualizer (if Rover arm ready)
\item Write one page reference document for future teams
\end{itemize}

View File

@@ -0,0 +1,33 @@
\subsection{Current Progress}
\subsubsection{General}
\begin{itemize}
\item Program layout and launcher file refactored for clean organization, easy integration
\item Program will not launch and shows error if Rover not connected
\item UI files have placeholders for all GUI elements from design document
\end{itemize}
\subsubsection{Mapping}
\begin{itemize}
\item Can display a map on the main system
\item Need a GUI element to change the location
\item Embedded way-points work, but cannot remove them
\item Centering Works, need to build a toggle button
\end{itemize}
\subsubsection{System Statuses}
\begin{itemize}
\item Basic StatusCore module that subscribes to existing ROS publishers
\item Basic GUI visuals stubbed out
\item GUI stopwatch module
\item Helped Rover team add some more statuses from on the Rover
\end{itemize}
\subsubsection{Video Systems}
\begin{itemize}
\item Can view one or more video streams, that dynamically change depending on how many are broadcasting
\item GUI elements can change what stream is being viewed with a left click
\item GUI elements can disable a stream with a right click
\item Resolution can be adjusted, though it is being done manually for now
\item Stream quality adjustment is ready for FPS data to do automatic adjustment
\item Video streams stop network traffic when not being viewed
\end{itemize}

View File

@@ -0,0 +1,149 @@
\documentclass[onecolumn, draftclsnofoot, 10pt, compsoc]{IEEEtran}
\usepackage{graphicx}
\graphicspath{{./figures/}}
\usepackage{url}
\usepackage{setspace}
\usepackage{multicol}
\usepackage{pdflscape}
\usepackage{pdfpages}
\usepackage[british]{babel}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{subfig}
\usepackage{geometry}
\geometry{textheight=9.5in, textwidth=7in}
% \overfullrule=2in
% 1. Fill in these details
\def \CapstoneTeamName{ Ground Station Software Team}
\def \CapstoneTeamNumber{ 30}
\def \GroupMemberOne{ Kenneth Steinfeldt}
\def \GroupMemberTwo{ Christopher Pham}
\def \GroupMemberThree{ Corwin Perren}
\def \CapstoneProjectName{ OSU Robotics Club\\Mars Rover Ground Station}
\def \CapstoneSponsorCompany{ OSU Robotics Club}
\def \CapstoneSponsorPerson{ Nick McComb}
%Personal \newcommands
\newcommand{\functRequ}[4]{
\item #1%
\par
\begin{itemize}
\item \textit{Description:} #2.%
\item \textit{Rationale:} #3.%
\item \textit{Dependencies:} #4%
\end{itemize}
}
\definecolor{backcolor}{rgb}{0.95,0.95,0.92}
\lstset{basicstyle=\ttfamily,
backgroundcolor=\color{backcolor},
showstringspaces=false,
commentstyle=\color{red},
keywordstyle=\color{blue},
columns=fullflexible,
breaklines=true,
postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space},
}
% 2. Uncomment the appropriate line below so that the document type works
\def \DocType{ %Problem Statement
%Requirements Document
%Technology Review
%Design Document
Progress Report
}
\newcommand{\NameSigPair}[1]{
\par
\makebox[2.75in][r]{#1}
\hfill
\makebox[3.25in]{
\makebox[2.25in]{\hrulefill}
\hfill
\makebox[.75in]{\hrulefill}
}
\par\vspace{-12pt}
\textit{
\tiny\noindent
\makebox[2.75in]{}
\hfill
\makebox[3.25in]{
\makebox[2.25in][r]{Signature}
\hfill
\makebox[.75in][r]{Date}
}
}
}
% 3. If the document is not to be signed, uncomment the command below
\renewcommand{\NameSigPair}[1]{#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{titlepage}
\pagenumbering{gobble}
\begin{singlespace}
% 4. If you have a logo, use this includegraphics command to put it on the coversheet.
\begin{minipage}{7in}
\centering
\hspace*{-.7in}
$\vcenter{\hbox{\includegraphics[height=4cm]{Oregon_State_College_of_Engineering_Logo}}}$
\hspace*{.2in}
$\vcenter{\hbox{\includegraphics[height=2.5cm]{OSURCLogoOrange}}}$
\end{minipage}
\par\vspace{.35in}
\centering
\scshape{
\huge CS Capstone \DocType \par
{\large\today}\par
\vspace{.5in}
\textbf{\Huge\CapstoneProjectName}\par
\vfill
{\large Prepared for}\par
\Huge \CapstoneSponsorCompany\par
\vspace{5pt}
{\Large\NameSigPair{\CapstoneSponsorPerson}\par}
{\large Prepared by }\par
Group\CapstoneTeamNumber\par
% 5. comment out the line below this one if you do not wish to name your team
\CapstoneTeamName\par
\vspace{5pt}
{\Large
\NameSigPair{\GroupMemberOne}\par
\NameSigPair{\GroupMemberTwo}\par
\NameSigPair{\GroupMemberThree}\par
}
\vspace{20pt}
\begin{abstract}
% 6. Fill in your abstract
This document contains the summary of the purpose and goals of the ground station software, the progress our team has made during the first half of Spring term, as well as problems and solutions to those problems we've encountered so far. Additionally, it contains snippets of useful code and images of our progress so far. Overall, this document provides a good overview of everything our team has accomplished up to this point in Spring term.
\end{abstract}
}
\end{singlespace}
\end{titlepage}
\newpage
\pagenumbering{arabic}
\tableofcontents
\clearpage
% Write stuff here....
\input{purpose/purpose}
\input{goals/goals}
\input{progress/progress}
\input{problems_solutions/problems_solutions}
\end{document}

View File

@@ -0,0 +1,6 @@
\section{Purpose}
The purpose of this project is to create ground station control software that will interface with the OSU Robotics Club's Mars Rover.
This software will take in controls via user input devices such as joysticks, a SpaceNav mouse, as well as traditional keyboard and mouse in order to send remote control commands.
These commands will allow a user to drive the Rover and control the Rover arm.
Additionally, this software will allow for viewing of video streams and status information being sent back to the ground station from the Rover.
The point of writing this software is to complete the package that is the Mars Rover competition robot so that it may compete in the University Rover Challenge taking place in June of 2018.

View File

@@ -115,7 +115,7 @@ You should now have all the files from the picture above in your staging folder.
#### Verifying you've done this correctly
Upload your design to [OshPark.com](https://oshpark.com/) and make sure that they render it correctly. This is a great first pass indicator to make sure you've done this process correctly. PCBWAY will also check your boards, but this prevents some dumb mistakes in assemling your .zip file.
Upload your design to [OSHPark.com](https://oshpark.com/) and make sure that they render it correctly. This is a great first pass indicator to make sure you've done this process correctly. PCBWAY will also check your boards, but this prevents some dumb mistakes in assemling your .zip file.
#### Ordering your boards

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
# Grasp Node
Pictures here.
![Grasp Node](https://github.com/OSURoboticsClub/Rover_2017_2018/blob/master/electrical/documents/nodes/files/grasp.JPG)
Designed by [Dylan Thrush](www.dylanthrush.com).
@@ -66,3 +66,6 @@ Controls 4 DC motors with quadrature encoder and current feedback. Has four anal
- Motor controller needs a thermal pad in the footprint, will not work otherwise because thermal pad is connected to GND. Scrape away silkscreen below package before soldering.
- Motors 2-4 are still not working...
- LED needs to be rotated 90 deg CCW for power pin to line up.
#### Version 2
- LSS for motor needs to be a star ground return to motor pad, short LSS to GND for normal operation

View File

@@ -21,6 +21,8 @@ The name "Iris" comes from the greek messenger god, [Iris](http://www.theoi.com/
### Bill of Materials
[Bill of Materials V2](https://docs.google.com/spreadsheets/d/1Z_BUTqAl6qHLze04HCUyY8IqsqWJTmvCWzt6RRplw2Y/edit?usp=sharing)
[Bill of Materials V1](
https://docs.google.com/spreadsheets/d/1TkVeK_GaS78QLqv8NcE_QGGE-NSj-3agn10lKnISSjQ/edit?usp=sharing
)
@@ -31,6 +33,8 @@ https://docs.google.com/spreadsheets/d/1TkVeK_GaS78QLqv8NcE_QGGE-NSj-3agn10lKnIS
### Downloads
[Schematic V2](files/iris-v2-schematic.pdf)
[Schematic V1](files/iris-v1-schematic.pdf)
[3D Model V1 (STEP)](files/iris.step)
@@ -44,4 +48,6 @@ https://docs.google.com/spreadsheets/d/1TkVeK_GaS78QLqv8NcE_QGGE-NSj-3agn10lKnIS
- For R46 vs R47 selection, only R47 is needed.
- No invert needed for S.BUS connection (bridge pins)
- No serial number spot on silkscreen
- No MODBUS ID number spot on silkscreen
- Likely that this should use a high-speed USB hub instead of the current full-speed implementation. It is easy, without deliberate planning, to hit the bottleneck of the USB hub.
- Remove GND connection for RS485 going out of the board (to ensure reverse protection downstream)

View File

@@ -2,7 +2,7 @@
<!-- ![Iris](files/iris.jpg) -->
![Iris Render](files/motor_render.png)
![Iris Render](files/motor.jpg)
Designed by [Nick McComb](www.nickmccomb.net) for OSURC Mars Rover.
@@ -20,6 +20,8 @@ This design is completely open-source, the design files can be found at CircuitM
### Bill of Materials
[Bill of Materials V2](https://docs.google.com/spreadsheets/d/1zQtJtcauIfV7cGKvJbZdHLx3p09I3BvlQvNzqRRZR7c/edit?usp=sharing)
[Bill of Materials V1](
https://docs.google.com/spreadsheets/d/1CobSEg-5mzBy_F1_ASbbnYLLLra0shLwDUG4rKD09mE/edit?usp=sharing
)
@@ -30,6 +32,8 @@ https://docs.google.com/spreadsheets/d/1CobSEg-5mzBy_F1_ASbbnYLLLra0shLwDUG4rKD0
### Downloads
[Schematic V2](files/motor-v2-schematic.pdf)
[Schematic V1](files/motor-v1-schematic.pdf)
[3D Model V1 (STEP)](files/motor.step)

View File

@@ -1,4 +1,4 @@
## Hardware Node Documentation
## Hardware Nodes Documentation
This page describes the hardware nodes that are present for the 1718 Mars Rover project.
@@ -6,7 +6,7 @@ The project contains the following nodes:
- [IRIS](#iris-node)
- [Motor](#motor-node)
- Tower
- [Tower](#tower-node)
- Pan-Tilt
- Grasping
- Science
@@ -22,8 +22,16 @@ This node serves as the computer's main interface with the hardware in the rest
### Motor node
<img src="files/motor_render.png" width="300">
<img src="files/motor.jpg" width="300">
This node controls the motors that turn Rover's wheels.
[Find more documentation here.](motor.md)
### Tower node
<img src="files/tower.jpg" width="300">
This node is placed outside of the main electronics box on the chassis and collects data from various sensors.
[Find more documentation here.](tower.md)

View File

@@ -0,0 +1,36 @@
# Motor Node
<!-- ![Iris](files/iris.jpg) -->
![Iris Render](files/tower.jpg)
Designed by Aaron Cohen and Nick McComb for OSURC Mars Rover.
## Summary
Made for MR1718 as part of the OSU Robotics Club.
This acts as one of the primary external sensor interfaces for the Rover.
### Bill of Materials
[Bill of Materials V1](
https://docs.google.com/spreadsheets/d/1oX7HrmjTKpYs4jfeYDzYt9uXc7Juk1raBXVIk1hgw0U/edit?usp=sharing
)
#### Design files
[MR1718 Tower Node on CircuitMaker](https://workspace.circuitmaker.com/Projects/Details/Nick-McComb/MR-1718-Tower-Node)
### Downloads
[Schematic V1](files/tower-v1-schematic.pdf)
[3D Model V1 (STEP)](files/tower.step)
### Known Issues
#### Version 1
- Missing 3v3 rail connection to VBAT on Teensy. Will program without it, but will not boot without it.