2019:Programming: Difference between revisions
From 1511Wookiee
Jump to navigationJump to search
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) m (apparently incorrectly copy/pasted and didn't catch it until months later) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
= Outstanding Tasks = | = Outstanding Tasks = | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
== Robot Code == | == Robot Code == | ||
Line 7: | Line 8: | ||
*Feedback | *Feedback | ||
**Bring over "editable" methods/code from last year (Josh) | **Bring over "editable" methods/code from last year (Josh) | ||
** Read & send air pressure value | **Read & send air pressure value | ||
*Main Robot (Josh or Kyle) | *Main Robot (Josh or Kyle) | ||
** Setup Autonomous() to work properly - works like operatorcontrol()? | **Setup Autonomous() to work properly - works like operatorcontrol()? | ||
*Game Pieces | *Game Pieces (Kyle) | ||
** In feedback, set thunderdashboard_green to 1 if we have game pieces, some other value if we don't | **In feedback, set thunderdashboard_green to 1 if we have game pieces, some other value if we don't | ||
**Change feedback sending to send over mode we are in and mode we want to be in. "Mode we are in" is based solely on sensors on cargo cylinders. | |||
*Cargo (Kyle) | *Cargo (Kyle) | ||
*Hatch (Kyle) | *Hatch (Kyle) | ||
Line 18: | Line 20: | ||
*Elevator (Josh) | *Elevator (Josh) | ||
*Vision (Ben M.) | *Vision (Ben M.) | ||
**Consider net tables variables to start/stop streaming (document them on this page) | **<s>Consider net tables variables to start/stop streaming (document them on this page)</s> | ||
**Document a plan for rio <> Pi communication on this page (net tables variable names, what they do, etc) | **Document a plan for rio <> Pi communication on this page (net tables variable names, what they do, etc) | ||
**Place current system on 2018 robot and view stream on driver laptop '''over wifi''' while driving around, verify you get good quality still. | **<s>Place current system on 2018 robot and view stream on driver laptop '''over wifi''' while driving around, verify you get good quality still.</s> | ||
* Controls | *Controls | ||
** '''Finish aux controls:''' | **'''Finish aux controls:''' | ||
** elevator pivoting | **elevator pivoting | ||
** '''TEST and refine Drive code''' | **'''TEST and refine Drive code''' | ||
** Broken switches | **Broken switches | ||
*** Assign on wiki | ***Assign on wiki | ||
*** implement in controls | ***implement in controls | ||
| |||
*Old robot fixing: | *Old robot fixing: | ||
**Rewrite trash bot (2015) from scratch using 2019 libraries and image. DO NOT IMAGE UNTIL YOU HAVE CODE MOSTLY DONE. (Talk to Jeff before starting, low priority) | **Rewrite trash bot (2015) from scratch using 2019 libraries and image. DO NOT IMAGE UNTIL YOU HAVE CODE MOSTLY DONE. (Talk to Jeff before starting, low priority) | ||
</div> </div> </div> </div> </div> | </div> </div> </div> </div> </div> | ||
</div> | |||
== Scouting App == | == Scouting App == | ||
Line 56: | Line 61: | ||
</div> | </div> | ||
= Camera stream | <div class="mw-parser-output"><h1> Camera stream </h1><p>Pi details: <a href="2019%3AVision">2019:Vision</a> | ||
</p> | |||
Pi details:& | <ul><li>Camera stream via RTP containing H.264 video on UDP port 5800 </li> | ||
<li>Reciever SDP file:<br /> <code>v=0<br /> m=video 5800 RTP/AVP 96<br /> c=in IP4 (Raspberry Pi IP)<br /> a=rtpmap:96 H264/90000</code> </li> | |||
<li>Sender GStreamer pipeline (command line): <code>gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw.framerate=30/1,width=640,height=480 ! omxh264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=(driver station IP) port=5800 max-bitrate=2700000</code> </li> | |||
<li>Reciever GStreamer pipeline (command line): <code>gst-launch-1.0 udpsrc port=5800 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96" ! rtpjitterbuffer latency=1 ! rtph264depay ! decodebin ! videoconvert ! autovideosink</code> </li></ul> | |||
<p>  | |||
</div> | |||
</p></div> | |||
& | |||
</div> | |||
= Programming Archives = | = Programming Archives = |
Latest revision as of 17:04, 21 April 2019
General programming stuff relevant to all subsystems should be documented here.
Outstanding Tasks
Robot Code
Split up by subsystem - responsible veteran student or mentor in (), student(s) doing actual code, if different, in []. These are not in any particular order!
- Feedback
- Bring over "editable" methods/code from last year (Josh)
- Read & send air pressure value
- Main Robot (Josh or Kyle)
- Setup Autonomous() to work properly - works like operatorcontrol()?
- Game Pieces (Kyle)
- In feedback, set thunderdashboard_green to 1 if we have game pieces, some other value if we don't
- Change feedback sending to send over mode we are in and mode we want to be in. "Mode we are in" is based solely on sensors on cargo cylinders.
- Cargo (Kyle)
- Hatch (Kyle)
- Hab
- Elevator (Josh)
- Vision (Ben M.)
Consider net tables variables to start/stop streaming (document them on this page)- Document a plan for rio <> Pi communication on this page (net tables variable names, what they do, etc)
Place current system on 2018 robot and view stream on driver laptop over wifi while driving around, verify you get good quality still.
- Controls
- Finish aux controls:
- elevator pivoting
- TEST and refine Drive code
- Broken switches
- Assign on wiki
- implement in controls
- Old robot fixing:
- Rewrite trash bot (2015) from scratch using 2019 libraries and image. DO NOT IMAGE UNTIL YOU HAVE CODE MOSTLY DONE. (Talk to Jeff before starting, low priority)
Scouting App
In no particular order!
- Jeff
- Nothing yet!
- Alex
- Nothing yet!
Camera stream
Pi details: <a href="2019%3AVision">2019:Vision</a>
- Camera stream via RTP containing H.264 video on UDP port 5800
- Reciever SDP file:
v=0
m=video 5800 RTP/AVP 96
c=in IP4 (Raspberry Pi IP)
a=rtpmap:96 H264/90000 - Sender GStreamer pipeline (command line):
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw.framerate=30/1,width=640,height=480 ! omxh264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=(driver station IP) port=5800 max-bitrate=2700000
- Reciever GStreamer pipeline (command line):
gst-launch-1.0 udpsrc port=5800 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96" ! rtpjitterbuffer latency=1 ! rtph264depay ! decodebin ! videoconvert ! autovideosink
</div>