-
Notifications
You must be signed in to change notification settings - Fork 0
DesignBrief
*** Note: Deprecated ***
Cato is an assitive communication technology (ACT) designed to bring people more ease-of-use, autonomy, and customizability in how they control their electronic devices.
Cato is many things: a mouse, a clicker, a tap-detector, a gesture-interpreter, and a television remote. It can move a mouse pointer, click/double click, click and drag, scroll, scroll left and right, scroll a phone, open/close apps, and manage keypresses for controlling a television via bluetooth. (Arrow Keys, enter, escape, volume and function keys).
What we are most proud of, however, is Cato's endless customizability. Users of Cato can record their own gestural data through our webApp, and have their Cato programmed with a TinyML solution unique to them. If you'd like gestures to be performed via the side of a pair of glasses, we can do that. If you instead prefer to have it on your foot or elbow, we can do that, too!
Once a user trains their custom model, they can map those gestures to any keypresses they like, or to an internal mode shift in Cato, to enable multiple "pages" of gesture-keypress mappings for their various needs.
Our prototype is mounted on the left side of a pair of glasses, and detects rotation of the head. The prototype is trained on the following gestures:
Nod: Up / Down / Left / Right
Shake: Yes / No
Tilt: Right / Left
Circle: Clockwise / Counterclockwise
Currently, our design has 3 use options, with more to be designed and improvments coming throughout our upcoming beta trials.
In this mode, the Cato acts as a pointer; it is, in fact, a gyroscope-based computer mouse. The user can direct the cursor via either absolute positioning, or by a dynamic acceleration scheme designed to enable fine cursor placement with coarse but slow movement.
Once the user positions the cursor and idles, Cato draws a small plus on the screen, during which time the user can input a gesture, which is then dispatched as the command of their choosing, whether it is a click, double click, scroll, or any other keypress they have programmed.
| Gesture | Cato Command | Function Handle (config.json) |
|---|---|---|
| Unrecognized | None | noop |
| Up | Right Click | right_click |
| Down | Left Click | left_click |
| Right | Scroll | _scroll |
| Left | Idle | _wait_for_motion |
| Tilt R | Scroll LR | _scroll_lr |
| Tilt L | Calibrate | quick_calibrate |
| Yes | Double Click | double_click |
| No | Center Cursor | center_mouse_cursor |
| Circle CW | Sleep | quick_sleep |
| Circle CCW | Sleep | quick_sleep |
We realize that not every use case needs a pointer, so we designed a remote for navigating your smart TV. In this mode, your gestures are mapped to repeated and accelerating left/right up/down movements that you can cancel by gentle shake - so that you can scroll through your favorite television apps.
Additionally, your gestures can be assigned to select your current cursor location by pressing enter, or go back by pressing escape.
Other functionalities such as volume and function keys for opening apps directly (such as a Hulu or Disney+ button on your remote) can be bound as well.
We realized that it might be useful to enable a two-Cato use scheme. In this mode, one Cato is a forever-pointer, like moving your mouse, and the other is a programmable clicker, which can both detect gestures and detect taps.
One excellent use case is for our users who prefer a fully hands free experience, but would prefer minimal gesture usage. In this case, Cato acts just like a regular mouse, but with a bluetooth connectable assistive switch with tunable tap-sensitivity that can be mounted anywhere via simple velcro strap.
Our company motto is "Zero Impediments to Living." We want all people to have convenient and customizable control over their devices and environments.