- Standards
- Introduction to robotics and website requirements
- AutoCad 2
- Student Movie Files 4
- Rhino 3d student work
- All about gears
- Animations in 3d Rhino
- Your first robot
- Rubrics and Design Challenge page
- Safety Exam
- Advance Robotics
- Podcast
- Remote Control Tutorial
- HTML Code
- Rattlesnake bot
- Line Follower
- Parking Space
- Robotic Cockroach
- Proportional Control
- Follow the leader
- Platform 9 3/4
- Ramp Bot
- camstudio videos (T.E)
- Digital graphic organizer (T.E.)
- Robotics Safety information
- data log activities
- Engineering Design PowerPoint
- SUMO BOT
- Sumo bot PowerPoint
- Under-carriage inspection
- skype-controlled nxt robot
- Engineering with NI labview : High school robotics activities
- labview training CS2N
LabVIEW for Lego MINDSTORMS Projects Search this site Lesson Plans > Proportional Controller By: Jessica Noble Tufts University Center for Engineering Education and Outreach
This lesson is part of the ROBOT CONTROL ACTIVITY SEQUENCE. For more activities in this sequence, see the
Activity Sequences page.
Introduction This project was designed to introduce various ways of using sensors to control motors. There are many techniques to controlling the motors and making your program run effectively. It is important to know the advantages and limitations of these techniques so you can choose one that fits the application you are designing.
We're going to create a car that, when you push it away for 5 seconds, returns to its original position as fast as possible. First, let's break it down into steps that we want the robot to do: First, we're going to need to check the rotation of the tires to see how far the car moved. The NXT will reset the rotation sensors when you start the program (so "zero" will be wherever you run the program). If the car has moved forward, you want to turn the motors on backward. What happens if you overshoot? When the rotation sensors go negative, you want to turn the motors on forward to get back to zero.
There are lots of ways we can control the car to try to achieve this effect. How fast do we want the tires to go? Do we want to change the speed of the car as it gets closer? What about the acceleration? In this activity, we're going to explore 2 techniques for controlling the car: bang-bang controllers and proportional controllers.
Bang-bang controllers check if you are "above" or "below" target. This is how the heater in your house controls the temperature. When the thermostat says it is below the desired temperature, the heater turns on. Otherwise, the heater is off. It does not turn on half-power because it's not that cold, because it doesn't need much precision for this application. The heater works fine with just this very simple control.
Temperature Response due to Heater
Image from http://www-scm.tees.ac.uk/users/a.clements/DSP/DSP.htm
Proportional controllers adjust the speed based on how far you are from the target. Think about driving a car: If you see a stop sign down the road, do you drive full speed until you get there, and then slam on the breaks? This would not be a very effective way to control your car. You would more likely drive faster when you are far away from it, and then slow down as you begin to approach the sign. This is what a proportional controller does--the input is proportional to the distance to the target value.
Proportional Controller
For this activity, we are going to see what happens when we apply both a bang-bang controller and a proportional controller to a LEGO robot, and see how it changes the behavior.
_________________________________________________________________________________________________________
For the Teacher: We recommend linking your project's content to the nationally recognized Common Core Standards for literacy in science and math
Learning Opportunities In this lab students should have the opportunity to understand the following:
1. How to create a system that controls movement to accomplish a goal 2. Controller design 3. Torque 4. Friction 5. Dynamics--velocity and acceleration 6. Inertia 7. Computer programming 8. Electronics and motors 9. Sensors--encoders 10. Teamwork and collaboration
Key Terms Controller, torque, friction, LabVIEW, NI, electronics, motors, encoders, dynamics, acceleration, proportional control
Subpages (1): Building & Programming Č ĉ ď v.1 ProportionalController.docx (354k) Katrina Miaoulis, Jul 21, 2011 9:06 AM Ċ ď v.1 ProportionalController.pdf (173k) Jessica Noble, Jul 19, 2011 12:53 PM Ĉ ď v.1 ProportionalController.xlsx (45k) Karl Wendt, Jul 21, 2011 9:47 AM ċ ď v.3 bangbang.vi (26k) Jessica Noble, Jun 23, 2011 12:44 PM ċ ď v.3 proportional.vi (24k) Jessica Noble, Jun 23, 2011 12:44 PM Comments Anonymous Add a comment Your +mention will add people to this post and send an email. Comment Cancel You have no permission to add comments.
474 Boston Ave., Curtis Hall - Basement, Medford, MA 02155 | Contact Us
Sign in|Report Abuse|Print Page|Remove Access|Powered By Google Sites
window.jstiming.load.tick('sjl'); window.jstiming.load.tick('jl'); sites.Searchbox.initialize( 'sites-searchbox-search-button', true, {"object":[]}['object'], 'search-site', {"label":"Configure search options...","url":"/site/tuftsceeok12projects/system/app/pages/admin/appearance/pageElements"}); gsites.HoverPopupMenu.createSiteDropdownMenus('sites-header-nav-dropdown', false); JOT_setupNav("2bd", "Navigation", false); JOT_addListener('titleChange', 'JOT_NAVIGATION_titleChange', 'COMP_2bd'); new sites.CommentPane('//docs.google.com/comments/d/AAHRpnXv4xP9q9-X1h7sQ89KXJzekEl7GtP-0cO5xdkfEEE_k_x63dGFal1dmhM7qojf6sPpgADuA8EFNS99nM6w_Yu0nzgHmbE-HJsHktZJKfQIlUgDEcMA6IRvc3svS_1o5wLDObjgk/api/js?anon=true', true, true, false, false); window.onload = function() { if (false) { JOT_setMobilePreview(); } var loadTimer = window.jstiming.load; loadTimer.tick("ol"); loadTimer["name"] = "load," + webspace.page.type; window.jstiming.report(loadTimer, {}, 'https://gg.google.com/csi'); } JOT_insertAnalyticsCode(false); var maestroRunner = new gsites.pages.view.SitesMaestroRunner( webspace, "en"); maestroRunner.initListeners(); maestroRunner.installEditRender(); // JOT_postEvent('decorateGvizCharts'); sites.util.Plus.go('sites-chrome-main'); window.jstiming.load.tick('render');
This lesson is part of the ROBOT CONTROL ACTIVITY SEQUENCE. For more activities in this sequence, see the
Activity Sequences page.
Introduction This project was designed to introduce various ways of using sensors to control motors. There are many techniques to controlling the motors and making your program run effectively. It is important to know the advantages and limitations of these techniques so you can choose one that fits the application you are designing.
We're going to create a car that, when you push it away for 5 seconds, returns to its original position as fast as possible. First, let's break it down into steps that we want the robot to do: First, we're going to need to check the rotation of the tires to see how far the car moved. The NXT will reset the rotation sensors when you start the program (so "zero" will be wherever you run the program). If the car has moved forward, you want to turn the motors on backward. What happens if you overshoot? When the rotation sensors go negative, you want to turn the motors on forward to get back to zero.
There are lots of ways we can control the car to try to achieve this effect. How fast do we want the tires to go? Do we want to change the speed of the car as it gets closer? What about the acceleration? In this activity, we're going to explore 2 techniques for controlling the car: bang-bang controllers and proportional controllers.
Bang-bang controllers check if you are "above" or "below" target. This is how the heater in your house controls the temperature. When the thermostat says it is below the desired temperature, the heater turns on. Otherwise, the heater is off. It does not turn on half-power because it's not that cold, because it doesn't need much precision for this application. The heater works fine with just this very simple control.
Temperature Response due to Heater
Image from http://www-scm.tees.ac.uk/users/a.clements/DSP/DSP.htm
Proportional controllers adjust the speed based on how far you are from the target. Think about driving a car: If you see a stop sign down the road, do you drive full speed until you get there, and then slam on the breaks? This would not be a very effective way to control your car. You would more likely drive faster when you are far away from it, and then slow down as you begin to approach the sign. This is what a proportional controller does--the input is proportional to the distance to the target value.
Proportional Controller
For this activity, we are going to see what happens when we apply both a bang-bang controller and a proportional controller to a LEGO robot, and see how it changes the behavior.
_________________________________________________________________________________________________________
For the Teacher: We recommend linking your project's content to the nationally recognized Common Core Standards for literacy in science and math
Learning Opportunities In this lab students should have the opportunity to understand the following:
1. How to create a system that controls movement to accomplish a goal 2. Controller design 3. Torque 4. Friction 5. Dynamics--velocity and acceleration 6. Inertia 7. Computer programming 8. Electronics and motors 9. Sensors--encoders 10. Teamwork and collaboration
Key Terms Controller, torque, friction, LabVIEW, NI, electronics, motors, encoders, dynamics, acceleration, proportional control
Subpages (1): Building & Programming Č ĉ ď v.1 ProportionalController.docx (354k) Katrina Miaoulis, Jul 21, 2011 9:06 AM Ċ ď v.1 ProportionalController.pdf (173k) Jessica Noble, Jul 19, 2011 12:53 PM Ĉ ď v.1 ProportionalController.xlsx (45k) Karl Wendt, Jul 21, 2011 9:47 AM ċ ď v.3 bangbang.vi (26k) Jessica Noble, Jun 23, 2011 12:44 PM ċ ď v.3 proportional.vi (24k) Jessica Noble, Jun 23, 2011 12:44 PM Comments Anonymous Add a comment Your +mention will add people to this post and send an email. Comment Cancel You have no permission to add comments.
474 Boston Ave., Curtis Hall - Basement, Medford, MA 02155 | Contact Us
Sign in|Report Abuse|Print Page|Remove Access|Powered By Google Sites
window.jstiming.load.tick('sjl'); window.jstiming.load.tick('jl'); sites.Searchbox.initialize( 'sites-searchbox-search-button', true, {"object":[]}['object'], 'search-site', {"label":"Configure search options...","url":"/site/tuftsceeok12projects/system/app/pages/admin/appearance/pageElements"}); gsites.HoverPopupMenu.createSiteDropdownMenus('sites-header-nav-dropdown', false); JOT_setupNav("2bd", "Navigation", false); JOT_addListener('titleChange', 'JOT_NAVIGATION_titleChange', 'COMP_2bd'); new sites.CommentPane('//docs.google.com/comments/d/AAHRpnXv4xP9q9-X1h7sQ89KXJzekEl7GtP-0cO5xdkfEEE_k_x63dGFal1dmhM7qojf6sPpgADuA8EFNS99nM6w_Yu0nzgHmbE-HJsHktZJKfQIlUgDEcMA6IRvc3svS_1o5wLDObjgk/api/js?anon=true', true, true, false, false); window.onload = function() { if (false) { JOT_setMobilePreview(); } var loadTimer = window.jstiming.load; loadTimer.tick("ol"); loadTimer["name"] = "load," + webspace.page.type; window.jstiming.report(loadTimer, {}, 'https://gg.google.com/csi'); } JOT_insertAnalyticsCode(false); var maestroRunner = new gsites.pages.view.SitesMaestroRunner( webspace, "en"); maestroRunner.initListeners(); maestroRunner.installEditRender(); // JOT_postEvent('decorateGvizCharts'); sites.util.Plus.go('sites-chrome-main'); window.jstiming.load.tick('render');