marvin:ecp1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
marvin:ecp1 [2009/01/29 00:49] – rieper | marvin:ecp1 [2009/01/29 10:17] – rieper | ||
---|---|---|---|
Line 17: | Line 17: | ||
* Find or create a class for the gyroscope communication. | * Find or create a class for the gyroscope communication. | ||
- | =====Analysis===== | + | =====Theory===== |
Line 42: | Line 42: | ||
The correct placement of the gyroscope can be seen in the [[#Building the robot|building instructions]] | The correct placement of the gyroscope can be seen in the [[#Building the robot|building instructions]] | ||
- | =====Building the robot===== | + | ====Building the robot==== |
- | ====Preliminary considerations==== | + | ===Preliminary considerations=== |
Our primary goal is to make a balancing robot, and therefore it would be nice to eliminate the possibility of failure due to a bad build. This is the reason why we chose to re-use the instructions provided as seen in the building manual(([[http:// | Our primary goal is to make a balancing robot, and therefore it would be nice to eliminate the possibility of failure due to a bad build. This is the reason why we chose to re-use the instructions provided as seen in the building manual(([[http:// | ||
- | ====The Build==== | + | ===The Build=== |
The build is pretty straight forward, as the building instructions is well written and also accompanied by photos. One thing to note though, is that the robot is fairly symmetric, so building instructions is only provided for one side of the robot and it is up to the builder to mirror the other side. This is however no problem because of the good photos.\\ | The build is pretty straight forward, as the building instructions is well written and also accompanied by photos. One thing to note though, is that the robot is fairly symmetric, so building instructions is only provided for one side of the robot and it is up to the builder to mirror the other side. This is however no problem because of the good photos.\\ | ||
The finished robot can be seen in the picture below. | The finished robot can be seen in the picture below. | ||
Line 84: | Line 84: | ||
=====Implementation===== | =====Implementation===== | ||
+ | |||
====Numerical Readings from the Gyroscope==== | ====Numerical Readings from the Gyroscope==== | ||
A gyroscope measures degrees per second or simply angle velocity and therefore we must use numerical integration in order to get the angle. A gyroscope has a bias which is simply an offset and naturally we want to eliminate this offset by calibration methods at the beginning of the program. If we do not calibrate, the integration, | A gyroscope measures degrees per second or simply angle velocity and therefore we must use numerical integration in order to get the angle. A gyroscope has a bias which is simply an offset and naturally we want to eliminate this offset by calibration methods at the beginning of the program. If we do not calibrate, the integration, | ||
Line 94: | Line 95: | ||
{{: | {{: | ||
- | There are many types of algorithms for numerical integrations that are far more advanced and all of them or based on some kind of interpolation technique, but for now we will rely on the simplest form which is the running sum. As an alternative we will implement another solution known as the trapezoidal integration that utilizes a first order polynomial to interpolate between sampled values, hence forming a trapezoidal between every two samples. An illustration of this and further discussion on the topic may be found on wikipidea(([[http:// | + | There are many types of algorithms for numerical integrations that are far more advanced and all of them or based on some kind of interpolation technique, but for now we will rely on the simplest form which is the running sum. |
- | + | ||
- | FIXME: trapezoidal integration ??? HEHEHE | + | |
====Programming==== | ====Programming==== | ||
Line 155: | Line 154: | ||
</ | </ | ||
The full source code for this class can be found in the file '' | The full source code for this class can be found in the file '' | ||
+ |
marvin/ecp1.txt · Last modified: 2009/01/29 11:03 by rieper