1 / 40

Apple Pi Robotics Logic System and Programming Basics

Apple Pi Robotics Logic System and Programming Basics. Agenda. Review Control System Hardware On Robot Driver Station Where to begin application code LabView Interface LabView Programming Fundamentals Application Challenge. Control System. Hardware Controller

todd
Download Presentation

Apple Pi Robotics Logic System and Programming Basics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apple Pi Robotics Logic System and Programming Basics

  2. Agenda • Review Control System Hardware • On Robot • Driver Station • Where to begin application code • LabView Interface • LabView Programming Fundamentals • Application Challenge

  3. Control System • Hardware • Controller • I/O and interface boards • Communications • Operator Interface • Software • Operating System • Program Code

  4. Let's Look at the Hardware • Rack/Processor/Communication • Analog Module • Digital I/O • Solenoid Module • Extra Slot The cRIO I had 8 slots, the newer cRIO II has 4. Both are compatible, and both are legal in competitions, if you have an 8 slot you may only use the 1st 4 slots.

  5. Additional HardwareAnalog Breakout 12v Power from Power Distribution Board Up to 8 Analog sensors Jumper Analog Breakout Board

  6. Additional HardwareDigital Sidecar All speed controllers (up to 10), sensors (up to 16) and relays (up to 8) connect to sidecar Connect to 12V output on Power Distribution Board Robot Signal Light

  7. Additional HardwareSolenoid Breakout 12v Power from Power Distribution Board Only used for pneumatics; spike relay, pressure switch Solenoid Breakout Board

  8. Driver Station • Laptop • Driver Station Software • Joystick • Custom Controls • Dashboard

  9. Laptop • Classmate comes in the kit • You can use any laptop that you like • (Advanced) Software can run on the laptop and send data back to the robot, like vision processing

  10. Driver Station Software • Software that is run on the DS laptop • Allows driver control of the robot • Diagnostics of the communication to the robot • Battery Voltage Read out • Enter Key = Disable • Spacebar Key = Emergency Stop (Use Enter normally) If you press Spacebar you will have to restart the robot before you can disable it

  11. Driver Station Software • 5 Tabs Provide Access to the different screens • Operation • Diagnostics • Setup • I/O • Charts If you press Spacebar you will have to restart the robot before you can disable it

  12. Driver Station Operation Tab Mode Selection • Teleoperated = Driver • Autonomous = Computer Control • Practice = Run like a match Battery Voltage Display Team Number (Make sure it is correct) Elapsed time since start of robot communication PC Battery Communication Status • Communication = a connection to the cRIO • Robot Code = the user code is running User Messages (This area can be controlled by the robot program) Communication Status Enable/Disable Buttons Station Number for Competition Use

  13. Driver Station Diagnostics Tab Communication LEDS: Green means they are active Hover over errors for messages that may help resolve issues View Driver Station Log can be useful for debugging errors Joystick and IO LEDS: Green means they are active Firmware Versions: These must be stay up to date for you to work at competition Reboot cRIO Useful if you have an error that a robot reset can fix

  14. Driver Station Setup Tab Team Number Configuration: Make sure this is set correctly Choose NIC: Allows you select which network adapter is connected to the robot (Advanced) Allows you to configure Remote Dashboard Allows you to configure how the practice rounds are setup Joystick Setup: Drag Joystick up and down to switch which connected joystick is 1, 2, 3 or 4 in the program Exit: Logs off the Driver Station Account on the classmate

  15. Driver Station I/O Tab This tab is used for configuring custom interfaces with the cypress I/O module. If you aren’t using the cypress module you will not need this tab There are several other ways to build custom I/O interfaces that don’t involve the cypress board or this I/O panel. You can find examples of these on Chiefdelphi.com

  16. Driver Station Charts Tab This tab helps you diagnose problems with your robot • Lost Pkts = Lost Packets this is an indication of connection issues, if you have a large amount of lost packets there is something wrong with your connection between the robot and the DS • Volts = A graph of battery voltage this can be very useful to find correlations between battery volatage and problems that occur with the robot • Msecs = This is reporting your trip time, which is how long it takes for information to go from the driver station to the robot, this should also be small • CPU% = this is the percentage of CPU your cRIO is using, minimizing this will allow for better performance

  17. Dashboard The Dashboard can be used to get feedback from robot systems. This is the default Labview Dashboard

  18. D-Link DAP 1522 Router/Bridge • Connects Robot to Driver Station Laptop • Allows wireless control of the robot • Also called the Radio • Should be mounted away from motors and speed controllers to avoid interference

  19. D-Link DAP 1522 Router/Bridge Power Light (blue) Bridge Light (orange) Access Point Light (blue) Traffic Indicator Lights (blue)

  20. D-Link DAP 1522 Router/Bridge rev.B

  21. D-Link DAP 1522 Router/Bridge 5v Power Connector Plugs in to grey power inverter Ethernet Ports AP/Bridge Switch AP = Practice/Home Bridge = At Competition Reset Button

  22. Other Electrical System Devices Sensors • Limit Switches • Photo Detectors • Infrared Sensors • Encoders • Potentiometers • Gyro • Speed Controllers • Jaguars • Victors • Talons Solenoids Lights Pressure Switches Gyro Relays

  23. Let's Talk Application CodeWhere do we Start? • List Connected Hardware with purpose defined • All Operator Interface • Pushbutton/Switches • Meters • Lights • All Robot Mounted Devices • Limit switches • Motor controllers • Spike Relays • Lights • Photo sensors

  24. Application CodeWhere do we Start? • Develop Sequence of Operations • Documentation of how robot works; all subsystems defined including the purpose • Ball collector/conveyor • Shooter • Drive train • Knockdown • All ties back to the hardware list

  25. Example: Knockdown Sequence of Operation The purpose of the Knockdown arm is to allow for the lowering of the bridges that are used to cross from the offensive side of the field to the defensive side. It is also used for lowering of the bridge during the “end game” to allow the robot(s) to get on the bridge to attempt balancing. Control devices include the “Arm Up” and “Arm Down” buttons on the Operator's joystick. The “Full Up” and “Full Down” limit switches control the stop points for actuation and prevent over travel. Both limit switches make use of the normally open contact. The “Knockdown Gearmotor” provides for the actuation of the arm. The motor operates clockwise for movement in the down direction (positive polarity) and counterclockwise for movement in the up direction (negative polarity).

  26. Example: Knockdown Sequence of Operation Operation: When the “Arm Down” button is depressed, the motor is commanded to rotate clockwise with a preset speed reference. The arm continues to advance in the down direction until either the button is released or the full down limit switch is engaged. If the button is released the arm stops at that point. If the full down limit switch is activated the arm stops in the down direction and can not be lowered further. Only the “Arm Up” button may be used at this location. When the “Arm Up” button is depressed, the motor is commanded to rotate counter clockwise with a preset speed reference. The arm continues to advance in the up direction until either the button is released or the full up limit switch is engaged. If the button is released the arm stops at that point. If the full up limit switch is activated the arm stops in the up direction and can not be raised further. Only the “Arm Down” button may be used at this location.

  27. LabView Interface Overview:1st do you have correct version installed? • For those who don’t have correct version: • We can start loading during initial discussion slides • USB + 3 updates req’d Open a blank “vi”

  28. LabVIEW Interface Each Virtual Instrument (VI) has 2 Windows Front Panel • User Interface (UI) • Controls = Inputs • Indicators = Outputs Block Diagram • Graphical Code • Data travels on wires from controls through functions to indicators • Blocks execute by Dataflow Front Panel Block Diagram

  29. Dataflow Programming • Block diagram execution • Dependent on the flow of data through wires • Block diagram does NOT execute left to right • It is good practice to lay out the code in an easy to follow left to right, top down manner • Function executes when data is available to ALL input terminals • Functions supply data to all output terminals when done Logic Thinking: What functions are needed, and in what order? 30

  30. LabVIEW Interface

  31. LabVIEW Interface

  32. LabVIEW Interface – function sets • LabVIEW palette sets • Programming • FRC specific palettes • FIRST Vision • WPI Robotics Library • PID Toolkit palette • Context Help

  33. WPI Robotics Library • Interfaces with cRIO, sensors & actuators • Contains multiple palettes • Robot Drive • Sensors • Actuators • IO • Driver Station • Camera • Communications • Utilities

  34. LabVIEW Interface Sample Block Diagram

  35. LabVIEW Interface

  36. LabVIEW Interface • Help»Show Context Help, press the <Ctrl+H> keys • Hover cursor over object to update window Additional Help • Right-Click on the VI icon and choose Help, or • Choose “Detailed Help.” on the context help window

  37. LabVIEW Best Practices • Create a New Folder in your work directory for your LabVIEW work call it “Labview Data” • You will save all your VIs & Projects to this folder. • Saving your VI frequently is good, but know that once you choose to save your VI, it resets the ‘undo call’ (Ctrl-Z) and you will not be able to go back on any steps you made before saving your VI. • Think function-to-function programming and not line-by-line • Avoid crossing wires while connecting different objects on the block diagram. Crossed wires can be confusing to read and follow at times. (but can be unavoidable ) • When in doubt, DEBUG! Use the light bulb icon on the status toolbar on the block diagram to highlight the path of the flow of data.

  38. LabVIEW Best Practices • Place output indicators at multiple steps during the data flow path of your VI to keep track of the output as it changes through the VI. • PLAN PLAN and PLAN! Plan out the various stages of your VI/Program prior to placing objects on the block diagram. This will make it easier to end up with a clean picture of code and will also allow you to pick out the functions that best suit your needs. • PRACTICE! The only way to get better at LabVIEW is to practice. • We will teach basics and principles in next few weeks • In order to be proficient – independent work is required

  39. LabView for FRCA template is provided to set up the code Open Labview FRC 2013 • Select New FRC cRio Robot Project • Change Project name • Set IP Address to 10.20.67.02, select “Finish” • In “Project Explorer” window select “Robot Main” • Project explorer links multiple vi’s (Virtual Instruments)

  40. That's All Folks!

More Related