Force feedback device

The force feedback device synchronizes the presentation of a force sensation with the waving motion of a penlight by predicting the end time of an arm swing and driving the first drive part accordingly, enhancing the user's experience and guiding arm swings in a specific cycle and direction.

JP7694827B2Active Publication Date: 2025-06-18NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024526277
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-06-07
Filing Date
2023-04-21
Publication Date
2025-06-18
Estimated Expiration
2043-04-21

AI Technical Summary

Technical Problem

Existing technologies struggle to synchronize the operation of waving a penlight with the presentation of a force sensation, and to ensure that the force sensation does not hinder the waving motion.

Method used

A force feedback device with a handheld part, a first drive part, a force feedback part, a sensor, and a control part, which predicts the end time of an arm swing based on the change in arm swing speed and drives the first drive part accordingly to synchronize the force sensation with the waving motion.

Benefits of technology

The device effectively presents a synchronized force sensation that enhances the user's experience of waving a penlight, encouraging further arm swings or guiding them in a specific cycle and direction without hindering the motion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007694827000001
    Figure 0007694827000001
  • Figure 0007694827000002
    Figure 0007694827000002
  • Figure 0007694827000003
    Figure 0007694827000003
Patent Text Reader

Abstract

This force sense display device according to an embodiment has: a handheld part, a first drive unit, a force sense display unit, a sensor, and a control unit. The handheld part has a cylindrical first housing to be gripped by a user. The first drive unit has a first rotary shaft perpendicular to the central axis of the first housing, and the first drive unit is accommodated in the handheld unit. The force sense display unit has a cylindrical second housing attached to the first rotary shaft of the first drive unit and changes the position of the center of gravity by rotating around the first rotary shaft upon receiving a rotational force from the first drive unit. The sensor measures the velocity of an arm-swing of the user who is gripping the handheld part. The control unit predicts the end time of the arm-swing on the basis of a change in the velocity of the arm-swing and drives the first drive unit on the basis of the predicted end time of the arm-swing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] An embodiment relates to a force sensation presentation device.

Background Art

[0002] At live events and the like, audiences may wave penlights (also called stick lights etc.) to cheer for the performers at the live event and the like. However, when participating remotely in a live event or when participating alone at the venue, the audience may not feel like waving the penlight boldly or may hesitate to wave it. In order to arouse the feeling of waving the penlight, it is conceivable to present a force sensation in accordance with the waving of the audience's penlight.

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Non-Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] When presenting a force sensation in a penlight, it is important that the operation of waving the audience's penlight and the operation of presenting the force sensation are synchronized. Also, it is important that the operation of waving the audience's penlight is not hindered by the presentation of the force sensation.

[0005] An embodiment provides a force sensation presentation device that appropriately presents a force sensation with respect to a waving operation, a force sensation presentation method using the same, and a force sensation presentation program.

Means for Solving the Problems

[0006] The force feedback device of the embodiment includes a handheld part, a first drive part, a force feedback part, a sensor, and a control part. The handheld part has a cylindrical first housing that is gripped by the user. The first drive part has a first rotation axis orthogonal to the central axis of the first housing and is housed in the handheld part. The force feedback part has a cylindrical second housing attached to the first rotation axis of the first drive part, and the position of the center of gravity changes by rotating around the first rotation axis in response to the rotational force from the first drive part. The sensor measures the speed of the user's arm swing while gripping the handheld part. The control part predicts the end time of the arm swing based on the change in the speed of the arm swing, and drives the first drive part based on the predicted end time of the arm swing.

Advantages of the Invention

[0007] According to the embodiment, a force feedback device is provided that appropriately presents a sense of force for a swinging motion.

Brief Description of the Drawings

[0008]

Figure 1A

Figure 1B

Figure 2A

Figure 2B

Figure 2C

Figure 3A

Figure 3B

Figure 4

Figure 5

Figure 6A

Figure 6B

Figure 7

Figure 8

Figure 9

Figure 10A

Figure 10B

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16A

Figure 16B

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22A

Figure 22B

Figure 23A

Figure 23B

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments will be described with reference to the drawings.

[0010] (First Embodiment) First, the first embodiment will be described. FIG. 1A is a diagram showing the appearance of an example of a force sense presentation device according to each embodiment. FIG. 1B is a diagram showing the internal configuration of an example of a force sense presentation device. The force sense presentation device in each embodiment is a rod-shaped device that can be held by the user's hand. The force sense presentation device in each embodiment can present a force sense to the user.

[0011] Hereinafter, the force sensation presentation device will be described as a penlight 1 shaken by a user at a live venue or the like. Here, the penlight 1 may have a size that can be grasped by the user, and is not necessarily limited to the size of a "pen". Hereinafter, the side held by the user of the penlight 1 may be referred to as the proximal end, and the side opposite to the proximal end along the longitudinal direction of the penlight 1 may be referred to as the distal end.

[0012] As shown in FIGS. 1A and 1B, the penlight 1 has a first housing 10 and a second housing 20.

[0013] The first housing 10 is a cylindrical housing held by the user. The first housing 10 is, for example, a cylindrical housing, but does not necessarily have to be a cylindrical housing. Here, in FIGS. 1A and 1B, the central axis P of the first housing 10 is shown for later explanation. Also, for the following explanation, a Z-axis is defined in a direction parallel to the central axis P, and an X-axis and a Y-axis are defined in a plane direction perpendicular to the Z-axis. The X-axis is, for example, the left-right direction in FIGS. 1A and 1B, and the Y-axis is, for example, the front-back direction in FIGS. 1A and 1B.

[0014] A button / switch 10a is arranged on the surface of the first housing 10. The button / switch 10a is a button and / or switch for various operations by the user holding the penlight 1, and is electrically connected to a control board 12 inside the first housing 10. The button / switch 10a may include, for example, a power switch of the penlight 1, a force sensation feedback button to be described later, etc. The number of buttons and / or switches arranged as the button / switch 10a may be determined as appropriate. Also, the button / switch 10a may be absent. Furthermore, a light emitting part for state display such as an LED (Light Emitting Diode) may be provided on the surface of the first housing 10.

[0015] Also, a power supply unit 11, a control board 12, and a first motor 13 are housed in the first housing 10.

[0016] The power supply unit 11 supplies power to the control board 12. The power supply unit 11 may include, for example, a battery storage unit for storing a battery for the operation of the penlight 1 and a voltage conversion circuit that converts the voltage of the battery into a voltage of a magnitude required for the operation of the control board 12.

[0017] The control board 12 is a board on which circuits necessary for various operations of the penlight 1 are mounted. Each circuit on the control board 12 operates by the power supply from the power supply unit 11. For example, the control board 12 controls the driving of the first motor 13. The control board 12 will be described in detail later.

[0018] The first motor 13 is a drive unit housed inside the first housing 10 so as to have a rotation axis A1 in a direction perpendicular to the central axis P. The rotation axis A1 of the first motor 13 rotates in the r11 direction in response to a control signal from the control board 12. The first motor 13 is, for example, a DC (direct current) motor. The first motor 13 may be configured as a servo motor. In this case, a sensor for detecting the rotation speed of the first motor 13, such as an encoder, is provided on the rotation axis A1 of the first motor 13, and a servo mechanism for controlling the rotation speed of the first motor 13 according to the detected value of the rotation speed of the first motor 13 is provided on the control board 12.

[0019] The second housing 20 is a cylindrical housing. The second housing 20 may be a cylindrical housing similar to the first housing 10. On the other hand, the second housing 20 does not necessarily have to be a cylindrical housing similar to the first housing 10. The second housing 20 may have any shape assumed as the housing on the tip side of the penlight. Further, the second housing 20 includes a light emitting portion. This light emitting portion is a diffusion member that diffuses light from a light source such as an LED provided on the inner wall of the second housing 20, for example, provided on the control board 12. Note that the light source such as an LED does not necessarily have to be provided on the control board 12 and may be provided on the second housing 20. Further, the light emitting portion does not necessarily have to be a light emitting portion that emits light by a light source. For example, the light emitting portion may be a chemical light type light emitting portion that emits fluorescence when bent.

[0020] As shown in FIG. 1B, the second housing 20 is provided with a cylindrical protrusion 21 having a diameter smaller than that of the second housing 20, for example. The protrusion 21 is attached to the rotation shaft A1 of the first motor 13. Thereby, the second housing 20 is attached to the first housing 10 and can rotate around the rotation shaft A1 by receiving the rotational force from the first motor 13.

[0021] With the above configuration, the first housing 10 constitutes a hand-held portion that is held by the user in the penlight 1, and the second housing 20 can constitute a force sensation presenting portion for presenting a force sensation to the user in the penlight 1.

[0022] FIGS. 2A, 2B, and 2C are diagrams showing the operation of the penlight 1. When using the penlight 1, the user holds the portion of the first housing 10 of the penlight 1 with the hand H. Then, the user swings the penlight 1 held by the hand H to cheer for the performer.

[0023] While the user is swinging the arm, the penlight 1 rotates the first motor 13 in response to the user's arm swing. The rotation shaft of the first motor 13 rotates in the r11 direction shown in FIG. 2A. As described above, the rotation shaft of the first motor 13 is attached to the protrusion 21 provided at the lower part of the second housing 20. Therefore, as the rotation shaft of the first motor 13 rotates, the protrusion 21 also rotates in the r11 direction. As the protrusion 21 rotates, the second housing 20 also rotates in the r12 direction, which is the same direction as r11.

[0024] Here, when the first motor 13 is not rotating, as shown in FIG. 2B, the central axis of the second housing 20 coincides with the central axis P of the first housing 10. Therefore, in the state of FIG. 2B, the center of gravity G1 of the penlight 1 is on the central axis P. In this state, no force sensation is presented to the user.

[0025] On the one hand, when the first motor rotates, as shown in FIG. 2C, the central axis of the second housing 20 deviates from the central axis P of the first housing 10. Therefore, in the state of FIG. 2C, the center of gravity G2 in the penlight 1 moves to a position deviated from above the central axis P as the second housing 20 rotates. By swinging the arm in a state where the center of gravity is moving in this way, a force sensation is presented to the user holding the penlight 1.

[0026] In this way, the penlight 1 encourages the user to make further arm swings or induces the user to swing the arm at a predetermined cycle by presenting a force sensation in response to the user's arm swing.

[0027] Here, the configuration of the penlight 1 is not limited to the configuration shown in FIGS. 1A and 1B, and can be deformed into various configurations. Hereinafter, modified examples of the configuration of the penlight 1 will be described.

[0028] FIGS. 3A and 3B are diagrams showing the configuration of a first modified example of the penlight 1. Here, FIG. 3A shows a front view of the second housing 20. Further, FIG. 3B shows a side view of the second housing 20. As shown in FIG. 3A, in the first modified example, a plurality of holes 22 are formed on the surface of the second housing 20 along the longitudinal direction. A weight 23 is attached to the second housing 20 through the holes 22. The weight 23 has a shape that follows the surface shape of the second housing 20. For example, if the surface of the second housing 20 is flat as shown in FIG. 3B, the weight 23 is also flat. Further, a protruding portion that fits into the hole 22 is formed on a part of the weight 23.

[0029] In the configuration of the first modified example, the position of the center of gravity of the second housing 20 changes depending on the attachment position of the weight 23. With the configuration of such a first modified example, the maximum value of the force sensation applied to the user when the first motor 13 rotates can be adjusted. In the configuration of the first modified example, the maximum value of the force sensation increases as the weight 23 is attached closer to the tip side of the second housing 20.

[0030] FIG. 4 is a diagram showing the configuration of a second modification of the penlight 1. Here, FIG. 4 shows an external perspective view of the second housing 20. As shown in FIG. 4, in the second modification, the second housing 20 is configured by stacking a plurality of cylinders with different diameters. Thereby, the second housing 20 can expand and contract along the longitudinal direction. Due to the expansion and contraction of the second housing 20, the position of the center of gravity of the second housing 20 changes. Therefore, also in the configuration of the second modification, the maximum value of the force sensation applied to the user when the first motor 13 rotates can be adjusted. In the configuration of the second modification, the maximum value of the force sensation increases by extending the second housing 20.

[0031] FIG. 5 is a diagram showing the configuration of a third modification of the penlight 1. Here, FIG. 5 shows the internal configuration of the second housing 20. As shown in FIG. 5, in the third modification, a belt 24 is arranged inside the second housing 20. The belt 24 can rotate, for example, following the rotation of rollers 25 provided on the tip side and the base end side of the second housing 20. For example, the roller 25 on the base end side can be rotated by a motor. Also, as shown in FIG. 5, a weight 26 is attached to one side of the belt 24.

[0032] In such a third modification, as the belt 24 rotates due to the rotation of the roller 25, the weight 26 attached to the belt 24 moves in the longitudinal direction of the second housing 20 indicated by the arrow a1. Due to the movement of the weight 26, the position of the center of gravity of the second housing 20 changes. Therefore, also in the configuration of the third modification, the maximum value of the force sensation applied to the user when the first motor 13 rotates can be adjusted. In the configuration of the third modification, similar to the configuration of the first modification, the maximum value of the force sensation increases as the weight 26 moves toward the tip of the second housing 20.

[0033] Here, FIG. 5 shows an example of moving the position of the weight 26 by the rotation of the belt 24. However, the moving mechanism for moving the position of the weight 26 is not necessarily limited to that by the belt 24. For example, the moving mechanism for moving the position of the weight 26 may be by a pulley using pushing and pulling by two wires.

[0034] Figures 6A and 6B are diagrams showing the configuration of a fourth modification example of the penlight 1. Here, FIG. 6A shows the internal configuration of the second housing 20. Further, FIG. 6B shows a side view of the second housing 20 as a fourth modification example. The fourth modification example is a further modification example of the third modification example. As shown in FIG. 6A, in the fourth modification example, a slide mechanism is provided for sliding the roller 25 on the tip side in the lateral direction of the second housing 20 indicated by the arrow a2. The slide mechanism has an opening 27 formed at the position of the roller 25 on the tip side in the second housing 20, and a knob portion 28 attached to the roller 25 on the tip side and exposed to the outside of the second housing 20 through the opening 27. The user holds the knob portion 28 with a finger, for example, and moves it along the opening 27. As a result, the direction of the belt 24 arranged in the second housing 20 is adjusted. As a result, the position of the weight 26 also changes.

[0035] In such a fourth modification example, the position of the weight 26 can be changed not only in the longitudinal direction but also in the lateral direction of the second housing 20. Therefore, in the fourth modification example, the maximum value of the force sensation can be adjusted more finely than in the third modification example.

[0036] FIG. 7 is a diagram showing the configuration of a fifth modification example of the penlight 1. Here, FIG. 7 shows the internal configuration of the penlight 1. In the fifth modification example, the first housing 10 and the second housing 20 are configured as an integrated housing 30. Inside the housing 30, a power supply unit 11, a control board 12, and a first motor 13 are housed. Further, the rotating shaft of the first motor 13 is attached to a rod-shaped member 31.

[0037] In such a configuration, when the first motor 13 rotates, the rod-shaped member 31 rotates in the r12 direction as the first motor 13 rotates. As a result, the position of the center of gravity of the housing 30 changes. By swinging the arm in a state where the center of gravity is moving in this way, a force sensation is presented to the user holding the penlight 1. That is, in the fifth modification example, without the housing 30 rotating, a force sensation is presented to the user by the rotation of the rod-shaped member 31 inside the housing 30.

[0038] Here, in the fifth modification example, the housing 30 is not divided into the first housing 10 and the second housing 20. Therefore, as shown in FIG. 8, the rod-shaped member 31 can be extended as long as a space for arranging the power supply unit 11, the control board 12, and the first motor 13 can be secured. For example, in FIG. 8, the rod-shaped member 31 is extended to the position of the user's hand H. Since the rod-shaped member 31 is long, the maximum value of the force sensation that can be presented to the user can be increased.

[0039] Also, in the fifth modification example, the power supply unit 11, the control board 12, and the first motor do not necessarily have to be arranged together on the proximal end side of the housing 30. For example, as shown in FIG. 9, the power supply unit 11 may be arranged at the center of the housing 30, and the control boards 12a, 12b and the first motors 13a, 13b may be arranged above and below the power supply unit 11, respectively. In this case, the user can grip the center of the housing 30. Even with the configuration of FIG. 9, the maximum value of the force sensation that can be presented to the user can be increased. In the example of FIG. 9, the rotation direction of the first motor 13a and the rotation direction of the first motor 13b can be controlled to be opposite to each other.

[0040] FIGS. 10A and 10B are diagrams showing the configuration of a sixth modification example of the penlight 1. Here, FIG. 10A shows the appearance of the penlight 1. FIG. 10B shows the internal configuration of the penlight 1.

[0041] As shown in FIGS. 10A and 10B, the penlight 1 of the sixth modification example includes a first housing 40, a second housing 50, and a third housing 60.

[0042] The first housing 40 corresponds to the first housing 10 shown in FIGS. 1A and 1B. That is, the first housing 40 is a cylindrical housing that is gripped by the user and can constitute the hand-held portion of the penlight 1. A button / switch 10a is arranged on the surface of the first housing 40. On the other hand, the first motor 13 is not housed in the first housing 40, and the power supply unit 11, the control board 12, and the second motor 14 are housed therein.

[0043] The second motor 14 is housed inside the first housing 40 so as to have a rotation axis A2 coaxial with the central axis P. The rotation axis A2 of the second motor 14 is attached to the third housing 60. The second motor 14 receives a control signal from the control board 12 and rotates in the r21 direction around the rotation axis A2, which is the horizontal direction with respect to the pen light 1. As a result, the third housing 60 also rotates in the r21 direction. Similar to the first motor 13, the second motor 14 may be, for example, a DC motor or may be configured as a servo motor.

[0044] The third housing 60 is a cylindrical housing and can form a hand-held part together with the first housing 40. The third housing 60 may be a cylindrical housing similar to the first housing 40 and the second housing 50. The third housing 60 can rotate around the rotation axis A2 by receiving the rotational force from the second motor 14. The first motor 13 is housed inside the third housing 60 so as to have a rotation axis A1 in a direction perpendicular to the central axis P. The rotation axis A1 of the first motor 13 rotates in the r11 direction by receiving a control signal from the control board 12. The first motor 13 is, for example, a DC motor. The first motor 13 may be configured as a servo motor.

[0045] The second housing 50 corresponds to the second housing 20 shown in FIGS. 1A and 1B. That is, the second housing 50 can form a force sensation presentation part in the pen light 1. Similar to the second housing 20, the second housing 50 is provided with, for example, a cylindrical protruding part 51 having a diameter smaller than the diameter of the second housing 50. The protruding part 51 is attached to the rotation axis A1 of the first motor 13. As a result, the second housing 50 is attached to the third housing 60.

[0046] In the sixth modification example, the second housing 50 can rotate around the central axis P by receiving the rotational force from the second motor 14 housed in the first housing 40. Due to the rotation of the second housing 50 around the central axis P, the rotation direction of the second housing 50 when the rotation axis of the first motor 13 rotates can also change in the direction around the central axis P. By such an operation, the penlight 1 can, for example, adjust the direction of presenting the force sensation to match the direction of the user's arm swing, or guide the user's arm swing direction to a specific direction by setting the direction of presenting the force sensation to a specific direction.

[0047] Here, the configuration of the sixth modification example of the penlight 1 can be combined with the configuration of an example of the penlight 1 described above and the configurations of the first to fifth modification examples. For example, regarding the configuration of an example and the configurations of the first to fourth modification examples, the configuration of the second housing 50 may be replaced with the configurations shown in an example and the first to third modification examples. Further, regarding the fifth modification example, inside the housing 30, the first motor 13 may be attached to the rotation axis of the second motor 14.

[0048] In the penlight 1 having the configuration described above, the entire second housing or the rod-shaped member inside the second housing that constitutes the force sensation presenting unit can rotate by the first motor housed inside the first housing or the third housing. By the rotation of the entire second housing or the rod-shaped member inside the second housing, a force sensation is presented to the user.

[0049] Also, in the penlight 1 having the configuration described above, a device or the like for presenting the force sensation can be housed inside the housing of the penlight. Therefore, the penlight having the configuration described above can present the force sensation without interfering with the user's arm swing. Also, in the penlight having the configuration described above, the design is not impaired.

[0050] Next, the control board 12 will be described. FIG. 11 is a block diagram showing the circuit mounted on an example of the control board 12. The configuration of the control board 12 shown in FIG. 11 corresponds to the configuration of the control board 12 in the configuration of the sixth modification example of the penlight 1.

[0051] As shown in FIG. 11, a processor 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an input unit 104, an acceleration sensor 105, a communication module 106, and a drive circuit 107 are mounted on the control board 12. Further, although not shown in FIG. 11, when the second housing 50 has a light-emitting portion that emits light by light from a light source such as an LED, a light source and its drive circuit may be mounted on the control board 12.

[0052] The processor 101 is a control unit configured to control the operation of the penlight 1. The processor 101 is, for example, a CPU (Central Processing Unit). The processor 101 may be an MPU (Micro Processing Unit) or the like instead of a CPU. Further, the processor 101 may be configured as a hardware logic circuit such as an ASIC (Application Specific Integrated Circuit). Also, the processor 101 does not have to be configured by one CPU or the like, and may be configured by a plurality of CPUs or the like.

[0053] The ROM 102 is constituted by, for example, a non-volatile semiconductor memory. The ROM 102 stores a program 1021 or the like for the operation of the penlight 1. The RAM 103 is constituted by, for example, a volatile semiconductor memory. The RAM 103 is used, for example, as a work memory in the processing in the processor 101.

[0054] The input unit 104 is an interface that receives an input from the button / switch 10a. The input unit 104 digitizes, for example, a signal from the button / switch 10a so that the processor 101 can identify it.

[0055] The acceleration sensor 105 is a three-axis acceleration sensor in the XYZ axis directions. The acceleration sensor 105 detects the respective accelerations in the X-axis direction, Y-axis direction, and Z-axis direction accompanying the change in the movement of the penlight 1. Various sensors capable of detecting the change in the movement of the penlight 1 can be used instead of the acceleration sensor 105. For example, an angular velocity sensor may be used instead of the acceleration sensor 105.

[0056] The communication module 106 is a module for the penlight 1 to perform wireless communication with an external device, for example, the user's terminal device 200. The user's terminal device 200 can be various terminal devices such as a smartphone and a tablet terminal. Further, as the communication method of the communication module 106, for example, a short-range wireless communication method such as Bluetooth (registered trademark) can be applied. However, the communication method of the communication module 106 is not limited to a specific method.

[0057] The drive circuit 107 includes a driver configured to supply drive currents for driving the first motor 13 and the second motor 14 respectively. The drive circuit 107 is configured to be able to supply drive currents independently to the first motor 13 and the second motor 14. In the case where the penlight 1 has only the motor 13, the drive circuit 107 only needs to include a driver configured to supply a drive current to the first motor 13. Further, when the first motor 13 is a servo motor, the drive circuit 107 may be provided with a servo mechanism.

[0058] FIG. 12 is a block diagram showing a configuration of an example of the terminal device 200. As shown in FIG. 12, the terminal device 200 has a processor 201, a ROM 202, a RAM 203, a storage 204, a display 205, an input unit 206, a communication module 207, and a communication module 208.

[0059] The processor 201 is a processor configured to control the operation of the terminal device 200. The processor 201 is, for example, a CPU. The processor 101 may be an MPU or the like instead of a CPU. Also, the processor 201 may be configured as a hardware logic circuit such as an ASIC. Further, the processor 201 does not have to be configured by one CPU or the like, and may be configured by a plurality of CPUs or the like.

[0060] The ROM 202 is constituted by, for example, a non-volatile semiconductor memory. The ROM 202 stores a startup program and the like of the terminal device 200. The RAM 203 is constituted by, for example, a volatile semiconductor memory. The RAM 203 is used, for example, as a work memory in the processing in the processor 201.

[0061] The storage 204 is a storage such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive). The storage 204 stores, for example, an OS (Operating System) 2041 and a control application 2042. The OS 2041 is a program for realizing the basic functions of the terminal device 200. Various programs stored in the storage 204 are executed under the control of the OS 2041. The control application 2042 is an application program for performing various settings of the penlight 1 in the terminal device 200. The control application 2042 can be downloaded to the terminal device 200 as necessary.

[0062] The display 205 is a liquid crystal display, an organic EL display, or the like. Various screens such as a setting screen of the penlight 1 displayed under the control of the control application 2042 are displayed on the display 205.

[0063] The input unit 206 is an interface that receives inputs from buttons, switches, touch panels, etc. provided in the terminal device 200. The input unit 206 digitizes signals from buttons, switches, touch panels, etc. so that the processor 201 can identify them.

[0064] The communication module 207 is a module for the terminal device 200 to perform wireless communication with the penlight 1. The communication method of the communication module 207 is not particularly limited as long as it corresponds to the communication method of the communication module 106 of the penlight 1.

[0065] The communication module 208 is a module for the terminal device 200 to communicate with the server 300. The communication module 208 is, for example, a module for performing wireless communication. On the other hand, the communication module 208 may be a module for performing wired communication. The communication method of the communication module 208 is not limited to a specific method.

[0066] Next, the operation of the penlight 1 will be described. The penlight 1 of the embodiment can perform a force feedback operation and a guiding operation. The force feedback operation is an operation that gives force feedback by the sense of force so as to make the user who shakes the penlight 1 more aware of further arm swings. On the other hand, the guiding operation is an operation that guides the user by presenting the sense of force so as to cause arm swings in a specific period and direction. The switching between the force feedback operation and the guiding operation can be performed, for example, according to an instruction from the terminal device 200. The switching between the force feedback operation and the guiding operation may be performed by operating the button / switch 10a of the penlight 1.

[0067] First, the force feedback operation will be described. FIG. 13 is a flowchart showing the force feedback operation of the penlight 1. The operation in FIG. 13 is controlled by the processor 101 executing the program 1021.

[0068] In step S1, the processor 101 determines whether it has received the angle target value α from, for example, the terminal device 200 via the communication module 106. When it is determined in step S1 that the angle target value α has been received, the process proceeds to step S2. When it is determined in step S1 that the angle target value α has not been received, the process proceeds to step S3. Here, the angle target value α [deg] is a value that defines the rotation angle range of the second housing 50 and can be set, for example, in the terminal device 200. FIG. 14 shows the angle target value α. As shown in FIG. 14, the angle target value α is the angle formed by the central axis of the second housing 50 when the second housing 50 rotates in the first direction from the central axis P of the first housing 40 and the central axis of the second housing 50 when the second housing 50 rotates in the second direction, which is the direction opposite to the first direction, from the central axis P of the first housing 40. Here, the angle target value α may be a fixed value. In this case, the process of step S1 may be omitted.

[0069] In step S2, the processor 101 changes the value of the angle target value α that was previously stored in, for example, the RAM 103 according to the received value of the angle target value α. Thereafter, the process proceeds to step S3.

[0070] In step S3, the processor 101 measures the arm swing period T and the arm swing direction D based on the output of the acceleration sensor 105.

[0071] The user is cheering for the performer by swinging the penlight 1 back and forth at a live venue or an online live event. The arm-swinging period T [sec] is the time taken for the movement from the start point to the end point of such arm-swinging. Also, the arm-swinging direction D is the moving direction of the penlight 1 from the start point to the end point of the arm-swinging. FIG. 15 is a diagram showing the arm-swinging period T. At the start and end points of the arm-swinging, the movement of the penlight 1 instantaneously stops. That is, the points where the speed of the penlight 1 is minimized can be regarded as the start and end points of the arm-swinging. The speed of the penlight 1 is calculated, for example, by integrating the outputs in the X, Y, and Z directions of the acceleration sensor 105 once each. Therefore, the arm-swinging period T can be measured by measuring the time from when the speed first becomes minimum to when the speed becomes minimum next. Similarly, the arm-swinging direction D can be measured from the changes in the X coordinate, Y coordinate, and Z coordinate from the start point to the end point based on the moving distances of the first housing 40 in the X, Y, and Z directions from the start point to the end point. The moving distance is calculated, for example, by integrating the outputs in the X, Y, and Z directions of the acceleration sensor 105 twice each. The measurement methods for the arm-swinging period T and the arm-swinging direction D are not limited to specific methods.

[0072] Also, usually, the period and direction of the arm-swinging by the user are not constant over time. Therefore, it is preferable that the arm-swinging period T and the arm-swinging direction D are determined from statistical values such as the median and average values of the arm-swinging periods T and arm-swinging directions D obtained by multiple measurements. Furthermore, the arm-swinging period T and the arm-swinging direction D may differ between the forward path from the start point to the end point and the return path from the end point to the start point. Therefore, it is preferable that the measurement of the arm-swinging period T and the arm-swinging direction D is performed for each of the forward path and the return path.

[0073] In step S4, the processor 101 calculates the rotation speed V of the first motor 13 based on the arm swing period T. The rotation speed V of the first motor 13 is determined such that the rotation period S of the second housing 50 coincides with the arm swing period T. The rotation period S is the time it takes for the second housing 50 to rotate by the angular target value α, as shown in FIG. 14. Therefore, the rotation speed V can be calculated from V = α / S. Here, since S = T, the rotation speed V can be calculated from V = α / T.

[0074] In step S5, the processor 101 controls the drive circuit 107 to drive the first motor 13 at the rotation speed V. As a result, the second housing 50 rotates with the rotation period S (= arm swing period T). Note that the processor 101 controls the drive circuit 107 so as to reverse the rotation direction of the first motor 13 every time the time of the rotation period S elapses, that is, in the forward and return paths. Thereby, the second housing 50 can rotate in synchronization with the user's arm swing. Due to the rotation of the second housing 50, the user receives force feedback from the penlight 1. Note that in step S5, when the arm swing period T is zero, the processor 101 may omit driving the first motor 13.

[0075] In step S6, the processor 101 determines whether the rotation direction of the second housing 50 coincides with the arm swing direction D. The rotation direction of the second housing 50 can be specified from the direction in which the rotation axis of the second motor 14 is oriented. Also, the direction in which the rotation axis of the second motor 14 is oriented can be specified from the orientation of the first housing 40 measured by the output of the acceleration sensor 105. In step S6, when it is determined that the rotation direction of the second housing 50 does not coincide with the arm swing direction D, the process proceeds to step S7. In step S6, when it is determined that the rotation direction of the second housing 50 coincides with the arm swing direction D, the process proceeds to step S8. Here, the coincidence in step S6 does not necessarily mean a perfect match and may include some error.

[0076] In step S7, the processor 101 drives the second motor 14 by an angle corresponding to the directional deviation between the rotation direction of the second housing 50 and the swinging direction D. Thereby, the rotation direction of the second housing 50 coincides with the swinging direction D. Accordingly, the user receives force feedback that makes the user aware of swinging in the same direction as the current swinging direction.

[0077] In step S8, the processor 101 determines whether the magnitude of the force feedback presented to the user is sufficient. The determination of whether the magnitude of the force feedback is sufficient can be made, for example, by determining whether a force feedback button has been pressed. The user receives force feedback from the penlight 1 during swinging. When the user feels that the force feedback from the penlight 1 during swinging is insufficient, the user presses the force feedback button of the button / switch 10a. Thereby, in step S8, it is determined that the magnitude of the force feedback presented to the user is insufficient. When it is determined in step S8 that the magnitude of the force feedback presented to the user is sufficient, the process returns to step S1. When it is determined in step S8 that the magnitude of the force feedback presented to the user is insufficient, the process proceeds to step S9.

[0078] In step S9, the processor 101 determines whether the force feedback can be adjusted by changing the speed of the first motor 13. For example, when the first motor 13 is driven so that the maximum speed change occurs, it is determined that the force feedback cannot be adjusted by the speed change. When it is determined in step S9 that the force feedback can be adjusted by changing the speed of the first motor 13, the process proceeds to step S10. When it is determined in step S9 that the force feedback cannot be adjusted by changing the speed of the first motor 13, the process proceeds to step S12.

[0079] In step S10, the processor 101 calculates the rotational speed V' of the first motor 13. FIGS. 16A and 16B are diagrams for explaining the rotational speed V'. FIG. 16A shows the rotational speed V when the force sensation adjustment due to the speed change is not performed. When the force sensation adjustment due to the speed change is not performed, as shown in FIG. 16A, the rotational speed V does not change with time. Therefore, the first motor 13 rotates at a constant speed. FIG. 16B shows the rotational speed V' when the force sensation adjustment due to the speed change is performed. The force sensation adjustment due to the speed change is performed by gradually increasing the rotational speed during the rotation period S (= arm swing period T). For example, when the rotational speed is linearly increased, the rotational speed V' at the time t (0 ≦ t ≦ T) from the start of the arm swing is V' = m(V / S)t. Here, m is an integer of 2 or more and can be updated for each process in step S10. The range of m is determined within the range where Vmax ≧ V' when the maximum rotational speed of the first motor 13 is Vmax. And when it is determined that the force sensation is not sufficient even when Vmax = V', it is determined that the adjustment by the speed change is not possible. In the example of FIG. 16B, there is no force sensation feedback at the start of the arm swing, and there is a large force sensation feedback at the end of the arm swing. Thus, it is expected that the user recognizes the force sensation presented from the penlight 1. Here, in FIG. 16B, the rotational speed V' is determined to increase linearly with time. However, the rotational speed V' does not necessarily have to be determined to increase directly. The rotational speed may be determined to increase monotonically in an arbitrary shape other than a straight line according to the passage of time t, may be determined to increase stepwise according to the passage of time t, or may be determined to increase in a pulsed manner at a certain time t.

[0080] In step S11, the processor 101 controls the drive circuit 107 to drive the first motor 13 at the rotational speed V'. Then, the process returns to step S6.

[0081] In step S12, the processor 101 notifies the user that the user cannot adjust the force sensation due to the speed change. Thereafter, the process returns to step S1. The notification can be performed, for example, by changing the rotation pattern of the first motor 13 and / or the second motor 14. The notification may be performed by a method such as causing a light emitting part such as an LED provided in the first housing 10 to emit light. By such notification, the user can perform various operations for adjusting the maximum value of the force sensation, such as changing the setting of the angle target value α or adjusting the position of the weight 23.

[0082] In the force feedback operation described above, force feedback is given to the user by the second housing serving as the force sensation presenting part located at the tip of the penlight 1 at a rotational speed corresponding to the user's arm swinging cycle. By this force feedback, the user can be made aware of the arm swing.

[0083] Also, in the force feedback operation described above, the second motor is driven so that the user's arm swing direction and the rotation direction of the second housing coincide. Thereby, it is possible to reduce the discomfort given to the user and make the user aware of the arm swing.

[0084] Here, the above-described force feedback operation is premised on the configuration of the sixth modification. On the other hand, in the case of the configuration of the example of the penlight 1 described above and the configurations of the first to fifth modifications, since the second motor 14 is omitted, the processes of steps S6 - S7 are omitted. Further, in the case of the configuration of the fifth modification, when the first motor 13 is driven, force feedback to the user is given by the rotation of the rod-shaped member 31 inside the first housing 10.

[0085] Also, in the force feedback operation described above, in step S5 after the rotational speed V is determined in step S4, the first motor is immediately driven at the rotational speed V. On the other hand, in order to prevent the user from feeling uncomfortable due to a sudden intervention, the rotational speed V at the start of the arm swing is set to 0, and control may be added to gradually approach the rotational speed calculated in step S4 as the number of arm swings increases.

[0086] Also, in the force feedback operation described above, when it is determined that the presentation of the force sense is insufficient, the rotational speed V' is determined for the pen light 1. On the other hand, the rotational speed V' may be determined in advance by the user.

[0087] Next, the guidance operation will be described. FIG. 17 is a flowchart showing the target value setting process prior to the guidance operation. The target values are the target values of the user's arm swing period and arm swing direction. In the example of FIG. 17, target values for guiding the arm swing in accordance with music, target values for guiding the arm swing in accordance with other spectators, and target values for guiding the arm swing in accordance with the specifications of the performer can be set. The operation of FIG. 17 is controlled by the processor 201 of the terminal device 200 executing the control application 2042. The target value setting process may be performed on the pen light 1. In this case, the target value setting process can be performed according to the operation of the user's button / switch 10a.

[0088] In step S101, the processor 201 determines whether to guide the arm swing in accordance with music. For example, when the user selects the item "in accordance with music" from the options in the setting screen displayed on the display 205 of the terminal device 200, it is determined that the arm swing in accordance with music is to be guided. When it is determined in step S101 that the arm swing in accordance with music is to be guided, the process proceeds to step S102. When it is determined in step S101 that the arm swing in accordance with music is not to be guided, the process proceeds to step S103.

[0089] In step S102, the processor 201 calculates a target period T T For example, the processor 201 sets the target period T T is set. Then, the process proceeds to step S107. The rhythm of the music may be calculated, for example, by extracting the sound of drums or the like in the music collected from the terminal device 200, or by extracting the rhythm of the music from music data stored in the server 300 or the like, or may be manually input by the user or the like. Here, in the case of guiding arm swing in time with music, it is sufficient that the period of the arm swing is synchronized with the rhythm of the music, so there is no need to set a target value for the arm swing direction. Of course, a target value for the arm swing direction may be set.

[0090] In step S103, the processor 201 determines whether or not to guide the arm swing to match other spectators. For example, when the user selects the item "Match to other spectators" from among the options on the setting screen displayed on the display 205 of the terminal device 200, it is determined that the arm swing will be guided to match other spectators. When it is determined in step S103 that the arm swing will be guided to match other spectators, the process proceeds to step S104. When it is determined in step S103 that the arm swing will not be guided to match other spectators, the process proceeds to step S105.

[0091] In step S104, the processor 201 calculates the target period T T and target direction D T Then, the process proceeds to step S107. The data on the movements of the other spectators is, for example, data on the arm swing period and arm swing direction collected via the acceleration sensor 105 of the penlight 1 held by each spectator, and is stored in the server 300 via the terminal device 200, for example. The server 300 may store statistical values ​​such as the average value and median value of the collected data on the arm swing period and arm swing direction. The processor 201 receives the target period TT and the target direction D T are set.

[0092] In step S105, the processor 201 determines whether to guide the arm swing according to the performer. For example, when the user selects the item "According to the performer" from the options on the setting screen displayed on the display 205 of the terminal device 200, it is determined that the arm swing is guided according to the performer. In step S105, when it is determined to guide the arm swing according to the performer, the process proceeds to step S106. In step S105, when it is determined not to guide the arm swing according to the performer, the process of FIG. 17 ends.

[0093] In step S106, the processor 201 sets the target period T T and the target direction D T according to the specification from the performer. Then, the process proceeds to step S107. The performer, for example, registers in advance the period and direction of the arm swing that it wants to perform with itself to the server 300. The processor 201 acquires the data of the specified arm swing period and arm swing direction of the performer from the server 300, and sets the target period T T and the target direction D T to the same period and direction as the acquired arm swing period and direction.

[0094] In step S107, the processor 201 determines whether to guide so as to maintain the sense of agency. The sense of agency is the "feeling of controlling one's own actions". That is, guiding so as to maintain the sense of agency in the embodiment is to maintain the feeling that the user is swinging the arm according to his or her own will by not changing the period and direction of the arm swing abruptly. For example, when the user's target period T T and the target direction D TWhen the item "maintain the sense of agency" displayed on the display 205 of the terminal device 200 is selected after the setting, it is determined that guidance is provided to maintain the sense of agency. In step S107, when it is determined that guidance is provided to maintain the sense of agency, the process proceeds to step S108. In step S107, when it is determined that guidance is not provided to maintain the sense of agency, the process proceeds to step S109.

[0095] In step S108, the processor 201 sets a threshold value Th1 for the change amount of the target value of the arm swing cycle and a threshold value Th2 for the change amount of the target value of the arm swing direction for guiding the maintenance of the sense of agency, respectively. Then, the process proceeds to step S109. The threshold values Th1 and Th2 can be set by the user, for example. When setting the threshold values Th1 and Th2, a process may be performed such that the user can find the threshold values Th1 and Th2 for maintaining the user's sense of agency by rotating the second housing 50 of the penlight 1 based on the actually set threshold values Th1 and Th2. The drive control of the second housing 50 based on the threshold values Th1 and Th2 will be described later.

[0096] In step S109, the processor 201 sets the set target period T T , the target direction D T , and the data of the threshold values Th1 and Th2 to the penlight 1. Then, the process of FIG. 17 ends.

[0097] FIG. 18 is a flowchart showing the guiding operation of the penlight 1. The operation of FIG. 18 is controlled by the processor 101 executing the program 1021.

[0098] In step S201, the processor 101 determines whether to perform the guiding operation. For example, the target period T from the terminal device 200 T , the target direction D TWhen it is determined that the induction operation is to be performed upon receiving the data of the threshold values Th1 and Th2. Additionally, it may be determined whether to perform the induction operation by operating the button / switch 10a of the penlight 1. In step S201, when it is determined not to perform the induction operation, the process of FIG. 18 ends. In this case, the processor 101 performs the force feedback operation described above. In step S201, when it is determined to perform the induction operation, the process proceeds to step S202.

[0099] In step S202, the processor 101 stores the target period T T and the target direction D T in, for example, the RAM 103 to set the target period T T and the target direction D. T Also, when the processor 201 has received the threshold values Th1 and Th2, it stores the threshold values Th1 and Th2 in, for example, the RAM 103 to set the threshold values Th1 and Th2.

[0100] In step S203, the processor 101 measures the arm swing period T and the arm swing direction D based on the output of the acceleration sensor 105. The measurement of the arm swing period T and the arm swing direction D may be performed in the same manner as described in step S3 of the force feedback operation.

[0101] In step S204, the processor 201 determines whether the measured arm swing direction D matches the target direction D T . In step S204, when it is determined that the arm swing direction D does not match the target direction D T , the process proceeds to step S205. In step S204, when it is determined that the arm swing direction D matches the target direction D T , the process proceeds to step S209. Here, the match in step S204 does not necessarily mean a perfect match and may include some error.

[0102] In step S205, the processor 201 determines whether there is a threshold Th2, that is, whether to induce the maintenance of the sense of agency. When it is determined in step S205 that there is no threshold Th2, the process proceeds to step S206. When it is determined in step S205 that there is a threshold Th2, the process proceeds to step S207.

[0103] In step S206, the processor 101 drives the first motor 13 and the second motor 14 by a rotation angle corresponding to the angular deviation between the waving direction D and the target direction D T . Thereafter, the process proceeds to step S209. As a result, the rotation direction of the second housing 50 coincides with the target direction D T . Therefore, the user receives force feedback that makes the user aware of waving in the target direction.

[0104] In step S207, the processor 101 calculates a temporary target direction D Tn . The temporary target direction D Tn is calculated from D Tn =D Tn-1 ±Th2 (D Tn ≦D T ). Here, n (n = 1, 2,...) is the number of steps, and it is incremented for each calculation of the temporary target direction D Tn . Also, the initial value D Tn of the temporary target direction D T0 is the measured waving direction D. Also, Th2 is added when the angular deviation between the waving direction D and the target direction D T is in the positive direction, and subtracted when the angular deviation between the waving direction D and the target direction D T is in the negative direction.

[0105] In step S208, the processor 101 drives the first motor 13 and the second motor 14 by a rotation angle corresponding to the temporary target direction DT n . Thereafter, the process proceeds to step S209.

[0106] In step S209, the processor 201 determines whether the measured arm swing period T matches the target period T T . In step S209, when it is determined that the arm swing period T does not match the target period T T , the process proceeds to step S210. In step S209, when it is determined that the arm swing period T matches the target period T T , the process returns to step S203. Here, the match in step S209 does not necessarily mean a perfect match and may include some error.

[0107] In step S210, the processor 201 determines whether there is a threshold value Th1, that is, whether to induce to maintain the sense of agency. In step S210, when it is determined that there is no threshold value Th1, the process proceeds to step S211. In step S210, when it is determined that there is a threshold value Th1, the process proceeds to step S212.

[0108] In step S211, the processor 101 calculates the rotational speed V based on the target period T T . The rotational speed V can be calculated from V = α / T T . Thereafter, the process proceeds to step S214.

[0109] In step S212, the processor 101 calculates a temporary target period T Tn . The temporary target period T Tn is calculated as T Tn = T Tn-1 ± Th1 (T Tn ≤ T T ). Here, n (n = 1, 2,...) is the number of steps and is incremented for each calculation of the temporary target period T Tn . Also, the initial value T Tn of the temporary target period T T0 is the measured arm swing period T. Also, Th1 is added when the difference between the arm swing period T and the target period T T is positive, and subtracted when the difference between the arm swing period T and the target period T T is negative.

[0110] In step S213, the processor 101 calculates the rotational speed V based on the provisional target period T Tn . The rotational speed V can be calculated from V = α / T Tn . Then, the process proceeds to step S214

[0111] In step S214, the processor 101 controls the drive circuit 107 to drive the first motor 13 at the rotational speed V. Then, the process returns to step S203. As a result, the second housing 50 rotates at a rotation period S (= the target period T T or the provisional target period T Tn ). Due to the deviation between the rotation period S and the arm-swinging period T, the user receives a force feedback that makes the user aware of the arm-swinging at the target period. Note that the processor 101 controls the drive circuit 107 so as to reverse the rotation direction of the first motor 13 every time the time of the rotation period S elapses. Also, the rotation period S and the arm-swinging period T may be shifted on the start point side, may be shifted on the end point side, or may be shifted by half on both the start point side and the end point side

[0112] FIG. 19 is a diagram showing the relationship between the target period T T and the provisional target period T Tn . When the provisional target period T T n is set, as shown in FIG. 19, the first motor 13 is driven in n steps so that the rotation period of the second housing 50 becomes the target period T T . The change in the rotation period of the second housing 50 at each step is the threshold value Th1, so the user's sense of agency can be maintained. Although not shown in the figure, also in the relationship between the target direction D T and the provisional target direction D Tn , the change in the rotation direction of the second housing 50 at each step is the threshold value Th2, so the user's sense of agency can be maintained

[0113] In the guiding operation described above, force feedback is provided to the user by the second housing serving as a force sensation presenting unit located at the tip of the penlight 1 at a rotational speed corresponding to a preset target period. This force feedback can make the user aware of swinging the arm at a specific period.

[0114] Also, in the guiding operation described above, force feedback is provided to the user by the second housing serving as a force sensation presenting unit located at the tip of the penlight 1 at a rotational angle corresponding to a preset target direction. This force feedback can make the user aware of swinging the arm in a specific direction.

[0115] Here, the above-described force feedback operation is premised on the configuration of the sixth modification. On the other hand, in the case of the configuration of the penlight 1 described above and the configurations of the first to fifth modifications, since the second motor 14 is omitted, the processes of steps S204 - S208 are omitted. Also, in the case of the configuration of the fifth modification, when the first motor 13 is driven, force feedback to the user is provided by the rotation of the rod-shaped member 31 inside the first housing 10.

[0116] Also, in the above-described guiding operation, when the deviation between the target period and the current arm swinging period is equal to or greater than a certain value, a non-change period may be provided to cause a change midway. Similarly, when the deviation between the target direction and the current arm swinging direction is equal to or greater than a certain value, a non-change period may be provided to cause a change midway. During the non-change period, the values of the temporary target period and the temporary target direction are not updated, and the second housing rotates in the same manner as in the previous step in the next step. Thereby, it is expected that the user will get used to the change in the arm swinging period.

[0117] Also, in the above-described guiding operation, even when guiding the arm swing according to the performance, it can be determined that the sense of agency is maintained. On the other hand, it is also conceivable to deliberately give sudden changes in the arm swing cycle and the arm swing direction in order to enjoy the interaction between the performer and the audience. For this purpose, for example, depending on the specification from the performer, the process of maintaining the sense of agency may be ignored. For example, when it is determined to guide the arm swing according to the performance and it is specified to give sudden changes in the arm swing cycle and the arm swing direction from the performer, it may be determined in step S107 that the sense of agency is not maintained.

[0118] Also, in the above-described guiding operation, when it is determined that the sense of agency is maintained, the changes in the provisional target cycle and the provisional target direction, which are supposed to change in steps, may not be stepwise but continuous changes.

[0119] (Second Embodiment) Next, the second embodiment will be described. In the force feedback operation described in the first embodiment, force feedback is given to the user by the force presentation unit located at the tip of the penlight 1 at a rotational speed corresponding to the arm swing cycle of the user. Usually, since the cycle and direction of the arm swing by the user are not constant over time, in the first embodiment, feedback by the force presentation unit is given at a rotational speed corresponding to statistical values such as the median value and the average value of the arm swing cycle T obtained by multiple measurements. In the second embodiment, control for implementing a more accurate force feedback operation by predicting the end time of the user's arm swing motion will be described. Here, the configuration of the penlight 1 in the second embodiment can be applied to that described in the first embodiment. Also, the configuration of the control board 12 can be applied to that described in the first embodiment.

[0120] FIG. 20 is a diagram showing an example of the time change of the displacement amount and the speed from the initial position of the position of the user's arm during the arm swinging motion. The arm swinging motion in the first embodiment is a reciprocating motion between a starting point where the penlight 1 is most swung up and an ending point where the penlight 1 is most swung down. On the other hand, the arm swinging motion in the second embodiment is a repetitive motion of the swinging-up motion and the swinging-down motion from the initial position. The initial position is the position of the arm when the user has not started the arm swinging motion. And the swinging-up motion is an operation of swinging up the penlight 1 from the initial position. Also, the swinging-down motion is an operation of swinging down the penlight 1 from the initial position.

[0121] Here, the displacement amount in FIG. 20 is shown with the displacement amount at the initial position being zero, the displacement amount in the upward swing direction from the initial position being positive, and the displacement amount in the downward swing direction from the initial position being negative. Similarly, the speed in FIG. 20 is shown with the speed at the initial position being zero, the speed in the upward swing direction from the initial position being positive, and the speed in the downward swing direction from the initial position being negative.

[0122] As shown in FIG. 20, the actual movement of the tip of the penlight 1 does not move linearly as shown in FIG. 15, but changes in a curved shape connecting the initial position and the maximum reach positions of the upward swing motion and the downward swing motion, respectively. Also, the time until reaching the maximum reach position of the upward swing motion or the downward swing motion from the initial position, that is, the arm swing period, is often not constant. On the other hand, the arm swing speed is zero at the initial position. And in both the upward swing motion and the downward swing motion, the speed increases with the passage of time, reaches the maximum speed at a certain point, and then decreases with the passage of time and becomes zero again at the maximum reach position. The speeds of the upward swing motion and the downward swing motion also often do not become constant for each cycle.

[0123] FIG. 21 is a diagram for explaining the principle of predicting the arm-swinging motion in the second embodiment. FIG. 21 shows the relationship between time and the arm-swinging speed. The horizontal axis of FIG. 21 indicates the elapsed time from the start to the end of the upward-swinging motion. The vertical axis of FIG. 21 indicates the arm-swinging speed during the upward-swinging motion. Further, Th3 in FIG. 21 is a starting threshold for the processor 101 to detect the start and end of the arm-swinging.

[0124] As described above, the period and speed of the arm-swinging motion often do not become constant. Here, in the embodiment, it is assumed that the change in the arm-swinging speed follows a normal distribution during the period from the start to the end of the first upward-swinging motion. Along with such an assumption, for the first upward-swinging motion, the time tfh1 taken for the arm-swinging speed to reach the maximum speed after exceeding the starting threshold Th3 is the same as the time tlh1 that the arm-swinging speed will take to fall below the starting threshold Th3 after reaching the maximum speed. Therefore, by measuring the time tfh1, the time tlh1 can be predicted. And the time ts1' when the time tlh1 has further elapsed from the time tp1 when the time tfh1 is measured can be predicted as the end time of the first arm-swinging motion in the second embodiment. Therefore, by determining the start time of the force-feedback operation so that the force-feedback operation is completed at the time ts1', the arm-swinging motion and the force-feedback operation can be appropriately synchronized. In reality, since it takes about several tens to several hundreds of milliseconds for the motor to drive, the time tms which is the time tm before this time when the motor driving is required is the start time of the force-feedback operation. Hereinafter, this start time of the force-feedback operation is referred to as the motor driving start time.

[0125] Here, the time tfh1 it takes for the arm-swinging speed to reach its maximum speed can be measured by detecting that the arm-swinging speed changes from increasing to decreasing. Also, the arm-swinging speed can be measured by integrating the output of the acceleration sensor 105 once. For example, assume that the output of the acceleration sensor 105 is sampled at intervals of Δt in FIG. 21. The shorter Δt is, the smaller the measurement error of the time tfh1 becomes in order to accurately reproduce the waveform of the arm swing. For example, when the arm swing is performed in accordance with music, usually the arm swing is performed in accordance with the beat of the music, so at least Δt is a time that is less than or equal to half of the time of one beat of the music, preferably less than or equal to one-tenth of the time. For example, if it is 120 bpm, one beat is 500 ms, so Δt may be at least 250 milliseconds or less, preferably 50 milliseconds or less. Also, it is desirable that the time tm required for driving the motor is subject to mechanical constraints and constraints due to the beat of the music. Specifically, it is desirable that the driving time tm of the motor is less than or equal to half of the time of one beat of the music. For example, if it is 120 bpm, one beat is 500 ms, so tm may be 250 milliseconds or less. Therefore, for the force-feedback operation, it is desirable that at least the first motor 13 is a motor that can be driven in less than or equal to half of the time of one beat of the music. Of course, the second motor 14 may also be a motor that satisfies this condition.

[0126] FIGS. 22A and 22B are flowcharts showing the force-feedback operation of the penlight 1 in the second embodiment including prediction of the arm-swinging operation. FIG. 22A is a flowchart showing the force-feedback operation for the first arm-swinging operation. Also, FIG. 22B is a flowchart showing the force-feedback operation for the arm-swinging operations after the second time. The operations in FIGS. 22A and 22B are controlled by the processor 101 executing the program 1021.

[0127] First, the force-feedback operation for the first arm-swinging operation will be described. In step S301, the processor 101 acquires the motor driving time tm. The motor driving time tm is, for example, stored in advance in the ROM 102 at the time of manufacturing the penlight 1.

[0128] In step S302, the processor 101 determines whether the current is the first arm-swinging operation. For example, when determining in the first step S302 after the execution start of the program 1021 or when the end of the first arm-swinging operation has not been detected, it is determined that the current is the first arm-swinging operation. The detection of the end of the first arm-swinging operation can be performed by detecting that the arm-swinging speed v exceeds the starting threshold Th3 and then falls below the starting threshold Th3. The starting threshold Th3 is stored in the ROM 102 in advance, for example, at the time of manufacturing the penlight 1. Also, the starting threshold Th3 may be set by the user. When it is determined in step S302 that the current is the first arm-swinging operation, the process proceeds to step S303. When it is determined in step S302 that the current is not the first arm-swinging operation, the process proceeds to the processing after the second time shown in FIG. 22B.

[0129] In step S303, the processor 101 acquires the acceleration from the acceleration sensor 105. As described above, the acquisition interval Δt of the acceleration is a sufficiently short interval with respect to the time of one beat of the tune.

[0130] In step S304, the processor 101 calculates the arm-swinging speed v from the acquired acceleration. The arm-swinging speed v is calculated, for example, by integrating the outputs in the X direction, Y direction, and Z direction of the acceleration sensor 105 once each. Hereinafter, in order to continue the explanation without distinguishing between the upward swing operation and the downward swing operation, it is assumed that the arm-swinging speed v calculated in step S304 is an absolute value. Actually, the arm-swinging speed v is calculated with a sign, and the processing after step S305 may be performed separately for the upward swing operation and the downward swing operation.

[0131] In step S305, the processor 101 determines whether at least one of the swinging speeds v in the X direction, Y direction, and Z direction exceeds the starting threshold Th3. In step S305, when it is determined that the swinging speed v exceeds the starting threshold Th3, the process proceeds to step S306. In step S305, when it is determined that the swinging speed v does not exceed the starting threshold Th3, the process proceeds to step S310.

[0132] In step S306, the processor 101 determines whether deceleration during the swinging operation is detected, that is, whether the swinging speed v has changed from increasing to decreasing. In step S306, when it is determined that deceleration during the swinging operation is not detected, the process returns to step S303. In step S306, when it is determined that deceleration during the swinging operation is detected, the process proceeds to step S307.

[0133] In step S307, the processor 101 determines whether the driving of the first motor 13 has been instructed to the drive circuit 107. In step S307, when it is determined that the driving of the first motor 13 of the motor has been instructed to the drive circuit 107, the process returns to step S303. In step S307, when it is determined that the driving of the first motor 13 has not been instructed to the drive circuit 107, the process proceeds to step S308.

[0134] In step S308, the processor 101 calculates the end time ts1' of the swinging from the time tfh1 taken for the swinging speed v to reach the maximum speed and the time tp1 when the swinging speed v reaches the maximum speed. The time tfh1 taken for the swinging speed v to reach the maximum speed is, for example, the time immediately before the time when it is detected that the swinging speed v has changed from increasing to decreasing, that is, the time Δt before. Also, the end time ts1' of the swinging can be calculated by adding the time tfh1 (=tlh1) to the time tp1 when the swinging speed v reaches the maximum speed.

[0135] In step S309, the processor 101 calculates the motor drive start time tms from the time ts1'. The motor drive start time tms is the time tm before the motor drive time from the time ts1'. Also, the processor 101 calculates the rotation speed V of the first motor 13 from the motor drive time tm. The rotation speed V of the first motor 13 is calculated, for example, from V = α / tm. Here, α is the above-described angle target value α [deg]. Then, the processor 101 transmits the motor drive start time tms and the motor rotation speed V to the drive circuit 107, thereby starting the drive of the first motor 13 by the drive circuit 107. After that, the process returns to step S303. The drive circuit 107 drives the first motor 13 at the rotation speed V when the drive start time tms is reached.

[0136] In step S310, the processor 101 determines whether the swinging speed v of the arm has once exceeded the starting threshold Th3. In step S310, when it is determined that the swinging speed v of the arm has never exceeded the starting threshold Th3, that is, when it is determined that the swinging of the arm has not started, the process returns to step S303. In step S310, when it is determined that the swinging speed v of the arm has once exceeded the starting threshold Th3, that is, when it is determined that the swinging of the arm has ended, the process proceeds to step S311.

[0137] In step S311, the processor 101 calculates tgr1 and sets this tgr1 as the initial correction magnification tgr avg . After that, the process returns to step S303. The correction magnification tgr avg is a coefficient for correcting the end time ts n ' of the arm swing during the second and subsequent processes, and is equal to tgr1 in the first process. tgr1 can be calculated from the time difference tg1 between the actual end time ts1 of the arm swing and the predicted end time ts1' of the arm swing, and the time tfh1 it takes for the arm swing speed v to reach the maximum speed, tg1 / tfh1. The actual end time of the arm swing is the time Δt before the time when it is detected that the arm swing speed v has fallen below the starting threshold Th3.

[0138] Next, the force feedback operation for the arm swinging motion after the second time will be described. Here, in the following description, n is an integer of 2 or more representing the number of times of arm swinging.

[0139] In step S321, the processor 101 acquires the acceleration from the acceleration sensor 105.

[0140] In step S322, the processor 101 calculates the arm swing speed v from the acquired acceleration.

[0141] In step S323, the processor 101 determines whether at least one of the arm swing speeds v in the X direction, Y direction, and Z direction exceeds the movement start threshold Th3. In step S323, when it is determined that the arm swing speed v exceeds the movement start threshold Th3, the process proceeds to step S324. In step S323, when it is determined that the arm swing speed v does not exceed the movement start threshold Th3, the process proceeds to step S328.

[0142] In step S324, the processor 101 determines whether deceleration during the arm swinging operation is detected. In step S324, when it is determined that deceleration during the arm swinging operation is not detected, the process returns to step S321. In step S324, when it is determined that deceleration during the arm swinging operation is detected, the process proceeds to step S325.

[0143] In step S325, the processor 101 determines whether the driving of the first motor 13 has been instructed to the drive circuit 107. In step S325, when it is determined that the driving of the first motor 13 has been instructed to the drive circuit 107, the process returns to step S321. In step S325, when it is determined that the driving of the first motor 13 has not been instructed to the drive circuit 107, the process proceeds to step S326.

[0144] In step S326, the processor 101 calculates the time tfh it takes for the swinging speed v to reach the maximum speed n and the time tp when the swinging speed v reaches the maximum speed n and the correction magnification tgr avg to calculate the end time ts of the swinging n ´. The end time ts of the swinging n ´ can be calculated by adding the time tfh n to the time tp when the swinging speed v reaches the maximum speed n and the correction time tc. The correction time tc can be calculated from tgr avg ×tfh n and can be calculated from

[0145] In step S327, the processor 101 calculates the drive start time tms of the motor from the time ts n ´. The drive start time tms of the motor is the time tm before the drive time of the motor from the time ts n ´. Also, the processor 101 calculates the rotational speed V of the first motor 13 from the motor drive time tm. The rotational speed V of the first motor 13 is calculated, for example, from V = α / tm, as in the first processing. Then, the processor 101 starts the drive of the first motor 13 by the drive circuit 107 by transmitting the drive start time tms and the rotational speed V of the motor to the drive circuit 107. After that, the process returns to step S303. The drive circuit 107 drives the first motor 13 at the rotational speed V when the drive start time tms is reached.

[0146] In step S328, the processor 101 determines whether the swinging speed v has once exceeded the movement start threshold Th3. In step S328, when it is determined that the swinging speed v has never exceeded the movement start threshold Th3, that is, when it is determined that the swinging has not started, the process returns to step S321. In step S328, when it is determined that the swinging speed v has once exceeded the movement start threshold Th3, that is, when it is determined that the swinging has ended, the process proceeds to step S329.

[0147] In step S329, the processor 101 calculates tgr n . tgr n is the time difference tg n between the actual arm swing end time ts n and the predicted arm swing end time ts n ´, and the time tfh n it takes for the arm swing speed v to reach the maximum speed. It can be calculated from the ratio of tg n / tfh n .

[0148] In step S330, the processor 101 updates the correction magnification tgr n based on tgr avg . Then, the process returns to step S321. The correction magnification tgr avg is calculated as the average value of the past n times of tgr n .

[0149] The processing of FIGS. 22A and 22B will be specifically described with reference to FIGS. 23A and 23B. FIG. 23A is a diagram showing the force feedback operation of the second embodiment for the first arm swing. FIG. 23B is a diagram showing the force feedback operation of the second embodiment for the second arm swing.

[0150] First, the force feedback operation for the first arm swing will be described. Here, FIG. 23A is a diagram shown assuming that the first arm swing operation is a lifting operation.

[0151] When the user starts the first arm swing, the arm swing speed v increases in the positive direction. Then, when it is detected that the arm swing speed v exceeds the movement start threshold Th3, the measurement of the time tfh1 is started. During this period, the measurement of the arm swing speed v is continued at intervals of Δt.

[0152] When the swinging speed v changes from increasing to decreasing, it is determined that the swinging speed v has reached the maximum speed. As a result, the measurement of the time tfh1 is completed, and the end time ts1' of the swinging is predicted. Further, the driving start time tms of the motor is also calculated from the end time ts1' of the swinging. Thereby, the first motor 13 is driven to rotate by the angle target value α at the time of the end time ts1' of the swinging.

[0153] If the change in the swinging speed v correctly follows a normal distribution, the swinging operation and the force feedback operation are correctly synchronized by the first force feedback operation. In reality, the time tfh1 and the time tlh1 may not be the same. In FIG. 23A, the time difference between the time tfh1 and the time tlh1, that is, the time difference between the time ts1' and the time ts1 is shown as tg1. In the second process, the driving start time tms of the motor is determined so as to reduce this time difference tg1. For this purpose, a correction magnification tgr1 is calculated.

[0154] Next, the force feedback operation for the second swinging will be described. Here, FIG. 23B is a diagram showing that the second swinging operation is a downward swinging operation.

[0155] When the user starts the first swinging, the swinging speed v increases in the negative direction. Then, when it is detected that the swinging speed v has exceeded the movement start threshold Th3, the measurement of the time tfh2 is started. During this period, the measurement of the swinging speed v is continued at intervals of Δt.

[0156] When the swinging speed v changes from increasing to decreasing, it is determined that the swinging speed v has reached its maximum speed. As a result, the measurement of time tfh2 is completed, and the end time ts2' of the arm swing is predicted. ts2' is predicted based on the time tp2 + tfh2 + tc2 (= tfh2 × tgr1) when the arm swing speed v reaches its maximum speed. Further, the motor drive start time tms is also calculated from the end time ts2' of the arm swing. As a result, the first motor 13 is driven to rotate by the angle target value α at the time of the end time ts2' of the arm swing. Here, the end time ts2' of the second arm swing is corrected by the correction magnification tgr1 based on the first prediction error tg1. Therefore, it is expected that the second prediction error tg2 will be smaller than tg1. Further, in the arm swings after the third time, the end time ts n ´ is corrected by the average value tgr avg of the correction magnification based on the prediction errors up to that point. Therefore, it is expected that the prediction error will be within a certain range.

[0157] As described above, according to the second embodiment, the end time of the arm swing is predicted based on the time until the arm swing speed reaches its maximum speed, and the first motor is driven based on this predicted time. As a result, the time when the drive of the first motor in the force feedback operation is completed can be highly synchronized with the time when the actual arm swing-up and swing-down reach the maximum reach position.

[0158] Also, according to the second embodiment, the prediction result of the end time of the next arm swing is corrected based on the time difference between the predicted end time of the arm swing and the actual end time of the arm swing. As a result, even if the period of the arm swing is not constant, the force feedback operation can accurately follow the arm swing operation.

[0159] Here, in the second embodiment, although the description of the driving of the second motor 14 is omitted, it goes without saying that the second motor 14 may also be driven in accordance with the driving of the first motor 13. However, in the force feedback operation, the second motor 14 may be driven when the rotational direction of the second housing 50 does not match the arm swing direction D. Therefore, the driving of the second motor 14 does not necessarily need to be synchronized with the arm swing operation.

[0160] Also, in the second embodiment as well, control for adjusting the force sense by changing the speed of the first motor 13 may be added in the same manner as in the first embodiment.

[0161] Also, in the second embodiment, at the end time ts n ´ of the arm swing, the correction magnification tgr avg for correcting it is assumed to be the average value of the past correction magnifications. In this case, when the user's arm swing operation becomes extremely fast or slow, it is assumed that a large error is included in the correction magnification thereby. For this reason, the past correction magnifications included in the average value for calculating the correction magnification tgr avg may be limited to those for the times when the time difference tg n between the actual arm swing end time ts n and the predicted arm swing end time ts n ´ falls within the threshold range.

[0162] Furthermore, the prediction of the driving start time of the first motor 13 in the second embodiment can also be applied in the guiding operation. In this case, for the calculation of the motor driving start time tms and the rotational speed V of the first motor 13, a temporary target period T Tn set for a time longer than the motor driving time Tm may be used. Thereby, the sense of agency can also be maintained in the second embodiment.

[0163] (Third Embodiment) Next, a third embodiment will be described. In the guiding operation described in the first embodiment, force feedback is given to the user by the second housing serving as a force sensation presentation unit located at the tip of the penlight 1 according to preset target values of the arm swing cycle and the arm swing direction. In the third embodiment, control is described that can make the user more aware of swinging the arm in a specific cycle and / or direction by adding a force sensation adjustment process for adjusting the strength of the force sensation given to the user for each user. Here, the configuration of the penlight 1 in the third embodiment can be the one described in the first embodiment. Also, the configuration of the control board 12 can be the one described in the first embodiment.

[0164] The force sensation adjustment process in the third embodiment includes a deviation amount setting process, a convergence determination process, and a force sensation setting process. The force sensation adjustment process is performed, for example, prior to the guiding operation.

[0165] FIG. 24 is a flowchart showing the deviation setting process. In step S401, the processor 101 determines whether the current is the first arm swing operation. For example, when making a determination in the first step S401 after the start of execution of the program 1021 or when the end of the first arm swing operation has not been detected, it is determined that the current is the first arm swing operation. Detection of the end of the first arm swing operation can be performed by detecting that the arm swing speed v exceeds the start threshold Th3 and then falls below the start threshold Th3, similar to the second embodiment. When it is determined in step S401 that the current is the first arm swing operation, the process proceeds to step S402. When it is determined in step S401 that the current is not the first arm swing operation, the process proceeds to step S408.

[0166] In step S402, the processor 101 measures the arm swing period T and the arm swing direction D multiple times. The measurement of the arm swing period T and the arm swing direction D may be performed by the same method as described in step S3 of the force feedback operation of the first embodiment. Alternatively, the measurement of the arm swing period T may be performed by measuring the time from the start to the end of the arm swing as described in the second embodiment. The number of measurements may be appropriately determined to be two or more.

[0167] In step S403, the processor 101 sets the average value Tu of the multiple arm swing periods T as the motor drive period Tm.

[0168] In step S404, the processor 101 drives the second motor 14 by a rotation angle corresponding to the deviation in the direction between the rotation direction of the second housing 50 and the arm swing direction D so that the rotation direction of the second housing 50 coincides with the arm swing direction D.

[0169] In step S405, the processor 101 sets an adjustment angle target value θ. The adjustment angle target value θ in the first-time process is stored in the ROM 102 in advance, for example, at the time of manufacturing the penlight 1.

[0170] In step S406, the processor 101 adds a deviation tg in the direction between the rotation direction of the second housing 50 and the arm swing direction or a deviation tg in the motor drive start time. Whether to add the deviation tg may be determined by, for example, the user or the performer.

[0171] In step S407, the processor 101 calculates the rotational speed V of the first motor 13 based on the angle target value θ and the motor drive period Tm. The rotational speed V of the first motor 13 is calculated, for example, from V = θ / Tm. Then, the processor 101 transmits the rotational speed V of the first motor 13 and the motor drive start time tms to the drive circuit 107, and when a directional deviation is added, also transmits the drive angle of the second motor 14 to the drive circuit 107, thereby starting the drive of the first motor 13 and the second motor 14 by the drive circuit 107. The determination of the motor drive start time tms may be performed, for example, in the same manner as in the second embodiment by measuring the swinging speed during multiple swinging operations. Also, when no directional deviation is added, the second motor 14 does not need to be driven.

[0172] In step S408, the processor 101 sets the average value Tu of the swinging period T as the motor drive period Tm.

[0173] In step S409, the processor 101 adds a deviation tg in the rotational direction of the second housing 50 and the swinging direction or a deviation in the motor drive start time. Whether to add the deviation tg to which one may be determined, for example, by the user or by the performer. Also, it may change which one the deviation tg is added to for each swing.

[0174] In step S410, the processor 101 calculates the rotational speed V of the first motor 13 based on the angle target value θ´ and the motor drive period Tm. The angle target value θ´ is calculated in the force sense setting process. The force sense setting process will be described later. In the processing after the second time, the rotational speed V of the first motor 13 is calculated, for example, from V = θ´ / Tm. Then, the processor 101 transmits the rotational speed V of the first motor 13, the drive angle of the second motor 14 when a deviation is added, and the motor drive start time tms to the drive circuit 107, thereby starting the drive of the first motor 13 and the second motor 14 by the drive circuit 107. Note that when no deviation in the direction by the second motor 14 is added, the second motor 14 does not need to be driven.

[0175] FIG. 25 is a diagram showing the operation of the penlight 1 during the deviation amount setting process in which a deviation tg is added to the motor drive start time. Here, in FIG. 25, the displacement amount M from the initial position of the penlight 1 in the deviation amount setting process and the displacement amount A of the position of the user's arm in the arm swinging motion are shown.

[0176] Since the deviation tg is added to the motor drive start time, the drive of the second housing 50 of the penlight 1 ends after a delay from the timing of the end of the user's arm raising motion. Similarly, the drive of the second housing 50 of the penlight 1 ends after a delay from the timing of the end of the user's arm lowering motion. Due to this delay, the force sensation presented to the user is emphasized. By performing the arm swinging motion so that this emphasized force sensation becomes smaller, the induction of the arm swinging cycle can be carried out. Also, the fact that such induction of the arm swinging cycle can be carried out within an appropriate time means that the force sensation presented to the user was appropriate.

[0177] Here, the deviation tg in FIG. 25 is a deviation that delays the start of driving of the first motor 13. On the other hand, the deviation tg may be a deviation that advances the start of driving of the first motor 13. Whether to delay or advance the start of driving may be determined fixedly in advance, for example, or may be determined by the user or by the performer.

[0178] FIG. 26 is a diagram showing the operation of the penlight 1 during the deviation amount setting process in which a directional deviation tg between the rotation direction of the second housing 50 and the arm swinging direction is added.

[0179] When the second motor 14 is driven at a rotation angle corresponding to the direction deviation tg, a deviation occurs between the rotation direction of the second housing 50 and the user's arm swinging direction. Due to this direction deviation, the force sensation presented to the user is emphasized. When an arm swinging operation is performed so that this emphasized force sensation becomes smaller, the guidance of the arm swinging direction can be implemented. Also, the fact that such guidance of the arm swinging direction can be implemented within an appropriate time means that the force sensation presented to the user was appropriate.

[0180] Figure 27 is a flowchart showing the convergence determination process. The process in Figure 27 starts each time the deviation tg is added in the deviation setting process.

[0181] In step S501, the processor 101 determines whether there is a deviation at the motor drive start time. When the deviation tg added in step S406 or S409 of Figure 24 is the deviation with respect to the motor drive start time, it is determined that there is a deviation at the motor drive start time. In step S501, when it is determined that there is a deviation at the motor drive start time, the process proceeds to step S502. In step S501, when it is determined that there is no deviation at the motor drive start time, that is, there is a direction deviation, the process proceeds to step S506.

[0182] In step S502, the processor 101 starts acquiring the acceleration by the acceleration sensor 105 of ±tg with respect to the arm swing start time closest to the current time. Here, the sign of tg is positive when a delay deviation is added with respect to the motor drive start time, and negative when an advance deviation is added.

[0183] In step S503, the processor 101 determines whether the acceleration of the Z-axis at the motor drive end time is within the threshold value. Here, the threshold value is a fixed value close to zero. That is, the determination in step S503 means determining whether the arm swinging operation has ended at the end time of driving the first motor 13, that is, whether the rotation of the second housing 50 and the arm swinging operation are synchronized. In step S503, when it is determined that the acceleration of the Z-axis at the motor drive end time is within the threshold value, the process proceeds to step S504. In step S503, when it is determined that the acceleration of the Z-axis at the motor drive end time is not within the threshold value, the process proceeds to step S505.

[0184] In step S504, the processor 101 sets the time tc. Then, the process of FIG. 27 ends. The time tc is the time for convergence determination, and in step S504, it is the time from the start of the process of FIG. 27 until it is determined that the acceleration of the Z-axis at the motor drive end time is within the threshold value.

[0185] In step S505, the processor 101 determines whether a certain time has elapsed since the start of acceleration acquisition. This certain time may be determined appropriately. In step S505, when it is determined that the certain time has not elapsed, the process returns to step S502. In step S505, when it is determined that the certain time has elapsed, the process proceeds to step S506.

[0186] In step S506, the processor 101 sets the time tc. Then, the process of FIG. 27 ends. In step S505, the time tc is a predetermined time longer than the threshold value tc uth The threshold value tc uth is the upper limit time for a predetermined timeout determination. The time tc in step S505 may be set in advance by the user or the performer.

[0187] In step S507, the processor 101 determines whether the amplitude of the acceleration in the Y-axis is increasing or decreasing. That is, the determination in step S507 means determining whether the user is moving the arm so as to align the rotation direction of the second housing 50 with the arm swinging direction. When it is determined in step S507 that the amplitude of the acceleration in the Y-axis is not increasing or decreasing, the process proceeds to step S508. When it is determined in step S507 that the amplitude of the acceleration in the Y-axis is increasing or decreasing, the process proceeds to step S509.

[0188] In step S508, the processor 101 determines whether a certain period of time has elapsed since the start of the acquisition of the acceleration. This certain period of time may be determined appropriately. When it is determined in step S508 that the certain period of time has not elapsed, the process returns to step S507. When it is determined in step S508 that the certain period of time has elapsed, that is, when it is determined that there is no movement of the arm by the user to align the rotation direction, the process proceeds to step S512.

[0189] In step S509, the processor 101 determines whether the change amount of the maximum value of the acceleration in the Y-axis is less than or equal to a threshold value. That is, the determination in step S509 means determining whether the rotation direction of the second housing 50 coincides with the arm swinging direction. When it is determined in step S509 that the change amount of the maximum value of the acceleration in the Y-axis is less than or equal to the threshold value, the process proceeds to step S510. When it is determined in step S509 that the change amount of the maximum value of the acceleration in the Y-axis is not less than or equal to the threshold value, the process proceeds to step S511.

[0190] In step S510, the processor 101 sets the time tc. Then, the process of FIG. 27 ends. The time tc in step S510 is the time from the start of the process of FIG. 27 until it is determined that the change amount of the maximum value of the acceleration in the Y-axis is less than or equal to the threshold value.

[0191] In step S511, the processor 101 determines whether a certain period of time has elapsed since the start of acceleration acquisition. This certain period of time may be determined as appropriate. In step S511, when it is determined that the certain period of time has not elapsed, the process returns to step S509. In step S511, when it is determined that the certain period of time has elapsed, the process proceeds to step S512.

[0192] In step S512, the processor 101 sets the time tc. Thereafter, the process of FIG. 27 ends. In step S512, the time tc is a predetermined time longer than the threshold value tc uth The time tc in step S512 may be set in advance by the user or the performer.

[0193] FIG. 28 is a flowchart showing the force sense setting process. The process of FIG. 28 is started every time the time tc is set in the deviation setting process.

[0194] In step S601, the processor 101 determines whether the time tc is greater than or equal to the threshold value tc uth When it is determined in step S601 that the time tc is greater than or equal to the threshold value tc uth the process proceeds to step S602. In step S601, when it is determined that the time tc is not greater than or equal to the threshold value tc uth the process proceeds to step S603.

[0195] In step S602, the processor 101 sets the angle target value θ'. Thereafter, the process of FIG. 28 ends. In step S602, the angle target value θ' is set by adding the adjustment value Δθ to the previous angle target value θ'. In the first force sense setting process, when the previous angle target value θ' has not been set, the angle target value θ is used as the angle target value θ'. The adjustment value Δθ may be determined as appropriate. Based on the angle target value θ' in step S602, the first motor 13 is driven in the deviation setting process, so that the first motor 13 is driven at a higher speed. Therefore, the force sense presented to the user is strengthened. The fact that the time tc is long means that the swinging motion of the user's arm is not affected by the guidance of the penlight 1. Therefore, by strengthening the force sense, the user is made aware of the guidance by the penlight 1.

[0196] In step S603, the processor 101 determines whether the time tc is less than or equal to the threshold value tc lth or not. The threshold value tc lth is the lower limit time for a predetermined timeout determination. In step S603, when it is determined that the time tc is less than or equal to the threshold value tc lth , the process proceeds to step S604. In step S603, when it is determined that the time tc is not less than or equal to the threshold value tc lth , the process proceeds to step S605.

[0197] In step S604, the processor 101 sets the angle target value θ'. Thereafter, the process of FIG. 28 ends. In step S604, the angle target value θ' is set by subtracting the adjustment value Δθ from the previous angle target value θ'. In the first force sense setting process, when the previous angle target value θ' has not been set, the angle target value θ is used as the angle target value θ'. The adjustment value Δθ may be determined as appropriate. Based on the angle target value θ' in step S604, the first motor 13 is driven in the deviation setting process, so that the first motor 13 is driven at a lower speed. Therefore, the force sense presented to the user is weakened. The fact that the time tc is short means that the guidance by the penlight 1 is too strong. Therefore, by weakening the force sense, the swinging motion of the user's arm is not inhibited.

[0198] In step S605, the processor 101 sets the angle target value θ'. Thereafter, the process of FIG. 28 ends. In step S605, the angle target value θ' is the previous angle target value θ'. In the first force sense setting process, when the previous angle target value θ' has not been set, the angle target value θ is used as the angle target value θ'. Step S605 means that the force sense is appropriately adjusted. Based on the angle target value θ' set in step S605, a guidance operation is performed, so that an appropriate guidance operation can be performed.

[0199] As described above, according to the third embodiment, an angle target value can be set that can guide the swinging motion of the user's arm and can present a force sense that does not inhibit the swinging motion of the user's arm. Thereby, an appropriate guidance operation can be performed.

[0200] Here, the force sense adjustment process in the third embodiment is supposed to be performed prior to the guiding operation. In fact, the force sense adjustment process in the third embodiment may be performed during the guiding operation. When it is performed during the guiding operation, a process of adding a deviation tg to the driving of the first motor 13 and the second motor 14 for the original guiding will be added. Also, by saving the average value of the angle target value θ´ as the force sense adjustment result of a plurality of users, this average value can also be used as the angle target value in the actual guiding operation.

[0201] Furthermore, the force sense adjustment process in the third embodiment may be performed in the force sense feedback operation. Also, based on the angle target value θ´ adjusted by the force sense adjustment process in the third embodiment, a temporary target period T Tn and a temporary target direction T Dn may be set.

[0202] Moreover, each process according to the above-described embodiments and modification examples can also be stored as a program that can be executed by a processor which is a computer. In addition, it can be stored and distributed in a storage medium of an external storage device such as a magnetic disk, an optical disk, or a semiconductor memory. Then, the processor can read the program stored in the storage medium of this external storage device, and by having its operation controlled by this read program, execute the above-described processes.

[0203] Note that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist thereof at the implementation stage. Also, the respective embodiments may be implemented in appropriate combinations, and in that case, the combined effects can be obtained. Furthermore, the above-described embodiments include various inventions, and various inventions can be extracted by combinations selected from the plurality of disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiments, if the problem can be solved and the effects can be obtained, the configuration from which these constituent elements are deleted can be extracted as an invention.

Explanation of Reference Numerals

[0204] 1…Penlight 10, 40…First housing 10a…Button / switch 11…Power supply unit 12, 12a, 12b…Control board 13, 13a, 13b…First motor 14…Second motor 20, 50…Second housing 21…Protrusion 22…Hole 23…Weight 24…Belt 25…Roller 26…Weight 27…Opening 28…Knob part 30…Housing 31…Rod-shaped member 51…Protrusion 60…Third housing 101…Processor 102…ROM 103…RAM 104…Input part 105…Acceleration sensor 106…Communication module 107…Drive circuit 200…Terminal device 201…Processor 202…ROM 203…RAM 204…Storage 205…Display 206…Input part 207…Communication module 208…Communication module 300…Server

Claims

1. A hand-held part having a cylindrical first housing held by a user, A first drive part having a first rotation axis orthogonal to the central axis of the first housing and housed in the hand-held part, A force feedback unit having a cylindrical second housing attached to the first rotation axis and rotating by receiving a rotational force from the first drive part to change the position of the center of gravity, A sensor that measures the speed of the user's arm swing while holding the hand-held part, A control unit that predicts the end time of the arm swing based on the change in the speed of the arm swing and drives the first drive part based on the predicted end time of the arm swing, A force feedback device comprising the above.

2. A hand-held part having a cylindrical first housing held by a user, A first drive part having a first rotation axis orthogonal to the central axis of the first housing and housed in the hand-held part, A force feedback unit having a cylindrical second housing attached to the first rotation axis and rotating by receiving a rotational force from the first drive part to change the position of the center of gravity, A sensor housed in the first housing that measures the period and speed of the user's arm swing while holding the hand-held part, A control unit that controls the rotational speed of the first drive part based on the deviation between the period of the user's arm swing and a predetermined target value of the arm swing period, Comprising the above, The control unit predicts the end time of the arm swing based on the change in the speed of the arm swing and drives the first drive part based on the predicted end time of the arm swing, A force feedback device.

3. The control unit, Sets a temporary target value below the target value of the arm swing period, Controlling the rotational speed of the first driving unit based on the deviation between the cycle of the user's arm swing and the provisional target value, and repeating this until the provisional target value reaches the target value of the arm swing cycle while changing the provisional target value with a change amount equal to or less than a predetermined threshold value. The force feedback device according to claim 2.

4. The control unit calculates the driving start time of the first driving unit based on the end time of the arm swing and the time required for driving the first driving unit. drives the first driving unit from the driving start time. The force feedback device according to any one of claims 1 to 3.

5. A handheld portion having a cylindrical first housing held by a user, a first driving unit having a first rotation axis orthogonal to the central axis of the first housing and housed in the handheld portion, a force feedback portion having a cylindrical second housing attached to the first rotation axis and rotating by receiving a rotational force from the first driving unit, thereby changing the position of the center of gravity, a sensor housed in the first housing for measuring the cycle and acceleration of the arm swing of the user holding the handheld portion, a control unit for controlling the rotational speed of the first driving unit based on the deviation between the cycle of the user's arm swing and a predetermined target value of the arm swing cycle, comprising The control unit drives the first driving unit by shifting the driving start time of the first driving unit from a determined time, and adjusts the rotational speed of the first driving unit based on the change in the acceleration at the end time of the user's arm swing. Force feedback device.

6. The control unit sets a provisional target value equal to or less than the target value of the arm swing cycle, Controlling the rotational speed of the first drive unit based on the deviation between the cycle of the user's arm swing and the provisional target value, and repeating this until the provisional target value reaches the target value of the arm swing cycle while changing the provisional target value with a change amount equal to or less than a predetermined threshold value. The force feedback device according to claim 5.

7. The hand-held part further has a third housing. The third housing houses the first drive unit. The first housing further houses a second drive unit having a second rotation axis coaxial with the central axis. The second rotation axis is attached to the third housing. The control unit Shifts the rotation angle of the second drive unit with respect to the direction of the arm swing and drives the second drive unit. Adjusts the rotational speed of the first drive unit based on the deviation between the direction of the user's arm swing and the rotational direction of the force feedback unit. The force feedback device according to claim 5.

Citation Information

Patent Citations

  • Mallet for percussion instrument toy and percussion instrument toy set by using it

    JP2001083963A

  • Force sense presentation device and mixed reality system

    JP2008123061A

  • Presentation device

    JP2019079686A

  • Tactile sensation presentation device and tactile sensation presentation method

    JP2020067701A

  • Motorized percussion devices

    US20020117041A1