This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:v2:line_quickstart [2018/07/03 19:41] pixycam |
wiki:v2:line_quickstart [2019/01/30 01:50] (current) pixycam |
||
---|---|---|---|
Line 17: | Line 17: | ||
- | What Pixy2 has done is found the best line candidate to track and has assigned it to the Vector. The Vector is the line that Pixy2 (or your robot) is currently tracking/following. You can move the paper and see that Pixy2 can track the line fairly quickly. PixyMon slows down the tracking algorithm typically to 20-30 frames-per-second because it takes some time to send the raw frame data across USB, but if you change the view to "no background", you can get a feel for what the tracking algorithm looks like at the native 60 frames-per-second. | + | What Pixy2 has done is found the best line candidate to track and has assigned it to the Vector. The Vector is the line that Pixy2 (or your robot) is currently tracking/following. You can move the paper and see that Pixy2 can track the line fairly quickly. PixyMon slows down the tracking algorithm typically to 20-30 frames-per-second because it takes some time to send the raw frame data across USB, but if you change the view to "no background" (see pic below), you can get a feel for what the tracking algorithm looks like at the native 60 frames-per-second. |
Line 23: | Line 23: | ||
- | This is framerate your robot will see. | + | This (60 fps) is framerate your robot will see. |
You can also see what happens when you turn on Pixy2's lamp. | You can also see what happens when you turn on Pixy2's lamp. | ||
Line 31: | Line 31: | ||
- | Note, with the lamp on, Pixy2 can typically reduce the exposure (sampling) time of the image, which reduces motion blur. In general, motion blur happens because a camera is sampling a subject while the subject is moving. In this case the subject is a line (or set of lines). If they are blurred due to motion (the motion of your robot), it can make the lines more difficult for Pixy2 to detect and track. Pixy2's lamp can help with this. The upshot is that the lamp can improve the speed your robot can move! | + | Note, with the lamp on, Pixy2 will typically reduce the exposure (sampling) time of the image, which reduces motion blur. In general, motion blur happens because a camera is sampling a subject while the subject is moving. In this case, the subject is a line (or set of lines). If they are blurred due to motion (the motion of your robot), it can make the lines more difficult for Pixy2 to detect and track. Pixy2's lamp can help with this. The upshot is that the lamp makes your robot go faster! |
Line 85: | Line 85: | ||
==== Barcodes ==== | ==== Barcodes ==== | ||
- | We wanted Pixy2 to be able to receive simple commands or information while it is performing line tracking, so we added the barcode feature. The barcodes are intended to act as "roadsigns". You can add graphics to the barcodes that are human-readable as long as you keep the barcode unobstructed. To test the barcode functionality, download the print the [[https://github.com/charmedlabs/pixy2/raw/master/documents/other/all_codes.pdf|all_codes.pdf]] document. | + | We wanted Pixy2 to be able to receive simple commands or information while it is performing line tracking, so we added the barcode feature. The barcodes are intended to act as "roadsigns". You can add graphics to the barcodes that are human-readable as long as you keep the barcode unobstructed. To test the barcode functionality, download the print the [[https://github.com/charmedlabs/pixy2/raw/master/documents/other/all_codes.pdf|all_codes.pdf]] document. (Note, other barcode files and images can be found [[https://pixycam.com/downloads-pixy2/|here]].) |
Line 94: | Line 95: | ||
- | === Running a simple Arduino line tracking example === | + | ==== Running a simple Arduino line tracking example ==== |
If you haven't hooked your Arduino to your Pixy2 yet, use the supplied Arduino cable to connect Pixy to your Arduino as shown below. | If you haven't hooked your Arduino to your Pixy2 yet, use the supplied Arduino cable to connect Pixy to your Arduino as shown below. | ||
Line 112: | Line 113: | ||
<code> | <code> | ||
- | vector: (43 31) (60 39) index: 3 flags 4 | + | vector: (38 51) (39 9) index: 0 flags 4 |
- | vector: (43 31) (60 39) index: 3 flags 0 | + | vector: (37 51) (38 10) index: 0 flags 4 |
- | vector: (44 39) (68 33) index: 2 flags 4 | + | vector: (37 51) (40 12) index: 0 flags 4 |
- | vector: (44 39) (68 33) index: 2 flags 4 | + | vector: (37 51) (37 13) index: 0 flags 4 |
- | vector: (44 40) (67 32) index: 2 flags 0 | + | vector: (36 51) (40 15) index: 0 flags 4 |
- | vector: (44 40) (67 32) index: 2 flags 0 | + | vector: (36 16) (38 0) index: 2 flags 4 |
- | vector: (39 38) (69 38) index: 9 flags 0 | + | intersection: (36 16) |
- | vector: (39 38) (69 38) index: 9 flags 0 | + | 0: index: 7 angle: -88 |
- | intersection: (39 25) | + | 1: index: 2 angle: -7 |
- | 0: index: 68 angle: -122 | + | 2: index: 1 angle: 93 |
- | 1: index: 117 angle: -3 | + | 3: index: 0 angle: 180 |
- | 2: index: 106 angle: 90 | + | vector: (34 16) (37 0) index: 2 flags 4 |
- | 3: index: 95 angle: 158 | + | vector: (36 19) (37 0) index: 2 flags 4 |
- | vector: (44 40) (67 32) index: 2 flags 0 | + | vector: (39 21) (37 0) index: 2 flags 4 |
- | vector: (39 38) (69 38) index: 9 flags 0 | + | vector: (35 22) (37 0) index: 2 flags 4 |
- | vector: (39 38) (69 38) index: 9 flags 0 | + | vector: (35 23) (37 0) index: 2 flags 4 |
+ | vector: (35 24) (37 0) index: 2 flags 4 | ||
+ | vector: (35 25) (37 0) index: 2 flags 4 | ||
+ | ... | ||
</code> | </code> | ||