Operation device, operation system, and operation control method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2024-09-11
- Publication Date
- 2026-05-12
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Conventional touch-based operation control methods for machine tools require operators to visually inspect the operation surface, leading to inefficiencies as they must alternate between the operation device and the machine tool, making it difficult to perform operations without looking away.
An operating device that generates pulse signals based on the rotation angle of a circular movement on a touch-sensitive surface, utilizing a touch detection unit, gesture detection, rotation center storage, and calculation units to allow operators to manually control a machine tool without constant visual inspection.
Enables operators to manually control a machine tool via a touch-sensitive surface without looking at the operating surface, improving operational efficiency by allowing continuous operation and reducing the need for visual checks.
Abstract
Description
Operation device, operation system, and operation control method
[0001] The present disclosure relates to an operation device, an operation system, and an operation control method for operating a machine tool whose operation is controlled by a numerical control device.
[0002] One conventional method for manually operating a machine tool whose operation is controlled by a numerical control device is to use a dedicated piece of hardware called a manual pulse generator. The manual pulse generator has a handle, and when the operator of the machine tool rotates the handle clockwise or counterclockwise, a pulse signal is output with an amount corresponding to the angle of rotation. Based on this pulse signal, the numerical control device issues a control command to the machine tool, and the machine tool drives its moving parts in accordance with the control command.
[0003] Meanwhile, touch-type pointing devices that perform operations or inputs by physical contact with a finger, stylus, or the like have become widespread in recent years, and touch-based operation control methods have become common in various operating devices. Technology that applies touch-based operation control methods has also been developed for manual pulse generators. Patent Document 1 discloses a machine control device that generates pulse signals by touch operation using software without requiring dedicated hardware. The machine control device described in Patent Document 1 displays an input operation section for manual operation of a servo mechanism, in which multiple touch switch displays are arranged in a circle, on a touch panel display, and detects how the operator traces the touch switch displays, thereby outputting movement commands corresponding to the detected tracing.
[0004] Japanese Patent Application Laid-Open No. 2000-305614
[0005] According to the above-described conventional technology, an operator is required to trace a plurality of touch switch displays arranged in a circle that constitute an input operation unit displayed on a touch panel display, which serves as the operation surface. However, because the touch switch displays are images displayed on a display and the touch panel has almost no texture, it is difficult to understand the touch switch displays without visual inspection, making it difficult for the operator to operate the device while looking away from the operation surface for a long period of time. On the other hand, when an operator manually operates a machine tool, the operator must visually confirm whether the machine tool is operating as intended. As described above, with an operation device using the above-described conventional technology, the operator must alternate between visually inspecting the operation device and the machine tool, resulting in inefficiency.
[0006] The present disclosure has been made in consideration of the above, and aims to provide an operating device that allows an operator to manually operate a machine tool via an operating surface without having to look at the operating surface.
[0007] In order to solve the above-mentioned problems and achieve the object, the present disclosure provides an operating device that operates a machine tool via a numerical control device by generating a pulse signal based on the rotation angle of a trajectory of a circular movement of a screen operating unit on an operating surface, the operating device comprising: a touch detection unit, a gesture detection unit, a rotation center storage unit, a rotation angle calculation unit, and a rotation center calculation unit. The touch detection unit detects a touch operation of the screen operating unit on the operating surface. The gesture detection unit detects a movement trajectory of the screen operating unit caused by a gesture that moves the screen operating unit through a touch operation. The rotation center storage unit stores a reference position for calculating a rotation angle based on the movement trajectory. The rotation angle calculation unit calculates the rotation angle of the movement trajectory relative to the reference position stored in the rotation center storage unit each time a first condition for calculating the rotation angle is satisfied. The rotation center calculation unit recalculates a new reference position that follows the movement of the screen operating unit based on the movement trajectory and the reference position stored in the rotation center storage unit, and updates the reference position in the rotation center storage unit with the new reference position.
[0008] The operating device according to the present disclosure has the advantage that an operator can manually operate a machine tool via the operating surface without having to look at the operating surface.
[0009] FIG. 1 is a diagram showing an example of a trajectory on an operation surface when an operator performs a rotation gesture. FIG. 2 is a block diagram showing an example of a hardware configuration of an operation device and a machine tool according to the first embodiment. FIG. 3 is a diagram showing an example of a functional configuration of an operation device and a machine tool according to the first embodiment. FIG. 4 is a diagram showing an example of an operation screen displayed on a display of an operation device. FIG. 5 is a diagram for explaining detection of a rotation angle when a rotation gesture is made on the operation device according to the first embodiment. FIG. 6 is a diagram for explaining a method for recalculating rotation center coordinates when a rotation gesture is made on the operation device according to the first embodiment. FIG. 7 is a diagram showing an example of a flow when recalculating rotation center coordinates on the operation device according to the first embodiment. FIG. 8 is a diagram showing an example of a flow when recalculating rotation center coordinates on the operation device according to the first embodiment.
[0010] Hereinafter, an operation device, an operation system, and an operation control method according to embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0011] First, we will explain in detail the problems in the prior art, including Patent Document 1, and then explain the embodiments. Conventional operating devices that implement a manual pulse generator using software sometimes use a method of generating pulses by performing a rotation gesture, which is a gesture of moving a finger in a circular motion on a touch panel or touch pad. This method typically requires that the rotation gesture be performed based on a specific position. This is because the angle formed by the touch coordinates at the start of the rotation gesture, the rotation center coordinates as the reference position, and the touch coordinates at the end of the rotation gesture is calculated as the rotation angle, and pulses are generated in an amount based on the rotation angle. In this specification, the term "circular" includes not only a perfect circle, but also a squashed circle, an irregular circle, an ellipse, a ring, etc.
[0012] When operating using this method, it is difficult for the operator to take their eyes off the operation surface for a long period of time. This is because the touch panel or touch pad that serves as the operation surface generally has a shape with few projections and recesses, and the operator cannot determine whether the rotation gesture is being performed based on the rotation center coordinates while looking away from the operation surface. In other words, if the operator operates the operation surface while looking away from the operation surface for a long period of time, they may unknowingly perform the rotation gesture at a position far from the rotation center coordinates, and may not be able to operate the machine tool as intended.
[0013] FIG. 1 illustrates an example of a trajectory on an operation surface when an operator performs a rotation gesture. Here, a handle icon 510 is displayed on the operation surface 500 at a predetermined distance from the rotation center coordinate CR, surrounding the rotation center coordinate CR. In FIG. 1 , the operator initially touches the handle icon 510 with his / her finger 520. However, since the operator performs the rotation gesture without visually checking the operation surface 500, the rotation gesture is performed at a position further away from the handle icon 510 over time. As illustrated in this example, when the rotation gesture is performed at a position far from the rotation center coordinate CR, even if the finger 520 is rotated one and a half times, the finger 520 does not move to trace the periphery of the rotation center coordinate CR, and therefore the operation device cannot detect the amount of rotation of one and a half times. Therefore, the operator needs to visually check the operation surface 500 from time to time to confirm the position where the rotation gesture is being performed.
[0014] However, when an operator manually operates a machine tool, the operator must visually check whether the machine tool is operating as intended to ensure that the machine parts, tools, and jigs that make up the machine tool do not interfere with each other. Therefore, the operator operating the above-mentioned operating device must alternately visually check the operating device and the machine tool, which is inefficient. Therefore, in the following embodiments, an operating device, an operating system, and an operation control method will be described that allow the operator to manually operate a machine tool without alternately visually checking the operating device and the machine tool.
[0015] First Embodiment. Figure 2 is a diagram showing an example of the hardware configuration of an operation device and a machine tool according to the first embodiment. The operation device 10 is communicatively connected to the machine tool 30 to be operated and transmits data to a numerical control device 310 of the machine tool 30 in accordance with an operator's operation. Here, the operation device 10 operates the machine tool 30 via the numerical control device 310 by generating a pulse signal based on the rotation angle of a trajectory formed by moving a screen operation unit in a circular motion on the operation surface. In the example described below, the operation device 10 is assumed to be an information processing terminal having a touch panel 111 serving as an operation surface attached to a display 160. Examples of the operation device 10 include a smartphone and a tablet terminal. The machine tool 30 is a machine whose operation is controlled by the numerical control device 310. Examples of the machine tool 30 include a lathe and a machining center.
[0016] The controller device 10 includes a sensor unit 110, a communication interface 120, a read-only memory (ROM) 130, a random access memory (RAM) 140, a processor 150, a display 160, a buzzer 170, and a vibrator 180. In one example, the sensor unit 110, the communication interface 120, the ROM 130, the RAM 140, the processor 150, the display 160, the buzzer 170, and the vibrator 180 are connected via a bus (not shown). One example of the controller device 10 is a computer system.
[0017] The sensor unit 110 has sensors that detect touch operations by the operator or changes in the acceleration, tilt, and inclination of the operation device 10. In the example of FIG. 2 , the sensor unit 110 has a touch panel 111, an acceleration sensor 112, and a gravity sensor 113. The touch panel 111 is installed on the surface of the display 160 and is a device that detects touch operations on the display 160. Specifically, the touch panel 111 detects the coordinates of the position where the operator's finger 650, which is an example of a screen operation unit, touches the surface of the display 160. The screen operation unit is a unit that touches the display 160, and the position and operation of the screen operation unit are detected by the touch panel 111, and includes not only the operator's finger but also a stylus. The acceleration sensor 112 is a sensor that detects acceleration acting on the operation device 10. The gravity sensor 113 is a sensor that detects the inclination or tilt of the operation device 10.
[0018] The communication interface 120 is an interface for performing wireless or wired communication with the numerical control device 310 .
[0019] The ROM 130 stores a program, which is a computer program that realizes the functions of the gesture detection unit 141, the rotation angle calculation unit 143, the rotation center calculation unit 144, the pulse generation unit 15, the condition determination unit 13, the communication processing unit 16, and the operation status notification unit 17, which are functional components of the operation device 10 shown in FIG. 3, which will be described later.
[0020] RAM 140 stores data for realizing the function of rotation center storage unit 142 shown in Fig. 3. The data stored in rotation center storage unit 142 is used when rotation angle calculation unit 143 and rotation center calculation unit 144 execute processing. RAM 140 is also used as a work area for processor 150.
[0021] The processor 150 is a control unit such as a CPU (Central Processing Unit). The processor 150 loads a program stored in the ROM 130 into the RAM 140 and executes the program to execute the functions of the operation device 10. Fig. 2 schematically shows a state in which the processor 150 is executing programs that realize the functions of the gesture analysis unit 14, the pulse generation unit 15, the communication processing unit 16, the operation status notification unit 17, and the condition determination unit 13 shown in Fig. 3.
[0022] The display 160 displays information on a screen according to the operation status of the controller device 10. The surface of the display 160 on which the touch panel 111 is installed corresponds to the operation surface. The buzzer 170 generates a sound according to the operation status of the controller device 10. The vibrator 180 generates a vibration according to the operation status of the controller device 10.
[0023] The machine tool 30 includes a numerical control device 310 and a servo mechanism 320. The numerical control device 310 controls the servo mechanism 320 based on pulse signals from the operation device 10. The numerical control device 310 includes a communication interface 311 and a processor 312. The communication interface 311 is an interface for performing wireless or wired communication with the operation device 10. The processor 312 executes a program for controlling the communication interface 311 and the servo mechanism 320 of the machine tool 30.
[0024] The servo mechanism 320 drives a moving part of the machine tool 30. In one example, the servo mechanism 320 includes a servo amplifier, a servo motor, and a ball screw. In this example, the servo amplifier supplies power to the servo motor to control the servo motor. The servo motor receives power from the servo amplifier and provides rotary motion. The ball screw converts the rotary motion of the servo motor into linear motion to achieve position control.
[0025] Here, an example of the operation of the computer system constituting the controller device 10 until the program is ready to be executed will be described. In a computer system having the above-described configuration, the program is pre-installed in ROM 130. When the program is executed, the program is read from ROM 130 and stored in the main storage area of RAM 140. In this state, the processor 150 executes the processing of the controller device 10, which will be described later, in accordance with the program stored in RAM 140. In one example, the program stored in RAM 140 is a program executable by the processor 150.
[0026] The controller device 10 may include a storage device such as an SSD (Solid State Device) instead of the ROM 130, and a program describing the processing of the controller device 10 may be stored in this storage device. In this case, for example, a program provided via a transmission medium such as the Internet via the communication interface 120 is saved in the storage device, and the processor 150 installs the saved program in the storage device. The installed program is then read into the RAM 140 when the program is executed. Alternatively, the program may be installed in the storage device via an external device interface (not shown) from a CD-ROM or DVD-ROM inserted in a CD (Compact Disc)-ROM drive or DVD (Digital Versatile Disc)-ROM drive (not shown).
[0027] 3 is a block diagram showing an example of the functional configuration of the operation device and machine tool according to embodiment 1. The operation device 10 includes a touch detection unit 11, a determination element acquisition unit 12, a condition determination unit 13, a gesture analysis unit 14, a pulse generation unit 15, a communication processing unit 16, and an operation status notification unit 17.
[0028] The touch detection unit 11 detects a touch operation of the screen operation unit on the operation surface. Specifically, when an operator's finger touches the display 160 of the operation device 10, the touch detection unit 11 detects touch coordinates, which are the coordinates of the position on the display 160 where the finger is touching. The touch detection unit 11 detects the touch coordinates using a signal detected by the touch panel 111. The touch detection unit 11 outputs the detected touch coordinates to the determination element acquisition unit 12.
[0029] The determination element acquisition unit 12 acquires determination elements that are elements necessary when the condition determination unit 13 determines a condition, for example, elements that determine a specific condition under which the machine tool 30 can be operated using a gesture. The determination elements include touch coordinates on the display 160, but may also include the acceleration of the operation device 10 and the tilt or inclination of the operation device 10. The determination element acquisition unit 12 acquires the touch coordinates from the touch detection unit 11, acquires the acceleration of the operation device 10 from the acceleration sensor 112, and acquires the tilt or inclination of the operation device 10 from the gravity sensor 113. The specific condition corresponds to the second condition.
[0030] The condition determination unit 13 determines whether the operation device 10 satisfies a specific condition based on the determination element acquired by the determination element acquisition unit 12, and restricts operation of the operation device 10 based on the determination result. The specific condition is a condition under which it can be determined that the operator's finger is performing a rotation gesture. In one example, when the condition determination unit 13 determines that the specific condition is not satisfied, it restricts operation of the machine tool 30 using a rotation gesture on the operation device 10. Conversely, when the condition determination unit 13 determines that the specific condition is satisfied, it allows operation of the machine tool 30 using a rotation gesture on the operation device 10, and restricts operation of the machine tool 30 using gestures other than a rotation gesture. In other words, the condition determination unit 13 causes the gesture detection unit 141 to detect a trajectory only when the specific condition is satisfied.
[0031] FIG. 4 is a diagram showing an example of an operation screen displayed on the display of the operation device. An operation screen 600 is displayed on the display 160 of the operation device 10. The operation screen 600 has a button arrangement area 610, a slider arrangement area 620, and a handle icon display area 630. The button arrangement area 610 has a button 611 arranged therein that has the function of switching the operating state of the machine tool 30, the movable target part, etc. The slider arrangement area 620 has a slider 621 arranged therein that has the function of changing the magnification when the movable part of the machine tool 30 moves by sliding it. The handle icon display area 630 has a handle icon 631 arranged therein that has the function of determining the drive amount of the operating part of the machine tool 30 based on the angle of the drawn arc. The handle icon 631 has a circular shape and rotates clockwise or counterclockwise around the center position of the handle icon 631 as an axis. The handle icon 631 has a position indication part 632 that visually indicates the rotation angle of the handle icon 631. In one example, the rotation of the handle icon 631 is displayed by animation.
[0032] In one example, when a specific condition is satisfied, condition determination unit 13 restricts operations on button 611 and slider 621 shown in Fig. 4. This makes it possible to prevent a situation in which, when a finger moves to a position where button 611 and slider 621 are displayed during a rotation gesture, it is recognized that a touch operation on button 611 and slider 621 has been performed, resulting in a malfunction of machine tool 30. It is also possible to prevent a situation in which, when the operator is not attempting to operate machine tool 30, a finger accidentally touches display 160, which is recognized as a rotation gesture, resulting in a malfunction of machine tool 30. Note that, with regard to the restrictions on operations using a rotation gesture, all operations other than the rotation gesture may be restricted, and it may be possible not to restrict operations on rotation gestures as well as operations on highly urgent functions such as an emergency stop function.
[0033] In the operation device 10 according to the first embodiment, a specific condition is that the operator touches the vicinity of a handle icon 631 displayed on the display 160 and performs a rotation gesture without releasing the finger. Here, the vicinity of the handle icon 631 on the display 160 refers to the handle icon display area 630. The handle icon display area 630 is an area that includes at least the area where the handle icon 631 is displayed, but does not include other adjacent operation elements, in this case, the button 611 and the slider 621. In one example, the handle icon display area 630 is an area from the handle icon 631 to positions where other components such as the button 611 and the slider 621 are located, or to the outer edge of the display 160.
[0034] That is, the condition determination unit 13 determines whether the operator touches the handle icon display area 630 displayed on the display 160 and performs a rotation gesture without releasing the finger. If this condition is met, the condition determination unit 13 determines that a rotation gesture has been performed, and if this condition is not met, the condition determination unit 13 determines that a rotation gesture has not been performed.
[0035] The specific condition may be other than the specific condition. For example, the specific condition may be whether a specific area on the touch panel 111 is touched with a finger other than the finger performing the rotation gesture. In this case, the specific condition is determined to be the operator's intention to perform the rotation gesture, and the condition determination unit 13 restricts operations on the button 611 and the slider 621 shown in FIG. 4 . In another example, to determine whether the operation device 10 is being operated in a stable state, the specific condition may be whether the amount of change in the value detected by the acceleration sensor 112 or the gravity sensor 113 is less than a predetermined value, and the position or movement of the operation device 10 has not changed significantly. In this case, it is assumed that the position or movement of the operation device 10 is changing significantly, and the operator is walking at a certain speed or higher. In other words, it is assumed that the operator is not attempting to perform a rotation gesture. If such a condition is satisfied, the condition determination unit 13 determines that a rotation gesture has not been performed. Furthermore, a combination of these conditions may be used as a condition. By combining these conditions, the condition determination unit 13 can determine whether the operator is attempting to perform a rotation gesture.
[0036] 3 , when the condition determination unit 13 determines that a rotation gesture has been made, the gesture analysis unit 14 analyzes the gesture made by the operator. The analysis of the gesture includes detecting the movement trajectory of the operator's finger, calculating the rotation center coordinate, and calculating the rotation angle of the movement trajectory relative to the rotation center coordinate. The gesture analysis unit 14 includes a gesture detection unit 141, a rotation center storage unit 142, a rotation angle calculation unit 143, and a rotation center calculation unit 144.
[0037] The gesture detection unit 141 detects the movement trajectory of the screen operation unit due to a gesture of moving the screen operation unit by a touch operation. The detection of the movement trajectory is for calculating the rotation angle and the rotation center. In this example, the gesture detection unit 141 continuously analyzes the touch coordinates detected by the touch detection unit 11 to detect the movement trajectory and movement amount of the operator's finger on the display 160. In this example, the movement amount is detected in addition to the movement trajectory. The movement amount is detected to determine the timing to execute the calculation of the rotation angle. Therefore, when the timing to execute the calculation of the rotation angle is determined based on other conditions rather than the movement amount, the gesture detection unit 141 only needs to detect the movement trajectory.
[0038] The rotation center storage unit 142 stores a reference position for calculating a rotation angle based on the movement trajectory of the screen operation unit. In this example, the rotation center storage unit 142 stores rotation center coordinates, which are reference positions required for calculating the rotation angle during a rotation gesture. The rotation center coordinates are sequentially recalculated in accordance with the movement of the finger during the rotation gesture. Therefore, each time the rotation center calculation unit 144 recalculates the rotation center coordinates, the rotation center storage unit 142 updates the currently stored rotation center coordinates with the new recalculated rotation center coordinates. The initial position of the rotation center coordinates can be any position on the touch panel 111. Furthermore, before a rotation gesture is performed, the rotation center coordinates stored in the rotation center storage unit 142 are set to the initial position. In one example, as shown in FIG. 4 , the center of the handle icon 631 on the operation screen 600 displayed on the display 160 is set to the initial position CR0 of the rotation center coordinates.
[0039] The rotation center storage unit 142 stores the rotation center coordinates, which are the reference position, during the execution of the rotation gesture. When the execution of the rotation gesture ends, specifically, when the finger executing the rotation gesture leaves the display 160, the rotation center coordinates stored in the rotation center storage unit 142 at this time are initialized to the initial position.
[0040] Condition determination unit 13 may determine a period for storing the rotation center coordinates, which are the reference position, in rotation center storage unit 142, based on the determination result of condition determination unit 13. In one example, while condition determination unit 13 determines that machine tool 30 can be operated using a rotation gesture, rotation center storage unit 142 may continue to store the rotation center coordinates. As a result, depending on the determined condition, even if the finger performing the rotation gesture is temporarily removed from touch panel 111 while the rotation gesture is being performed, the rotation center coordinates are not initialized to the initial position, and the rotation gesture can be performed again from the rotation center coordinates at the time the finger was temporarily removed.
[0041] The rotation angle calculation unit 143 calculates the rotation angle of the movement trajectory relative to the reference position stored in the rotation center storage unit 142 each time a predetermined condition is satisfied. The predetermined condition is a condition for performing calculation of the rotation angle and corresponds to a first condition. In this example, the rotation angle calculation unit 143 calculates the rotation angle based on the rotation center coordinates stored in the rotation center storage unit 142 and the movement trajectory of the operator's finger detected by the gesture detection unit 141. The rotation angle calculation unit 143 calculates the rotation angle each time a condition, which is an example of the first condition, that the movement amount of the finger reaches a predetermined value is satisfied.
[0042] FIG. 5 is a diagram illustrating detection of a rotation angle during a rotation gesture in the operating device according to the first embodiment. As shown in FIG. 5 , the angle formed by the touch coordinate CTm at the start of calculation of the rotation angle, the rotation center coordinate CRm, and the touch coordinate CTm+1 at the end of calculation of the rotation angle is defined as the rotation angle α. The movement trajectory used here is the movement trajectory between when a predetermined condition is satisfied and when the previously determined condition is satisfied. The starting point of this movement trajectory is the touch coordinate CTm at the start of calculation of the rotation angle, and the ending point is the touch coordinate CTm+1 at the end of calculation of the rotation angle. The positive or negative sign of the rotation angle α is determined by the rotation direction of the rotation gesture. Specifically, if the rotation direction is clockwise, the rotation angle α is a positive value, and if the rotation direction is counterclockwise, the rotation angle α is a negative value.
[0043] In the operation device 10 according to the first embodiment, the rotation angle calculation unit 143 calculates the rotation angle α each time the movement amount of the finger detected by the gesture detection unit 141 reaches a predetermined value. That is, in FIG. 5 , each time the movement amount of the finger 650, which is an example of a screen operation unit, reaches a predetermined value, the rotation angle α is calculated using the touch coordinate CTm of the start point, the rotation center coordinate CRm, and the touch coordinate CTm+1 of the end point at that time. The rotation angle calculation unit 143 outputs the calculated rotation angle α to the pulse generation unit 15 and the operation status notification unit 17. m is an integer equal to or greater than 0 and indicates the number of times the rotation angle has been calculated since the operator's finger touched the display 160. Note that in this example, the predetermined condition, i.e., the first condition, is when the movement amount of the finger 650 reaches a predetermined value. However, it may also be when a predetermined time has elapsed since the operator's finger 650 touched the display 160.
[0044] 3 , the rotation center calculation unit 144 recalculates a new reference position that follows the movement of the screen operation unit based on the movement trajectory of the screen operation unit and the reference position stored in the rotation center storage unit 142, and updates the reference position in the rotation center storage unit 142 with the new reference position. In this example, after the rotation angle calculation unit 143 calculates the rotation center coordinates, the rotation center calculation unit 144 recalculates the rotation center coordinates based on the rotation center coordinates stored in the rotation center storage unit 142 and the movement trajectory of the operator's finger 650 detected by the gesture detection unit 141. In one example, similar to the rotation angle calculation unit 143, after the movement amount of the finger 650 reaches a predetermined value and the rotation angle calculation unit 143 calculates the rotation center coordinates.
[0045] 6 is a diagram illustrating a method for recalculating a rotation center coordinate during a rotation gesture in the operating device according to embodiment 1. As shown in FIG. 6 , on a line connecting the current rotation center coordinate CRm and the end touch coordinate CTm+1, which is the coordinate at which the movement amount of the finger 650 reaches a predetermined value, the rotation center coordinate is changed to the rotation center coordinate CRm+1 so that the distance d between the rotation center coordinate CRm and the start touch coordinate CTm and the distance d between the rotation center coordinate CRm and the end touch coordinate CTm+1 are always constant. At this time, on the line connecting the current rotation center coordinate CRm and the end touch coordinate CTm+1, there are two points that are the distance d from the end touch coordinate CTm+1. Of these two points, the point closest to the current rotation center coordinate CRm is set to the changed rotation center coordinate CRm+1. The operating device 10 according to the first embodiment changes the rotation center coordinates so that the distance d between the two points is always the distance between the initial position CR0 of the rotation center coordinates and the starting point of the rotation gesture.
[0046] In this way, the rotation center calculation unit 144 sets a new reference position as a position on a line connecting the recalculated position, which is the position of the screen operation unit when the predetermined condition is satisfied, and the current reference position, which is the reference position stored in the rotation center storage unit 142, that is a distance d between the recalculated position and the initial value of the reference position, toward the current reference position. Furthermore, the rotation center calculation unit 144 recalculates a new reference position each time the predetermined condition is satisfied after the rotation angle calculation unit 143 calculates the rotation angle. Here, the predetermined condition, i.e., the first condition, is when the movement amount of the screen operation unit reaches a predetermined value or when a predetermined time has elapsed since the operator's finger 650 touched the display 160. The distance d between the two points may be the radius of the handle icon 631 displayed on the display 160 or any other value.
[0047] 7 to 9 are diagrams showing an example of a flow for recalculating the rotation center coordinates in the operation device according to the first embodiment. First, as shown in FIG. 7 , when the operator touches the touch panel 111, the distance between the touch coordinate CT0 at this time and the initial position CR0 of the rotation center coordinates is calculated as the two-point distance d. In one example, the touch detection unit 11 calculates the touch coordinate CT0, and the condition determination unit 13 passes the touch coordinate CT0 to the rotation center calculation unit 144. The rotation center calculation unit 144 also obtains the initial position CR0 of the rotation center coordinates at this time from the rotation center storage unit 142, and calculates the two-point distance d from the touch coordinate CT0 and the initial position CR0 of the rotation center coordinates.
[0048] 8 , the operator's finger 650 moves a distance of a predetermined value. The touch coordinates CTc after the movement of the predetermined distance are set to (xc, yc). The touch detection unit 11 calculates the touch coordinates CTc after the movement, and the condition determination unit 13 passes the touch coordinates CTc after the movement to the rotation center calculation unit 144.
[0049] 9 , if the initial position CR0 of the rotation center coordinate at this time is set as the origin of the Cartesian coordinate system, and the angle formed by the line connecting the initial position CR0 of the rotation center coordinate at this time and the moved touch coordinate CTc and the positive direction of the x-axis of the Cartesian coordinate system is set as θ, the changed rotation center coordinate CR1(x, y) can be calculated using the following equation (1): Here, the angle θ is the angle when rotated counterclockwise from the positive direction of the x-axis.
[0050] (x, y) = (xc-dcosθ, yc-dsinθ) ... (1)
[0051] The rotation center calculation unit 144 stores the calculated changed rotation center coordinates (x, y) in the rotation center storage unit 142. Then, in one example, this process is executed each time the operator's finger 650 moves a certain distance. Note that the rotation center calculation unit 144 may use a method other than the above, as long as it is possible to determine the rotation center coordinates (x, y) that are the reference position.
[0052] Returning to Fig. 3, pulse generating unit 15 generates pulse signals for driving the movable part of machine tool 30 based on the rotation angle calculated by rotation angle calculation unit 143. If it is determined that one pulse signal is to be generated for each predetermined angle, pulse generating unit 15 generates pulse signals equal to the quotient of the rotation angle divided by the predetermined angle. As an example, if one pulse signal is to be generated every time the amount of change in the rotation angle reaches 10°, and the rotation angle calculated by rotation angle calculation unit 143 is 30°, pulse generating unit 15 will generate a total of three pulse signals. At this time, the movement direction of the movable part is determined based on whether the rotation angle is a positive value or a negative value.
[0053] The communication processing unit 16 communicates with the numerical control device 310 using the communication interface 120. The communication processing unit 16 transmits pulse signals generated by the pulse generating unit 15 from the operation device 10 to the numerical control device 310. When the machine tool 30 receives pulse signals from the communication processing unit 16 of the operation device 10, it moves the movable part by a distance corresponding to the amount of the generated pulse signals. The communication processing unit 31 of the machine tool 30 transmits the reception result of the pulse signals to the operation device 10. Then, the communication processing unit 16 of the operation device 10 receives the reception result of the pulse signals sent to the operation device 10 from the numerical control device 310.
[0054] The operation status notification unit 17 notifies the operator of the operation status resulting from the movement of the screen operation unit. The operation status notification unit 17 acquires the rotation angle from the rotation angle calculation unit 143, acquires the rotation center coordinates from the rotation center calculation unit 144 or the rotation center storage unit 142, and notifies the operator of the current operation status based on the rotation angle and the rotation center coordinates. When making the notification, the operation status notification unit 17 controls GUI (Graphical User Interface) display, sound, and vibration.
[0055] Regarding GUI display, in one example, as shown in FIG. 4 , the operation status notification unit 17 displays a handle icon 631 on the operation screen 600 and rotates the handle icon 631 according to the rotation angle calculated by the rotation angle calculation unit 143. As a result, the position of the position indicator 632 on the operation screen 600 is rotated by the angle detected by the rotation gesture. Furthermore, the operation status notification unit 17 displays the handle icon 631 on the operation screen 600 at the position of the rotation center coordinate every time the rotation center coordinate changes. As a result, even if the rotation center coordinate is changed by the rotation gesture, the operator can always visually grasp the current rotation center coordinate by checking the display 160. At this time, the handle icon 631 at the position of the moved rotation center coordinate may be displayed in a manner different from the handle icon 631 displayed at the initial position of the initial position CR0 of the rotation center coordinate. Examples of different methods include making the handle icon 631 semi-transparent, displaying it in a different color, or flashing the handle icon 631. Regarding GUI display, operation status notifying unit 17 may display a GUI for operations other than the rotation gesture. As an example, as shown in Fig. 4 , operation status notifying unit 17 may display, on operation screen 600, button 611 having a function of switching the operating state of machine tool 30, the movable target part, etc. by touching it with a finger, and slider 621 having a function of changing the magnification when the movable part moves by sliding a finger.
[0056] Regarding sound or vibration, operation status notifying unit 17 may be configured to generate sound or vibration each time pulse generating unit 15 generates a pulse signal. When generating sound, operation status notifying unit 17 causes buzzer 170 to output a predetermined sound. When generating vibration, operation status notifying unit 17 causes vibrator 180 to output vibration of a predetermined pattern. By detecting the generation of sound or vibration in this manner, the operator can grasp the amount of operation of machine tool 30 by operating device 10 without visually checking the screen. Note that sound or vibration may be generated based on the reception result of a pulse signal from numerical control device 310 received by communication processing unit 16, rather than a signal from gesture analyzing unit 14.
[0057] The machine tool 30 includes a numerical control device 310 and a machine drive unit 33. The numerical control device 310 drives the machine drive unit 33 of the machine tool 30 based on a pulse signal from the operation device 10. The numerical control device 310 has a communication processing unit 31 and a machine control unit 32. The communication processing unit 31 communicates with the operation device 10 using a communication interface 311. Here, when a pulse signal is received from the operation device 10, it passes the pulse signal to the machine control unit 32. The communication processing unit 31 also transmits the reception result of the pulse signal to the operation device 10. The machine control unit 32 drives the machine drive unit 33 based on the pulse signal received from the communication processing unit 31. The machine drive unit 33 operates in accordance with instructions from the machine control unit 32. This causes the moving parts of the machine tool 30 to operate.
[0058] In the above description, the operation device 10 and the numerical control device 310 of the machine tool 30 constitute an operation system. In the operation system, at least one of the components of the operation device 10 may be included in the numerical control device 310, or at least one of the components of the numerical control device 310 may be included in the operation device 10.
[0059] Next, an operation control method for the operation device 10 according to the first embodiment will be described. FIGS. 10 and 11 are flowcharts showing an example of the procedure of the operation control method according to the first embodiment. First, the rotation center calculation unit 144 sets the center position of the handle icon 631 on the operation screen 600 displayed on the display 160 as the initial position of the rotation center coordinates in the rotation center storage unit 142 (step S11). Next, when the operator's finger, which is an example of a screen operation unit, touches the display 160, the touch detection unit 11 detects the touch coordinates on the display 160 touched by the operator (step S12). The determination element acquisition unit 12 acquires the touch coordinates from the touch detection unit 11 and passes them to the condition determination unit 13 via the determination element acquisition unit 12.
[0060] The condition determination unit 13 determines whether the initially detected touch coordinates are near the handle icon 631 on the operation screen displayed on the display 160, i.e., whether they are in the handle icon display area 630 (step S13). If the touch coordinates are in the handle icon display area 630 (Yes in step S13), the condition determination unit 13 determines whether the operator is making a rotation gesture without lifting their finger (step S14). This condition of the operator making a rotation gesture without lifting their finger corresponds to the second condition. If it is determined that the operator is making a rotation gesture without lifting their finger (Yes in step S14), that is, if the second condition is satisfied, the condition determination unit 13 determines that the operator is making a rotation gesture and causes the gesture detection unit 141 to detect a movement trajectory. The gesture detection unit 141 continuously analyzes the touch coordinates detected by the touch detection unit 11 to detect the movement trajectory and movement amount of the finger (step S15).
[0061] Thereafter, the condition determination unit 13 determines whether the operator's finger has been removed from the touch panel 111 (step S16). This condition, whether the operator's finger has been removed from the touch panel 111, corresponds to the second condition for determining whether the operator's finger is still performing a rotation gesture. If it is determined that the operator's finger has not been removed from the touch panel 111 (Yes in step S16), that is, if the second condition is still satisfied, the rotation angle calculation unit 143 determines whether the finger movement amount has reached a predetermined value (step S17). This condition, whether the finger movement amount has reached a predetermined value, corresponds to the first condition. If the finger movement amount has not reached the predetermined value (No in step S17), that is, if the first condition is not satisfied, the process returns to step S16.
[0062] When the finger movement amount reaches the predetermined value (Yes in step S17), i.e., when the first condition is satisfied, the rotation angle calculation unit 143 calculates the rotation angle using the touch coordinates of the start point and the touch coordinates of the end point when the finger movement amount reaches the predetermined value, and the rotation center coordinates stored in the rotation center storage unit 142 (step S18). Thereafter, the pulse generation unit 15 generates a pulse signal based on the rotation angle calculated by the rotation angle calculation unit 143 (step S19). The communication processing unit 16 also transmits the generated pulse signal to the numerical control device 310 (step S20).
[0063] The operation status notifying unit 17 generates sound or vibration based on the rotation angle acquired from the rotation angle calculating unit 143, and displays a handle icon 631 in a semi-transparent form on the operation screen 600 at the position of the recalculated rotation center coordinates acquired from the rotation center calculating unit 144 (step S21). Here, the handle icon 631 is semi-transparent, but it can be displayed in another color and in another display form as long as it is visible to the operator.
[0064] Furthermore, the rotation center calculation unit 144 recalculates the rotation center coordinates using the touch coordinates of the end point when the finger movement amount reaches a predetermined value, the rotation center coordinates stored in the rotation center storage unit 142, and the distance d between the touch coordinates at the time the finger touches the display 160 and the initial position of the rotation center coordinates (step S22).The rotation center calculation unit 144 then stores the recalculated rotation center coordinates in the rotation center storage unit 142 (step S23).Then, the process returns to step S15.
[0065] If it is determined in step S16 that the operator's finger has been removed from the touch panel 111 (No in step S16), that is, if the second condition is not satisfied, it is determined that the rotation gesture by the operator has ended, and the operation control method ends.
[0066] If it is not determined in step S14 that the operator is making a rotation gesture without releasing his / her finger (No in step S14), that is, if the second condition is not satisfied, the operation by the operator is not a rotation gesture, and the operation control method ends.
[0067] If the touch coordinates in step S13 are not in the handle icon display area 630 (No in step S13), the operation by the operator is not a rotation gesture, but processing is performed according to the operation element located at the touch coordinates on the operation screen, and the operation control method ends.
[0068] FIG. 12 is a diagram showing how the circle of a rotation gesture made by the operator moves. As shown in FIG. 12 , even if the operator makes a rotation gesture without looking at the operation device 10 and the position of the circle drawn with the finger 650 gradually shifts, the above-described processing procedure calculates the rotation angle and recalculates the rotation center coordinates each time the movement amount of the finger 650 reaches a predetermined value. In this example, the rotation center coordinates are recalculated as follows: CR0 → CR1 → CR2 → CR3 → CR4 → CR5. Therefore, even if the center of the circle drawn by the finger 650 moves from the initial position CR0 of the rotation center coordinates of the handle icon 631, the operation device 10 can detect the number of rotations intended by the operator, and the detection result can be reflected in the machine tool 30.
[0069] In the above description, an example has been given in which the touch panel 111 is placed on the display 160 of a smartphone or tablet terminal, and the operator touches and traces the display 160 with a finger, but the present invention is not limited to this. As an example, the operation device 10 may be provided with a touchpad connected by wire or wirelessly. In this case, the display area of the display 160 of the operation device 10 and the touch surface of the touchpad are associated with each other, and by touching the touch surface of the touchpad, an object displayed at a corresponding position on the display 160 can be operated. The touch panel 111 and the touchpad correspond to an operation surface. Furthermore, operations on the operation surface can be performed not only with the operator's finger, but also with a stylus.
[0070] As described above, in the operation device 10 according to the first embodiment, when the touch operation by the operator is a rotation gesture, the gesture detection unit 141 analyzes the trajectory of the operator's finger from when it touches the touch panel 111 until it is released. Each time the amount of finger movement reaches a predetermined value, the rotation angle calculation unit 143 calculates the rotation angle using the rotation center coordinates stored in the rotation center storage unit 142 at that time and the touch coordinates of the start point and the end point for the predetermined amount of finger movement. The pulse generation unit 15 generates a pulse based on the rotation angle, and the communication processing unit 16 transmits a pulse generation signal to the machine tool 30. The rotation center calculation unit 144 also recalculates the rotation center coordinates and stores the recalculated rotation center coordinates in the rotation center storage unit 142. In this way, new rotation center coordinates are sequentially recalculated following the movement of the finger during the rotation gesture, and the rotation angle around the new rotation center coordinates is calculated. Therefore, even if the rotation gesture is performed at any position, the machine tool 30 can be operated. As a result, the operator can manually operate machine tool 30 using operation device 10 while visually checking the operation of machine tool 30 so that the machine parts, tools, and jigs that make up machine tool 30 do not interfere with each other. In other words, unlike conventional systems, the operator does not need to alternately look at operation device 10 and machine tool 30, and this has the effect of allowing the operator to manually operate machine tool 30 without having to focus on the operation surface.
[0071] Furthermore, in operation device 10 according to embodiment 1, the rotation angle calculated by a rotation gesture does not depend on the position where the rotation gesture is performed or the magnitude of the rotation gesture. Therefore, by performing a rotation gesture over a small range, it is possible to increase the number of pulses generated per amount of finger movement, and it is possible to operate machine tool 30 at a higher speed. Conversely, by performing a rotation gesture over a large range, it is possible to decrease the number of pulses generated per amount of finger movement, and it is possible to operate machine tool 30 more precisely.
[0072] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, and parts of the configurations may be omitted or modified without departing from the spirit of the invention.
[0073] 10 Operation device, 11 Touch detection unit, 12 Determination element acquisition unit, 13 Condition determination unit, 14 Gesture analysis unit, 15 Pulse generation unit, 16, 31 Communication processing unit, 17 Operation status notification unit, 30 Machine tool, 32 Machine control unit, 33 Machine drive unit, 110 Sensor unit, 111 Touch panel, 112 Acceleration sensor, 113 Gravity sensor, 120, 311 Communication interface, 130 ROM, 140 RAM, 141 Gesture detection unit, 142 Rotation center storage unit, 143 Rotation angle calculation unit, 144 Rotation center calculation unit, 150, 312 Processor, 160 Display, 170 Buzzer, 180 Vibrator, 310 Numerical control device, 320 Servo mechanism, 500 Operation surface, 510, 631 Handle icon, 520, 650 Finger, 600 An operation screen, 610 a button arrangement area, 611 a button, 620 a slider arrangement area, 621 a slider, 630 a handle icon display area, and 632 a position indication section.
Claims
1. An operating device that operates a machine tool via a numerical control device by generating a pulse signal based on the rotation angle of the trajectory of moving a screen operation unit in a circular motion on the operating surface, A touch detection unit that detects touch operations on the screen operation unit on the operation surface, A gesture detection unit detects the movement trajectory of the screen operation unit by a gesture that moves the screen operation unit using the aforementioned touch operation, A rotation center storage unit that stores a reference position for calculating the rotation angle based on the aforementioned movement trajectory, Each time the first condition for performing the calculation of the rotation angle is met, a rotation angle calculation unit calculates the rotation angle traced by the movement trajectory with respect to the reference position stored in the rotation center storage unit, A rotation center calculation unit recalculates a new reference position that follows the movement of the screen operation unit based on the movement trajectory and the reference position stored in the rotation center memory unit, and updates the reference position in the rotation center memory unit with the new reference position. An operation status notification unit that notifies the operation status due to movement of the aforementioned screen operation unit, Equipped with, The operation status notification unit is characterized by generating sound or vibration each time a pulse signal is generated based on the rotation angle.
2. The operating device according to claim 1, characterized in that the rotation center calculation unit recalculates the new reference position after the rotation angle calculation unit has calculated the rotation angle each time the first condition is met.
3. The operating device according to claim 1, characterized in that the rotation center calculation unit sets the new reference position to a position on a straight line connecting the recalculation position, which is the position of the screen operation unit when the first condition is met, and the current reference position, which is the reference position stored in the rotation center storage unit, and the position located away from the recalculation position toward the current reference position by the distance between two points: the position where the screen operation unit first touched the operating surface and the initial value of the reference position.
4. The operating device according to claim 1, characterized in that the first condition is when the amount of movement of the screen operating unit reaches a predetermined value, or when a predetermined time has elapsed since the screen operating unit touched the operating surface.
5. A determination element acquisition unit acquires a determination element for determining a second condition that enables the machine tool to be operated using the aforementioned gesture. A condition determination unit that determines whether the second condition is met based on the determination element, Furthermore, The operating device according to any one of claims 1 to 4, characterized in that the condition determination unit causes the gesture detection unit to perform detection of the movement trajectory only when the second condition is met.
6. The operating device according to claim 5, characterized in that the condition determination unit determines the period for storing the reference position in the rotation center storage unit based on the determination result in the condition determination unit.
7. The operating device according to claim 5, characterized in that the condition determination unit restricts operation to the operating device based on the determination result of the condition determination unit.
8. The aforementioned operating surface is a display, The operating device according to claim 1, characterized in that the operation status notification unit displays the updated new reference position on the display.
9. An operating system comprising: a numerical control device that drives the mechanical drive unit of a machine tool based on a pulse signal; and an operating device that generates the pulse signal based on the rotation angle of the trajectory of a screen operating unit moved in a circular motion on the operating surface, and operates the machine tool via the numerical control device, A touch detection unit that detects touch operations on the screen operation unit on the operation surface, A gesture detection unit detects the movement trajectory of the screen operation unit by a gesture that moves the screen operation unit using the aforementioned touch operation, A rotation center storage unit that stores a reference position for calculating the rotation angle based on the aforementioned movement trajectory, Each time the first condition for performing the calculation of the rotation angle is met, a rotation angle calculation unit calculates the rotation angle traced by the movement trajectory with respect to the reference position stored in the rotation center storage unit, A rotation center calculation unit recalculates a new reference position that follows the movement of the screen operation unit based on the movement trajectory and the reference position stored in the rotation center memory unit, and updates the reference position in the rotation center memory unit with the new reference position. An operation status notification unit that notifies the operation status due to movement of the aforementioned screen operation unit, Equipped with, The operation status notification unit is characterized by generating sound or vibration each time a pulse signal is generated based on the rotation angle.
10. An operation control method for operating a machine tool via a numerical control device by generating a pulse signal based on the rotation angle of the trajectory of moving a screen operation unit in a circular motion on the operating surface, A touch detection step for detecting a touch operation of the screen operation unit on the operation surface, A gesture detection step that detects the movement trajectory of the screen operation unit by a gesture that moves the screen operation unit using the aforementioned touch operation, A rotation center storage step involves storing a reference position in the rotation center storage unit for calculating the rotation angle based on the aforementioned movement trajectory. Each time the first condition for performing the calculation of the rotation angle is met, a rotation angle calculation step is performed to calculate the rotation angle traced by the movement trajectory with respect to the reference position stored in the rotation center memory unit, A rotation center calculation step which involves recalculating a new reference position that follows the movement of the screen operation unit based on the movement trajectory and the reference position stored in the rotation center memory unit, and updating the reference position in the rotation center memory unit with the new reference position, An operation status notification step that notifies the operation status due to movement of the screen operation unit, Includes, The operation status notification step is characterized by generating sound or vibration each time a pulse signal is generated based on the rotation angle.