2020:Controls: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
<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"><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"><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"><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"><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"><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"><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"><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"><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"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
= Overall Concept&nbsp; =
= Overall Concept&nbsp; =
</div> </div> </div> </div> </div> </div> </div> </div> <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> </div> </div> </div> </div> </div> </div> </div> <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">
<div class="mw-parser-output">
= <span style="line-height:20.79px">To do</span> =
= <span style="line-height:20.79px">To do</span> =


*<span style="line-height:20.79px">Design Due 1/18</span>  
*<span style="line-height:20.79px">Design Due 1/18</span>  
== Not Started ==
<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"><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"><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"><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"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div>
== In Process ==
*Designing Plan A and Plan B
<div class="mw-parser-output">
== Completed ==
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
= Controls Assignments =
*Starting list of Aux controls (need to know robot design though)  
*Starting list of Aux controls (need to know robot design though)  
**shooter power (knob)  
**shooter power (knob)  
Line 17: Line 25:
**spin wheel: 3 times, to specified color  
**spin wheel: 3 times, to specified color  
**climb: extend, retract, latch   
**climb: extend, retract, latch   
<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"><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"><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"><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"><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"><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"><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"><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"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
== Not Started ==
</div> </div> </div> </div>
== In Process ==
 
*Designing Plan A and Plan B
<div class="mw-parser-output">
== Completed ==
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div></div></div>
 
= Useful Links =
= Useful Links =
 
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
*[https://drive.google.com/drive/folders/1mrJ29Bna99VvxccyHFYumKEX9qNbtnoB Subteam Student/Mentor Photos]  
*[https://drive.google.com/drive/folders/1mrJ29Bna99VvxccyHFYumKEX9qNbtnoB Subteam Student/Mentor Photos]  
*[http://pickmygadget.eu/products/zero-delay-arcade-usb-encoder-pc-to-joystick-control-panel-for-mame-2pin-sanwa-type-push-buttons/ Zero Delay USB Joystick Encoder]  
*[http://pickmygadget.eu/products/zero-delay-arcade-usb-encoder-pc-to-joystick-control-panel-for-mame-2pin-sanwa-type-push-buttons/ Zero Delay USB Joystick Encoder]  
Line 75: Line 74:
*set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None  
*set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None  
*download program: Actions -> Program  
*download program: Actions -> Program  
</div> <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"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
</div> <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"><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">
= Meeting Minutes =
= Meeting Minutes =
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <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"><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> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <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"><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">
Line 259: Line 254:


Attendees:&nbsp;
Attendees:&nbsp;
Work Completed:&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div></div></div>
Work Completed:&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
 
= Controls Rules =
= Controls Rules =
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
Line 296: Line 290:
<div class="mw-parser-output">
<div class="mw-parser-output">
= Archives =
= Archives =
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
</div> </div> </div> </div> </div> </div> </div> </div> </div>  
*[[2019:Controls]]  
*[[2019:Controls]]  
*[[2018:Controls]]  
*[[2018:Controls]]  
Line 308: Line 302:
*[[2010:Electrical_Controls]]  
*[[2010:Electrical_Controls]]  
*[[2009:Electrical_Controls]]  
*[[2009:Electrical_Controls]]  
</div> </div>
</div>

Revision as of 13:29, 11 January 2020

Controls Assignments

  • Starting list of Aux controls (need to know robot design though)
    • shooter power (knob)
    • intake from driver station
    • intake from floor
    • shoot high, if something other than power controls it
    • shoot low, if part of design
    • turret position, if part of design
    • spin wheel: 3 times, to specified color
    • climb: extend, retract, latch

Useful Links

PSoC Install (for lights)

PSoC Creator IDE

Download latest "PSoC Creator" from Cypress (http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide) and install it (use Typical install; at end run Updater and maek sure you have the latest stuff)

For user name and password, you can use: mailme@mailinator.com mailme123

Toolkits and Board Driver Install

Get controls2019 from SVN

Run: vcredist_x86.exe

Run: USBSerialSDKSetup.exe (do Typical install; at end run Updater and maek sure you have the latest stuff)

Run: CY8CKIT04942xxSetupOnlyPackage_revSA.exe (do Typical install; at end run Updater and make sure you have the latest stuff)

While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC (it will take a while for it to install 5 drivers).

Build/Program

Open PSoC Creator (Start -> Programs -> Cypress -> PSoC Creator -> PSoC Creator)

Open project: File -> Open -> Project/Workspace; then browse to Desktop/FRC2019/trunk/controls2019/SCB_Bootloader/SCB_Bootloader.cywrk)

Build project: Build -> Build All Projects

While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC

Download Boot Loader:

  • open programmer: Tools -> Bootloader Host
  • set 'File' to C:\Users\Robotics\Desktop\FRC2019\trunk\controls2019\SCB_Bootloader\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_541\Debug\Bootloadable Blinking LED.cyacd
  • select the com port for the cypress board
  • set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None
  • download program: Actions -> Program

Meeting Minutes

1/7

Attendees: Adrian, Jadon, Tanner, Mike, Tristan, Cameron

Work Completed: Brainstormed ideas, came up with favorite design idea and other liked ideas. Complete list of ideas can be viewed at  https://docs.google.com/document/d/164eOT3BLDjwwCmvAE6dEmtPM_Dm1WIZeNxB6HL6WMk4/edit?usp=sharing

1/8

Attendees: Adrian, Jadon, Tanner, Dan, Cameron, Tristan

Work Completed: Came up with two improved designs of "Spider-Box" (Plan A and B) that take everyone's suggestions into consideration, started scaled drawing of Plan B (our favorite)

1/9

Attendees: Eric, Mark, MIke, Adrian

Work Completed: Added further detail for the concepts that have been in process and came up with a method to make it. See the Slack channel for a picture.

1/11

Attendees: 

Work Completed: 

1/12

Attendees: 

Work Completed: 

1/14

Attendees: 

Work Completed: 

1/15

Attendees: 

Work Completed: 

1/16

Attendees: 

Work Completed: 

1/18

Attendees: 

Work Completed: 

1/19

Attendees: 

Work Completed: 

1/21

Attendees: 

Work Completed: 

1/22

Attendees: 

Work Completed: 

1/23

Attendees: 

Work Completed: 

1/25

Attendees: 

Work Completed: 

1/26

Attendees: 

Work Completed: 

1/28

Attendees: 

Work Completed: 

1/29

Attendees: 

Work Completed: 

1/30

Attendees: 

Work Completed: 

2/1

Attendees: 

Work Completed: 

2/2

Attendees: 

Work Completed: 

2/4

Attendees: 

Work Completed: 

2/5

Attendees: 

Work Completed: 

2/6

Attendees: 

Work Completed: 

2/8

Attendees: 

Work Completed: 

2/9

Attendees: 

Work Completed: 

2/11

Attendees: 

Work Completed: 

2/12

Attendees: 

Work Completed: 

2/13

Attendees: 

Work Completed: 

2/15

Attendees: 

Work Completed: 

2/16

Attendees: 

Work Completed: 

Controls Rules

9.10 OPERATOR CONSOLE

R88. The DRIVER Station software provided by National Instruments (install instructions found here) is the only application permitted to specify and communicate the operating mode (i.e. Autonomous/Teleoperated) and operating state (Enable/Disable) to the ROBOT. The DRIVER Station software must be revision 20.0 or newer.

Teams are permitted to use a portable computing device of their choice (laptop computer, tablet, etc.) to host the DRIVER Station software while participating in competition MATCHES.

R89. The OPERATOR CONSOLE, the set of COMPONENTS and MECHANISMS used by the DRIVERS and/or HUMAN PLAYER to relay commands to the ROBOT, must include a graphic display to present the DRIVER Station diagnostic information. It must be positioned within the OPERATOR CONSOLE so that the screen display can be clearly seen during Inspection and in a MATCH.

R90. Devices hosting the DRIVER Station software must only interface with the Field Management System (FMS) via the Ethernet cable provided at the PLAYER STATION (e.g. not through a switch). Teams may connect the FMS Ethernet cable to their DRIVER Station device directly via an Ethernet pigtail, or with a single-port Ethernet converter (e.g. docking station, USB-Ethernet converter, 9 ROBOT Construction Rules V0 96 of 129 FIRST ® Robotics Competition Thunderbolt-Ethernet converter, etc.). The Ethernet port on the OPERATOR CONSOLE must be easily and quickly accessible.

Teams are strongly encouraged to use pigtails on the Ethernet port used to connect to the FMS. Such pigtails will reduce wear and tear on the device’s port and, with proper strain relief employed, will protect the port from accidental damage.

R91. The OPERATOR CONSOLE must not

A. be longer than 60 in. (~152 cm)

B. be deeper than 14 in. (~35 cm) (excluding any items that are held or worn by the DRIVERS during the MATCH)

C. extend more than 6 ft. 6 in. (~198 cm) above the floor

D. attach to the FIELD (except as permitted by G26)

There is a 54 in. (~137 cm) long by 2 in. (nominal) wide strip of hook-and-loop tape (“loop” side) along the center of the PLAYER STATION support shelf that should be used to secure the OPERATOR CONSOLE to the shelf, per G26. See PLAYER STATION for details.

Please note that while there is no hard weight limit, OPERATOR CONSOLES that weigh more than 30 lbs. (~13 kg.) will invite extra scrutiny as they are likely to present unsafe circumstances.

R92. Other than the system provided by the FIELD, no other form of wireless communications shall be used to communicate to, from, or within the OPERATOR CONSOLE.

Examples of prohibited wireless systems include, but are not limited to, active wireless network cards and Bluetooth devices. For the case of the FIRST Robotics Competition, a motion sensing input device (e.g. Microsoft Kinect) is not considered wireless communication and is allowed.

R93. OPERATOR CONSOLES shall not be made using hazardous materials, be unsafe, cause an unsafe condition, or interfere with other DRIVE TEAMS or the operation of other ROBOTS.

Archives