420 likes | 662 Vues
ACSES Actuation Control for Self-Aware Embedded Systems. Duo Liu David Omoto. Overview. Introduction to sensor networks and embedded systems Mobilization of Sensor Nodes ACSES Hardware Components Software Algorithms Implementation & Testing Conclusion. Embedded Systems.
E N D
ACSESActuation Control for Self-Aware Embedded Systems Duo Liu David Omoto
Overview • Introduction to sensor networks and embedded systems • Mobilization of Sensor Nodes • ACSES • Hardware Components • Software Algorithms • Implementation & Testing • Conclusion
Embedded Systems • A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In some cases, embedded systems are part of a larger system or product. • Examples: Microwave ovens, cell phones, calculators, digital watches, VCRs, cruise missiles, GPS receivers, heart monitors, laser printers, radar guns, engine controllers, digital cameras, traffic lights, remote controls, bread machines, fax machines, pagers, cash registers, treadmills, gas pumps, credit/debit card readers, thermostats, pacemakers, blood gas monitors, grain analyzers, etc. • In contrast with a General-Purpose Computer • A combination of computer hardware and software that serves as a general-purpose computing platform. PCs, Macs, and Unix workstations are the most popular modern examples Barr, Michael. "Embedded Systems Glossary." Online at http://www.netrino.com/Publications/Glossary/. June 2003.
Sensor Networks • Distributed set of nodes: • Computation, storage, wireless communication, sensors, and battery power in a single package • Possibly: mobile, disposable, rechargeable • Little or no infrastructure support • Application-specific networking rather than general communication networks • Unattended operation • Sensors: • Acoustic, seismic, infrared, magnetometers, chemical, biological, temperature, moisture, imagers, micro-radars, etc. L. Greenwald. “On Scheduling Sensor Networks.” Online at http://www.kddresearch.org/Workshops/RTDSDS-2002/presentations/SchedSensNetsIntro.pdf
Sensor Network Applications • Biomedicine • Surgically implanted sensors monitoring a patient’s health • Environmental monitoring • Forest fire monitoring • Hazardous environment exploration • Monitoring safety of children in neighborhood • Military tracking, reconnaissance surveillance, and targeting • Intrusion detection, identification • Spatially correlated troop and tank movement • Inventory control • Monitoring location of valuables • Tracking inventory while shipping L. Greenwald. “On Scheduling Sensor Networks.” Online at http://www.kddresearch.org/Workshops/RTDSDS-2002/presentations/SchedSensNetsIntro.pdf
Sensor Node Mobilization • Similar Projects • UCLA NIMS • UCLA EE190D Project • ACSES
UCLA NIMS Project The current UCLA NIMS project has a two-dimensional transact design using a fixed-end carrier cable that allows the mobile node to move horizontally along this cable. The node itself is required to carry the mechanical components necessary for horizontal and vertical movement (motors, pulleys, vertical cable, etc.).
UCLA EE190D Project A new UCLA undergraduate project uses a similar mechanism, buti nstead has the motors used for horizontal and vertical movement fixed near one end of the horizontal cable, and a set of free pulleys at the other end. The vertical movement of the node is controlled by pulleys located on the horizontal node that carries the vertical node.
ACSES Pulley Motor Controller Stargate (Linux) Length of this wire remains fixed Node Motor 1: no movement Motor 2: turn CW
ACSES Pulley Motor Controller Stargate (Linux) Length of this wire remains fixed Node Motor 1: no movement Motor 2: turn CCW
ACSES Pulley Motor Controller Stargate (Linux) Length of this wire remains fixed Node Motor 1: turn CCW Motor 2: no movement
ACSES Pulley Motor Controller Stargate (Linux) Length of this wire remains fixed Node Motor 1: turn CW Motor 2: no movement
ACSES Pulley Motor Controller Stargate (Linux) Node Node Motor 1: turn CW Motor 2: turn CW Motor 1: turn CW Motor 2: no movement
Advantages of ACSES • Simplifies the mechanical design of the mobile node • Reduces the physical size and weight of the node • Improves the stability of the node on the cable • Alleviates the tension on the cable • Allows the possibility of carrying information or power on the cable • Creates interesting optimization topics that relates to power and timing • Easy system setup
ACSES Main HW Components • Slo-Syn M063-LE09 Unipolar Motor • Mill-Shaf S-100 Stepper Motor Controller • Crossbow Stargate • Orinoco Classic Gold 802.11b PCMCIA Card
Slo-Syn M063-LE09 Unipolar Motor http://www.slosyn.com
Slo-Syn M063-LE09 Unipolar Motor Motor Specifications http://www.slosyn.com
Mill-Shaf S-100 Stepper Motor Controller http://steppercontrol.com
Mill-Shaf S-100 Stepper Motor Controller Features: • 3-Axis Control • Independent speed, direction, and number of steps for each axis • Speeds in excess of 800 steps per second (depends on motor and power supply voltage) • Execute discrete numbers of steps or continuous rotation • Limit inputs for each axis • Outputs Capable of Sinking up to 200mA Each for Relays, etc. • Simple, robust communications protocol for control through custom software • RS-232 interface http://steppercontrol.com
Crossbow Stargate http://www.xbow.com
Crossbow Stargate Features: • 32-bit, 400 MHz Intel PXA-255 XScale RISC processor • SA1111 StrongARM companion chip for multiple I/O access • 32 MB of Intel StrataFlash • 64 MB of SDRAM • 1 Type II CompactFlash+ slot • 1 PCMCIA Slot • Small Form Factor – 3.5” x 2.5” • Reset button • Real time clock • Lithium ion battery option http://www.xbow.com
Crossbow Stargate More Features… • I2C connector via installable header • 51-pin daughter card interface • Wired ethernet via a 10/100 Base-T ethernet port • Host USB • JTAG port • External AC power supply adaptor • RS-232 serial port via DB-9 connector • Embedded Linux OS Kernel http://www.xbow.com
Orinoco Classic Gold http://www.orinocowireless.com
Orinoco Classic Gold Features: • Plugs directly into type-II PCMCIA slot • Broadest operating system support • Wi-Fi (IEEE 802.11b) certified interoperability • Low power consumption • High performance 11 Mbit/s data rate • Wide coverage range of up to 1750ft (550 m) • Industry-leading radio design • High-level security with full 128-bit key, RC4 encryption or 64-bit WEP encryption http://www.orinocowireless.com
ACSES System Stargate 802.11b wireless card Spool Motors Motor Controller Board RS-232 Interface Dimensions: 12”x12”x6.5”
System Inputs/Outputs Physical System Parameters Hardware System Parameters Stargate System Clock Motor 1 Motion Control SW Destination (xd,yd) Deadline or Timing Constraint Stepper Motor Controller RS-232 Motor 2 Initial Position (x0,y0) Feedback Position (xf,yf)
Central Control Unit Multiple Points Movement Algorithm Single Point Movement Algorithm Motor Controller Driver Software Overview • The system contains roughly 4 layers • Motor Controller Driver • Single Point Movement Algorithm • Multiple Points Movement Algorithm • Central Control Unit
Motor Controller Driver • Motor Controller provides ASCII serial interface. • We developed a general purpose driver on the Linux platform, based on the codes that developed by NIMS group. • By sending specific commands to the motor controller, it is able to set the motor’s moving speed and number of steps that the motor needs to move.
Single Point Movement Algorithm • Move from two points A(x0, y0) to B(x1, y1). • Since the node is fixed with the two cables. One side of the cable is directly attached to the motor, and the other side of the cable passes the pulley that is set on the opposite side of the motor. • The goal is to find out how much movement each motor has to do. It can be find out by giving the position of the pulley P(xp, yp) and motor M(0, yM).
Single Point Movement (cont.) • The distances for each motor to move can be found by dist(BP) – dist(AP) and dist(BM) – dist(AM). • If the calculated value is positive, it means the motor needs to extend the cable length. • On the other hand, if the calculated value is negative, then the motor needs to rewind in order to shorten the cable length.
Multiple Points Movement Algorithm • Moving to multiple points and find the optimum route to minimize the cost. • The cost here are defined as distance the node passes. It directly relates to the amount of time it takes to traverse the whole path and the amount of energy it consumes.
Multiple Points Movement (Cont.) • This is actually a TSP problem! • Now if we can find a well suited TSP algorithm, then our multiple points movement algorithm is done.
What is the traveling-salesman problem? • The TSP is closely related to the Hamiltonian-cycle (HC) problem. For short, the problem is this: given a finite number of "cities" along with the cost of travel between each pair of them, find the cheapest way of visiting all the cities and returning to your starting point. • There is a long history about this famous problem. Mathematical problems related to the traveling salesman problem were treated in the 1800s. The general form of the TSP appears to be have been first studied by mathematicians starting in the 1930s.
Solve the problem • TSP is NP-complete, and there is still no polynomial time solution (Is there still some hope left?!). • A practical approach to getting around NP-completeness is approximation algorithm, which returns the near-optimality solutions. • Ratio bound: an approximation algorithm for the problem has a ratio bound of ρ(n) if for any input of size n, the cost C of the solution produced by the approximation algorithm is within a factor of ρ(n) of the cost C* of an optimal solution. Max (C/C*, C*/C) ≤ ρ(n)
Solve the problem (cont.) • Consider triangle inequality or not? in many practical situations, it is always cheapest to go directly from a place u to another place w; going by way of any intermediate stop v can’t be less expensive. The cost function c satisfies the triangle inequality if for all vertices u, w, vЄV, c (u, w) ≤ c (u, v) + c (v, w) With or without this condition, it will lead to different conclusion for TSP.
Solve the problem (cont.) • The APPROX-TSP-TOUR algorithm with the triangle inequality. APPROX-TSP-TOUR (G, c) 1. Select a vertex rЄV[G] to be a “root” vertex 2. Grow a minimum spanning tree T for G from root r using MST-PRIM (G ,c ,r) 3. Let L be the list of vertices visited in a preorder tree walk of T 4. Return the Hamitonian cycle H that visits the vertices in the order L
Solve the problem (cont.) • An example of the APPROX-TSP-TOUR algorithm (b) A minimum spanning tree T of these points as computed by MST-PRIM. Vertex a is the root vertex. The vertices happen to be labeled in such a way that they are added to the main tree by MST-PRIM in alphabetical order. (d) A tour of the vertices obtained by visiting the vertices in the order given by the preorder walk. This is the tour H returned by APPROX-TSP-Tour. (e) An optimal tour H* for the given set vertices. Its total cost is approximately 14.715. (c) A walk of T, starting at a. A full walk of the tree visits the vertices in the order a, b, c, b, h, b, a, d, e, f, e, g, e, d, a. A preorder walk of T lists a vertex just when it is first encountered, yielding the ordering a, b, c, h, d, e, f, g. (a) The given set of points which lie on vertices of an integer grid. For example, f is one unit to the right and 2 units up from h. The ordinary euclidean distance is used as the cost function between 2 points a d e b f g c h
Central Control Unit • Central Control Unit sits above all other layer and acts like the system manager. • It is responsible of taking system information, such as the pulley, motor’s positions, the radius of the spool and the weight of the node. Those information are taken into account for Single Point Movement algorithm. • It is also responsible to take movement request from user, by either provides a prompt to take user’s input or reads a specified that includes multiple points desitination.
Testing • Multiple-Point Movement • Test 1) Given: Sequential Path Length: 371 cm Optimized Path: 296 cm A F G B C D E A Total Time = 296 seconds Power Consumed* = 0.438667 J *when motor is moving (idle motor consumes more power
Testing • Multiple-Point Movement • Test 2) Sequential Path Length: 928 cm Optimized Path Length: 362 cm A M I N E L K G D H C O B J F A Total Time = 363 seconds Power Consumed* = 0.518000 J Given: *when motor is moving (idle motor consumes more power
Testing • Both point-to-point and multiple-point movements were accurate within ±3 cm • Possible causes of error: • Calculation errors: • Floating point inaccuracy (very small) • Measurement errors: • Measuring distances with a measuring tape • Changes between two measurements (i.e. different measurement location) • Experimental Setup Errors • Pulley is not fixed • Width around spool increases due to winding of the wire
Conclusion • ACSES allows for the mobilization of nodes in a sensor network in a 2-dimensional plane • System configuration is simple • Highly expandable for use in many applications • Wireless control using IEEE 802.11b • Future Improvements: • Initialization Detection and Feedback • Devise new method of holding motor’s position during idle times • Vary speeds during multiple-point movement • Linearize movement of the node by moving the motors at different speeds • 3-dimensional movement