Differences
This shows you the differences between two versions of the page.
beobot_2.0_electrical_system_sensors [2013/01/28 18:42] kai created |
beobot_2.0_electrical_system_sensors [2013/01/28 19:00] (current) kai [Laser Range Finder (LRF)] |
||
---|---|---|---|
Line 2: | Line 2: | ||
- | == Cameras == | + | ===== Cameras ===== |
- | Since we are primarily a vision robotics research group, selection of a camera (and the corresponding lens) is very critical. In addition, our system is also trying to emulate human vision. Thus, we also have to keep in mind what kind of stimulus is available to human vision system. The problem that we encounter is that '''a single regular camera may not be enough''': 60 degree horizontal field of view, and for our 1/4" CCD camera 117cm above the ground (current Beobot2.0 configuration), cannot see the view below, i.e. what's on the ground, 4 feet and closer. | + | Since we are primarily a vision robotics research group, selection of a camera (and the corresponding lens) is very critical. In addition, our system is also trying to emulate human vision. Thus, we also have to keep in mind what kind of stimulus is available to human vision system. The problem that we encounter is that **a single regular camera may not be enough**: 60 degree horizontal field of view, and for our 1/4" CCD camera 117cm above the ground (current Beobot2.0 configuration), cannot see the view below, i.e. what's on the ground, 4 feet and closer. |
FIXXX: field of view of a single camera vs whole half hemispheric view | FIXXX: field of view of a single camera vs whole half hemispheric view | ||
- | Just as a comparison, humans use 2 cameras (eye) with 120 degree visibility that overlaps in the middle 60 degrees. Humans also have problems seeing their feet. However, there is also temporal context (short term memory) that comes into play with the '''ability to move their eyes as well as bodies'''. | + | Just as a comparison, humans use 2 cameras (eye) with 120 degree visibility that overlaps in the middle 60 degrees. Humans also have problems seeing their feet. However, there is also temporal context (short term memory) that comes into play with the **ability to move their eyes as well as bodies**. |
FIXXX: picture of human eyes setup | FIXXX: picture of human eyes setup | ||
- | ===Factors=== | + | ==== Factors ==== |
The factors to consider are listed below. Here, we believe, the most important one is the effective views that can be processed: | The factors to consider are listed below. Here, we believe, the most important one is the effective views that can be processed: | ||
- | * '''View''': pertains to what the robot can see from the camera at any one time. | + | * **View**: pertains to what the robot can see from the camera at any one time. |
- | * '''Resolution''': in order to recognize an object in the image, we need enough details to make it up | + | * **Resolution**: in order to recognize an object in the image, we need enough details to make it up |
- | * '''Latency''': pertains to the time delay between when the picture is snapped and the time the image is available to be processed. We find that Firewire cameras, interfaced through a Firewire - PCI Express card (purchased from [http://www.unibrain.com/ UniBrain]) provides us the lowest latency. | + | * **Latency**: pertains to the time delay between when the picture is snapped and the time the image is available to be processed. We find that Firewire cameras, interfaced through a Firewire - PCI Express card (purchased from [[http://www.unibrain.com/|UniBrain]]) provides us the lowest latency. |
- | [[Image:Fire-i DC1.jpg|100px]] | + | {{:fire-i.jpg?200|}} |
- | [[Image:FireBoardBlue_e1a.jpg|100px]] | + | {{:fireboardblue_e1a.jpg?200|}} |
- | * High dynamic range | + | |
- | * Auto white balance gain control. | + | |
+ | * High dynamic range | ||
+ | * Auto white balance gain control. | ||
- | ===Tasks=== | + | |
+ | ==== Tasks ==== | ||
We also have think about what kind of tasks that we would like to give the robot: | We also have think about what kind of tasks that we would like to give the robot: | ||
- | * '''Object/landmark recognition'''. This requires rectified images so that the lines are straight. | + | * **Object/landmark recognition**. This requires rectified images so that the lines are straight. |
- | * road recognition. The camera needs to look down low enough to see the ground. | + | * road recognition. The camera needs to look down low enough to see the ground. |
- | * Gist or general scene recognition which requires a wider view, preferably 180 degrees. | + | * Gist or general scene recognition which requires a wider view, preferably 180 degrees. |
- | ===Hardware Features=== | + | ==== Hardware Features ==== |
There are many hardware options that are available. Here the parts that can be modified are: | There are many hardware options that are available. Here the parts that can be modified are: | ||
- | *'''Cameras''': dictates latency, resolution, gain control, etc. Also make sure the available corresponding lens options include the ones that fulfill our design. | + | * **Cameras**: dictates latency, resolution, gain control, etc. Also make sure the available corresponding lens options include the ones that fulfill our design. |
- | * '''lens''': By using wider (120/180 degrees) or omni-directional lens (hemisphere), the robot can observe more of its surrounding views. | + | * **lens**: By using wider (120/180 degrees) or omni-directional lens (hemisphere), the robot can observe more of its surrounding views. |
+ | <code> | ||
* Distorted images; have to consider cost of image rectification processing or just deal with it. | * Distorted images; have to consider cost of image rectification processing or just deal with it. | ||
- | * Lenses can be quite costly. | + | * Lenses can be quite costly.</code> |
- | * '''number of cameras''': by simultaneously taking pictures from multiple angles, we can provide the robot with wider views. The setup can be just 2 cameras, or may requires a rig. | + | * **number of cameras**: by simultaneously taking pictures from multiple angles, we can provide the robot with wider views. The setup can be just 2 cameras, or may requires a rig. |
+ | <code> | ||
* Synchronization using cable locking. | * Synchronization using cable locking. | ||
* Undistorted images. | * Undistorted images. | ||
Line 44: | Line 47: | ||
* Need to consider network throughput. | * Need to consider network throughput. | ||
* Also, need to combine the individual image processes. | * Also, need to combine the individual image processes. | ||
- | * Still needs to expand the vertical views (to see the road). | + | * Still needs to expand the vertical views (to see the road).</code> |
- | * '''motorized pan/tilt''': for example, servo controllers for pan-tilt control: [http://lynxmotion.com lyxmotion]. Orbit is also another option. | + | * **motorized pan/tilt**: for example, servo controllers for pan-tilt control: [[http://lynxmotion.com|lyxmotion]]. Orbit is also another option. |
+ | <code> | ||
* Need Pan/tilt control algorithm | * Need Pan/tilt control algorithm | ||
* Small view at one time: need to stitch images from different time steps. | * Small view at one time: need to stitch images from different time steps. | ||
* Cheap options, cheaper than buying expensive lenses or multiple cameras. | * Cheap options, cheaper than buying expensive lenses or multiple cameras. | ||
- | * Swiveling may induce blurring in fast movements. | + | * Swiveling may induce blurring in fast movements.</code> |
- | ===Options=== | + | ==== Options ==== |
- | * Single camera with 120 degree wide angle lens or 180 degree or omni-directional fisheye lens. | + | * Single camera with 120 degree wide angle lens or 180 degree or omni-directional fisheye lens. |
- | * Pair of 120 degree wide angle cameras. | + | * Pair of 120 degree wide angle cameras. |
- | * 5 cameras in circular configuration spaced every 45 degrees. | + | * 5 cameras in circular configuration spaced every 45 degrees. |
- | * Pan/tilt cameras. | + | * Pan/tilt cameras. |
- | * '''3D cameras''' about to come out around Summer 2010. | + | * **3D cameras** about to come out around Summer 2010. |
Related Notes: | Related Notes: | ||
- | * Multiple cameras is not a problem if each camera is processed locally in the computer that it connects to in Beobot2.0 | + | * Multiple cameras is not a problem if each camera is processed locally in the computer that it connects to in Beobot2.0 |
- | * A system may use different number of cameras for training vs. testing | + | * A system may use different number of cameras for training vs. testing |
- | ==Laser Range Finder (LRF)== | + | ===== Laser Range Finder (LRF) ===== |
- | [[Image:List utm.gif]] | + | {{:hokuyo.gif?200|}} |
[[Laser Range Finder]] UTM-30LX from from Hokuyo | [[Laser Range Finder]] UTM-30LX from from Hokuyo | ||
- | == Sonar Array == | + | ===== Sonar Array ===== |
- | [[Image:Centibots-06-03-06.jpg|200px]] | + | {{:sonar.jpg?200|}} |
+ | Mini-S Series Sensor form [[http://www.senscomp.com/minis.htm|SensComp]] $68.50 each. | ||
+ | This sonar is used by [[http://www.ai.sri.com/centibots/tech_design/building-robots.html|Sri robot]] | ||
- | Mini-S Series Sensor form [http://www.senscomp.com/minis.htm SensComp] $68.50 each. | ||
- | This sonar is used by [http://www.ai.sri.com/centibots/tech_design/building-robots.html Sri robot] | ||
+ | ===== Global Positioning System (GPS) ===== | ||
+ | [[http://www.sparkfun.com/commerce/images/products/EM408-01-L.jpg|http://www.sparkfun.com/commerce/images/products/EM408-01-L_i_ma.jpg]] | ||
- | == Global Positioning System (GPS) == | + | EM-408 [[GPS]] from [[http://www.sparkfun.com/commerce/product_info.php?products_id=8234|SparkFun]] $64.95 each. |
- | [http://www.sparkfun.com/commerce/images/products/EM408-01-L.jpg http://www.sparkfun.com/commerce/images/products/EM408-01-L_i_ma.jpg] | + | |
- | + | ||
- | EM-408 [[GPS]] from [http://www.sparkfun.com/commerce/product_info.php?products_id=8234 SparkFun] $64.95 each. | + | |
20 Channel EM-408 SiRF III Receiver with Antenna/MMCX | 20 Channel EM-408 SiRF III Receiver with Antenna/MMCX | ||
- | == Compass == | + | ===== Compass ===== |
- | [http://www.sparkfun.com/commerce/images/products/PNI-Eval-Board-Loaded.jpg http://www.sparkfun.com/commerce/images/products/PNI-Eval-Board-Loaded_i_ma.jpg] | + | [[http://www.sparkfun.com/commerce/images/products/PNI-Eval-Board-Loaded.jpg| http://www.sparkfun.com/commerce/images/products/PNI-Eval-Board-Loaded_i_ma.jpg]] |
- | SEN-00418 MicroMag 3-Axis Magnetometer Kit from [http://www.sparkfun.com/commerce/product_info.php?products_id=418 SparkFun] $239.90 each | + | SEN-00418 MicroMag 3-Axis Magnetometer Kit from [[http://www.sparkfun.com/commerce/product_info.php?products_id=418|SparkFun]] $239.90 each |
- | == Inertial Measurement Unit (IMU)/Vibration/Accelerometers == | + | ===== Inertial Measurement Unit (IMU)/Vibration/Accelerometers ===== |
- | [http://www.microstrain.com/images/product/3dm-gx2.jpg http://www.microstrain.com/images/product/3dm-gx2.jpg] | + | [[http://www.microstrain.com/images/product/3dm-gx2.jpg|http://www.microstrain.com/images/product/3dm-gx2.jpg]] |
- | We selected 3DM-GX2 IMU from [http://www.microstrain.com/3dm-gx2.aspx MicroStrain] which is $1695.00 each. | + | We selected 3DM-GX2 IMU from [[http://www.microstrain.com/3dm-gx2.aspx|MicroStrain]] which is $1695.00 each. |
Notes for integrating the MicroStrain 3DM-GX2 IMU with the Beobot2.0 can be found [[Beobot_2.0/Electrical_System/IMU_MicroStrain_3DM_GX2|here]]. | Notes for integrating the MicroStrain 3DM-GX2 IMU with the Beobot2.0 can be found [[Beobot_2.0/Electrical_System/IMU_MicroStrain_3DM_GX2|here]]. | ||
Line 100: | Line 103: | ||
A more affordable option: | A more affordable option: | ||
- | [http://www.sparkfun.com/commerce/images/products/08454-03-L.jpg http://www.sparkfun.com/commerce/images/products/08454-03-L_i_ma.jpg] | + | [[http://www.sparkfun.com/commerce/images/products/08454-03-L.jpg|http://www.sparkfun.com/commerce/images/products/08454-03-L_i_ma.jpg]] |
- | SEN-08454 IMU 6 Degrees of Freedom - v4 with Bluetooth from [http://www.sparkfun.com/commerce/product_info.php?products_id=8454 SparkFun] $449.95 each. | + | SEN-08454 IMU 6 Degrees of Freedom - v4 with Bluetooth from [[http://www.sparkfun.com/commerce/product_info.php?products_id=8454|SparkFun]] $449.95 each. |
- | ==Encoders for Odometry== | + | ===== Encoders for Odometry ===== |
- | [[Image:HEDM-5500-B06.JPG|200 px|Encoder HEDM-5500]] | + | These are the sensors that are furnished in Beobot2.0: |
- | Encoder HEDM-5500#B06 from [http://www.avagotech.com/pages/en/motion_control_solutions/incremental_encoders/housed_mid_size/ Avago Encoder ]. The encoder turns out to have 22:1, 22 shaft rotation to turn the wheel a single rotation. | + | |
+ | ===== Cameras ===== | ||
+ | Since we are primarily a vision robotics research group, selection of a camera (and the corresponding lens) is very critical. In addition, our system is also trying to emulate human vision. Thus, we also have to keep in mind what kind of stimulus is available to human vision system. The problem that we encounter is that **a single regular camera may not be enough**: 60 degree horizontal field of view, and for our 1/4" CCD camera 117cm above the ground (current Beobot2.0 configuration), cannot see the view below, i.e. what's on the ground, 4 feet and closer. | ||
+ | |||
+ | FIXXX: field of view of a single camera vs whole half hemispheric view | ||
+ | |||
+ | Just as a comparison, humans use 2 cameras (eye) with 120 degree visibility that overlaps in the middle 60 degrees. Humans also have problems seeing their feet. However, there is also temporal context (short term memory) that comes into play with the **ability to move their eyes as well as bodies**. | ||
+ | |||
+ | FIXXX: picture of human eyes setup | ||
+ | |||
+ | |||
+ | ==== Factors ==== | ||
+ | The factors to consider are listed below. Here, we believe, the most important one is the effective views that can be processed: | ||
+ | * **View**: pertains to what the robot can see from the camera at any one time. | ||
+ | * **Resolution**: in order to recognize an object in the image, we need enough details to make it up | ||
+ | * **Latency**: pertains to the time delay between when the picture is snapped and the time the image is available to be processed. We find that Firewire cameras, interfaced through a Firewire - PCI Express card (purchased from [[http://www.unibrain.com/|UniBrain]]) provides us the lowest latency. | ||
+ | |||
+ | {{:fire-i.jpg?200|}} | ||
+ | {{:fireboardblue_e1a.jpg?200|}} | ||
+ | * High dynamic range | ||
+ | * Auto white balance gain control. | ||
+ | |||
+ | |||
+ | ==== Tasks ==== | ||
+ | We also have think about what kind of tasks that we would like to give the robot: | ||
+ | * **Object/landmark recognition**. This requires rectified images so that the lines are straight. | ||
+ | * road recognition. The camera needs to look down low enough to see the ground. | ||
+ | * Gist or general scene recognition which requires a wider view, preferably 180 degrees. | ||
+ | |||
+ | |||
+ | ==== Hardware Features ==== | ||
+ | There are many hardware options that are available. Here the parts that can be modified are: | ||
+ | * **Cameras**: dictates latency, resolution, gain control, etc. Also make sure the available corresponding lens options include the ones that fulfill our design. | ||
+ | |||
+ | * **lens**: By using wider (120/180 degrees) or omni-directional lens (hemisphere), the robot can observe more of its surrounding views. | ||
+ | <code> | ||
+ | * Distorted images; have to consider cost of image rectification processing or just deal with it. | ||
+ | * Lenses can be quite costly.</code> | ||
+ | |||
+ | * **number of cameras**: by simultaneously taking pictures from multiple angles, we can provide the robot with wider views. The setup can be just 2 cameras, or may requires a rig. | ||
+ | <code> | ||
+ | * Synchronization using cable locking. | ||
+ | * Undistorted images. | ||
+ | * Multiple cameras are somewhat cheaper than buying specialized lens. | ||
+ | * Need to consider network throughput. | ||
+ | * Also, need to combine the individual image processes. | ||
+ | * Still needs to expand the vertical views (to see the road).</code> | ||
+ | |||
+ | * **motorized pan/tilt**: for example, servo controllers for pan-tilt control: [[http://lynxmotion.com|lyxmotion]]. Orbit is also another option. | ||
+ | <code> | ||
+ | * Need Pan/tilt control algorithm | ||
+ | * Small view at one time: need to stitch images from different time steps. | ||
+ | * Cheap options, cheaper than buying expensive lenses or multiple cameras. | ||
+ | * Swiveling may induce blurring in fast movements.</code> | ||
+ | |||
+ | |||
+ | ==== Options ==== | ||
+ | * Single camera with 120 degree wide angle lens or 180 degree or omni-directional fisheye lens. | ||
+ | * Pair of 120 degree wide angle cameras. | ||
+ | * 5 cameras in circular configuration spaced every 45 degrees. | ||
+ | * Pan/tilt cameras. | ||
+ | * **3D cameras** about to come out around Summer 2010. | ||
+ | |||
+ | Related Notes: | ||
+ | * Multiple cameras is not a problem if each camera is processed locally in the computer that it connects to in Beobot2.0 | ||
+ | * A system may use different number of cameras for training vs. testing | ||
+ | |||
+ | |||
+ | ===== Laser Range Finder (LRF) ===== | ||
+ | [[Image:List utm.gif]] | ||
+ | |||
+ | [[Laser Range Finder]] UTM-30LX from from Hokuyo | ||
+ | |||
+ | |||
+ | ===== Sonar Array ===== | ||
+ | {{:sonar.jpg?200|}} | ||
+ | Mini-S Series Sensor form [[http://www.senscomp.com/minis.htm|SensComp]] $68.50 each. | ||
+ | This sonar is used by [[http://www.ai.sri.com/centibots/tech_design/building-robots.html|Sri robot]] | ||
+ | |||
+ | |||
+ | ===== Global Positioning System (GPS) ===== | ||
+ | {{:em408-01-l.jpg?200|}} | ||
+ | EM-408 [[GPS]] from [[http://www.sparkfun.com/commerce/product_info.php?products_id=8234|SparkFun]] $64.95 each. | ||
+ | 20 Channel EM-408 SiRF III Receiver with Antenna/MMCX | ||
+ | |||
+ | |||
+ | ===== Compass ===== | ||
+ | {{:compass.jpg?200|}} | ||
+ | SEN-00418 MicroMag 3-Axis Magnetometer Kit from [[http://www.sparkfun.com/commerce/product_info.php?products_id=418|SparkFun]] $239.90 each | ||
+ | |||
+ | |||
+ | ===== Inertial Measurement Unit (IMU)/Vibration/Accelerometers ===== | ||
+ | {{:imu-3dm-gx2.jpg?200|}} | ||
+ | |||
+ | We selected 3DM-GX2 IMU from [[http://www.microstrain.com/3dm-gx2.aspx|MicroStrain]] which is $1695.00 each. | ||
+ | Notes for integrating the MicroStrain 3DM-GX2 IMU with the Beobot2.0 can be found [[Beobot_2.0/Electrical_System/IMU_MicroStrain_3DM_GX2|here]]. | ||
+ | |||
+ | |||
+ | A more affordable option: | ||
+ | |||
+ | [[http://www.sparkfun.com/commerce/images/products/08454-03-L.jpg|http://www.sparkfun.com/commerce/images/products/08454-03-L_i_ma.jpg]] | ||
+ | |||
+ | SEN-08454 IMU 6 Degrees of Freedom - v4 with Bluetooth from [[http://www.sparkfun.com/commerce/product_info.php?products_id=8454|SparkFun]] $449.95 each. | ||
+ | |||
+ | ===== Encoders for Odometry ===== | ||
+ | |||
+ | |||
+ | {{:encoder.jpg?200|}} | ||
+ | Encoder HEDM-5500#B06 from [[http://www.avagotech.com/pages/en/motion_control_solutions/incremental_encoders/housed_mid_size/|Avago Encoder ]]. The encoder turns out to have 22:1, 22 shaft rotation to turn the wheel a single rotation. | ||
92 miles per overflow. | 92 miles per overflow. | ||
- | ==Others Not Yet Selected== | + | ===== Others Not Yet Selected ===== |
- | * Microphone | + | * Microphone |
- | * Tactile Sensor: Bump Sensor | + | * Tactile Sensor: Bump Sensor |
- | * Smell sensor | + | * Smell sensor |
Line 120: | Line 231: | ||
[[Beobot_2.0/Electrical_System| back]] | [[Beobot_2.0/Electrical_System| back]] | ||
[[Category:beobot]] | [[Category:beobot]] | ||
+ | |||
+ | |||
+ | {{:encoder.jpg?200|}} | ||
+ | Encoder HEDM-5500#B06 from [[http://www.avagotech.com/pages/en/motion_control_solutions/incremental_encoders/housed_mid_size/|Avago Encoder ]]. The encoder turns out to have 22:1, 22 shaft rotation to turn the wheel a single rotation. | ||
+ | 92 miles per overflow. | ||
+ | |||
+ | ===== Others Not Yet Selected ===== | ||
+ | * Microphone | ||
+ | * Tactile Sensor: Bump Sensor | ||
+ | * Smell sensor | ||
+ | |||
+ | |||
+ | |||
+ | [[Beobot_2.0/Electrical_System| back]] | ||
+ | [[Category:beobot]] | ||
+ | |||