Difference between revisions of "RC08Sensors"

From RoboJackets Wiki
Jump to navigation Jump to search
 
 
(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
*[ ] 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 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==
====Motor Controller Chip====
+
====IR Ball Sensor====
* The motor is spec'd at 12V and is 30W
+
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.
* A decent transient response (dead-time + switching time)
+
<br>
* 3-Channels in one package
+
=====Break-beam=====
* Braking is not a requirement but would be nice
+
{| style="text-align:center;" cellspacing ="1" cellpadding="0"
* High Impedance OFF state
+
|-
* Fault protection (overvoltage, overcurrent, fast response)
+
| style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Design'''
* Small package
+
| style="border:0.5px solid black; border-bottom=0px; background:white;" | IR LED and IR Transistor
* Ability to operate in the >20kHz range
+
|-
* Gate drive capability (either can directly driver the gate or is open drain.)
+
| style="border:0.5px solid black; border-bottom=0px; background:grey;" | '''Voltage'''
* Data sheet recommends a MOSFET
+
| style="border:0.5px solid black; border-bottom=0px; background:white;" | 3.3V
* [[RC08BLDCMotorDrivers | Matrix of Potential Drivers]]
+
|-
 +
| 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]]
  
====MOSFET====
 
* Depletion Mode
 
* Probably an NMOS and a PMOS
 
* The FETS have to be able to handle 10A drain current
 
* [[RC08MotorFETS | Matrix of Potential FETS]]
 
 
==Schematics==
 
==Schematics==
 
Schematics
 
Schematics
 
==Parts==
 
==Parts==
====DSC====
+
====IR Ball Sensor====
 +
=====Quick Specs=====
 +
=====Data Sheet=====
 +
====Encoders====
 
=====Quick Specs=====
 
=====Quick Specs=====
 
=====Data Sheet=====
 
=====Data Sheet=====
====FETS====
+
====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.

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