-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathplan.txt
140 lines (97 loc) · 5.56 KB
/
plan.txt
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
Programming plan (in priority order)
Programming team members:
- Ari Berkowicz (AppleMaster2000 | [email protected] and [email protected])
- Aidan Galbreath
- Spencer Moore
- Daniel
- James Lim
- Ben Kooper
Reserve team members:
- Michael Leahy (no GitHub yet | [email protected])
- Adrian Osorio (adrianosorio | [email protected] and [email protected])
Programming mentors:
- Uche Akotaobi (uakotaobi | [email protected])
- David Tung (no GitHub yet? | [email protected])
- Santiago Garza ( sfgarza | [email protected] )
STATUS
2017-01-10:
- CANTalon motor controllers work just fine when driven by the new (as
of this year) third-party TalonSRXLibJava. We shouldn't have a
problem continuing to use the Talons this year, or with using them to
drive Mechanum wheels. The drive train this year is easy and only
needs one joystick unless we get fancy.
- To alleviate my own cranial pressure when debugging the drive, Talon
assignments for the wheels were changed to 0, 1, 2, and 3 for the
front left, back left, front right, and back right respectively.
Imagine a backward "N" drawn on top of the robot and you'll have the
right idea.
2017-01-11:
- Compilation error fixed with commit 4cd44d6. The key was putting the
correct relative path in the userLibs variable from build.properties.
That appears to be the only way to edit the classpath used by the
javac compiler (the Eclipse IDE uses a different classpath that is
driven by the GUI.)
2017-02-01:
- Uche has received a request to convert a formula. It has something to
do with blasting people that have green shirts on.
v = some velocity (an input variable.)
t = (-0.866 * v + sqrt((sin(60) * v)^2 - 4*26.362))/-19.6
X_f = cos(60) * v * t + (cos(60) * v * (sin(60) * v - 9.8*t))/9.8
Express v in terms of t and X_f. Use the power of Emacs.
Or Wolfram Alpha, if you can get the beast working.
* Update: v in terms of t according to Emacs:
v = (sqrt(1152.48 t^2 + 0.0185588475782) - 33.9472 t) / 8.7999998e-5
v in terms of X_f and t:
[v = (3e-13 t - sqrt(9e-26 t^2 + 0.176739878323 X_f)) / 0.0883699391617]
2017-02-22:
- Corpus images that PapasVision fails on as of today:
(1) green-peg2.jpg
* Finds false positive peg solution in contour of insignificant
area within the gear. Contours that are too small should be
rejected, but what's "too small"?
(2) 12.png
* Finds a false positive peg solution in one of the small vertical
blue bands at the bottom. Should we be rejecting those based on
size as well? Or perhaps total-width-to-bounding-box-width
ratio. (I remember that not working out so well for us.)
(3) boiler-real-test-data (2017-03-02T18-58-41_1_original).png
* Finds a false positive peg solution in the "nested hole"
contours *within* the boiler bands. We can reject these based
on their aspect ratios -- they are all either squarish or wider
than they are tall. The real peg tapes are 2" x 5".
(4) 1ftH2ftD2Angle0Brightness.jpg
* False positive boiler and peg solutions. Rejecting tiny
contours is only part of the fix, but it's an important part.
TASKS
4. Start work on a formal client using C++ code to do the same as (3).
* Client tasks:
(1) sudo make install should place the program in such a place that the
program will be executed when the NVidia Jetson TK1 reboots. Probably
the easiest way to do this is with the root crontab's "@reboot
/path/to/script" feature.
As for the path to the script, it will be a path in a directory
controlled by an unprivileged user. That way, we'll be able to update
the program and the config file from the driver station and the crontab
will automatically pick up the changes on reboot.
(2) We need to take at least one command-line argument: the path to our
config file. Otherwise, our code would have to guess based on
hard-coded absolute or relative paths, and since we're going to be a
cron job run by root with a current directory of who-knows-where, that
doesn't seem like a good idea.
DOCUMENTATION
The API reference for the whole WPILib:
http://first.wpi.edu/FRC/roborio/release/docs/java/
WPILib Commands versus subsystems:
http://wpilib.screenstepslive.com/s/4485/m/13809/l/599732-what-is-command-based-programming
Adrian's notes on setting up the router and Talons:
https://drive.google.com/drive/folders/0B4bF77-ODGFFQlgzTjdycEkwRzA
CONFIGURATION
1. Useful Git config settings:
git config user.name YourUserName
git config user.email [email protected]
[This command allows you to do free-form commits with Notepad++ if it's
installed in the right folder. Feel free to modify the path.]
git config --global core.editor "'C:/Users/frc1/Documents/Notepad++Portable/Notepad++Portable.exe' -multiInst -notabbar -nosession -noPlugin"
[This command defines a command, "git ll", which is more useful than the
normal "git log" command, and then a short version, "git l".]
git config alias.ll '!git log --graph --decorate --color --stat | git name-rev --stdin --refs=refs/heads/master | less -r'