This patent application relates generally to haptics devices such as vibrators and other sex toys, and more specifically to electronically operated vibrators that provide movement in a plurality of movement axes.
Haptics devices such as vibrators provide stimulation to users. Typically, movement or vibration of such devices enhance the stimulation enjoyed by the user. Power and movement control are important for having a positive user experience. Unfortunately, movement of such devices can often be poorly controlled, leading to a less enjoyable user experience.
Described herein are vibrator devices as well as techniques for operating the vibrator devices.
These and other embodiments are described further below with reference to the figures.
The included drawings are for illustrative purposes and serve only to provide examples of possible structures and operations for the disclosed inventive systems, apparatus, methods, and computer program products for haptics devices. These drawings in no way limit any changes in form and detail that may be made by one skilled in the art without departing from the spirit and scope of the disclosed implementations.
Described herein are haptics devices, including sex toys such as vibrators. The haptics devices may be communicatively coupled to electronic devices (e.g., user devices and/or server devices) and operated according to data communicated from the electronic devices. In various embodiments, the haptics devices may include haptics mechanisms to move at least a portion of the devices in a plurality of movement axes. Various haptics mechanisms are described herein.
In various embodiments, the haptics mechanisms may be, for example, a multi-axis stroker device. The stroker device may include an outer body and a moveable head operated by a haptics mechanism. The haptics mechanism may be disposed within the outer body of the stroker device and may operate the head by moving the head within a plurality of possible axes of movement.
In certain embodiments, such haptics mechanisms may include a belt-driven mechanism or a grooved sleeve mechanism. The belt-driven mechanism may include, for example, an “H-belt” configuration that includes a moveable pulley. The grooved sleeve mechanism may include a “double helix” groove configuration disposed on the outside of a cylinder.
The haptics mechanisms described herein may allow for greater control of the moveable head of the multi-axis stroker device as stroke and rotation are independent of each other. That is, stroke of the moveable head will not result in rotation and rotation of the moveable head will not result in stroke. Additionally, the haptics mechanisms can provide for quieter operation as the motors will typically rotate more slowly than in a ball screw configuration. The haptics mechanisms may also be more compact than conventional techniques, allowing for tighter packaging for a multi-axis stroker device.
Base 104 of haptics device 100 may include a chassis for mounting of various components (e.g., haptics mechanisms described herein) of haptics device 100 and a housing. The chassis and/or housing may be made of one or more of any appropriate material, such as metal, plastic, composites, natural materials such as wood, rubber, foam, and/or another such material. Base 104 may be configured to house various components of haptics device 100 inside of base 104. Thus, for example, base 104 may be configured to house portions of haptics mechanisms described herein.
Base 104 may be coupled to moveable head 102. Moveable head 102 may be configured to move relative to base 104. In various embodiments, base 104 may provide a fixture that haptics mechanism may be coupled to (e.g., may house a chassis). That is, portions of the haptics mechanism may be coupled to base 104 in a substantially fixed relationship. That is, the distance between such portions and base 104 may not significantly change, e.g., the distance may not change for more than 1-2 centimeters during operation of haptics device 100 and, in certain embodiments, may only dimensionally vary due to mechanical stress and/or vibration of haptics device 100 and not due to any design configurations.
Meanwhile, such haptics mechanism may allow for moveable head 102 of haptics device 100 to move relative to base 104. Moveable head 102 may be disposed within cavity 106 of base 104. Cavity 106 may be a cavity within base 104 shaped to accommodate translation and/or rotation of base 104 without moveable head 102 contacting base 104.
In various embodiments, moveable head 102 of haptics device 100 may be configured to move along a plurality of different axes and/or planes. For example, moveable head 102 may translate along stroke axis 108 and rotate (e.g., wobble) and/or twist within plane 110. The axis of such rotation may be stroke axis 108. Thus, the haptics mechanism may allow moveable head 102 to translate along stroke axis 108 and/or rotate within plane 110 relative to base 104.
Such coupling may secure head attachment 312 to moveable head 102 such that head attachment 312 translates and/or rotates along with moveable head 102. That is, translation or rotation of moveable head 102 may result in substantially the same translation or rotation, respectively, (e.g., the same amount of translation or rotation minus mechanical deformation) of head attachment 312. Thus, movement of moveable head 102 may be imparted to head attachment 312. As such, the haptics mechanisms described herein may cause movement of head attachment 312 via moveable head 102.
Drive unit 402 and drive unit 404 may be drive units such as electric motors and/or actuators configured to move belt 414 (e.g., may provide rotational drive to belt 414 to convey torque or power to, for example, twist pulley 406). For example, drive unit 402 and/or drive unit 404 may be electric motors that drive (e.g., rotate) gears or pulleys. The gears or pulleys may be coupled to belt 414 to convey drive torque to belt 414.
Due to the positioning of drive units and pulleys, belt 414 may be arranged in an “H” configuration. Pulley 410 and pulley 412 may be disposed on one end of the “H” and drive unit 402 and drive unit 404 may be at another end of the “H.” Belt 414 may be coupled to gears and/or pulleys of drive unit 402 and drive unit 404 as well as twist pulley 406, pulley 408, pulley 410, and pulley 412. In various embodiments, drive unit 402, drive unit 404, pulley 410, and pulley 412 may be fixed in distance to a base of the haptics device (e.g., base 104) or another portion of the haptics device. Variously, pulley 408, pulley 410, and/or pulley 412 may include gears (e.g., toothed cylinders) and/or pulleys (e.g., smooth cylinders) for coupling to belt 414.
Twist pulley 406 and pulley 408 may be pulleys configured to move relative to drive unit 402, drive unit 404, pulley 410, and/or pulley 412. In various embodiments, twist pulley 406 and pulley 408 are coupled together so that they move (e.g., translate) together in the same direction (e.g., upward or downward along stroke axis 108). Twist pulley 406 and pulley 408 may be coupled together through one or more of a rigid connection (e.g., a metal, composite, or plastic bar or other such component), a semi-rigid connection (e.g., a string, a cable, or other component that may only be rigid in certain force directions). Accordingly, the distance between twist pulley 406 and pulley 408 may be substantially fixed (e.g., so that the distance between twist pulley 406 and pulley 408 may not vary by more than 25% and such variations may be due to structural flex of the connection of twist pulley 406 and pulley 408. Twist pulley 406 and pulley 408 may not be directly coupled to the base of the haptics device and, thus, may move relative to the base. Thus, based on the direction of rotation of drive unit 402 and/or drive unit 404 (e.g., whether rotating in the same direction or in different directions), movement of belt 414 may rotate twist pulley 406 or a portion thereof (e.g., a toothed cylinder, smooth cylinder, or gear) and/or translate twist pulley 406 and pulley 408, which are coupled together as a pulley assembly.
In certain embodiments, translation of twist pulley 406, due to rotation of drive unit 402 and drive unit 404 in different directions as described in
Thus, based on operation of drive unit 402 and drive unit 404, twist pulley 406 may be operated to independently translate or rotate attachment 418. Such operation of drive unit 402 and drive unit 404 may be further described herein and may be due to, for example, how belt 414 is divided based on where the motors and pulleys are disposed within haptics mechanism 400.
Belt 414 may be divided into two portions. The first portion of belt 414 may be the span of belt 414 between drive unit 402 and drive unit 404 that contacts pulley 408, pulley 410, and pulley 412. The first portion may be considered as the upper portion of the “H” of H-shaped belt 414. The second portion of belt 414 may be the span of belt 414 between drive unit 402 and drive unit 404 that contacts twist pulley 406. The second portion may be considered as the lower portion of the “H” of H-shaped belt 414.
In
In
Accordingly, as described in
Cylindrical form 606 may be equivalent to, for example, attachment 418 of haptics mechanism 400. Thus, cylindrical form 606 may be coupled to or form a portion of a head of a haptics device. A head attachment may be accordingly coupled to cylindrical form 606. Cylindrical form 606 may cause movement of the head attachment according to the techniques described herein.
Cylindrical form 606 may include form features, such as grooves 622, disposed on an outer surface of the cylinder, such as along the height of cylindrical form 606. Ring 602 and ring 604 may be disposed on the outer portion of cylindrical form 606, such as the portion of cylindrical form 606 that includes ring 602. Grooves 622 may be configured to guide movement of ring 602 and/or ring 604 along the surface of cylindrical form 606. In various embodiments, grooves 622 may be, for example, one or more double helix grooves. A single double helix groove is illustrated in
Ring 602 and ring 604 may include features configured to interface with the form features (e.g., grooves 622) of cylindrical form 606. In certain embodiments, the features of ring 602 and ring 604 may be, for example, tongues, rollers, slides, bearings, and/or other such features configured to be disposed within grooves 622 and allow movement of ring 602 and/or ring 604 guided by grooves 622. As shown, the double helix grooves of grooves 622 may include two “strands” and the feature(s) of ring 602 configured to interface with grooves 622 may be disposed within one of the “strands” and the feature(s) of ring 604 configured to interface with grooves 622 may be disposed within the other of the “strands.”
Ring 602 may be driven by motor 656. Thus, motor 656 may drive ring 602 to rotate around stroke axis 108. Motor 656 may be any type of suitable motor, such as electric motors or actuators, hand driven mechanisms, piezoelectric devices, and/or other such motors that are configured to provide drive torque (e.g., rotational torque). In various embodiments, the drive torque from motor 656 may be transmitted to ring 602 via drivetrain 658. Drivetrain 658 may be any suitable drivetrain, such as single or multi-speed gear, belt, chain, or other types of drives.
Similarly, ring 604 may be driven by motor 652 to rotate ring 604 around stroke axis 108. In various embodiments, motor 652 may drive ring 604 via drivetrain 654. Motor 652 and drivetrain 654 may be any type of motor and/or drivetrain described herein.
In various embodiments, the inside and outside of ring 602 and/or ring 604 may be cylindrical or may be of another geometry. The inside geometry of ring 602 and/or ring 604, if not cylindrical, may nonetheless include appropriately shaped forms to interface with grooves 622. In certain embodiments, ring 602 and ring 604 may be configured to disposed proximate to each other. In certain such embodiments, ring 602 and ring 604 may be operated in a manner where the distance between ring 602 and ring 604 is substantially fixed (e.g., within a distance of 1 cm) and/or are in contact with each other.
In
In
For example, ring 602 may include features configured to interface with groove 622A and ring 604 may include features configured to interface with groove 622B. Rotation of ring 602 in angular direction 742 may cause such features of ring 602 to apply force to the upper ledge of groove 622A while rotation of ring 604 in angular direction 740 may cause such features of ring 604 to apply force to the upper ledge of groove 622B. Such force may, due to the angle that grooves 622A and 622B are disposed at, generate an upward force vector on cylindrical form 606 and cause cylindrical form 606 to move in translational direction 744. Alternatively, both ring 602 and ring 604 may move in directions opposite that of angular direction 742 and angular direction 740, respectively, and apply force to the lower ledges of grooves 622A and 622B, resulting in a downward force vector on cylindrical form 606 and cause cylindrical form 606 to move downward (e.g., in the direction opposite that of translational direction 744).
Haptics device 802 may be a haptics device as described herein, such as haptics device 100. Haptics device 802 may include motor 808, drivetrain 806, moveable head 804, and controller/communications module 810. Motor 808, drivetrain 806, and moveable head 804 may be similar to such items described herein. Controller/communications module 810 may include a controller (e.g., processor and memory) for operating haptics device 802 as well as a communications module for providing and receiving data from other devices, such as media device 812 and server device 814. Such data may be used to operate motor 808 and, thus, operate moveable head 804 through the movement of motor 808. In various embodiments, the controller and the communications module may be integrated (e.g., disposed on the same PCB board) and/or may be separate modules (e.g., separate components or utilizing separate PCB boards).
Media device 812 may be, for example, a user device that is configured to provide media (e.g., video or audio media) to a user. Thus, media device 812 may include a display as well as a processor and memory. Media device 812 may provide data to haptics device 802 to synchronize operation of haptics device 802 to the media provided by media device 812. Thus, for example, media device 812 may provide data that operations operation of the various motors of haptics device 802 to, for example, provide movement between various axes.
In certain embodiments, media device 812 may communicate such operational instructions as data to haptics device 802, in order to allow for movement of haptics device 802 to be synchronized to the media played on media device 812 (e.g., to allow for optimized timing). Certain such embodiments may include media device 812 first receiving such instructions from server device 814 (e.g., via communications channel 818), while other embodiments may include instructions that are, additionally or alternatively, determined by media device 812 through other techniques (e.g., via instructions received from another source or determined by a user operating media device 812).
Server device 814 may be any type of server that may receive or provide data from portions of system 800. Server device 814 may be, for example, a server rack or computer that may store data (e.g., videos and the associated metadata, such as associated instructions for operation of a haptics device).
Server device 814 may determine the type of haptics device (e.g., determine that it is a multi-axis haptics device) via device data communicated via communications channel 816 from haptics device 802. Based on such a determination, server device 814 may select the appropriate operating instructions for operation of haptics device 802. Thus, for example, for the same piece of media (e.g., same video), server device 814 may include instructions for operating a single axis haptic device and for operating a multi-axis haptic device. Based on the type of haptics device determined, the appropriate set of instructions for operating haptics device 802, according to the selected media, may be determined. In certain embodiments, such instructions may be similar to a “script” for operation of the haptics device, in a manner that is synchronized with the video to provide haptic feel to a viewer of the media.
In various embodiments, server device 814 may provide data including operational instructions to haptics device 802, additional or alternative to media device 812 providing such data. Haptics device 802 may receive such data via controller/communications module 810. Haptics device 802 may also include a controller that, upon receiving the data with the instructions may cause various components of haptics device 802, such as motor 808, to operate according to the instructions.
In 902, the haptics device may communicatively couple with other devices, such as a user device (e.g., media device) and/or a server device. Communicative coupling may include establishing a data connection via wired or wireless data connections, such as long ranged wireless data connections (e.g., WiFi, 4G, 5G, etc.) or short ranged wireless data connections (e.g., Bluetooth). After the haptics device has communicatively coupled with the devices, a media selection may be received from a user in 904. The media selection may be, for example, a selection of a video for playback on the media device. The selection may be made on the media device or through another such device (e.g., another user device communicatively coupled to the media device and/or the haptics device). The server device may receive the media selection from such a device.
Based on the media selection, movement data (e.g., for operation of the haptics device) and media data (e.g., video and/or audio data for playback on the media device) may be provided by the server device in 906 and 908, respectively. In various embodiments, the movement data and/or the media data may be provided, variously, to the media device and/or the haptics device. Thus, the movement data and the media data may first be provided to the media device, the movement data may be provided to the haptics device and the media data provided to the media device, or the movement data and the media data may be first provided to the haptics device.
The haptics device and the media device may be synchronized in 910. Accordingly, the media device and the haptics device may both be operated according to, for example, the test data, in order to fully synchronize the devices. For example, in certain embodiments, the media device may provide operational data that includes the test data to the haptics device. A test may be conducted to determine the latency between the media system and the haptics system, where the media device may transmit the test data to both the server device and the haptics device. The haptics device may then receive the data and provide the data to the server device. Based on the difference in time from when the data was received from the haptics device and the media device, the server device may determine the latency between the media device and the haptics device. Such latency may be communicated to the media device and the media device may adjust the timing of its media playback and that of its communication of data to the haptics device accordingly.
After such a determination, and upon receipt of the appropriate data (according to the techniques described herein), the media device may provide playback of the media, in 912, and the haptics device may be operated to provide stimulation to a user based on the media that is playing, in 914. The haptics device may be variously operated to provide movement along multiple axes, in accordance with the techniques described herein. Thus, the haptics device may be operated to provide both thrust and rotation, independently of each other.
In another embodiment, alternative or additional to synchronization performed in 910, synchronization of the haptics device and the media device may be corrected during operation, in 916. The haptics device and the media device may both communicate time stamp data of the media that is playing, for the media device, and the time data of the stimulation “script” that the haptics device is providing, for the haptics device, to the server device. Based on the time stamp data received, the server device may synchronize the playback of the media on the media device and the operation of the haptics device (e.g., so that the haptics device is providing stimulation that is synchronized with the media being played by the media device). Thus, if the server device determines that there is a mismatch between the media played by the media device and the stimulation provided by the haptics device, the server device may provide a new timestamp to the haptics device, causing the haptics device to advance or retard within the stream and, thus, synchronizing the media device and the haptics device.
As such, the techniques described herein allow for operation of a haptics device that can provide independent movement in a plurality of different axes in a manner that provides for greater power and enjoyment.
Although a particular configuration is described, a variety of alternative configurations are possible. The processor 1002 may perform operations such as those described herein. Instructions for performing such operations may be embodied in the memory 1004, on one or more non-transitory computer readable media, or on some other storage device. Various specially configured devices can also be used in place of or in addition to the processor 1002. The interface 1012 may be configured to send and receive data packets over a network. Examples of supported interfaces include, but are not limited to: Ethernet, fast Ethernet, Gigabit Ethernet, frame relay, cable, digital subscriber line (DSL), token ring, Asynchronous Transfer Mode (ATM), High-Speed Serial Interface (HSSI), and Fiber Distributed Data Interface (FDDI). These interfaces may include ports appropriate for communication with the appropriate media. They may also include an independent processor and/or volatile RAM. A computer system or computing device may include or communicate with a monitor, printer, or other suitable display for providing any of the results mentioned herein to a user.
In the foregoing specification, various techniques and mechanisms may have been described in singular form for clarity. However, it should be noted that some embodiments include multiple iterations of a technique or multiple instantiations of a mechanism unless otherwise noted. For example, a system uses a processor in a variety of contexts but can use multiple processors while remaining within the scope of the present disclosure unless otherwise noted. Similarly, various techniques and mechanisms may have been described as including a connection between two entities. However, a connection does not necessarily mean a direct, unimpeded connection, as a variety of other entities (e.g., bridges, controllers, gateways, etc.) may reside between the two entities.
In the foregoing specification, reference was made in detail to specific embodiments including one or more of the best modes contemplated by the inventors. While various implementations have been described herein, it should be understood that they have been presented by way of example only, and not limitation. For example, some techniques and mechanisms are described herein in the context of vibrators. However, the techniques of the present invention apply to a wide variety of haptics devices. Particular embodiments may be implemented without some or all of the specific details described herein. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention. Accordingly, the breadth and scope of the present application should not be limited by any of the implementations described herein, but should be defined only in accordance with the claims and their equivalents.