to identify the null space of the signal. Thus, if sensor signals defined within this null space are used to define one or more commands for a system, the commands may not be mistaken with the signals detected during normal execution of a task. [0057] Using the above concept, it is possible for a user to express and communicate a rich variety of commands while both hands are busy holding a tool and, thereby, not available for operating switches and joysticks. Thus, “Finger Code Communication” may be implemented in a system by a user using wearable finger force sensors. Specifically, a user may issue a command to a system with a special combination of individual finger forces, but those finger force signals may need to be distinguished from the forces of unintended signals from performance of a task in which the user is engaged. While the user is executing their task, the user typically interacts with one or more objects (e.g., holds a tool with both hands), generating finger forces. In order to distinguish those forces from intended signals as well as to design a “commandcode” of finger forces, a data-driven approach is proposed by using data taken from the user performing the task(s). [0058] Suppose that fingertip force sensors can measure fingertip forces at m fingers. Let f$_{i}$ be force at the i th finger. Collectively, m fingertip forces are represented as: [0059] Suppose that a user demonstrates a task to be performed by using a tool. Finger forces are measured and labeled as The covariance matrix of the data may then be computed: [0060] The principal component analysis of the covariance gives a series of eigenvalues and associated eigenvectors in the descending order of magnitude: [0061] where integer k is the number of positive eigenvalues. Using the first k eigenvectors, the range space of the fingertip forces can be formed: