Wheels/ Microcontroller/Batteries Mecanum wheels- ordered  Servos ready to accept wheel axles  Shared Arduino Uno (mounted) with Navigation  Battery pack ready to mount (velcro) 
View full slide show




Example: Reliability Analysis A B C D Start Rank 1 2 3 4 5 E Fail Rank 2 1 3 5 4 1 bution2of battery lifetimes (lognormal) 3 Mean 20 4 Stdev 5 5 6 7 Simulation 8 Failure# Insert Battery Current time In Position 1 In Position 2 9 0 Battery A Battery B 10 1 Battery C 12.017 Battery A Battery C 11 2 Battery D 25.275 Battery D Battery C 12 3 Battery E 29.016 Battery D Battery E 13 4 (none) 52.542 Battery D (none) Decision Models -- Prof. Juran F Battery Battery A Battery B Battery C Battery D Battery E G Life 25.28 12.02 17.00 33.15 23.53 H Start Time 0.0 0.0 12.0 25.3 29.0 12.02 25.28 29.02 52.54 <---- Device Fails I Fail Time 25.3 12.0 29.0 58.4 52.5 16
View full slide show




A B C D Start Rank 1 2 3 4 5 E Fail Rank 2 1 4 3 5 F G H Battery Life Start Time =RANK(I2,$I$2:$I$6,1) Battery A 28.23 0.0 Battery B 26.41 0.0 Battery C 25.67 26.4 Battery D 22.52 28.2 Battery E 28.99 50.7 I Fail Time 28.2 26.4 52.1 50.7 79.7 J 1 istribution 2of battery lifetimes (lognormal) 3 Mean 20 4 Stdev 5 5 6 =F2 =F3 7 Simulation =VLOOKUP(F4,$B$10:$C$12,2,0) =H4+G4 8 Failure# Insert Battery Current time In Position 1 In Position 2 9 0 Battery A Battery B =F10 =(D10=F2)*(I3)+(E10=E9)*(I2) 10 1 Battery C 26.407 Battery A Battery C 26.41 =IF(MIN(I2:I3)=I3,$F$4,$F$3) 11 2 Battery D 28.229 =IF(MIN(I2:I3)=I2,$F$4,$F$2) Battery D Battery C 28.23 12 3 Battery E 50.750 Battery E Battery C 50.75 13 4 (none) 52.077 Battery E (none) 52.08 <---- Device Fails 14 =IF(((VLOOKUP(E12,$F$2:$I$6,4,0))<(VLOOKUP(D12,$F$2:$I$6,4,0))),(D12),(B13)) 15 16 =IF(((VLOOKUP(E12,$F$2:$I$6,4,0))<(VLOOKUP(D12,$F$2:$I$6,4,0))),(B13),(E12)) 17 18 =(E13=B13)*(VLOOKUP(E12,$F$2:$I$6,4,0))+(E13=E12)*(VLOOKUP(D12,$F$2:$I$6,4,0)) 19 Decision Models -- Prof. Juran 4
View full slide show




A B C D E 1 Start Rank Fail Rank stribution2of battery lifetimes (lognormal) 1 2 3 Mean 20 2 1 4 Stdev 5 3 3 5 4 5 6 5 4 7 Simulation 8 Failure# Insert Battery Current time In Position 1 In Position 2 9 0 Battery A Battery B 10 1 Battery C 12.017 Battery A Battery C 11 2 Battery D 25.275 Battery D Battery C 12 3 Battery E 29.016 Battery D Battery E 13 4 (none) 52.542 Battery D (none) Decision Models -- Prof. Juran F Battery Battery A Battery B Battery C Battery D Battery E G Life 25.28 12.02 17.00 33.15 23.53 H Start Time 0.0 0.0 12.0 25.3 29.0 12.02 25.28 29.02 52.54 <---- Device Fails I Fail Time 25.3 12.0 29.0 58.4 52.5 11
View full slide show




Flashlight example problem Start state: [closed(case), closed(top), inside(batteries), defective(batteries), ok(light), unbroken(case)] Goal conditions: [ok(batteries), ok(light), closed(case), closed(top)] pre replace_batteries disassemble_case post post assemble_case turn_over_case State after disassemble-case: [open(case), closed(top), inside(batteries), defective(batteries), ok(light), unbroken(case)] State after turn-over-case: [outside(batteries), open(case), closed(top), defective(batteries), ok(light), unbroken(case)] State after replace-batteries: [ok(batteries), inside(batteries), open(case), closed(top), ok(light), unbroken(case)] State after assemble-case: [closed(case), ok(batteries), inside(batteries), closed(top), ok(light), unbroken(case)]
View full slide show




Position Servos • Position servos are motors that are designed to rotate to a specified position and hold it • enable_servos(); – Activates all servo ports • disable_servos(); – De-activates all servo ports • set_servo_position(,); – Rotates servo in the specified port to the specified position – set_servo_position(2,123); • Sets the position for servo port 2 to 123 • If servos are enabled, the servo in port 2 rotates to position 123 – Position range is 0-255 – You can preset a servo’s position before enabling servos – Default position when servos are first enabled is 128 • get_servo_position() • • – Returns an int for the specified servo whose value is the current position for which the servo is set Note: Servos may run up against their stops at low or high position values. Giving a servo such a position command will suck power at an alarming rate! Note: Servos acting weird or not working is an indication the battery is low
View full slide show




Characteristics of Wheel Configuration Wheel Configuration Illustration Description Static unstable two-wheeled The front wheel allows controlling the orientation i.e. steering and the rear wheel drives the vehicle. Static stable two-wheeled If the center of mass is below the wheel axle, this type of wheel achieves stability. The desired speed is achieved by changing the speeds and directions of the wheels.   Differential drive with a castor wheel The center of gravity should be maintained within the triangle formed by the ground contact points of the wheels. Tri-cycle drive, front/rear steering and rear/front driving The drive wheels are at the rear of the robot. A differential allows the vehicle to avoid the mechanical destruction. Tri-cycle drive combined steering and driving. The front wheel is used for both driving and steering. The two wheels in the rear keep the stability of the robot.
View full slide show




Google Hits (Battery Related):             iPod battery good ~ 13.5 Mill iPod battery bad ~ 900 K iPod nano battery good ~ 3 Mill iPod nano battery bad ~ 785 K iPod shuffle battery good ~ 1.6 Mill iPod shuffle battery bad ~ 230 K iPod shuffle battery price good ~ 2.6 Mill (not a typo) iPod shuffle battery price bad ~ 230 K iPod battery price good ~ 13.5 Mill iPod battery price bad ~ 850 K iPod nano battery price good ~ 3 Mill iPod nano battery price bad ~ 785 K
View full slide show




Experimental Setup Setup • Mount laser assembly (LA) to the far side of the optics table (OT). Adjust the position so that the beam is parallel to the edge and along the tapped holes in the OT. • Mount a beam steering assembly (BSA) along the beam path at the next corner of the OT and insert a mirror mount. Adjust the height of the mirror mount until the beam intersects the center of the mirror. Rotate the post until the laser beam is reflected at a 90˚ angle. • Place a second BSA in line with the laser beam at the opposite corner of the OT. Adjust the mirror mount until the laser beam is parallel to the surface of the OT and rotated 90˚. • Insert a short focal length (25.4 mm) negative lens (LP3) into a lens chuck assembly and mount it five inches from the first BSA-I. Align the lens so that the diverging beam is centered on the mirror of the second BSA-I. • Insert a longer focal length (200mm) lens (LP2) into an LCA and place is 225 mm from the first lens in the diverging beam. Again, center the beam on the second mirror. • Rotate the second BSA such that the beam returns back through the two lenses just to either side of the laser output aperture. • Carefully adjust the position of the last lens by moving it back and forth along the beam until the returning beam is the same size as the output beam. • Mount a 50/50 beam splitter into a lens chuck assembly (LCA) and rotate the assembly 45˚ to the optical path. • Mount a BSA with its mirror centered about the path of the reflected beam five inches from the beam splitter. Adjust the mirror until its beam is directed back to the laser. • Mount a BSA on a stepper motor assembly with its mirror centered about the path of the transmitted beam. Adjust the mirror so that the beam is retroreflected back to the laser. • Mount an index card as an observation screen on the other side of the beam splitter. 2
View full slide show




Uploading Code • Connect the USB cable from your computer to the Arduino. • Choose Tools>Board>Arduino Uno to find your board in the Arduino menu. You can also find all boards through this menu, such as the Arduino MEGA 2560 and Arduino Leonardo. • Choose Tools>Port to select the correct serial port for your board. You find a list of all the available serial ports by choosing Tools>Serial Port> comX or /dev/tty.usbmodemXXXXX. X marks a sequentially or randomly assigned number. In Windows, if you have just connected your Arduino, the COM port will normally be the highest number, such as com 3 or com 15. Many devices can be listed on the COM port list, and if you plug in multiple Arduinos, each one will be assigned a new number. On Mac OS X, the • /dev/tty.usbmodem number will be randomly assigned and can vary in length, such as /dev/tty.usbmodem1421 or /dev/tty.usbmodem262471. Unless you have another Arduino connected, it should be the only one visible. • Click the Upload button. This is the button that points to the right in the Arduino environment. Laboratory for Perceptual Robotics – Department of Computer Science 4
View full slide show




In-Class Activity 1 • Read and work activity 6 in Chapter 2 of Parallax’s Robotics with the Board of Education Shield for Arduino. The activity makes reference to the “BOE Shield,” a piece of hardware designed by Parallax to interface with the Arduino. The shield contains a breadboard as well as a few switches and connectors that we don’t have, but not to worry. The Arduino programs and the information about the Parallax servos are correct for our setup. • Complete the assembly of your boe-bot chassis before beginning activity 6. The completed chassis should include both servos, the arduino, and the breadboard. For power, you can leave your robot tethered to the USB cable or use a battery pack.
View full slide show




NFS Mount Protocol  Establishes initial logical connection between server and client  Mount operation includes name of remote directory to be mounted and name of server machine storing it  Mount request is mapped to corresponding RPC and forwarded to mount server running on server machine  Export list – specifies local file systems that server exports for mounting, along with names of machines that are permitted to mount them  Following a mount request that conforms to its export list, the server returns a file handle—a key for further accesses  File handle – a file-system identifier, and an inode number to identify the mounted directory within the exported file system  The mount operation changes only the user’s view and does not affect the server side Operating System Concepts 11.45 Silberschatz, Galvin and Gagne ©2005
View full slide show




Wheels Mecanum wheels allow for multidirectional movement without turning  No reputable sources on difference in power consumption  Same force and velocity as standard wheel  Traction may be an issue in either case  Mecanum wheels remove issue of reorienting targeting system during line following 
View full slide show




Pins and axles • Many various kinds • Pin, friction pin, and long variants • Evil, super friction pin that looks very similar to the normal friction pin • Axles, come in various numbers of studs • Never bend axles! Axles holding wheels or gears should be closely supported on both sides
View full slide show




19-13  Scenario II: Excess Capacity The Battery Division of Wills Company makes a standard 12-volt battery. The division is currently producing 200,000 batteries. Full capacity for the Division is 300,000 batteries. The Division currently sells all batteries to outside companies for $60 each. The Vehicle Division offers to purchase 100,000 batteries for $45 each. Transfer price = Outlay cost + Opportunity cost $40 = $40 + $0 The offer of $45 per battery by the Vehicle Division will be accepted by the Battery Division. Each battery sold to the Vehicle Division will produce $5 in contribution to the Battery Division.
View full slide show




Position Servos • Plug-in order in the servo ports is black, red, yellow with black toward the left – Ports are 0-3 on XBC • • • • • • Enable Servos: enable_servos(); (activates all servo ports) Disable Servos: disable_servos(); (de-activates all servo ports) Set servo position: set_servo_position(2,127); (moves servo 2 to position 127, position range is 0-255) Get servo position: get_servo_position(2); (returns an int corresponding to the position at which that servo is set) Note: Servos may run up against their stops at low or high position values. Giving a servo such a position command will suck power at an alarming rate! Note: Servos acting weird or not working is an indication the battery is low
View full slide show




Arduino Uno – www.arduino.cc > Learning > Getting started Arduino programming language (https://www.arduino.cc/en/Reference/HomePage) structure, variables, functions Arduino Software IDE (https://www.arduino.cc/en/Main/Software) Libraries - New Cores - Foundations (https://www.arduino.cc/en/Tutorial/Foundations) Laboratory for Perceptual Robotics – Department of Computer Science 3
View full slide show




$3,900 Expected Profit (Correlation = -0.3) $3,850 6 $1,700 Std Dev of Profit (Correlation = -0.3) 10 $1,600 $3,800 9 $1,500 $3,750 5 $1,400 $3,700 $3,650 $1,300 Expected Profit 10 $1,200 $3,600 $1,100 6 $3,550 1 9 $3,500 $1,000 $900 $3,450 5 $3,400 1000 1200 Product 2 Ordered 900 1100 800 1000 900 700 1200 Product 1 Ordered Product 2 Ordered $3,900 $800 1000 1 1100 900 800 1000 900 Expected Profit (Correlation = -0.5) 700 Product 1 Ordered $1,700 Std Dev of Profit (Correlation = -0.5) $3,850 $1,600 10 $3,800 6 $1,500 $3,750 9 Std Dev of Profit $1,400 $3,700 5 $3,650 $1,300 Expected Profit 10 $1,200 $3,600 6 $3,550 $1,100 9 $1,000 $3,500 1 $3,450 $900 5 $3,400 Product 2 Ordered $800 1 1000 1200 900 1100 800 1000 900 700 1000 1200 Product 1 Ordered Product 2 Ordered 900 1100 800 1000 900 $3,900 Expected Profit (Correlation = -0.7) 700 Product 1 Ordered $1,700 Std Dev of Profit (Correlation = -0.7) $3,850 $1,600 $3,800 10 6 $1,500 $3,750 $1,400 $3,700 9 $3,650 5 $1,300 Expected Profit 10 $1,200 $3,600 6 9 $1,000 $3,500 $900 5 $3,450 $800 $3,400 1 1000 1200 Product 2 Ordered 900 1100 800 1000 900 700 Product 1 Ordered Decision Models -- Prof. Juran Std Dev of Profit $1,100 $3,550 1 Std Dev of Profit 1000 1200 Product 2 Ordered 900 1100 800 1000 900 700 Product 1 Ordered 35
View full slide show




Introduction to the new mainframe Storage areas in an address space z/OS V1R13 BAR Problem (user) programs Run here LINE CVT (offset 16 (hex10) within PSA) All storage above 2 GB This area is called high virtual storage and is addressable only by programs running in 64-bit mode. It is divided by the high virtual shared area, which is an area of installation-defined size that can be used to establish cross-address space viewable connections to obtained areas within this area. Extended areas above 16 MB This range of areas, which lies above the line (16 MB) but below the bar (2 GB), is a kind of “mirror image” of the common area below 16 MB. They have the same attributes as their equivalent areas below the line, but because of the additional storage above the line, their sizes are much larger. Nucleus This is a key 0, read-only area of common storage that contains operating system control programs. System queue area (SQA) (2048 MBs)This area contains system level (key 0) data accessed by multiple address spaces. The SQA area is not pageable (fixed), which means that it resides in central storage until it is freed by the requesting program. The size of the SQA area is predefined by the installation and cannot change while the operating system is active. Yet it has the unique ability to “overflow” into the CSA area as long as there is unused CSA storage that can be converted to SQA. Pageable link pack area (PLPA), fixed link pack area (FLPA), and modified link pack area (MLPA) This area contains the link pack areas (the pageable link pack area, fixed link pack area, and modified link pack area), which contain system level programs that are often run by multiple address spaces. For this reason, the link pack areas reside in the common area that is addressable by every address space, therefore eliminating the need for each address space to have its own copy of the program. This storage area is below the line and is therefore addressable by programs running in 24-bit mode. CSA This portion of common area storage (addressable by all address spaces) is available to all applications. The CSA is often used to contain data frequently accessed by multiple address spaces. The size of the CSA area is established at system initialization time (IPL) and cannot change while the operating system is active. LSQA/SWA/subpool 228/subpool 230 This assortment of subpools, each with specific attributes, is used primarily by system functions when the functions require address space level storage isolation. Being below the line, these areas are addressable by programs running in 24-bit mode. User Region This area is obtainable by any program running in the user’s address space, including user key programs. It resides below the line and is therefore addressable by programs running in 24-bit mode. System Region This small area (usually only four pages) is reserved for use by the region control task of each address space. Prefixed Save Area (PSA) This area is often referred to as “Low Core.” The PSA is a common area of virtual storage from address zero through 8191 in every address space. There is one unique PSA for every processor installed in a system. The PSA maps architecturally fixed hardware and software storage locations for the processor. Because there is a unique PSA for each processor, from the view of a program running on z/OS, the contents of the PSA can change any time the program is dispatched on a different processor. This feature is unique to the PSA area and is accomplished through a unique DAT manipulation technique called prefixing. © Copyright IBM Corp., 2010. All rights reserved. Page 42 of 85
View full slide show




Charging XBC v3 Batteries • • • • • • Charging is best accomplished using the XBC 13.5v 1000mA AC charger plugged into the XBC with the XBC turned off – If your Gameboy has functional batteries, you should turn it off, too! Yellow charging light flashes when battery pack is being rapidly charged Yellow charging light turns solid on when battery pack is 60% charged and indicates a slower, maintenance level charge To achieve a full charge, allow the XBC to charge for 3 hours The battery pack installed in your XBC is a 2000mAh 7.2V NiMH Pack The XBC will charge while it is on, but the times will be longer and vary depending on how the XBC is being used
View full slide show




Postconditions for the flashlight problem For replace_batteries: Delete [outside(batteries),defective(batteries)] and add [inside(batteries),ok(batteries)] For replace_light: Delete [defective(light)] and add [ok(light)] For disassemble_case: Delete [closed(case)] and add [open(case)] For assemble_case: Delete [open(case)] and add [closed(case)] For disassemble_top: Delete [closed(top)] and add [open(top)] For assemble_top: Delete [open(top)] and add [closed(top)] For turn_over_case: Delete [inside(batteries)] and add [outside(batteries)] For smash_case: Delete [unbroken(case),closed(case),closed(top),inside(batteries)] and add [broken(case),open(case),open(top),outside(batteries)]
View full slide show




Universal Waste Batteries • • • Universal Waste Batteries consist of: – Nickel-Cadmium batteries; – Metal hydride batteries; – Lead-acid batteries; – Silver oxide – Mercury oxide; – Lithium; – Zinc air; and – Zinc carbon. These batteries are commonly used in pagers, cell phones, cameras, and computers. Alkaline batteries (e.g., AA, AAA, C, etc.) are non-hazardous and may be thrown in regular trash BatteriesPlus provides recycling for spent batteries
View full slide show




The Typical BEST Robot Model  The robot can be driven either in Tank or in Arcade mode.  The joystick has four analog channels and four digital channels  The controller can drive Up to 10 motors and servos in analog mode Up to 4 servos in digital mode Can read up to 8 analog sensors (such as potentiometers) Can read up to 8 digital sensors (such as limit switches) Simulink library has an icon for each of the possible functions: to read the joystick, to drive motors and servos, and to read sensors.       Our next example robot will run in arcade driven by two motors; there will be two actuator motors, one with a limit switch and four servos  Analog joysticks to motors and digital sticks to servos September 10, 2016 Copyright © 2010 BEST Robotics, Inc. All rights reserved. 16
View full slide show




Balancing the Load  Bridge – – – Formula: W=500[LN+12N+36] W = the overall gross weight on any group of two or more consecutive axles to the nearest 500 pounds. L = the distance in feet between the outer axles of any group of two or more consecutive axles. N = the number of axles in the group under consideration. http://ops.fhwa.dot.gov/freight/sw/brdgcalc/calc_page.htm
View full slide show




7-31  Assigning Overhead to Products Baxter Battery Information SureStart SureStart 1. 1. Requires Requires no no new new design design resources. resources. 2. 2. 800,000 800,000 batteries batteries ordered ordered with with 4,000 4,000 separate separate orders. orders. 3. 3. Each Each SureStart SureStart requires requires 36 36 minutes minutes of of machine machine time time for for aa total total of of 480,000 480,000 machine-hours. machine-hours. LongLife LongLife 1. 1. Requires Requires new new design design resources. resources. 2. 2. 400,000 400,000 batteries batteries ordered ordered with with 6,000 6,000 separate separate orders. orders. 3. 3. 4,000 4,000 custom custom designs designs prepared. prepared. 4. 4. Each Each LongLife LongLife requires requires 48 48 minutes minutes of of machine machine time time for for aa total total of of 320,000 320,000 machine-hours. machine-hours.
View full slide show