Difference between revisions of "RC08Sensors"
(20 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
The 2007 robots had no on-board sensing and while using the camera to do most of the sensing worked the process is improved by adding sensor to the robots themselves. There are three new sensors for the robots in 2008: an IR LED ball sensor array, an encoder, and an accelerometer. | The 2007 robots had no on-board sensing and while using the camera to do most of the sensing worked the process is improved by adding sensor to the robots themselves. There are three new sensors for the robots in 2008: an IR LED ball sensor array, an encoder, and an accelerometer. | ||
+ | ====Ball Sensor==== | ||
+ | Ball handling is just as important in robot soccer as it is in the real thing. The best soccer players are known for their fancy footwork and hopefully ours will be too! As such, a big goal for the 2008 team is to increase the ball handling skills of the robots. The electrical team's contribution to this goal is the IR (infra-red) ball detection system which detects if a ball is in-front of the robot and both activates the dribbler and notifies the host when there is. | ||
+ | |||
+ | ====Encoders & Accelerometers==== | ||
+ | Besides being excellent ball handlers robot soccer players need to be agile and highly manuverable while being precise in those movements. In order to increase the precision of the robots movement a closed-loop wheel velocity controller is used in the 2008 system to implement a velocity control mechanism to reduce transient error in wheel velocity and maintain steady-state wheel velocities. Most of this mechanism resides in software in the form of either a PID loop, a state feedback controller, or a state estimator (only if we are going to use a mouse see discussion tab). The physical components of this system are wheel encoders and the accelerometer. | ||
+ | <br> | ||
+ | <br> | ||
+ | On each wheel there are a pair of sensors that use some method (not fully spec'd) to discretize the rotation of each wheel. This discritization can be used to calculate the wheels velocity. With that information four software based feedback controllers can be used to decrease transient and steady state error due to the motors and the carpet. As another level of controller accelerometers are used to get acceleration which is integrated back to velocity. This information is fed into another controller strictly for velocity control of the robot and not the wheels. If the accelerometers are not used then the feedback controller for velocity is done using the vision system. | ||
==Tasks== | ==Tasks== | ||
====IR LED Ball sensor==== | ====IR LED Ball sensor==== | ||
− | *[ ] Find an IR LED and a IR transistor | + | *[X] Find an IR LED and a IR transistor - See part Matrix |
− | *[ ] Design the bandwidth filter and the Schmitt trigger circuits | + | *[X] Design the bandwidth filter and the Schmitt trigger circuits - considering not using |
*[ ] Build and test | *[ ] Build and test | ||
− | **[ ] Create a test-stand to test and verify ball sensor array performance | + | **[X] Create a test-stand to test and verify ball sensor array performance |
**[ ] Build a prototype ball sensor system | **[ ] Build a prototype ball sensor system | ||
+ | **[ ] Write code to interface with AD, read values, and make decisions | ||
+ | *[ ] Design 1st revision board. | ||
+ | **[ ] Debug | ||
+ | **[ ] Software calibration routine | ||
+ | |||
====Encoders==== | ====Encoders==== | ||
− | *[ ] Get final speed and wheel specs from ME team | + | *[X] Get final speed and wheel specs from ME team - 5:1 Gear ration |
− | *[ ] | + | *[X] Deceide on an encoder scheme - Use the built-in encoders on the motors |
− | |||
*[ ] Write firmware to interface | *[ ] Write firmware to interface | ||
*[ ] Integrate into velocity controller | *[ ] Integrate into velocity controller | ||
====Accelerometers==== | ====Accelerometers==== | ||
− | *[ ] Search for cheap part | + | *[ ] Search for a cheap part |
*[ ] Write firmware to interface | *[ ] Write firmware to interface | ||
*[ ] Integrate into velocity controller | *[ ] Integrate into velocity controller | ||
==Specifications== | ==Specifications== | ||
− | ==== | + | ====IR Ball Sensor==== |
− | + | In order to be effective ball handlers the robots must be able to postion themselves relative to the ball for kicking and dribbling. In 2007 this was accomplished entirely using the camera and the off-field controller, but problems with the accuracy of locating the ball proved that a more robust solution was needed. In 2008 it was proposed that the tasks of detecting the ball's location relative to the robot and aligning the robot to the ball would be moved from the off-field controller to the robots, In order to achieve this goal the electrical team will design a two part system for ball sensing: a breakbeam placed in front of the dribbler, and an LED array for detecting the ball's location relative to the robot's x axis. Both the breakbeam and LED array will operate in the IR band and will be offset in wavelength so as to avoid cross-talk. The break-beam will be built using discrete parts and the LED will be designed as an expansion board for the main robot controller. The LED array will take advantage of the extra IO pins available on the both the FPGA and the LPC. Below are the design requirements for both. | |
− | + | <br> | |
− | + | =====Break-beam===== | |
− | + | {| style="text-align:center;" cellspacing ="1" cellpadding="0" | |
− | * | + | |- |
− | + | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Design''' | |
− | + | | style="border:0.5px solid black; border-bottom=0px; background:white;" | IR LED and IR Transistor | |
− | + | |- | |
− | + | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Voltage''' | |
− | * | + | | style="border:0.5px solid black; border-bottom=0px; background:white;" | 3.3V |
− | * [[ | + | |- |
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Current''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | 25-50mA | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Wavelength''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | Different from LED array | ||
+ | |} | ||
+ | |||
+ | =====LED-Array===== | ||
+ | {| style="text-align:center;" cellspacing ="1" cellpadding="2" | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Design''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | Array of 8 LEDs and transistors. | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Voltage''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | 3.3V | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Current''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | 250-400mA | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Wavelength''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | Different from break-beam | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Protocol''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | SPI | ||
+ | |- | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Size''' | ||
+ | | style="border:0.5px solid black; border-bottom=0px; background:white;" | ? | ||
+ | |} | ||
+ | * [[RC08BLDCIRSensor | Matrix of Potential Ball Sensor Components]] | ||
+ | |||
+ | |||
+ | |||
+ | ====Accelerometers==== | ||
+ | * Still defining specification | ||
+ | * [[RC08Accelerometers | Matrix of Accelerometers]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==Schematics== | ==Schematics== | ||
Schematics | Schematics | ||
==Parts== | ==Parts== | ||
− | ==== | + | ====IR Ball Sensor==== |
+ | =====Quick Specs===== | ||
+ | =====Data Sheet===== | ||
+ | ====Encoders==== | ||
=====Quick Specs===== | =====Quick Specs===== | ||
=====Data Sheet===== | =====Data Sheet===== | ||
− | ==== | + | ====Accelerometers==== |
=====Quick Specs===== | =====Quick Specs===== | ||
=====Data Sheet===== | =====Data Sheet===== | ||
Line 50: | Line 95: | ||
==Articles== | ==Articles== | ||
− | + | ===Filter Design=== | |
+ | *[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in Thirty Seconds] | ||
+ | *[http://focus.ti.com/lit/an/sloa096/sloa096.pdf Filter Design on a Budget] | ||
==Links== | ==Links== | ||
<br> | <br> | ||
*[[RoboCupElectrical|Electrical System]] | *[[RoboCupElectrical|Electrical System]] | ||
+ | |||
+ | [[Category: RC Electrical]] | ||
+ | |||
+ | [[Category:2007-2008]] |
Latest revision as of 20:02, 24 May 2020
The 2007 robots had no on-board sensing and while using the camera to do most of the sensing worked the process is improved by adding sensor to the robots themselves. There are three new sensors for the robots in 2008: an IR LED ball sensor array, an encoder, and an accelerometer.
Contents
Ball Sensor
Ball handling is just as important in robot soccer as it is in the real thing. The best soccer players are known for their fancy footwork and hopefully ours will be too! As such, a big goal for the 2008 team is to increase the ball handling skills of the robots. The electrical team's contribution to this goal is the IR (infra-red) ball detection system which detects if a ball is in-front of the robot and both activates the dribbler and notifies the host when there is.
Encoders & Accelerometers
Besides being excellent ball handlers robot soccer players need to be agile and highly manuverable while being precise in those movements. In order to increase the precision of the robots movement a closed-loop wheel velocity controller is used in the 2008 system to implement a velocity control mechanism to reduce transient error in wheel velocity and maintain steady-state wheel velocities. Most of this mechanism resides in software in the form of either a PID loop, a state feedback controller, or a state estimator (only if we are going to use a mouse see discussion tab). The physical components of this system are wheel encoders and the accelerometer.
On each wheel there are a pair of sensors that use some method (not fully spec'd) to discretize the rotation of each wheel. This discritization can be used to calculate the wheels velocity. With that information four software based feedback controllers can be used to decrease transient and steady state error due to the motors and the carpet. As another level of controller accelerometers are used to get acceleration which is integrated back to velocity. This information is fed into another controller strictly for velocity control of the robot and not the wheels. If the accelerometers are not used then the feedback controller for velocity is done using the vision system.
Tasks
IR LED Ball sensor
- [X] Find an IR LED and a IR transistor - See part Matrix
- [X] Design the bandwidth filter and the Schmitt trigger circuits - considering not using
- [ ] Build and test
- [X] Create a test-stand to test and verify ball sensor array performance
- [ ] Build a prototype ball sensor system
- [ ] Write code to interface with AD, read values, and make decisions
- [ ] Design 1st revision board.
- [ ] Debug
- [ ] Software calibration routine
Encoders
- [X] Get final speed and wheel specs from ME team - 5:1 Gear ration
- [X] Deceide on an encoder scheme - Use the built-in encoders on the motors
- [ ] Write firmware to interface
- [ ] Integrate into velocity controller
Accelerometers
- [ ] Search for a cheap part
- [ ] Write firmware to interface
- [ ] Integrate into velocity controller
Specifications
IR Ball Sensor
In order to be effective ball handlers the robots must be able to postion themselves relative to the ball for kicking and dribbling. In 2007 this was accomplished entirely using the camera and the off-field controller, but problems with the accuracy of locating the ball proved that a more robust solution was needed. In 2008 it was proposed that the tasks of detecting the ball's location relative to the robot and aligning the robot to the ball would be moved from the off-field controller to the robots, In order to achieve this goal the electrical team will design a two part system for ball sensing: a breakbeam placed in front of the dribbler, and an LED array for detecting the ball's location relative to the robot's x axis. Both the breakbeam and LED array will operate in the IR band and will be offset in wavelength so as to avoid cross-talk. The break-beam will be built using discrete parts and the LED will be designed as an expansion board for the main robot controller. The LED array will take advantage of the extra IO pins available on the both the FPGA and the LPC. Below are the design requirements for both.
Break-beam
Design | IR LED and IR Transistor |
Voltage | 3.3V |
Current | 25-50mA |
Wavelength | Different from LED array |
LED-Array
Design | Array of 8 LEDs and transistors. |
Voltage | 3.3V |
Current | 250-400mA |
Wavelength | Different from break-beam |
Protocol | SPI |
Size | ? |
Accelerometers
- Still defining specification
- Matrix of Accelerometers
Schematics
Schematics
Parts
IR Ball Sensor
Quick Specs
Data Sheet
Encoders
Quick Specs
Data Sheet
Accelerometers
Quick Specs
Data Sheet
Articles
Filter Design
Links