Site hosted by Angelfire.com: Build your free website today!
« November 2008 »
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Entries by Topic
All topics  «
Blog Tools
Edit your Blog
Build a Blog
RSS Feed
View Profile
You are not logged in. Log in
My Blog
Friday, 7 November 2008

http://books.google.com/books?q=Network+scanning

http://books.google.com/books?q=packet+encryption&lr=&sa=N&start=10

http://books.google.com/books?lr=&q=SSH+SSL+

 http://books.google.com/books?lr=&q=encrypted+proxy

http://books.google.com/books?lr=&q=intrusion+detection+prevention&btnG=Search+Books

 

 


Posted by fdlkjasfjadslkjf at 1:00 PM EST
Post Comment | Permalink | Share This Post

http://www.ciscopress.com/content/images/1587052083/appendix/toolsappendixb.pdf

http://books.google.com/books?q=CISCO&btnG=Search+Books

http://books.google.com/books?q=Novel+Netware


Posted by fdlkjasfjadslkjf at 12:54 PM EST
Post Comment | Permalink | Share This Post

http://www.eetimes.com/

http://www.embedded.com/

http://www.interactiv.com/

http://books.google.com/books?q=Linux

 http://books.google.com/books?q=Linux+Security

 http://books.google.com/books?q=Linux+Kernel

http://books.google.com/books?q=Windows

http://books.google.com/books?q=Windows+Security

http://books.google.com/books?q=Windows+Registry

http://books.google.com/books?q=Virus+

 http://books.google.com/books?q=Trojans+Worms

http://books.google.com/books?q=SQL+injections

http://books.google.com/books?q=spyware+malware

http://books.google.com/books?q=XML+hacking

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 12:14 PM EST
Post Comment | Permalink | Share This Post

http://www.alcatel-lucent.com/wps/portal/!ut/p/kcxml/04_Sj9SPykssy0xPLMnMz0vM0Y_QjzKLd4x387DUL8h2VAQANUDp5g!!

 http://tldp.org/

 http://www.nvcc.edu/home/nvmajew/new/Phy232/lectures.html

Electronics: Bjts, Fets, and Microcircuits
Ernest James Angelo

Principles of Electronic Circuits
by Stan Burns, Paul Bond (complementary to Sedra)

Electronic Principles
by Albert P. Malvino

www.ncu.edu.tw/~ncume_ee/harvard-es154

http://mit.edu/6.012/

http://cobweb.ecn.purdue.edu/~bashir/ee455_f01/lecture_notes/

http://www.phys.ualberta.ca/~gingrich/phys395/notes/phys395.html

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 11:17 AM EST
Post Comment | Permalink | Share This Post

http://www.datasheetsite.com/datasheet/MT48LC64M4A2

http://inst.eecs.berkeley.edu/~cs150/fa08/

http://inst.eecs.berkeley.edu/~cs150/fa04/OldSites.htm

 http://www.mwnl.snu.ac.kr/~schoi/Courses/201/

http://www.cs.utah.edu/classes/cs6710/

http://www.async.ece.utah.edu/~myers/nobackup/ee3700_99/

http://ecow.engr.wisc.edu/cgi-bin/get/ece/555/1lal/notes/

http://www.stanford.edu/class/ee108/

http://www.doulos.com/content/products/golden_reference_guides.php

http://tisu.it.jyu.fi/embedded/

 http://web.mit.edu/6.111/www/

 http://www.tik.ee.ethz.ch/tik/education/lectures/DES/

 http://books.google.com/books?q=Managerial+Economics

http://www.quantumbooks.com/c/06ELEE

 http://www.plasma.uu.se/CED/Book/

 http://inst.eecs.berkeley.edu/~ee40/sp04/lecture.html

http://inst.eecs.berkeley.edu/~ee100/fa08/lectures/lectures.html

http://courseware.ee.calpoly.edu/~jzhang/EE112/

http://www.cetus-links.org/

 http://www.omg.org/gettingstarted/specintro.htm#DomainFacilities

 http://www.iso.org/iso/iso_catalogue/catalogue_ics.htm

http://www.artist-embedded.org/artist/

http://www.eecs.berkeley.edu/Research/

http://www-ee.stanford.edu/research.php

http://cs.stanford.edu/research/

http://chess.eecs.berkeley.edu/

http://www.rle.mit.edu/media/media_videorle.html

http://www.mit.edu/research/category/ee.html#links

http://www.mit.edu/research/category/cs.html#links

http://www.rle.mit.edu/rleonline/research/research_groups.html

http://www.cs.nott.ac.uk/~tpp/G5AIVI/lectures.html

http://www.csi.uottawa.ca/~ppayeur/ELG2130/IMAGES/pdc.pdf

 

 

 

 

2. Phasor Circuit Analysis

 

Phasor circuit analysis is a method of finding sinusoidal steady-state responses directly from the circuit without using differential equations. How do we perform phasor circuit analysis? At several points in our study we have seen that circuit analysis is based on two kinds of constraints: (1) connection constraints (Kirchhoff's laws), (2) device constraints (element equations). To analyze phasor circuits, we must see how these constraints are expressed in phasor form.

 

Connection Constraints in Phasor Form

In the steady state all of the voltages and currents are sinusoids with the same frequency as the driving force. Under these conditions, the application of KVL around a loop could take the form.

Therefore, if the sum of the waveforms is zero, then the corresponding phasors must also sum to zero.

Clearly the same result applies to phasor currents and KCL. In other words, we can state Kirchhoff's laws in phasor form as follows:

KVL: The algebraic sum of phasor voltages around a loop is zero.

KCL: The algebraic sum of phasor currents at a node is zero.

Device Constraints in Phasor Form

Eq.(8-12)

In the sinusoidal steady state, all of these currents and voltages are sinusoids. Given that the signals are sinusoid, how do these i-v relationships constrain the corresponding phasors?

This relationship holds only if the phasor voltage and current for a resistor are related as

Eq.(8-13)

Since L is a real constant, moving it inside the real part operation does not change things. Written this way, we see that the phasor voltage and current for an inductor are related as

Eq.(8-14)

 

Fig. 8-3: Phasor iv characteristics of the inductor

The resulting phasor diagram in Fig. 8-3 shows that the inductor voltage current are 90 out of phase. The voltage phasor is advanced by 90counterclockwise, which is in the direction of rotation of the complex exponential . When the voltage phasor is advanced counterclockwise(that is, ahead of the rotating current phasor), we say that the voltage phasor leads the current phasor by 90or, equivalently, the current lags the voltage by 90.

The phasor voltage and current for a capacitor are related as

Solving for VC yields

Eq.(8-15)

 

Fig. 8-4: Phasor iv characteristics of the capacitor.

 

The resulting phasor diagram in Fig. 8-7 shows that voltage and current are 90out of phase. In this case, the voltage phasor is retarded by 90clockwise, which is in a direction opposite to rotation of the complex exponential . When the voltage is retarded clockwise (that is, behind the rotating current phasor), we say that the voltage phasor lags the current phasor by 90or, equivalently, the current leads the voltage by 90.

The Impedance Concept

The IV constraints Eqs.(8-13), (8-14, and (8-15) are all of the form

V=ZI Eq.(8-16)

where Z is called the impedance of the element. Equation (8-16) is analogous to Ohm's law in resistive circuits. Impedance is the proportionality constant relating phasor voltage and phasor current in linear, two-terminal elements. The impedances of the three passive elements are

Eq.(8-17)

Since impedance relates phasor voltage to phasor current, it is a complex quantity whose units are ohms. Although impedance can be a complex number, it is not a phasor. Phasors represent sinusoidal signals, while impedances characterize circuit elements in the sinusoidal steady state. Finally, it is important to remember that the generalized two-terminal device constraint in Eq.(8-16) assumes that the passive sign convention is used to assign the reference marks to the voltage and current.


EXAMPLE 8-5

Fig. 8-5

 

The circuit in Fig. 8-5 is operating in the sinusoidal steady state with and . Find the impedance of the elements in the rectangular box.

SOLUTION:

The purpose of this example is to show that we can apply basic circuit analysis tools to phasors. The phasors representing the given signals are and . Using Ohm's law in phasor form, we find that . Applying KVL around loop A yields . Solving form the unknown voltage yields

V

This voltage appears across the load resistor R1; hence . Applying KCL at node A yields . Given the phasor voltage across and current through the unknown element, we find the impedance to be

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 10:05 AM EST
Post Comment | Permalink | Share This Post

http://www.stanford.edu/class/ee368/handouts.html

 http://www.datasheetcatalog.org/datasheet/motorola/9S12T64AF16V1.pdf

 http://www.freescale.com/files/microcontrollers/doc/user_guide/9S12DJ64-ZIP_PART3.zip?WT_TYPE=Users%20Guides&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=zip&WT_ASSET=Documentation

 http://hcs12text.com/freesim.html

http://www.seattlerobotics.org/encoder/nov97/68hc12.html
http://www.seattlerobotics.org/encoder/dec97/68hc12.html
http://www.seattlerobotics.org/encoder/apr98/68hc12pwm.html
http://www.seattlerobotics.org/encoder/sep98/interrupts.html

http://www.datasheetarchive.com/EWM-900-FDTC-HS-datasheet.html

 http://www.google.ca/search?hl=en&q=Landmark-Based+Robot+Self-Localization&meta=

http://www.google.ca/search?hl=en&q=Trajectory+Generation+and+Motion+Tracking+Control+for+the+Robot+Soccer+Game&meta=

 http://www.google.ca/search?hl=en&q=A+Novel+Interactive+Robot+Soccer+System&meta=

http://www.google.ca/search?hl=en&q=Strategy+for+Collaboration+in+Robot+Soccer&meta=

http://www.google.ca/search?hl=en&q=Motion+Controller+Realizing+Cyclic+Ball+Passing+Strategy+among&meta=

 http://www.google.ca/search?hl=en&q=Modelling+and+Control+of+a+Soccer+Robot&meta=

 http://www.google.ca/search?hl=en&q=A+Design+Method+for+Incorporating+Multidisciplinary+Requirements+for&meta=

http://www.google.ca/search?hl=en&q=Role+Construction+and+Recognition&meta=

http://www.google.ca/search?hl=en&q=Cooperative+Strategy+Based+on+Adaptive+-Learning+for&meta=

http://www.google.ca/search?hl=en&q=A+Real+Time+Method+to+Object+Detection&btnG=Search&meta=

 http://www.google.ca/search?hl=en&q=System+design+and+strategy+integration+for+five+on+five+robot+soccer+competition&btnG=Search&meta=

http://www.google.ca/search?hl=en&q=Path+Planning+and+Role+Selection+Mechanism+for+Soccer+Robots&meta=

http://www.site.uottawa.ca/~petriu/teaching.html

http://www.google.ca/search?hl=en&q=Path+Planning+and+Role+Selection+Mechanism+for+Soccer+Robots&meta=

 http://www.google.ca/search?hl=en&q=Real-Time%2C+Adaptive+Color-based+Robot+Vision1&meta=

http://www.im.ncnu.edu.tw/ycchen/

 http://users.encs.concordia.ca/~assi/courses/inse7120.htm

http://www.postech.ac.kr/~jwkhong/teaching-postech.html

http://bwrc.eecs.berkeley.edu/classes/ee140/lectures.htm

http://www.tik.ee.ethz.ch/tik/education/lectures/hswcd/

http://inst.eecs.berkeley.edu/~cs152/sp08/

http://www.dcs.ed.ac.uk/teaching/cs3/comparch/Notes/

 http://www.eecs.harvard.edu/~dbrooks/cs246/

http://www.stanford.edu/class/ee282/

http://www.stanford.edu/~mbax/ee392c/

http://www.stanford.edu/class/ee392c/notes.html

http://www.cs.berkeley.edu/~lazzaro/class/index.html

http://www.irf.tu-dortmund.de/cms/de/IT/Lehre/Wintersemester/Computer_Systems/index.html#skript

http://www.site.uottawa.ca/~jlang/CSI4130/CSI4130.html

http://www.opengl.org/documentation/red_book/

http://books.google.com/books?q=Hacking

http://books.google.com/books?q=Network+Security

http://books.google.com/books?q=TCP+IP

http://books.google.com/books?q=OSI

http://licos.epfl.ch/index.php?p=courses_digital2003

http://www.research.ibm.com/journal/sj/384/mark.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

How can the sending computer know that the receiving computer has
received the data?
– Can use a method called handshaking.
The sending computer uses a Data Valid line to tell the receiving computer
that the data on the data lines is valid.
The receiving computer uses a Data Received line to tell the sending
computer that it has read the current

 

BASc in Computer Engineering
Compulsory first-year courses:
CHM1310 Principles of Chemistry 4
GNG1100 Engineering Mechanics 4
ITI1200 Digital Systems I 4
ITI1220 Introduction to Computing I 4
ITI1221 Introduction to Computing II 4
MAT1320 Calculus I 3
MAT1322 Calculus II 3
MAT1341 Introduction to Linear Algebra 3
MAT1348 Discrete Mathematics for Computing 3
PHY1104 Fundamentals of Physics for Engineers 3
PHY1304 Physics Laboratory for Engineers 1
Compulsory second-year courses:
CEG2131 Computer Architecture I 4
CSI2210 Data Structures and Algorithms 4
ELG2130 Circuit Theory I 4
ELG2135 Electronics I 4
ELG2911 Pratique professionnelle en ingénierie et technologie
de l’information / Professional Practice in
Information Technology and Engineering 3
ENG1112 Technical Report Writing 3
MAT2322 Calculus III for Engineers 3
MAT2331 Ordinary Differential Equations and
Numerical Methods 4
MAT2377 Probability and Statistics for Engineers 3
PHY2323 Electricity and Magnetism 3
SEG2100 Introduction to Software Engineering 4
Three credits of complementary-studies electives
Compulsory third-year courses:
CEG3131 Computer Architecture II 4
CEG3150 Digital Systems II 4
CEG3151 Computer Systems Design 4
CEG3180 Introduction to Computer Networks 4
CSI3231 Operating Systems 4
ECO1192 Engineering Economics 3
ELG3120 Signal and System Analysis 4
ELG3150 Introduction to Control Systems 4
HIS2129 Technology, Society and Environment since 1800 3
OR
PHI2394 Scientific Thought and Social Values 3
SEG2101 Software Construction 4
Three credits of complementary-studies electives
Compulsory fourth-year courses:
CEG4131 Computer Architecture III 4
CEG4161 Real-Time Systems Design 4
CEG4910 Computer Engineering Design Project I 4
CEG4911 Computer Engineering Design Project II 4
Three credits of complementary electives
Three credits of science electives
15 credits of technical electives from the list
I n f o r m a t i o n f o r p r o s p e c t i v e s t u d e n t s : w w w. a d m i s s i o n . u O t t awa . c a
List of Optional Courses
List of technical electives:
CEG4153 Computer Control in Robotics 4
CEG4183 Higher Layer Network Protocols 4
CEG4185 Computer Network Design 4
CEG4193 Distributed Systems Design 4
CEG4240 Digital Control Systems 4
CEG4286 Wireless Mobile Networks 4
CEG4287 Optical Networks 4
CEG4311 Digital Image Processing 4
CEG4394 Design of Secure Computer Systems 4
CEG4395 Computer Network Management 4
CSI2220 Programming Paradigms 4
CSI2230 Databases I 4
CSI3220 Programming Languages Concepts 4
CSI3240 WWW Structures, Techniques and Standards 4
CSI4106 Introduction to Artificial Intelligence 3
CSI4115 Introduction to Compilers 3
ELG2232 Circuit Theory II 4
ELG3135 Electronics II 4
ELG4132 Principles and Applications of VLSI Design 4
ELG4172 Digital Signal Processing 4
SEG3120 Analysis and Design of User Interfaces 4
BASc in Computer Engineering, Engineering
Management and Entrepreneurship Option
Compulsory first-year courses:
CHM1310 Principles of Chemistry 4
GNG1100 Engineering Mechanics 4
ITI1200 Digital Systems I 4
ITI1220 Introduction to Computing I 4
ITI1221 Introduction to Computing II 4
MAT1320 Calculus I 3
MAT1322 Calculus II 3
MAT1341 Introduction to Linear Algebra 3
MAT1348 Discrete Mathematics for Computing 3
PHY1104 Fundamentals of Physics for Engineers 3
PHY1304 Physics Laboratory for Engineers 1
Compulsory second-year courses:
ADM1100 Introduction to Business Management 3
CEG2131 Computer Architecture I 4
CSI2210 Data Structures and Algorithms 4
ELG2130 Circuit Theory I 4
ELG2135 Electronics I 4
ELG2911 Pratique professionnelle en ingénierie et technologie
de l’information / Professional Practice in
Information Technology and Engineering 3
ENG1112 Technical Report Writing 3
MAT2322 Calculus III for Engineers 3
MAT2331 Ordinary Differential Equations and Numerical
Methods 4
MAT2377 Probability and Statistics for Engineers 3
PHY2323 Electricity and Magnetism 3
SEG2100 Introduction to Software Engineering 4
Compulsory third-year courses:
ADM2320 Marketing 3
ADM2340 Financial Accounting 3
CEG3131 Computer Architecture II 4
CEG3150 Digital Systems II 4
CEG3151 Computer Systems Design 4
CEG3180 Introduction to Computer Networks 4
CSI3231 Operating Systems 4
ECO1192 Engineering Economics 3
ELG3120 Signal and System Analysis 4
ELG3150 Introduction to Control Systems 4
HIS2129 Technology, Society and Environment since 1800 3
OR
PHI2394 Scientific Thought and Social Values 3
SEG2101 Software Construction 4
Compulsory fourth-year courses:
ADM3313 Introduction to Entrepreneurship 3
CEG4131 Computer Architecture III 4
CEG4161 Real-Time Systems Design 4
CEG4910 Computer Engineering Design Project I 4
CEG4911 Computer Engineering Design Project II 4
GNG4170 Engineering Law 3
Three credits of science electives
Three credits of electives for the management/entrepreneurship
option from the list
11 credits of technical electives from the list
I n f o r m a t i o n f o r p r o s p e c t i v e s t u d e n t s : w w w. a d m i s s i o n . u O t t awa . c a
List of Optional Courses
List of electives for the management and
entrepreneurship option:
ADM1101 Social Context of Business 3
ADM2336 Organizational Behaviour 3
ADM3318 International Business 3
ADM3319 Comparative Management 3
PHI2397 Business Ethics 3
List of technical electives:
CEG4153 Computer Control in Robotics 4
CEG4183 Higher Layer Network Protocols 4
CEG4185 Computer Network Design 4
CEG4193 Distributed Systems Design 4
CEG4240 Digital Control Systems 4
CEG4286 Wireless Mobile Networks 4
CEG4287 Optical Networks 4
CEG4311 Digital Image Processing 4
CEG4394 Design of Secure Computer Systems 4
CEG4395 Computer Network Management 4
CSI2220 Programming Paradigms 4
CSI2230 Databases I 4
CSI3220 Programming Languages Concepts 4
CSI3240 WWW Structures, Techniques and Standards 4
CSI4106 Introduction to Artificial Intelligence 3
CSI4115 Introduction to Compilers 3
ELG2232 Circuit Theory II 4
ELG3135 Electronics II 4
ELG4132 Principles and Applications of VLSI Design 4
ELG4172 Digital Signal Processing 4
SEG3120 Analysis and Design of User Interfaces 4


Posted by fdlkjasfjadslkjf at 8:47 AM EST
Post Comment | Permalink | Share This Post

http://www.tcil-india.com/new/new_site/white%20paper/TCIL%2018%20Real%20Time%20Operating%20Systems.ppt

 

 http://www.soe.uoguelph.ca/webfiles/rmuresan/PetriNetsAndIndustrialApplications.pdf

 

 http://www.google.ca/search?hl=en&q=Petri+Net+Models+of+Fuzzy+Neural+Networks&meta=

http://www.google.ca/search?hl=en&q=Modeling+and+Performance+Analysis+of+Medical+Services+Systems+Using+Petri+Nets&meta=

http://www.google.ca/search?hl=en&q=Temporal+Analysis+and+Object-Oriented+Real-Time+Software&meta=

 http://www.intelligentedu.com/sign-up/uml_use_cases_and_rational_rose_training.html

ftp://ftp.software.ibm.com/software/rational/docs/documentation/manuals/rosert.html

http://www.informatik.uni-oldenburg.de/ftrtft02/invited/

http://www.google.ca/search?hl=en&q=RT+UML+Tutorial&meta=

http://people.sabanciuniv.edu/levi/cs408/

http://www2.rad.com/networks/2004/PacketSwitching/main.htm

 http://williamstallings.com/CNIP/CNIP1e.html

http://www.site.uottawa.ca/~shervin/courses/ceg4185/lectures/

http://www.site.uottawa.ca/~shervin/courses/ceg4183/lectures/

http://www.it.uu.se/edu/course/homepage/distsys/

http://www.eecs.harvard.edu/~mdw/course/cs263/notes/

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.4475

http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/10050/32243/01506309.pdf?arnumber=1506309

http://bwrc.eecs.berkeley.edu/publications/2005/PRESENTATIONS/d.cabric/SmartAntennas_final.pdf

http://www.stanford.edu/class/ee359/

http://books.google.com/books?id=mF7X_8D7_BIC&printsec=frontcover&dq=Wireless+Communication+Andrea+Goldsmith&ei=XzQUSdaSIpTQMMS-6Z0L

http://www.cs.wustl.edu/~jain/refs/wir_refs.htm

http://www.imit.kth.se/info/OPQ/FMI/Special.php?id=courses/Ncours

http://inst.eecs.berkeley.edu/~ee225b/sp08/

http://www-ee.stanford.edu/class_directory.php

http://cs.stanford.edu/courses/

http://www-inst.eecs.berkeley.edu/classes-eecs.html#ee

http://www-inst.eecs.berkeley.edu/classes-eecs.html#cs

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

http://www3.interscience.wiley.com/cgi-bin/summary/112583780/SUMMARY

http://www.ee.columbia.edu/~xlx/courses/dip/handouts.html

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/filter2.html&http://www.google.ca/search?hl=en&q=filter2%28h%2CA%29+filters+the+data+in+A+with+the+two-dimensional+filter+in+the+matrix+h.+&meta=

http://www.cs.nott.ac.uk/~tpp/G53VIS/G53VIS.html

http://www.rose-hulman.edu/~brought/Epubs/Imaging/waveimage.html

http://www.doc.eng.cmu.ac.th/cpeweb/index.php?option=com_content&task=view&id=39&Itemid=50&lang=en

http://www.doc.eng.cmu.ac.th/course/cpe496/lectureNotes.html

http://www.itee.uq.edu.au/~elec3600/

http://www.eng.iastate.edu/ee528/sonkamaterial/chapter_1.htm

http://www.it.uu.se/edu/course/homepage/bild2/ht07/

http://www.dgp.toronto.edu/~jflaszlo/teaching/320/06f/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Problem Statement: A Cardiac Pacemaker

The human heart is a marvelous four-chambered pump made up of two atrial chambers that contract slightly before the two larger ventricular chambers, and an electrical conduction system that, in the healthy heart, ensures the heart beats in an efficient, timely, and effective way. The atrial contraction preloads the larger and more powerful ventricular chamber by pumping extra blood into it, stretching its muscle fibers. The one-way a-v valves then close, and the ventricles contract strongly, sending unoxygenated blood in the right ventricle into the lungs to bind with oxygen and oxygenated blood from the lungs into the arterial system of the body. Myocardial cells contract autonomously because they have leaky membranes with ionic pumps that maintain a charge across the membrane. When the charge reaches a certain level, a set of ionic pores open up in the membrane causing a rapid depolarization of the muscle cell, causing it to contract. Different cells have different rates at which this contraction occurs. The fastest contracting cells are located in the sinoatrial (SA) node; because this area contracts first, and the depolarization spreads from cell to cell electrically, this area is said to be the "pacemaker" of the heart. The upper part of the heart, housing the atria, is separated electrically from the lower part, housing the ventricles. This separation (called the AV node) causes a slight delay in the contraction of the ventricles. This is hemodynamically important because it allows the ventricles to more completely fill before they contract and adds 20% or so to the volume of the blood pumped per beat. That's in the healthy heart. Sometimes the electrical control system fails and this can lead to any number of problems, the most common of which is a heart beat that is too slow to allow normal activity, a condition known as bradycardia.

A cardiac pacemaker is an implanted device that assists cardiac function when underlying pathologies make the intrinsic heart rate too low or absent5 by taking over the initiation of a cardiac contraction. Pacemakers operate in quite a number of behavioral modes, each indicated by a three-letter acronym. The first letter is either A, V, or D depending on whether the atrium or the ventricle or both (dual) is being paced (i.e., induced to contract via the delivery of a well-quantified electric shock). The second letter is also A, V, or D, depending on which heart chamber is being monitored for intrinsic heart beats. The last letter is I, T, or D, indicating inhibited, triggered, or dual pacing modes. In an inhibited mode, a sensed heartbeat will inhibit the delivery of a pace from the pacemaker. In triggered mode, a sensed heart event will immediately trigger a pace from the pacemaker. For example, VVI mode means that the ventricle is paced (the first V) if a ventricular sense (the second V) does not occur. A ventricular sense event is generated when the ventricle of the heart contracts. If a ventricular sense does occur, then the pace is inhibited (the I). Dual modes are more complex and will not be discussed here.

Most of the time, a pacing pacemaker waits for a sense event. When it decides to pace, the pacemaker first shuts off the sensing hardware to prevent electrical damage, and then delivers an electric current of a programmable voltage (called the pulse amplitude) for a programmable period of time (called the pulse width). Following a pace, the pacemaker is put into a refractory state for a set period of time, during which all cardiac activity is ignored. Following the refractory period the pacemaker resumes monitoring for the next cardiac event. The rate of pacing is determined by the programmable pacing rate. The period of time the pacemaker will remain in the waiting state is based on the pacing rate and the pulse width. The refractory period is usually fixed. Our problem is to create a pacemaker that operates in VVI, AAI, VVT, AAT, and AVI pacing modes as programmed by the physician.

Pacemaker parameters are programmed via a telemetric interface to an external programmer. Telemetry is sent by pulsing an electromagnetic coil a certain number of times to indicate a 0 bit and a different number of times to indicate a 1 bit. To avoid inadvertent programming by electrical noise, a reed switch must be closed with a magnet before programming is enabled and must remain closed as long as communication is ongoing. Removal of the magnet disables communications. In this particular pacemaker, commands are of the form

[CD][Command ID] [Length][Data][CRC]

The command is an 8-bit value that specifies the command to be executed; the length is an 8-bit value that specifies the number of bytes in the data field, plus the size, plus 4 (to account for the command ID byte, the length byte, and the 16-bit CRC). Table 7-1 lists the messages for the pacemaker.

The commands constructed from the bits must be checked with the 16-bit CRC before they can be acted on. If the command validates properly, then an ACK message is returned. Communications occur between two devices: the pacemaker and a device used by the physician called a programmer. The communications protocol between the two devices requires the programmer to receive an ACK before sending the next command. If the pacemaker doesn't respond within 5 seconds or if a NAK is received, the programmer will resend the message. This occurs automatically. After five successive transmission failures, the programmer notifies the physician (this can occur if the programming wand is too far from the pacemaker resulting in a weak telemetry signal). Note that communications cannot affect pacing other than as the result of processing a command that affects pacing; that is, they must occur in parallel.

Table 7-1. Pacemaker Messages

Command ID

Value

Description

Get parameters

0

Request programmable settings in pacemaker.

Get serial number

1

Request manufacturers information from the pacemaker.

Set pacing mode

3

Sets the pacing mode to one of AAI=0, VVI=1, AAT=2, VVT=3, AVI=4. Data is 8 bits in length.

Set parameters

4

Sets the three pacing parameters, each of which is 8 bits long: pulse amplitude in mV from 0 (off) to 15 mV in integral units of mV. Pulse width is specified from 0ms to 30ms. Rate is set in beats per minute in the range of 30 .. 120, inclusive.

Exit low power Mode

32

Command the pacemaker to power the electronics for normal operation.

Enter low power Mode

33

Commands the pacemaker to disable all electronics except as necessary to perform communications.

Parameters

128

Data consists of four values plus 32-bit numbers: pacing mode (1 byte), pulse amplitude (1 byte), pulse width (1 byte), pacing rate (1 byte), and battery voltage (fixed point integer for range of 0.00 to 5.00 volts) (returned from the pacemaker).

Serial number

129

Data consists of four ASCII characters, "ACME," followed by three 32-bit numbers: the serial number, the hardware version number, and the software version number (returned from the pacemaker).

ACK

254

Acknowledgement of last message.

NAK

255

Last command failed validation.

A typical pacemaker-programmer interaction might be

Programmer:

Get Parameters

Pacemaker:

ACK

Pacemaker:

Parameters (AAI, 12mV, 15mS, 70ppm, 3.66V)

Programmer:

Set Pacing Mode (AVI)

Pacemaker:

ACK

Programmer:

Set Pacing mode (AVI)

Programmer:

Set Parameters (10mV, 20ms, 60 ppm)

Pacemaker:

ACK

Figure 7-5 shows the primary use cases for the CardioNada pacemaker. Three use cases are shown: set pacing parameters, retrieve current pacemaker settings, and pace the heart. Figure 7-6 shows the class model for the pacemaker. There are two packages in this system, each containing a single subsystem and the parts of those subsystems used to achieve the use cases. The Comm_Subsystem contains the classes necessary to send and receive, validate, and process those commands.

07fig05.gifFigure 7-5. Pacemaker Use Cases

 

Figure 7-6. Pacemaker Class Diagram

 

7.2.1.1 How Communications Work

The first package contains the classes for communications. These are briefly described in Table 7-2.

Communications is achieved with the collaboration of the elements in the Communications_Subsystem. The ReedSwitch has simple On-Off state behavior. It propagates events to other classes in the communication subsystem to enable and disable communications—specifically the CoilDriver and CommunicationsGnome. This prevents inadvertent reprogramming of the pacemaker by ambient radiation, arc welders, and microwave ovens. The GEN() macro sends the named event (and any specified parameters) to the object with the named role. For example, the ReedSwitch knows the CommunicationsGnome as myGnome. Using

·         myGnome->GEN(RS_Close)

sends the RS_Close event to the CommunicationsGnome. The Reed Switch has simple On-Off state behavior, as shown in Figure 7-7.

 

Figure 7-7. ReedSwitch State Model

The CoilDriver class has more elaborate state behavior, as shown in Figure 7-8. At the highest level, the CoilDriver has two or-states: Disabled (the default) and Enabled. When the ReedSwitch closes, it propagates an RS_Open event to the CoilDriver and the CoilDriver enters the Enabled states.

 

Figure 7-8. CoilDriver State Model

Inside of the Enabled state, there are three nested or-states: Idle, Receiving, and Transmitting. Since these are or-states, communication proceeds in a half-duplex fashion.

Table 7-2. Communication Package Classes

Class

Description

Comm_Subsystem

This is a subsystem that manages communications and command processing.

ReedSwitch

Interfaces with the magnetic reed switch and sends events to the CoilDriver and Communications Gnome when the switch opens or closes. Communications is disabled unless the reed switch is closed.

CoilDriver

The CoilDriver pulses the magnetic coil 15 times to produce a 0 bit and 8 times to produce a 1 bit, with a programmed time interval between bits and a longer time interval between bytes and a still longer period between messages. Telemetry is half-duplex; that is, messages can be sent or received at any given time.

Communications gnome

The gnome processes receives income bytes, constructs messages from them, and validates them. If valid, the gnome sends out an ACKMsg (or a NAKMsg if not valid) as well as processes valid commands.

MessageQueue

There are two message queue objects in the Comm_Subsystem, one for holding bytes as them are received (until an EOM—End Of Message—event is received), and the other for holding messages ready to be transmitted.

Message

A set of bytes defined by the protocol.

When the CoilDriver is in the Idle state, an incoming pulse causes it to go into the receiving state. The CoilDriver hardware contains an internal one-shot timer that determines pulse widths and issues an interrupt to the CoilDriver when a pulse is detected that is within the proper time window that results in the evPulse event shown in the statechart.

The ReceivingBit state counts the pulses that occur within the bit window. As long as a pulse is received before the timeout occurs, the timer is restarted. The number of pulses is tracked in the count attribute of the CoilDriver class. When the tm(BIT_WAIT) occurs, the decode() operation determines that it is either a 0 (in the range of 13 to 17 pulses) or a 1 (in the range of 5 to 10 pulses). This decoded bit is then shifted into a value that will hold the transmitted byte. Once all 8 bits have been shifted in, the completed byte is sent over to the Communications Gnome and the CoilDriver enters the WaitingForBit state. In this state, either an evPulse can be received (indicating the start of the next bit) or a timeout (indicating the end of the message) occurs. If the end of the message is found, the end of message (EOM) event is sent to the CommunicationsGnome so that it can process the now completely received message.

The other possibility from the Idle state is that the Communications Gnome sends a byte to be transmitted. For each bit in the byte to be transmitted, the CoilDriver shifts out the next bit, determines the number of pulses needed to send the bit (held in the pulstCt attribute), and sends pulses the coil that many times. Once all the bits have been sent out, the CoilDriver sends a DoneSending event to the CoilDriver to get the next byte to transmit.

The Communications Gnome oversees the communication process for the pacemaker (see Figure 7-9). It is enabled and disabled by the RS_Close and RS_Open events propagated from the Reed Switch. When enabled, but in the absence of incoming or outgoing messages, the Communications Gnome spends its time in its Idle state. The message level is almost completely decoupled from the strict timing requirements of the CoilDriver. In the Receiving state, the Communications Gnome adds the incoming bytes into the message until the EOM event is received. Then the message is validated (to be valid, the command must have a valid command byte, be of the correct length, and must pass the CRC check). If it is validated, an ACKMsg is queued to send and the command is processed. If the command fails validation, a NAKMsg is sent instead.

07fig09.gifFigure 7-9. Communications Gnome State Model

In terms of setting pacing modes, the Communications Gnome sends commands to the instances of the AtrialModel and VentricularModel. When the Communications Gnome receives a command to put the pacemaker in AAI mode, for example, it sends a toIdle event to the VentricularModel instance and a toSelfInhibited event to the Atrial Model instance. The effects of the system pacing mode on the Atrial Model and VentricularModel objects are shown in Table 7-3.

For setting pulse width and pulse amplitude and heart rate, these are sent to both the AtrialModel and VentricularModel instances.

7.2.1.2 How Pacing Works

The Pacing package contains classes, shown in Table 7-4, used in monitoring and pacing the heart.

The Chamber Model specifies most of the pacing behavior (see Figure 7-10). Pacing the ventricle works largely in the same fashion as pacing the atrium. The On state contains four nested or-states corresponding to idle, inhibited, triggered, and dual modes. For all but the last, there is no need for specialization in the subclasses. In the last (dual mode) however, the AtrialModel and VentricularModel play different roles in the interaction and specialization is a natural way to capture those differences.

 

Figure 7-10. Chamber Model State Model

Table 7-3. Pacing Modes and States

Pacing Mode

AtrialModel State

VentricularModel State

Off

Idle

Idle

AAI

SelfInhibited

Idle

VVI

Idle

SelfInhibited

AAT

SelfTriggered

Idle

VVT

Idle

SelfTriggered

AVI

DualMode

DualMode

Table 7-4. Pacing Subsystem Classes

Class

Description

Pacing_Subsystem

This subsystem manages the monitoring and pacing of the heart through delegation to its internal pieces.

Chamber Model

This abstract base class defines the basic functionality for monitoring and pacing a cardiac chamber, including associations to a voltage sensor and an output capacitor.

Atrial Model

A concrete subclass of the Chamber Model class that uses the basic behavior defined in the Chamber Model class and that specializes the behavior of AVI (dual mode) pacing. This class monitors and/or paces the atrium of the heart via its associations to its own voltage sensor and output capacitor.

Ventricular Model

A concrete subclass of the Chamber Model class that uses the basic behavior defined in the Chamber Model class and that specializes the behavior of AVI (dual mode) pacing. This class monitors and/or paces the ventricle of the heart via its associations to its own voltage sensor and output capacitor.

Voltage Sensor

This class drives the hardware voltage sensor with operations that enable it (turn it on) and disable it (turn it off). When a contraction of the associated heart chamber is detected, it issues a Sense event to its associated Atrial_Model or Ventricular_Model instance.

Output Capacitor

This class controls the release of current stored in the output capacitor. The voltage is controlled by setting the voltage level in the enable() operation. The pulse width is the length of time the voltage is delivered.

The statechart in Figure 7-10 references three submachines. A submachine, you will remember, is a specification for the internals of a state when it is shown in a separate diagram. Figure 7-11 shows the internal structure of the SelfInhibited state and Figure 7-12 shows the internal structure for the SelfTriggered state. Note that the actions in these submachines invoke operations of the associated voltage sensor and output capacitor. The Dual state is decomposed as well, but it was left empty and so isn't shown here.

 

07fig11.gifFigure 7-11. Chamber Model SelfInhibited Statechart

 

Figure 7-12. Chamber Model SelfTriggered Statechart

For the most part, the AtrialModel and VentricularModel state behavior is identical to that specified by the Chamber Model superclass. However, in AVI mode, the atrial model does the pacing and signals the VentricularModel when it should and should not pace. Those statecharts are shown in Figure 7-13 and Figure 7-14.

 

Figure 7-13. AtrialModel Dual Mode Statechart

 

Figure 7-14. VentricularModel Dual Mode Statechart

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 6:52 AM EST
Post Comment | Permalink | Share This Post
Thursday, 6 November 2008

http://www.cs.york.ac.uk/rts/RTSBookThirdEdition.html

http://www.doc.ic.ac.uk/~jnm/book/

 http://web.abo.fi/fak/ktf/studier/studiehandbok/

 http://www-verimag.imag.fr/TR/TR-2004-16.pdf

 http://www.mathworks.com/access/helpdesk_r13/help/toolbox/stateflow/concepts3.html

 

Prior Art
n Other efforts to improve Linux latency
– RTAI
– Rtlinux
applications
Linux Kernel
Linux Drivers
Hardware

 

 Real-Time Application Interface
(RTAI)
for Linux
High-performance,
Pre-emptive,
Deterministic,
Hard Real-Time

 The state of
Embedded Linux . . .
who, what, where, when, how?

 

RTLinux V3.0:
a POSIX 1003.13 PE51 OS
with a POSIX 1003.13 PE54 thread

 

 Realtime Operating Systems
Concepts and Implementation of Microkernels
for Embedded Systems

 

 The Concise Handbook
of Linux for Embedded
Real-Time Systems

OS, The Real-Time Kernel” is now 6 years old and the publisher has sold well
over 15,000 copies around the world. When I was asked to do a second edition, I thought it would
be a fairly straightforward task; a few corrections here and there, clarify a few concepts, add a
function or two to the kernel, etc. If you have a copy of the first edition, you will notice that
“μC/OS-II, The Real-Time Kernel” is in fact a major revision. For some strange reason, I wasn’t
satisfied with minor corrections. Also, when my publisher told me that this time, the book would
be a ‘hard cover’, I really wanted to give you your moneys worth. In all, I added more than 200
new pages, and re-wrote the majority of the pages I did keep. I added a porting guide to help you
port μC/OS-II to the processor of your choice. Also, I added a chapter that will guide

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 11:04 PM EST
Post Comment | Permalink | Share This Post

http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/

 On the symbolic insimplification of the general 6R-manipulator
kinematic equations
T. Recio.”t and M. J. Gonz41ez-L6pez*t
Dpto. MatemAticas, Estadistica y Computaci6n
Universidad de Cantabria, Santander 39071, Spain
Abstract
When symbolically solving inverse kinematic
problems for robot classes, we deal with computations
on ideals representing these robot’s geometry.
Therefore, such ideals must be considered
over a base field K, where the parameters of
the class (and also the possible relations among
them) are represented. In this framework we
shall prove that the ideal corresponding to the
general 6R manipulator is rezd and prime over
K. The practical interest of our result is that it
confirms that the usual inverse kinematic equations
of this robot class do not add redundant
solutions and that this ideal cannot be “factorized”,
establishing therefore, KOVACS [7] conjecture.
We prove also that this robot class has six
degrees of freedom (i.e. the corresponding ideal
is six-dimensional), even over the extended field
K, which is the algebraic counterpart to the fact
that the 6R manipulator is completely general
Our proof uses, as intermediate step, some dimensionality
analysis of the Elbow manipulator,
which is a specialization of the 6R.
1 Introduction
Recently, a lot of attention has been devoted to
the kinematic problem for the general 6R manipulator,
see [11], [12], [15], [17], [18]. After twenty
five years of research on this subject, starting
with the work of Pieper [14] in 1.968, the complete
symbolic solution to the inverse kinematic
problem for this manipulator has been presented
in [11] and [15]. Following this pattern in a numerical
framework, [12] presented a real time algorithm
for solving the inverse kinematics of the
general 6R manipulator.
* Partially supported by CICyT PB 92/0498 /C02/01.
t partially supported by Esprit/Bra 6846 (POSSO).
On the other hand, KOVACS [7] has studied different
triangulations of the kinematic equations
system of this manipulator, searching for simplifications
on the corresponding determining equations.
In particular, he explicitly conjectured
that the kinematic equations system should generate
a prime ideal ([7], pg. 331). In fact, ([7],
pg. 334) he mentions that “extensive tests for
ideal factorization were perjormed and no jactori.
zation was jound. However the irreducibility
could not be established with certainty”. As a
consequence, he comments that, with high probability,
the solution presented in [11] and [15]
must be optimal in some sense.
In this paper we show that, in fact, the inverse
kinematic ideal of the general 6R manipulator
is a prime ideal. Moreover, we show that
this is also the best possible ideal in some other
sense that was not regarded by Kovics, namely,
that this is a real ideal, which roughly means
that it describes the solutions of the inverse kinematic
problem without redundancy. We remark
that, when working in a complex number setting,
primality alone implies this property, but
this is not true anymore when one is interested
in the real solutions (which is, usually, the case
in Robotics): (Z2 + y2) is a prime ideal in R [z, y]
but its solutions are represented in a simpler way
by the real ideal (z, y). Therefore, we consider
that proving both primality and reality, is required
to establish the idea behind KOVACS conject
ure.
Moreover, we obtain these two properties for
two different approaches to the concept of the inverse
kinematic ideal: first, as in the formulation
of Kov~cs, that follows [2] (see our Proposition
3.1); and second, with an enhanced version of inverse
kinematic ideal that involves a more symbolic
setting, in which the parameters are considered
as true indeterminates and not merely
nameholders for numbers (Theorem 4.2). Completing
the algebraic study of these ideals, we
show that the- corresponding hand ideals have
the expected dimension (six) for the general 6R
manipulator (Theorem 4.1). This is achieved
showing that the particular instance of the 6R,
namely the Elbow manipulator, has also this dimension
for the hand ideal (Lemma 4.1) and, in
order to obtain this, we use Paul solution ([13])
354
to the inverse kinematic problem of this robot. generators:
2 Symbolic approaches to the inverse kinematic
problem of the general 6R manipulator
Following Denavit-Hartenberg formalism ([4]) to
represent the geometry of the 6R-manipulator,
a coordinate system is attached to each link in
order to describe the relative positions among
the links. The 4x 4 homogeneous matrix relating
the i + 1 coordinate system to the i coordinate
system is (considering the links numbered from
the base, which is link 1):
(c; ‘Si.’!i sap% sic;
Si
A:= ~
CiA* —c*pi aiSt
A, d,
)
,i=l, ...,6
W
00 01
where s; and c; represent the sine and cosine, respectively,
of the rotation angle at joint i; A; and
~~ represent the sine and cosine, respectively, of
the twist angle between the axes of joints i and
i + 1; a; is the length of link i + 1; and di is the
offset distance at joint i (see [12] and [15]).
Let us consider now the group SE(3) of ma
trices of the form:
hll hlz h13 ‘U1
P=HV=
()(
hzl h22 h23 V2
01 h31 h32 h33 V3
0001 )
where the matrix H is a proper orthogonal matrix,
i.e. it is an element of the proper orthogonal
group SO(3). An element in SE(3) represents
the position and orientation, with respect
to some fixed universal frame, of a rigid body
in the space; in particular it gives the position
and orientation of the hand (last body) of the
6R robot. Thus, considering that the universal
frame agrees with the coordinate system of link
1 we have, for any given pose P of the hand, the
identity:
Besides these (twelve) equations, the ideal corresponding
to the general 6R manipulator must
contain the conditions expressing that each one
of the considered matrices (A:’s and P) belongs
to SE(3), which is obtained imposing that the
3 x 3 rotational part (i.e. the first three rows and
colums of the homogeneous matrices considered)
is proper orthogonal. As the rotational matrix
in A? is proper orthogonal when s? + c? = 1
and A; + ~~ = 1, we can describe the ideal
by the following (non necessarily irredundant)
@jR =
where – t denotes the transpose matrix and I is
the 3 x 3 identity matrix. In order to simplify
notation we group the variables as follows:
P= (hlI, h12. ... h33, vl, v2, tJ3),
S=(S1,. ... S6),
C=(C1,..., C6),
~=(~l,..., ~6),
i7=(/.41,. ... /J6),
A=(al,. ... a6),
~=(dl,. ... d6).
With this notation, aeR is an ideal in
R[P, S, C, L, U, A, D].
In this context, the standard symbolic approach
to solving kinematics consists in the symbolic
manipulation of the polynomials in the
ideal @~ yelding the variables S, C as a function
of the variables in P, and considering that
L, U, A, D can take any arbitrary real value. [2]
proposes the triangulation of the system of equations
using Grobner basis computations. Based
on this method there are several techniques introduced
by [9], [7] (see also the recent monograph
[8]) and [16], consisting essentially in determining
sets of parameters that make kinematic
equations simpler to solve. However, these triangulation
procedures may fail to give a complete
answer to the posed problem (see, for example,
[3] and [5]), as there can be numerical values of
the variables for which the specialization of the
triangular system is not triangular, or is not an
equivalent system to the given one. Weispfenning
construction of Comprehensive Grobner basis
([19] ) is a relevant tool to avoid such problems,
as already remarked in [5].
The more general (i.e. completely symbolic)
approach that we propose here is to consider the
variables defining the robot class of 6R robots,
namely L, U, A, D, and the hand variables P, as
true indeterminates (independent parameters)
and not merely nameholders for numbers, which
implies to work in a base field where these variables
are represented and also the possible relations
among them always hold. To show an
easy example, if we want to solve the general
2-degree equation ax2 + bz + c, with the condition
a + b + c = O on the coefficients, the
ideal to be considered must correspond to p :=
(az2 + bx + c, a + b + c) in the base field:
q.f.(R[a, b,c]/P n R.[%hc]) =
=q.j. (R[a, b,c]/(a+b+ c)).
lIn particular, the equations HH’ –I and det(H) –
1 are redundant, as they are formal consequences of
the remaining ones (see [6]).
355
where (q. f.) denotes the quotient field. For the
6R case, if we denote
/3:= (F’, L, U, A, D),
x := (s, c),
the base field is:
where a~R := afj~ n R[~].
In order to describe more explicitly the completely
symbolic ideal, we consider the following
ring isomorphisms (where –’ represents the
extension ideal to the corresponding ring):
‘[pZ]/a%= [R[~l/a’Rl[zl
where the last isomorphism determines the ideal
ox and:
oz.K[x]
is the ideal of the kinematic equations for the
general 6R manipulator in a fully symbolic approach.
3 Insimplificability and dimension of kinematic
ideals over the reals
Towards the goal of finding the best defining
equations of the ideals that appear in robotics
[7] made the following conjecture:
“Kinematic equation systems are irreducible
(i.e. they generate prime ideals). In particular,
all determining equations of all triangulations
are irreducible. ”
We will prove in the two following subparw
graphs that the kinematic ideal of the general
6R manipulator is a prime ideal and also that
it is a real ideal, which roughly means that it
describes the (real) solutions of the inverse kinematic
problem without redundancy, (this is required
to show Kovtics conjecture in the real
case, as commented in the introduction). We
also compute its dimension. The same conclusions
will be obtained for the Elbow manipulator
(see [13] for a description of this robot).
Definition 3.1 An ideal J C R[X] :=
R[q,. . . , Z8] is r-ml if it contains all the polynomials
vanishing on the real algebraic variety
V(J) = {z c R’/ p(z) = O for allp(X) E J}.
There are several characterizations and computational
issues related to this concept of real
ideal (see [1] ).
3.1 The kinematic ideal of the general 6R manipulator
Proposition 3.1 The ideal aGR (in the ring
R[P, S, C, L, U, A, D]) is real, prime, of dimension
24.
Proof:
The ring homomorphism given by:
R[P, S,C, L, U, A,D] * R[S, C, L, U,A, D]
P R A;. ..A;
and inducing the identity over the remaining
variables, is subjective and determines a ring isomorphism
R[P, S, C, L, U, A, D]/a6R =
c R[S, C, L, U, A, D]/q
where
q :=
({s~+c~– l,i=l,...,6},
{Af+p~- l,i=l,...,6}).
q is a real and prime ideal of dimension 12, as it
is the sum, with separated variables, of the real,
prime and one-dimensional ideals (s? + c? – 1),
i=l ,.. .,6and(A~+ pl),i=l, l,... ,6. This
follows from some classical results on the ideal
of the product of varieties: see [10] for the proof
of the general fact.
With respect to the dimension, we have
dim(a6R) = 12+12 = 24, where the first 12 correspond
to those independent modulo q among
S, C, L and U; and the last 12 are the twelve
independent variables in A and D. n
3.2 The kinematic ideal of the Elbow manipulator
As mentioned above, the Elbow manipulator is a
particular instance of 6R, when the parameters
of the 6R class are set to some values. Following
[13] and using the Denavit-Hartenberg representatlonl
the six homogeneous matrices A~ corresponding
to the six joints of the Elbow manipulator
are obtained gwing the following values to
the variables in (L, U, A, D) in the matrices A;:
i= 1 2 3 4 5 6
J, o 1 1 0 0 1
Pi 1 0 0 -1 1 0
ai o 1 1 1 0 0
d, o 0 0 0 0 0
Following the same notation as in the 6R case,
the ideal for the Elbow manipulator is:
a~l~o. = (PH–H$~AjA3A4AtAG,
det(~) – ~
{s~+c~– l,i=l,...,6})
Proposition 3.2
The ‘ideal aE&W C R [P, S, C] is real, prime, of
dimension 6.
356
Proofi
It suffices to remark that there is a ring isomorphism
R [F’, S, C~aElbow E
sR[S, C]/({s:+c, –1, i= 1,...,6})
and the conclusion follows as in the 6R case. n
4 Insimplificability and dimension of the kinematic
ideal of the 6R general manipulator
over K
We prove now the insimplificability (reality and
primality) over K of the kinematic ideal of the
6R manipulator, o-L. K[z], in the general symbolic
approach that we propose for this problem in
Section 2, computing also its dimension. Some
properties of the hand ideals (intersection of @~
and a~lbo~ with R [P]) of the 6R case and of the
Elbow case will be required.
Let us consider the ideal whose zeros define
the set SO(3) of all proper orthogonal matrices:
SO(3) := (llfft – 1, det(~) – 1) c
CR[hll, h12, . . ..h33]
where H is the 3 x 3-matrix with indeterminated
coefficients (hll, hlz, . . . . h33 ). In [6] we have
proved that, for arbitrary n, the ideal so(n) is
real and prime.
The following lemma will be used in Theorem
4.1, about the dimension of the hand ideal of the
6R manipulator. We remark that both results
(Lemma and Theorem) could have been proved
just making Grobner basis computations, as we
merely have to:
l compute the intersection of an ideal with
R [P], and
l test the equality of two ideals.
However, after spending many hours with the
computer, trying to get an answer using different
software packages (COCOA, Maple, Axiom), the
high number of involved variables did not allow
to finish these computations. Therefore, we have
tried to follow an alternative, more theoretical,
proof.
Lemma 4.1 a~~bo~ rl R[P] = SO(3) .R[P].
Proofi (Sketch)
To prove the inclusion SO(3).R [P] C aElbow fl
R [P] it suffices to remark that any matrix P
which is the product of the six proper orthogonal
matrices Ai is also proper orthogonal. This is
accomplished at the ideal theoretic level using
the results of [6].
To prove the other inclusion, it suffices now to
show that
v(so(3).R. [~]) C v(aElbow n ~[~]).
As v(aElb.w rl R [P]) is the Zariski closure of
the projection of v(a~ibo~) on the P-variables,
Cl (HP (V(aEIboW))), we are reduced to prove
that there exists a Zariski-dense set A in
V(SO(3).R[P]) such that A C ~p(v(aE~b~w)).
We find this set A using [13], where closed formulae
to determine real solutions to the inverse
kinematics for the Elbow manipulator are explicitly
given. A detailed look to these formulae
shows that they are valid over an euclidean non
empty open set (therefore, Zariski-dense) of the
space of the P-variables. n
Obviously the A; matrices in the Elbow manipulator
are numerical specialization of the A:
matrices in the 6R one. This is translated in
the commutative algebra framework, by means
of the identity:
aElbow =
(ae~,
~1,~2–1,~3–1,~4,~5,~6–1,
= ~1 ‘1,P2,P3,P4+1,P5 – 1,P6,
al, a2—lja3— l,a4—l, a5, a6j
dl, d2, ds, d4, d5, d6)fl R[p, s,c]
Theorem 4.1 afjn (l R[P] = SO(3) .R[P]. In
particular, the hand ideal aGn n R [P] of the general
6R manipulator is 6-dimensional.
Proof:
We have the following chain of inclusions:
SO(3) .R[P] C
a6R n R [P] C
(ae~,~l,fll –l, ~Z–l,..., dA, ds, dG)fl R[P] =
aEtbow n R[p] =
SO(3) .R[P]
n
Lemma 4.2
Proofi
We can easily prove the inclusion
(so(3) .R[@], {A~ +p~ – 1, z = 1,... ,6}) C a~R
and then, we have that
‘i~a%s < dim(so(3).R[@], {~i +Pi – 1, i = 1,. . . ,6}) =
= 24.
Let aEIbOWl C R [,6] be the ideal obtained when
giving fixed constant values ci = Cio and Si =
s$o, i= l,..., 6, (C?. +s, 2 = 1) to the 6R general
robot. As (si, ci) and t A,, Pi) have equivalent
roles in the ideal, we have that in R [~]:
dim aElbOWl = 24
Now, remark that
& c
C (aSR, {c, – C,O, S, – S,o}i=l,...,6) n R[D] =
= aElbowr
and then 24 = dim aE1bOwt < dim a~R n
357
Theorem 4.2 The ideal of the general 6R
manipulator, oT. K[z], is real, prtme and Odimensional.
Proofi
Set R = R [@]/a;~, then ot is an ideal in R[x],
R[x]/oz is a real integral domain of dimension 24
and o~ n R = {O}; hence setting S = R – {O} we
get:
K[X] = (R[X])S,
OZKIX] = Ots ,
KIX]/OZ~[XI = (R[X]/OZ)F >
where ~ = S + oz. Clearly, (R[-X]/oz)F is a real
integral domain. Thus, OZKIX] is a real prime
ideal of
dim otKIX] =
= tT(K[X]/OZKIXl, K) =
= tr(q.f. (R[X]/oz), K) =
= tr(q..f. (RIX]/oz), R) – tr(K, R.) =
24–24=0
where tr denotes the transcendence degree. n
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
J. Bochnak, M. Coste, M-F. Roy. G60m6trie
Algibrique Rkelle. A Series of Modern Surveys
in Mathematics. Vol. 12. Springer Verlag.
1.986.
B. Buchberger. Applications of Grobner basis
in non-linear computational geometry.
Trends in Computer Algebra. Lecture Notes
in Comp. Sci. 296. Springer Verlag. 1.989.
D. Cox, J. Little, D. O’Shea. Ideals, varieties
and algorithms. Undergraduate Texts
in Mathematics. Springer Verlag. 1.992.
J. Denavit, R. S. Hartenberg. A Kinematic
Notation for Lower-Pair Mechanisms Based
on Matrices. ASME Journal of Applied Mechanics,
pp. 215-221, 1.955.
M.J. Gonz.?ilez-L6pez, T. Recio. The
ROMIN inverse geometrtc model and the
dynamic evaluation method. Computer Algebra
in Industry. A. M. Cohen Ed. Wiley
and Sons Ltd. pp. 117-141, 1.993.
M.J. Gonzi.lez-L6pez, T. Recio. Formal Determination
of Polynomial Consequences of
Real Orthogonal Matrices. Recent Advances
in Real Algebraic Geometry and Quadratic
Forms: Proceedings of the RAGSQUAD
Year. W. Jacob et al. Eds. Contemporary
Mathematics Series, VO1.155, pp.141-167,
1.993.
P. KOVACS. Minzmum degree soluttons for
the reverse kinematics problem by application
of the Buchberger algorithm. Advances
in Robot Kinematics. S. St ifter and
J. Lenarcic Eds., pp. 326-334. Springer Verlag.
1.991.
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
P. Kov&cs.
Rechnergestutzte Symbohsche Roboterkinematik.
Vieweg, 1993, Braunschweig, Wiesbaden,
Fortschritte der Robotik Vol. 18.
P. Kovics, G. Hommel. Simplification of
symboltc inverse kinematic transformations
through functional decomposition. 3 Int.
Conference on Advances in Robot Kinematics,
(Ferrara), pp. 88-95. 1.992.
S. Lang. Introduction to Algebraic Geometry.
Addison- Wesley. 1.958.
H.Y. Lee, C.G. Liang. A new vector theory
for the analysis of spatial mechanisms.
Mechanisms and MAchine Theory, 23 (3),
pp. 209-217. 1.988.
D. Manocha, J, Canny. Real time inverse
kinematics for general 6R manipulators.
IEEE Conference on Robotics and Automation
(Atlanta), pp. 383-389. 1.992.
R.P. Paul. Robot manipulators: Mathematics,
Programming and Control. The MIT
Press Series in Artificial Intelligence. 1.981.
D. Pieper. The ktnemattcs of mampulators
undder computer control. PhD thesis, Stanford
University. 1.968.
M. Raghavan, B. Roth. Kinematic analyszs
of the 6R manipulator of general geometry.
International Symposium on Robotics Research,
pp. 314-320. Tokio, 1.989.
D. Smith, H. Lipkin. Analysis of fourth
order manipulator kinematics using conic
sections. IEEE Conference on Robotics
and Automation (Cincinnati), pp. 274-278.
1.990.
L.W. Tsai, A.P. Morgan. Solving the kinematics
of the most general szx and jive degree
of freedom manipulators by continuation
methods. Transactions of the ASME,
Journal of Mechanisms, Transmissions and
Automation in Design, 107, pp. 189-200.
1.985.
C. Wampler, A.P. Morgan. Solving the 6R
inverse position problem using a genericcase
solut~on methodology. Mechanisms and
Machine Theory, 26 (l), pp. 91-106.1.991.
V. Weispfenning. Comprehensive GrobneT
basis. J. Symb. Comp. 14/1, pp. 1-29.1.992.
358

.O {color:white;} a:link {color:#336699 !important;} a:active {color:#0099CC !important;}
nHard real-time: systems where it is absolutely imperative that responses occur within the required deadline
nSoft real-time: systems where deadlines are important but which will still function correctly if deadlines are occasionally missed.
nReal real-time:  systems which are hard real-time and which the response times are very short.
nFirm real-time: systems which are soft real-time but in which there is no benefit from late delivery of service
 
Introduced in 1962 by Carl Adam Petri in his PhD thesis.
Focus on modeling causal dependencies;
no global synchronization assumed (message passing only).
Key elements:
• Conditions
Either me

Example Petri Nets

(Extract from PetriSim Manual)


The following example models a cooperation between two processes called Producer and Consumer. The Producer prepares data and writes them to buffers. If there is no empty buffer, the Producer must wait. The Consumer reads the data supplied by the Producer. The initial marking of the place "Empty_buffers" is the total number of buffers available (initially all the buffers are empty). The semaphore ensures that only one process can work with the data at a time. After reading the data the Consumer returns the empty buffer.

t or no met.
• Events
May take place if certain conditions are met.
• Flow relation
Relates conditions and events.
Conditions, events and the flow relation form
a bipartite graph (graph with two kinds of nodes).
 
 
 
 
 
 
 
 
 
 
 

Posted by fdlkjasfjadslkjf at 10:52 PM EST
Post Comment | Permalink | Share This Post

http://www.csg.ethz.ch/education/lectures/ATCN/ws06_07

http://www.uoftbookstore.com/online/merchant.ihtml?id=452&step=2

 http://www.iis.ee.ethz.ch/~zimmi/publications/comp_arith_notes.pdf

http://www.ibr.cs.tu-bs.de/papers/

http://www.soe.uoguelph.ca/webfiles/rmuresan/ENGG3640MicroInterfacing.htm

http://www.stanford.edu/class/ee281/

http://inst.eecs.berkeley.edu/~cs162/fa08/

 http://inst.eecs.berkeley.edu/~cs152/sp08/

 http://www.tik.ee.ethz.ch/tik/education/lectures/DRS/DRS.html

http://www.ida.liu.se/labs/eslab/teaching.shtml

 https://ccnet.stanford.edu/ee108b/

http://intranet.cs.man.ac.uk/Study_subweb/Ugrad/coursenotes/CS1211/

http://www.cs.uiuc.edu/class/fa07/cs232/lectures/

 http://www.pads.uwaterloo.ca/ece324/protected/lectures/lectures.html

http://web.abo.fi/~lpetre/teleprot/teleprot.html

http://camars.kaist.ac.kr/~hyoon/courses/cs440/

 https://www.iu.hio.no/~mark/lectures/MS005A/

 http://thydzik.com/academic/Robotics%20315/chap1.pdf

http://thydzik.com/academic/Robotics%20315/chap2.pdf

http://thydzik.com/academic/Robotics%20315/chap3.pdf

http://thydzik.com/academic/Robotics%20315/chap4.pdf

http://thydzik.com/academic/Robotics%20315/chap5.pdf

http://thydzik.com/academic/Robotics%20315/chap6.pdf

http://thydzik.com/academic/Robotics%20315/chap7.pdf

http://www.cs.cmu.edu/~biorobotics/book/

1) X cos(θi) + Y sin(θi) = K

X, Y, and K are constants.

Then θi=2 atan(Y+(+/-)sqrt(X^2+Y^2+K^2), X+K)

2) sin(θi)=K1
    cos(θi)=K2

where K1, and K2 are constants. Then K1/K2 yields

θi=atan(K1, K2)

3) Xj sin(θi)=K1
    Xj cos(θi)=K2

K1/K2 yields θi=atan(K1, K2)   Xj>0
                      Θi= θi+pi              Xj<0

4) X sin(θij) + Y cos(θij) + Z cos(θi) = K1
   -X cos(θij) + Y sin(θij) + Z sin(θi) = K2

 

This solution is implemented in a MATLAB program IK.m.
Programming

With the analytical values found above, a program was created to output the calculated θi values.  The program IK.m checks for invalid inputs such as a co-ordinate outside of the workspace and also verified the integrity the values.  The forward kinematic model and the QTRPY model were implemented in FK.m and QTRPY.m respectively.




Forward kinematic model code:

FK.m

l1=95;
l2=95;
l3=150;
l4=46;
l5=0;

d1=104;
d2=41;
d3=21;
d4=-30;
d5=53;

t5=-2.4279;
t3=-1.1225;
t1=1.0861;
t2=-1.4195;
t4=3.5413;

exp1=l1*cos(t1)+l2*cos(t1 + t2)+(d3 + d4 + l5*sin(t5))*sin(t1+t2)+cos(t1+t2)*(l3*cos(t3)+l4*cos(t3 + t4)+cos(t3+t4)*l5*cos(t5)+d5*sin(t3 + t4));
exp2=-(d3+d4)*cos(t1+t2)-l5*sin(t5)*cos(t1+t2)+l1*sin(t1)+l2*sin(t1+t2)+sin(t1+t2)*(l3*cos(t3)+l4*cos(t3+t4)+l5*cos(t5)*cos(t3+t4)+d5*sin(t3+t4));
exp3=d1+d2-d5*cos(t3+t4)+l3*sin(t3)+l4*sin(t3+t4)+l5*cos(t5)*sin(t3+t4);
FK=[cos(t1+t2)*cos(t3+t4)*cos(t5)+sin(t1+t2)*sin(t5), cos(t5)*sin(t1+t2)-cos(t1+t2)*cos(t3+t4)*sin(t5), cos(t1+t2)*sin(t3+t4) exp1; cos(t3+t4)*cos(t5)*sin(t1+t2)-cos(t1+t2)*sin(t5), -cos(t1+t2)*cos(t5)-cos(t3+t4)*sin(t1+t2)*sin(t5), sin(t1+t2)*sin(t3+t4), exp2; cos(t5)*sin(t3+t4), -sin(t3+t4)*sin(t5), -cos(t3+t4), exp3; 0 0 0 1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 10:17 PM EST
Post Comment | Permalink | Share This Post

Newer | Latest | Older