Difference between revisions of "RC08Sensors"

From RoboJackets Wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by 4 users not shown)
Line 2: Line 2:
  
 
====Ball Sensor====
 
====Ball Sensor====
The ball sensor operates by illuminating the ball with modulated IR light in a region just in front of the robot. Reflected light from the ball is then picked up the IR transistor. The output of that transistor is fed into a bandpass filter with a pass-band centered on the center frequency of the modulated light and a passband that includes reflected light that has been doppler-shifted. At the end of the band-pass stage the modulated signal is integrated and then fed to a schmitt trigger. The threshold of the schimtt trigger is adjustable via a pot. One of the issues with this system is setting the modulation frequency. In the environment the only interference should be from lighting at 60Hz, but there are concerns that there will be interference from flourescent lighting or even other teams, though the latter is unlikely.  
+
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
*[ ] Find an optimal resolution versus frequency
+
*[X] Deceide on an encoder scheme - Use the built-in encoders on the motors
*[ ] Select several parts and evaluate designs
 
 
*[ ] Write firmware to interface
 
*[ ] Write firmware to interface
 
*[ ] Integrate into velocity controller
 
*[ ] Integrate into velocity controller
  
 
====Accelerometers====
 
====Accelerometers====
*[ ] Search for a 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====
 
====IR Ball Sensor====
* The entire circuit needs to have adjustable sensitivity
+
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.
* The IR LED will illuminate the ball and the IR transistor will recieve the reflected signal
+
<br>
* The IR light needs to be modulated at a frequency of  
+
=====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]]
 
* [[RC08BLDCIRSensor | Matrix of Potential Ball Sensor Components]]
  
====Encoders====
+
 
* Need final specs from ME to get maximum encoding rate
 
* [[RC08Encoders | Matrix of Potential Encoders]]
 
  
 
====Accelerometers====
 
====Accelerometers====
 
* Still defining specification
 
* Still defining specification
 
* [[RC08Accelerometers | Matrix of Accelerometers]]
 
* [[RC08Accelerometers | Matrix of Accelerometers]]
 +
 
==Schematics==
 
==Schematics==
 
Schematics
 
Schematics
Line 51: 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.

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

Schematics

Schematics

Parts

IR Ball Sensor

Quick Specs
Data Sheet

Encoders

Quick Specs
Data Sheet

Accelerometers

Quick Specs
Data Sheet

Articles

Filter Design

Links