1. A method for Kalman filter state estimation in bilinear systems, comprising the steps of:
(a) generating an observer in an electronic device for estimating a state vector xk associated with a bilinear system, the observer defining a covariance matrix Pk statistically relating the state vector xk, where k represents an integer time increment, the bilinear system being defined by xk+1=Axk+B(xkxk)+wk where A is a transition matrix defined by the bilinear system, B is a measurement matrix defined by parameters of the bilinear system, and wk is system noise at time k;
(b) receiving sensor data yk at the electronic device from a sensor, the sensor data being associated with the state vector xk as yk=Cxk+vk, where C is a measurement matrix defined by the parameters of the bilinear system and vk is measurement noise at time k;
(c) generating initial estimates of the state vector and the covariance matrix from the sensor data and storing the initial estimates of the state vector and the covariance matrix in non-transitory computer readable memory of the electronic device;
(d) calculating a projected state vector xk+1k representing the state vector projected ahead by one time increment as xk+1k=Axkk+Bzkk and storing the projected state vector xk+1k in the non-transitory computer readable memory of the electronic device, where zk=xkxk and zkk=Ek(zk);
(e) calculating a projected covariance matrix Pk+1k representing the covariance matrix projected ahead by one time increment as Pk+1k=APkkAT+A{umlaut over (P)}kkBT+B({umlaut over (P)}kk)TAT+B{dot over (P)}kkBT+Q, where Q represents a covariance of the system noise wk, and storing the projected covariance matrix Pk+1k in the non-transitory computer readable memory of the electronic device;
(f) calculating a Kalman gain Kk+1 as Kk+1=Pk+1kCT(CPk+1kCT+R)\u22121, where R is a covariance of the measurement noise vk, and storing the Kalman gain Kk+1 in the non-transitory computer readable memory of the electronic device;
(g) receiving a new set of measurement data yk from the sensor and updating the state vector and the covariance matrix based upon the new set of measurement data as xk+1k+1=xk+1k+Kk+1(yk\u2212Cxk+1k) and Pk+1k+1=(I\u2212Kk+1C)Pk+1k, respectively, wherein xk+1k+1 represents the updated state vector for time (k+1) and Pk+1k+1 represents the updated covariance matrix for time (k+1), where I represents the identity matrix, and storing the updated state vector and the updated covariance matrix in the non-transitory computer readable memory of the electronic device; and
(h) returning to steps (d) and (e) with the updated state vector and the updated covariance matrix, respectively.
2. The method for Kalman filter state estimation in bilinear systems as recited in claim 1, further comprising the step of calculating a further updated state vector xkt as xkt=xkk+Jk(xk+1t\u2212xk+1k) and a further updated covariance matrix Pkt as Pkt=Pkk+Jk(Pk+1t\u2212Pk+1k)JkT for a time t, where t>k+1 in an interval k=t\u22121, . . . , 1, following the step (g) and prior to the step (h), wherein Jk=(PkkAT+{umlaut over (P)}kkBT)(Pk+1k)\u22121.
3. A system for Kalman filter state estimation in bilinear systems, comprising:
a processor;
non-transitory computer readable memory coupled to the processor;
software stored in the non-transitory computer readable memory and executable by the processor, the software having:
means for generating an observer for estimating a state vector xk associated with a bilinear system, the observer defining a covariance matrix Pk statistically relating the state vector xk, where k represents an integer time increment, the bilinear system being defined by xk+1=Axk+B(xkxk)+wk where A is a transition matrix defined by the bilinear system, B is a measurement matrix defined by parameters of the bilinear system, and wk is system noise at time k;
means for receiving sensor data yk from a sensor, the sensor data being associated with the state vector xk as yk=Cxk+vk, where C is a measurement matrix defined by the parameters of the bilinear system and vk is measurement noise at time k;
means for generating initial estimates of the state vector and the covariance matrix from the sensor data and storing the initial estimates of the state vector and the covariance matrix in the non-transitory computer readable memory;
means for calculating a projected state vector xk+1k representing the state vector projected ahead by one time increment as xk+1k=Axkk+Bzkk and storing the projected state vector xk+1k in the non-transitory computer readable memory, where zk=xkxk and zkk=Ek(zk);
means for calculating a projected covariance matrix Pk+1k representing the covariance matrix projected ahead by one time increment as Pk+1k=APkkAT+A{umlaut over (P)}kkBT+B({umlaut over (P)}kk)TAT+B{dot over (P)}kkBT+Q, where Q represents a covariance of the system noise wk, and storing the projected covariance matrix Pk+1k in the non-transitory computer readable memory;
means for calculating a Kalman gain Kk+1 as Kk+1=Pk+1kCT(CPk+1kCT+R)\u22121, where R is a covariance of the measurement noise vk, and storing the Kalman gain Kk+1 in the non-transitory computer readable memory; and
means for receiving a new set of measurement data yk from the sensor and updating the state vector and the covariance matrix based upon the new set of measurement data as xk+1k+1=xk+1k+Kk+1(yk\u2212Cxk+1k) and Pk+1k+1=(I\u2212Kk+1C)Pk+1k, respectively, wherein x+1k+1 represents the updated state vector for time (k+1) and Pk+1+1 represents the updated covariance matrix for time (k+1), where I represents the identity matrix, and storing the updated state vector and the updated covariance matrix in the non-transitory computer readable memory.
4. The system for Kalman filter state estimation in bilinear systems as recited in claim 3, further comprising means for calculating a further updated state vector xkt as xkt=xkk+Jk(xk+1t\u2212xk+1k) and a further updated covariance matrix Pkt as Pkt=Pkk+Jk(Pk+1t\u2212Pk+1k)JkT for a time t, where t>k+1 in an interval k=t\u22121, . . . , 1, wherein Jk=(PkkAT+{umlaut over (P)}kkBT)(Pk+1k)\u22121.
5. A computer software product that includes a non-transitory computer readable storage medium readable by a processor, the non-transitory computer readable storage medium having stored thereon a set of instructions for Kalman filter state estimation in bilinear systems, the instructions comprising:
(a) a first sequence of instructions which, when executed by the processor, causes the processor to generate an observer for estimating a state vector xk associated with a bilinear system, the observer defining a covariance matrix Pk statistically relating the state vector xk, where k represents an integer time increment, the bilinear system being defined by xk+1=Axk+B(xkxk)+wk where A is a transition matrix defined by the bilinear system, B is a measurement matrix defined by parameters of the bilinear system, and wk is system noise at time k;
(b) a second sequence of instructions which, when executed by the processor, causes the processor to receive sensor data yk from a sensor, the sensor data being associated with the state vector xk as yk=Cxk+vk, where C is a measurement matrix defined by the parameters of the bilinear system and vk is measurement noise at time k;
(c) a third sequence of instructions which, when executed by the processor, causes the processor to generate initial estimates of the state vector and the covariance matrix from the sensor data and storing the initial estimates of the state vector and the covariance matrix in the non-transitory computer readable storage medium;
(d) a fourth sequence of instructions which, when executed by the processor, causes the processor to calculate a projected state vector xk+1k representing the state vector projected ahead by one time increment as xk+1k=Axkk+Bzkk and storing the projected state vector xk+1k in the non-transitory computer readable storage medium, where zk=xkxk and zkk=Ek(zk);
(e) a fifth sequence of instructions which, when executed by the processor, causes the processor to calculate a projected covariance matrix Pk+1k representing the covariance matrix projected ahead by one time increment as Pk+1k=APkkAT+A{umlaut over (P)}kkBT+B({umlaut over (P)}kk)TAT+B{dot over (P)}kkBT+Q, where Q represents a covariance of the system noise wk, and storing the projected covariance matrix Pk+1k in the non-transitory computer readable storage medium;
(f) a sixth sequence of instructions which, when executed by the processor, causes the processor to calculate a Kalman gain Kk+1 as Kk+1=Pk+1kCT(CPk+1kCT+R)\u22121, where R is a covariance of the measurement noise vk, and storing the Kalman gain Kk+1 in the non-transitory computer readable storage medium;
(g) a seventh sequence of instructions which, when executed by the processor, causes the processor to receive a new set of measurement data yk from the sensor and update the state vector and the covariance matrix based upon the new set of measurement data as xk+1k+1=xk+1k+Kk+1(yk\u2212Cxk+1k) and Pk+1k+1=(I\u2212Kk+1C)Pk+1k, respectively, wherein xk+1k+1 represents the updated state vector for time (k+1) and Pk+1k+1 represents the updated covariance matrix for time (k+1), where I represents the identity matrix, and storing the updated state vector and the updated covariance matrix in the non-transitory computer readable storage medium; and
(h) an eighth sequence of instructions which, when executed by the processor, causes the processor to return to the fourth and fifth sequences of instructions with the updated state vector and the updated covariance matrix, respectively.
6. The computer software product as recited in claim 5, further comprising a ninth sequence of instructions which, when executed by the processor, causes the processor to calculate further updated state vector xkt as xkt=xkk+Jk(xk+1t\u2212xk+1k) and a further updated covariance matrix Pkt as Pkt=Pkk+Jk(Pk+1t\u2212Pk+1k)JkT for a time t, where t>k+1 in an interval k=t\u22121, . . . , 1, following the seventh set of instructions and prior to the eighth set of instructions, wherein Jk=(PkkAT+{umlaut over (P)}kkBT)(Pk+1k)\u22121.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of recording the state of a surgical instrument, the surgical instrument comprising:
an end effector to engage tissue, the end effector comprising a staple channel and an anvil pivotable relative to the staple channel, where at least one of the anvil and the staple channel defines a longitudinal channel;
a reciprocating knife positioned to slide distally through the longitudinal channel;
a longitudinal shaft extending proximally from the end effector;
a first sensor having an output representing a position of the anvil relative to the staple channel;
a second sensor having an output representing a position of the reciprocating knife; and
an externally accessible memory device;
the method comprising:
monitoring the outputs of the first sensor and the second sensor;
recording the output of the first sensor to the memory device when a change occurs in the output of the first sensor; and
recording the output of the second sensor to the memory device when a change occurs in the output of the second sensor.
2. The method of claim 1, further comprising providing the output of the first sensor from the memory device to an outside device.
3. The method of claim 2, wherein providing the output of the first sensor from the memory device to the outside device further comprises providing the output of the first sensor to an output port of the memory device.
4. The method of claim 2, wherein providing the output of the first sensor from the memory device to the outside device further comprises providing the output of the first sensor to a removable storage medium.
5. The method of claim 2, wherein providing the output of the first sensor from the memory device to the outside device comprises providing the output of the first sensor to the outside device wirelessly by the memory device.
6. The method of claim 5, wherein providing the output of the first sensor from the memory device to the outside device comprises providing the output of the first sensor to the outside device wirelessly by the memory device via a wireless output port of the memory device.
7. The method of claim 1, wherein the surgical instrument further comprises a third sensor having an output representing a pressure exerted by the end effector, the method further comprising:
monitoring the output of the third sensor; and
recording the output of the third sensor to the memory device when a change occurs in the output of the third sensor.
8. The method of claim 1, wherein monitoring the output of the first sensor comprises monitoring an output of at least one binary sensor.
9. The method of claim 1, wherein monitoring the output of the first sensor comprises monitoring an output of at least one analog sensor.
10. A method of recording the state of a surgical instrument, the surgical instrument comprising:
an end effector to engage tissue, the end effector comprising a staple channel and an anvil pivotably translatable relative to the staple channel, wherein at least one of the anvil and the staple channel defines a longitudinal channel;
a reciprocating knife positioned to slide distally through the longitudinal channel;
a longitudinal shaft extending proximally from the end effector; and
an externally accessible memory device comprising a wireless output port; the method comprising the steps of:
monitoring an output of a first sensor, wherein the output of the first sensor indicates a condition of at least one component selected from the group consisting of the anvil, the staple channel and the knife, then;
recording the output of the first sensor to the memory device when at least one condition of the surgical instrument changes; and
wirelessly communicating the output of the first sensor to an outside device via the wireless output port of the memory device.
11. The method of claim 10, wherein the at least one condition of the surgical instrument comprises a position of the anvil relative to the staple channel.
12. The method of claim 10, wherein the at least one condition of the surgical instrument comprises a position of the knife within the end effector.
13. The method of claim 10, wherein the at least one condition of the surgical instrument comprises a pressure exerted by the end effector.
14. The method of claim 10, wherein monitoring the output of the first sensor comprises monitoring an output of a binary sensor.
15. The method of claim 10, wherein monitoring the output of the first sensor comprises monitoring an output of an analog sensor.
16. The method of claim 10, further comprising:
monitoring outputs of a plurality of sensors, wherein the plurality of sensors comprises the first sensor and wherein each of the plurality of sensors provides an output indicating a condition of at least one component of the surgical instrument.