Unit 3: Computer Technology: Robotics and Control Systems

LabVIEW Menu FRC System

This unit focuses on the use of graphic, object-oriented programming to control larger scale robots. There are several ways you can control these robots using different hardware inputs and outputs to accomplish different tasks you may have need for. Being able to do this gives you experience in several areas of engineering all at the same time. Working with different electronic components, technical design, hardware devices, control mechanisms, math, electricity, pneumatics, wireless communications, networking, etc. are some of the areas you will be able to explore.

Unit Content Activity Quick Links, Click to Jump to Specific Activity!

  1. Unit 3, Act. 1: Introduction to LabView

Unit 3, Act. 1: Introduction to LabView

labview block diagram

Situation:

A class of senior robotic students with different levels of knowledge and skills have the opportunity to work with our FIRST robots using LabVIEW to gain experience with it's type of programming along with larger scale devices and challenges. Some students have already had the opportunity to work with LabView, while others are seeing this for the first time. The robotic team, which competes annually with the FIRST robotics competition is always looking at being able to control these robots to accomplish specific tasks depending on the competition rules that year. Students who are, work hard to proficiently program and control these robots to complete specific tasks will gain immense skills and knowledge in this field of opportunity.

carrot Experience with LabVIEW is not only helpful to your future, but also combined with hardware, electronics, computers, and design is a high demand skill-set to have for your future employment and education in this field of engineering..

Problem/Challenge:

challenge

Students are to further their programming skills and knowledge using LabVIEW to control our FIRST robots. Initial projects include programming different drive systems found on the robots using a single joy stick and/or dual joy sticks control and then moving on to camera, pneumatics, sensors, rheostats, encoder feedback, speed control, autonomous modes, etc. Depending on previously accomplished robot tasks, students will continue from that point to gain more experience by selecting a new programming task to complete.

 

Investigation/Ideas:

Taking a look at this general overview Video video and then this presentation on programming with LabVIEW PPT is a great place to start if you have not worked with LabVIEW before. Although not necessary to view, this ScreenSteps Live online step tutorial and information guide shows the technical set-up that FIRST robotic teams go through for setting up their robot with LabVIEW. If you are not to sure of the electrical hardware set-up with a basic FRC robot, this FRC Kitbot Electronics Build Video video goes through the build steps in about 26 minutes.

As a student working with the FIRST robotics, you have access to their software, so if it is not already installed on your computer or is out of date, you will need to install the software before you can start programming, of which, we already have the install disk and serial. You will also need to install some updates which you can find here. On a side note, there are two other sequential text based languages that can also be used, namely Java and C++, LabVIEW is a graphical based programming that tends to be more of a data acquisition focus and an easier language to pick-up, but outside the FRC Robotics, Java and C++ are more typically used to make programs, but more difficult to pick-up, although all can do the same for the purpose of programming your FRC Robot.

Below shows 25 different programming tasks that students shoud be able to complete, so that they may be ready for the demands of whatever the FIRST robotic challenges throws at teams each year:

    menu
  1. Read Joysticks and buttons from Gamepad
  2. Output values to a motor
  3. Output values to multiple motors
  4. Read values from a switch
  5. Read values from a sensor (potentiometer, angular rate sensor)
  6. Read values from wheel encoders
  7. Display a value from the robot on the PC screen
  8. Display a value in the form of a visual gauge on the PC screen
  9. Understand how to use Debugging & Development Features of FIRST control system
  10. Use Joystick values to control a mulitmotor drive system with and without a shifter
  11. Implement various joystick scaling methods (e.g. "deadband removal", "dynamic zeroing")
  12. Implement various output scaling methods (e.g. "linearize Victor")
  13. Implement a PID Feedback Loop on an arm or actuator
  14. Implement a PID feedback Loop on robot wheels
  15. Control a PID Feedback Loop via Joystick
  16. Control a PID Feedback Loop via buttons
  17. Use Angular Rate Sensor and Encoders to improve high speed "Drive Straight" Performance
  18. Use Angular Rate Sensor and Encoders to improve low speed "positioning" performance
  19. Basic Autonomous: sequence of steps in series
  20. Medium Autonomous sequence of steps some series, some parallel
  21. Medium High Autonomous including straight line robot motion back and forth with other steps
  22. Difficult Autonomous robot motion including turns
  23. Very Difficult Autonomous using camera to auto target using both arm and robot motion
  24. Use NetworkTables to implement Full Robot Monitoring System
  25. PC Based Vision System Based Targeting (height, distance, & angle wrt Robot)

There are a lot of resources online. Here are some of the better ones that show a lot of great tutorials, documentation, and videos that can be very useful to check out. The last two links are libraries for FRC C++ and Java..

Robot power cct
Resource Links



Create/Construct:

block diagram

Continue to fill in your SPICE Individual Task-Process Reports PDF with your daily and weekly progress. Everyone will also contribute there own information based on a wiki category depending on what they are doing. For example, if a person is starting out by setting up a single joystick to operate the mechanum drive bot, then they would enter their related information in the "Mechanum Drive Robot" wiki page under a heading of "Singe Joystick Drive" and enter in those details, resources, links, pictures, tips, etc on how you are completing this.