After having spent countless hours trying to solve this problem, we are now interested in what new ideas people might have towards solving the following problem. Please read through the entire post. I realize that it is rather lengthy, however this is an important problem that could possibly affect other teams.
When we first started the programming, we started with Java as our programming language. While trying to create a simple program, we discovered that while driving, the robot had a tendency to turn towards one side. After spending several hours solving a series of mechanical problems, we still had the same problem. We then began to test the output of the jaguars with our multi-meter. We discovered that one side was outputting approx. 12.5 volts while the other side was outputting approx. 10 volts. Believing that this was an issue with the jaguar firmware, we went to update the jaguar firmware, however have been unable to update the jaguar firmware so far due to the fact that we do not have access to a computer with a serial port outside of our school district (our school district does not allow us access to the necessary computers).
We later made the discovery that there was yet another problem. We decided to test the control circuit of the PWM cables. We discovered that one side was putting 2.27 volts through the control circuit while the other was putting 0.67 through on the other side. This led us to believe that it was not in fact a jaguar problem, but instead a problem with the cRIO or the digital sidecar. After having swapped out a series of different components, we decided to try something different.
Since we still had the electrical board from last year, we decided to run the program on the old electrical board. We made the necessary changes to the board (such as module placement and cRIO imaging) and then downloaded the test program. We discovered that an entire other electrical board had the same problem. After switching out an additional series of parts, we now believed it to be a programming error.
We then proceeded to reduce the program to the simplest program possible. We wrote the following piece of code.
Please see the attached file JavaV1.txt
We then discovered that the program at what seemed to be the simplest level did not work properly.
Discovering that this piece of code did not work properly, we instead decided to try a different programming language. We then proceeded to reformat the cRIO, and prepare a new code sample in Wind River. We discovered that this code had the sample effect as the Java code that we had previously tried.
Please see the attached file windriverV1.txt
Since the Wind River program did not work, we reasoned that the Java and Wind River ran on similar libraries, and were perhaps experiencing the same error. We then decided to try Labview on the robot. We reformatted the robot and deployed the basic template code provided with Labview. However this did not work either, providing the same result as Java and Wind River.
With time quickly shortening, we are in desperate need of some help with this problem. Any and all ideas would be appreciated.
JavaV1.txt (566 Bytes)
windriverV1.txt (1.22 KB)
JavaV1.txt (566 Bytes)
windriverV1.txt (1.22 KB)