2019:Programming: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
Line 74: Line 74:
Pi details: [[2019:Vision|2019:Vision]]
Pi details: [[2019:Vision|2019:Vision]]


*Camera stream via RTP on port 5800  
*Camera stream via RTP containing H.264 video on UDP port 5800  
*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>  
*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>  
*Sender GStreamer pipeline (command line): <code>gst-launch-1.0 v4l2src device=/dev/video0&nbsp;! video/x-raw.framerate=30/1,width=640,height=480&nbsp;! omxh264enc&nbsp;! rtph264pay config-interval=10 pt=96&nbsp;! udpsink host=(driver station IP) port=5800 max-bitrate=2700000</code>  
*Sender GStreamer pipeline (command line): <code>gst-launch-1.0 v4l2src device=/dev/video0&nbsp;! video/x-raw.framerate=30/1,width=640,height=480&nbsp;! omxh264enc&nbsp;! rtph264pay config-interval=10 pt=96&nbsp;! udpsink host=(driver station IP) port=5800 max-bitrate=2700000</code>  

Revision as of 11:53, 6 February 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)
    • Post list of important feedback to show on dashboard (paper list exists - post on this page) (Kate)
    • Document net tables variable names, types, values, and meanings that robot will send for each of the feedback items (Kyle)
    • Implement sending these things (Kyle)
  • Main Robot (Josh or Kyle)
    • Add reset & process calls to all subsystems
    • Setup Autonomous() to work properly - works like operatorcontrol()?
    • Add Disabled method (that works)
      • Make it debug() all subsystems
  • Game Pieces (Kyle)
  • Cargo (Kyle)
  • Hatch (Kyle)
  • Hab
  • Elevator (Josh)
    • Add way to control pivot to interface
    • Implement
  • 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.
    • Identify and supply decoder library that can be used to display stream inside 1511 dashboard (Jeff)
  • 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!

Subsystem Assignments

  • Controls: Insert Mentor person and Student persons here!
  • Insert other subsystem TBD: Insert Mentor person and Student persons here!

Feedback

Match time for driver station/raspi: match_time_remaining

Raspberry Pi connection status: pi_connected

vision-distance to image center: distanceCenter //likely to change

Autonomous

Insert auto stuff here!
 

Camera stream

Pi details: 2019:Vision

  • 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 udpsink 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

 

Programming Archives