-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
MJV11
committed
Dec 20, 2024
1 parent
8deca96
commit f88deb0
Showing
8 changed files
with
719 additions
and
665 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,39 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h1>Additional Materials</h1> | ||
<div class="wrapper"> | ||
<h2 class="title"></h2> | ||
</div> | ||
</body> | ||
</html> | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h1>Additional Materials</h1> | ||
<div class="wrapper"> | ||
<h2 class="title"></h2> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,87 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h1>Project Conclusion</h1> | ||
<div class="wrapper"> | ||
<h2 class="title"></h2> | ||
</div> | ||
</body> | ||
</html> | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h2 class="title">Conclusion</h2> | ||
<div class="wrapper"> | ||
<div class="content"> | ||
<h3>Finished Solution vs Design Criteria</h3> | ||
<p> | ||
We acheived an end result that meets our design criteria on our project proposal. | ||
For sensing, we used computer vision via color thresholding to identify the center of the board, which | ||
laid the foundation for the rest of the programming. We also developed our own haptic sensing, which allowed | ||
us to perform haptic search and identify, without vision, how to get a stable grip on a chess peice, as well | ||
as when to proceed with moving the peice once the gripper had been actuated. We were not able to recognize the | ||
gamestate with computer vision, and so instead relied on recording the gamestate with Stockfish's API. | ||
|
||
For motion planning, we simply performed the gameplay, including capturing, castling, promoting, etc. | ||
|
||
For actuation, we relied on the packages built into the lab's robot to perform movement control, | ||
as well as our own circuitry to actuate the negative and positive pressure of the vacuum suction cup. | ||
</p> | ||
</div> | ||
|
||
<div class="content"> | ||
<h3>Challenges Encountered</h3> | ||
<p> | ||
By far the most difficult challenge was properly executing haptic search. Chamber 3 on our suction cup misread | ||
positive pressure by about 10% more than the others, which, given that haptic search relies on using the pressure | ||
readings to create a direction vector toward the chambers that have not grabbed onto an object, skewed the direction | ||
the next search location was in and effectively broke haptic search entirely. To cope, we isolated the datapoint and | ||
scaled it down, and if this didn't work, we really just prayed that chamber 3 was one of the initial chambers that found | ||
something to grab. | ||
</p><p> | ||
Another difficult challenge we had to tackle was our circuit construction. As a prototype, it was done on a breadboard, which | ||
resulted in the occassional loose wire. This then broke the positive pressure actuation, and was quite tricky to debug. To fix | ||
it, we eventually just had someone push it in every five minutes while playing a game of chess. | ||
</p><p> | ||
Lastly, it was extremely difficult to cope with the safety parameters of the lab bot. Movements outside a specific imaginary box | ||
or at a specific speed would cause the robot arm to automatically shut down. This would interrupt any process we were executing, | ||
and became a significant delay strain on the iterative design process we were executing. | ||
</p> | ||
</div> | ||
|
||
<div class="content"> | ||
<h3>Hacks and Improvements</h3> | ||
<p> | ||
As aforementioned, would we be able to ensure better hardware, the immediate improvements we would make would be | ||
having a real circuit that does not involve loose wires and a vacuum that reads its pressure properly. That would enable | ||
our group to avoid our hacks of "pray the 3rd chamber actuates first" and "pray the wires don't come loose". Other improvements | ||
we would like to make are mostly aesthetic: black and white peices instead of blue and black, a chess board that is checkered instead | ||
of a grid of squares. It would also be nice to get better timing on all the sequential steps of a the robot moving a peice so | ||
games can be played at a faster rate. | ||
</div> | ||
|
||
|
||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,74 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h2 class="title">Project Design</h2> | ||
<div class="wrapper"> | ||
<div class="content"> | ||
<h3>Design criteria and Desired Functionality:</h3> | ||
|
||
<ul> | ||
<li> | ||
The robot arm can pick up and place down a piece correctly as we | ||
desired. | ||
</li> | ||
<li> | ||
The robot arm need to have the ability to perform its own move base | ||
on the current game situation so it can play with humans. | ||
</li> | ||
<li> | ||
Perform haptic search so it can pick up the chess pieces accurately | ||
even if we only have the rough idea of where the piece will be. | ||
</li> | ||
<li> | ||
The robot arm need to detect and deal with the edge cases in chess | ||
such as upgrading and castling. | ||
</li> | ||
<li> | ||
The robot arm can recognize the current game using machine learing | ||
and computer vision so we don't need to record the game stats. | ||
</li> | ||
</ul> | ||
|
||
<h3>Design Choices and Details:</h3> | ||
<p> | ||
Although the game we want the robot arm to perfrom is just a normal | ||
chess game, since we want to emphasize the idea of smart suction cup. | ||
We 3D print our own chess pieces so that it is thin and flat that will | ||
be hard for a normal grippers to pick up. We also make our own chess | ||
board by cutting a wooden board that each square of the chess will be | ||
3 inch by 3 inch. | ||
</p> | ||
</div> | ||
</div> | ||
</body> | ||
</html> | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<link rel="stylesheet" type="text/css" href="styles.css" /> | ||
<link | ||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" | ||
rel="stylesheet" | ||
/> | ||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||
<script | ||
id="MathJax-script" | ||
async | ||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||
></script> | ||
<title>EECS106 A Final Project</title> | ||
</head> | ||
|
||
<body class="pageContents"> | ||
<nav class="top-bar"> | ||
<a href="index.html" class="nav-item">Introduction</a> | ||
<a href="design.html" class="nav-item">Design</a> | ||
<a href="implementation.html" class="nav-item">Implementation</a> | ||
<a href="results.html" class="nav-item">Results</a> | ||
<a href="conclusion.html" class="nav-item">Conclusion</a> | ||
<a href="team.html" class="nav-item">Team</a> | ||
<a href="additional.html" class="nav-item">Additional Materials</a> | ||
</nav> | ||
<div class="background"> | ||
<h1 class="backgroundImageTitle"> | ||
EECS 106A Final Project - Grippy Kasparov | ||
</h1> | ||
<p class="backgroundImageText">EECS106A Fall 2024 Team 23</p> | ||
</div> | ||
<h2 class="title">Project Design</h2> | ||
<div class="wrapper"> | ||
<div class="content"> | ||
<h3>Design criteria and Desired Functionality:</h3> | ||
|
||
<ul> | ||
<li> | ||
The robot arm can pick up and place down a piece correctly as we | ||
desired. | ||
</li> | ||
<li> | ||
The robot arm need to have the ability to perform its own move base | ||
on the current game situation so it can play with humans. | ||
</li> | ||
<li> | ||
Perform haptic search so it can pick up the chess pieces accurately | ||
even if we only have the rough idea of where the piece will be. | ||
</li> | ||
<li> | ||
The robot arm need to detect and deal with the edge cases in chess | ||
such as upgrading and castling. | ||
</li> | ||
<li> | ||
The robot arm can recognize the current game using machine learing | ||
and computer vision so we don't need to record the game stats. | ||
</li> | ||
</ul> | ||
|
||
<h3>Design Choices and Details:</h3> | ||
<p> | ||
Although the game we want the robot arm to perfrom is just a normal | ||
chess game, since we want to emphasize the idea of smart suction cup. | ||
We 3D printed our own chess pieces so that it is thin and flat that will | ||
be hard for a normal grippers to pick up. We also make our own chess | ||
board by cutting a wooden board that each square of the chess will be | ||
3 inch by 3 inch. | ||
</p> | ||
</div> | ||
</div> | ||
</body> | ||
</html> |
Oops, something went wrong.