Communication device and visual sensor device

The communication device in robot systems adaptively adjusts packet transmission parameters to reduce retries and maintain frame rate, addressing packet loss issues and prompting maintenance, thus enhancing system reliability.

WO2025224900A1PCT designated stage Publication Date: 2025-10-30FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/016143
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-24
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing robot systems face packet loss during image data transmission due to factors like clock deviation, cable deterioration, and ambient noise, leading to increased packet retries and a decrease in frame rate, which existing techniques fail to adequately address.

Method used

A communication device that dynamically adjusts packet transmission interval and size to reduce retries and maintain frame rate, using a retry rate calculation unit to extend interval or reduce packet size when retries exceed a threshold, and displaying notifications for maintenance.

Benefits of technology

The solution effectively reduces packet loss and maintains frame rate by adaptively adjusting packet conditions, minimizing downtime and prompting maintenance when necessary.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024016143_30102025_PF_FP_ABST
    Figure JP2024016143_30102025_PF_FP_ABST
Patent Text Reader

Abstract

A communication device according to the present disclosure comprises: a packet division unit that divides data of each of a plurality of images constituting a moving-image captured by a visual sensor into a plurality of packets; a transmission unit that sequentially transmits the packets to an external information processing device; and a retry control unit that, when packet transmission to the external information processing device is unsuccessful, controls the transmission unit so as to retry packet transmission to the external information processing device up to ceiling of a prescribed number of times. The present invention is further provided with: a retry rate calculation unit that calculates a retry rate indicating the ratio of the retry count of a packet to the number of times the packet is transmitted; a transmission control unit that controls the transmission unit in order to change a packet transmission interval and / or a packet size when the retry rate exceeds a predetermined threshold; and a generation unit that generates a control signal for causing an external notification device to notify information regarding a decrease in a frame rate due to the change of the packet transmission interval and / or the packet size.
Need to check novelty before this filing date? Find Prior Art

Description

Communication device and visual sensor device

[0001] The present disclosure relates to a communication device and a visual sensor device.

[0002] A robot system is known that includes a robot arm, a visual sensor, an image processing device that performs image processing on image data captured by the visual sensor, and a control device that controls the robot arm based on the results of the image processing. In such a robot system, the visual sensor and the image processing device are connected via a wire, and video data captured by the visual sensor is transmitted to the image processing device using an Ethernet protocol. The image data is then divided into multiple packets (also called frames) and sequentially transmitted to the image processing device. However, the number of packet transmission retries increases due to factors such as clock deviation between the transmitting device and the receiving device, cable deterioration, and ambient noise. The increased number of packet transmission retries can result in packet loss during the data transmission process, which can cause the receiving device to fail to correctly receive the image data. To avoid this, techniques for changing the packet transmission interval and packet size are known (see, for example, Patent Document 1). However, simply extending the packet transmission interval and reducing the packet size may result in an inability to achieve the desired frame rate.

[0003] JP 2010-119098 A

[0004] There is a need for a technique that reduces the number of retries for packet transmission while suppressing a decrease in frame rate.

[0005] The communication device according to the present disclosure includes a packet dividing unit that divides data of each of a plurality of images constituting a moving image captured by a visual sensor into a plurality of packets; a transmitting unit that transmits the packets in sequence to an external information processing device; a retry control unit that controls the transmitting unit to retry transmitting the packet to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful; a retry rate calculation unit that calculates a retry rate that indicates the ratio of the number of packet retries to the number of packet transmissions; a transmission control unit that controls the transmitting unit to change at least one of the packet transmission interval and the packet size when the retry rate exceeds a predetermined threshold; and a generating unit that generates a control signal to notify an external notification device of information regarding a decrease in frame rate caused by changing at least one of the packet transmission interval and the packet size.

[0006] FIG. 1 is a diagram illustrating an example of an image processing system including a communication device according to a first embodiment. FIG. 2 is a hardware configuration diagram of the communication device according to the first embodiment. FIG. 3 is a functional configuration diagram of the communication device according to the first embodiment. FIG. 4 is a flowchart illustrating a first example of a procedure for data transfer processing by the communication device according to the first embodiment. FIG. 5 is a supplementary explanatory diagram of the transfer processing of FIG. 4. FIG. 6 is a flowchart illustrating a second example of a procedure for data transfer processing by the communication device according to the first embodiment. FIG. 7 is a supplementary explanatory diagram of the transfer processing of FIG. 6. FIG. 8 is a flowchart illustrating a third example of a procedure for data transfer processing by the communication device according to the first embodiment. FIG. 9 is a flowchart illustrating a fourth example of a procedure for data transfer processing by the communication device according to the first embodiment. FIG. 10 is a diagram illustrating an example of a robot system including a communication device according to a second embodiment. FIG. 11 is a hardware configuration diagram of the communication device according to the second embodiment. FIG. 12 is a functional configuration diagram of the communication device according to the second embodiment. FIG. 13 is a flowchart illustrating a first example of a procedure for data transfer processing by the communication device according to the second embodiment. FIG. 14 is a flowchart illustrating a second example of a procedure for data transfer processing by the communication device according to the second embodiment.

[0007] The communication device according to the present embodiment will be described with reference to the drawings. In the following description, components having substantially the same functions and configurations are designated by the same reference numerals, and redundant description will be given only when necessary.

[0008] The communication device according to this embodiment constitutes a visual sensor device together with a visual sensor, and executes a data transfer process for transferring video data captured by the visual sensor to an external information processing device. In the data transfer process, the communication device divides each of the multiple pieces of image data constituting the video into multiple packets and transmits the multiple packets to the information processing device in order according to packet numbers (sequence numbers). One feature of the communication device according to this embodiment is that it changes at least one of the packet transmission interval and packet size in order to reduce the packet transmission retry rate. The packet transmission interval and packet size may be collectively referred to as packet transmission conditions.

[0009] The packet transmission interval is the time interval during which a device waits for a receipt confirmation (hereinafter abbreviated as ACK) from the completion of packet transmission until the start of the next packet transmission. When a packet is transmitted to an information processing device and an ACK is received from the information processing device within the packet transmission interval, this means that the transmission of the packet was successful, and when an ACK is not received from the information processing device, this means that the transmission of the packet was unsuccessful.

[0010] The time from sending a packet to receiving an ACK varies depending on the communication environment, which refers to various phenomena that can cause packet loss, such as the usage rate of the CPU allocated to image data reception processing in the information processing device that receives the data, the degree of deterioration of the cable connecting the communication device and the information processing device, changes in the position of the cable connecting the communication device and the information processing device, and noise around the cable and devices (the sending device and the receiving device).

[0011] If the packet transmission interval is short, ACKs that would have been received if the packet transmission interval were long cannot be received, the number of packet transmission retries increases, and the risk of packet loss, etc. On the other hand, if the packet transmission interval is long, the number of packet transmission retries decreases compared to when the packet transmission interval is short, but the transmission time of image data increases, resulting in a decrease in the frame rate.

[0012] The communication devices according to the first and second embodiments automatically change packet transmission conditions when the retry rate is high. Specifically, the packet transmission interval is gradually extended and the packet size is gradually reduced. The communication device according to the third embodiment automatically changes packet transmission conditions based on the distance traveled by the robot. This allows the device to adapt to a communication environment that can change from moment to moment, reduces the number of packet transmission retries, and suppresses the risk of packet loss. Reducing the number of retries ultimately suppresses a decrease in frame rate.

[0013] Typically, the communication devices according to the first and second embodiments are configured as follows. The first embodiment will be described below with reference to FIGS. 1 to 9 . FIG. 1 shows an example of an image processing system including the communication device according to the first embodiment. The image processing system includes a visual sensor 3 that captures video of a workpiece, a communication device 4 that, together with the visual sensor 3, constitutes a visual sensor device 2 and transfers video data captured by the visual sensor 3 to an external image processing device 6, and a display device 5 that displays various information related to data transmission by the communication device 4. For example, the display device 5 displays, as information related to data transmission by the communication device 4, information about the frame rate of video data transferred from the visual sensor device 2 to the image processing device 6, information about the communication environment between the visual sensor device 2 and the image processing device 6, and the like. The information about the frame rate includes the current frame rate, the desired frame rate, the packet transmission interval, the packet size, the retry rate, the speed difference between the current frame rate and the desired frame rate, a decrease in the frame rate, an increase in the frame rate, and the like. The information regarding the communication environment includes measures to improve the communication environment, such as information encouraging replacement of the cable connecting the visual sensor device 2 and the image processing device 6, information encouraging improvement of the CPU usage rate related to data communication in the visual sensor device 2 and the image processing device 6, and stopping the use of other Ethernet ports.

[0014] 2 is a hardware configuration diagram of the communication device 4 according to this embodiment. As shown in FIG. 2, the communication device 4 has a processor 21. A RAM 22, a ROM 23, a storage device 24, a sensor interface 25, a communication interface 26, and a display interface 27 are connected to the processor 21 via a system bus 20. The processor 21 is configured by, for example, a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The RAM 22 functions as the main memory, work area, etc. of the processor 21. The ROM 23 stores a BIOS (Basic Input Output System) and an operating system program (OS) executed by the processor 21. The storage device 24 stores a data transfer program, video data captured by the visual sensor 3, and various data required for the data transfer process. The various data stored include an initial value for the packet transmission interval, an initial value for the packet size, an expansion coefficient for the packet transmission interval, a reduction coefficient for the packet size, a threshold value (first threshold value) used to determine the retry rate, an upper limit value (second threshold value) used to determine the packet transmission interval, a lower limit value (third threshold value) used to determine the packet size, an upper limit number of retries, and a frame rate desired by the worker. The upper limit value for the packet transmission interval is determined based on the desired frame rate registered by the worker. More specifically, the upper limit value for the packet transmission interval is derived by calculating the number of packets based on the image data capacity and packet size, and then dividing the desired frame rate by the number of packets. The lower limit value for the packet size is determined based on the desired frame rate registered by the worker. More specifically, the lower limit value for the packet size is derived by dividing the image data capacity by the desired frame rate and multiplying the result by the packet transmission interval.

[0015] Various data such as data transfer programs stored in the storage device 24 may be recorded on removable media (non-temporary storage media) such as USB and distributed to users, or may be distributed by being downloaded to the communication device 4 via a network.

[0016] The processor 21 is connected to the visual sensor 3 via a sensor interface 25, to the image processing device 6 via a communication interface 26, and to the display device 5 via a display interface 27. The communication device 4 and the image processing device 6 are connected by a cable and are configured to be able to send and receive various signals to and from each other in accordance with the Ethernet (registered trademark) protocol. The display device 5 may be a component that constitutes the visual sensor device 2, or may be an external device separate from the visual sensor device 2.

[0017] The functional configuration of the communication device 4 according to the first embodiment will be described below with reference to Fig. 3. As shown in Fig. 3, the processor 21 executes a data transfer program stored in the storage device 24, thereby functioning as an overall control unit 110, a packet dividing unit 111, a packet transmission processing unit 112, an ACK reception processing unit 113, a recording unit 114, a retry control unit 115, a packet loss determination unit 116, a retry rate calculation unit 117, a retry rate determination unit 118, a packet transmission interval control unit 119, a packet transmission interval determination unit 120, a packet size control unit 121, a packet size determination unit 122, a display data generation unit 123, and a transmission stop control unit 124.

[0018] The overall control unit 110 controls the overall processing of each unit involved in data transfer processing. The packet dividing unit 111 divides the data of each of the multiple images into multiple packets. Typically, the packet dividing unit 111 divides the data of each image into multiple packets with the maximum packet size on the system. For example, in Ethernet, the packet size is set to 64 bytes (minimum) to 1518 bytes (maximum), with 1518 bytes corresponding to the maximum packet size on the system. Each packet is assigned a packet number indicating the order in which it is transmitted.

[0019] The packet transmission processing unit 112 transmits multiple packets to the image processing device 6 in order according to the packet numbers via the communication interface 26 using the Ethernet protocol. The ACK reception processing unit 113 receives an ACK from the image processing device 6 via the communication interface 26. The recording unit 114 records the success / failure of packet transmission. Typically, the recording unit 114 records flag information indicating the success or failure of packet transmission as a transmission record, along with the packet number assigned to the packet transmitted by the packet transmission processing unit 112. Specifically, when the ACK reception processing unit 113 receives an ACK within a packet transmission interval after the first packet is transmitted by the packet transmission processing unit 112, the recording unit 114 associates flag information "1" indicating successful packet transmission with packet number "1" and records it. When the ACK reception processing unit 113 does not receive an ACK within the packet transmission interval, the recording unit 114 associates flag information "2" indicating unsuccessful packet transmission with packet number "1" and records it.

[0020] When packet transmission is unsuccessful, the retry control unit 115 controls the packet transmission processing unit 112 to retry packet transmission to the image processing device 6 up to the upper limit number of retries.

[0021] When the transmission process of image data to the image processing device 6 is completed, the packet loss determination unit 116 determines whether or not there is any packet loss in the process of transmitting the image data. Specifically, the packet loss determination unit 116 refers to the transmission record of each packet recorded by the recording unit 114, and if there is any packet among the multiple packets that make up the image data that has not been successfully transmitted, the packet loss determination unit 116 determines that there is "any" packet loss in the image data received by the image processing device 6, and if the packet transmission of all of the multiple packets that make up the image data has been successful, the packet loss determination unit 116 determines that there is "no" packet loss in the image data received by the image processing device 6. A successful packet transmission includes a case where the packet transmission is successful as a result of retrying the packet transmission up to the upper limit number of retries. An unsuccessful packet transmission includes a case where the packet transmission is not successful even after retrying the packet transmission up to the upper limit number of retries.

[0022] The retry rate calculation unit 117 calculates a retry rate indicating the ratio of the number of packet retries to the number of packet transmissions. Typically, the calculation process by the retry rate calculation unit 117 is performed when a packet loss occurs. Specifically, the calculation process by the retry rate calculation unit 117 is performed when the transmission process of image data to the image processing device 6 is completed and a packet loss occurs during the transmission of the image data. Typically, the retry rate is calculated as the ratio of the number of packet transmission retries to the cumulative number of packet transmissions during a period in which the same packet transmission interval as the time when the retry rate calculation process is performed is set. The retry rate calculation unit 117 resets the retry rate to zero when the packet transmission interval is extended or when the packet size is reduced. The retry rate calculation process may also be performed when each packet is transmitted and the number of packet transmissions reaches the retry upper limit, resulting in a packet loss. The retry rate may be calculated based on a predetermined number of packet transmissions, such as 100 or 1000, immediately before the retry rate calculation process is executed. Of course, the calculation may also be based on a predetermined number of packet transmissions included in a period with a large number of retries, rather than the most recent period.

[0023] The retry rate determination unit 118 determines whether the retry rate calculated by the retry rate calculation unit 117 exceeds a first threshold value.

[0024] When it is determined that the retry rate exceeds the first threshold, the packet transmission interval control unit 119 controls the packet transmission processing unit 112 to extend the packet transmission interval. Specifically, the packet transmission interval control unit 119 calculates an extended packet transmission interval by multiplying the current packet transmission interval by an extension coefficient (the extension coefficient is greater than 1), and sets the extended packet transmission interval in the packet transmission processing unit 112. The extension coefficient may be a fixed value or a variable value. If the extension coefficient is a variable value, the extension coefficient may gradually increase each time the packet transmission interval is changed.

[0025] The packet transmission interval determining unit 120 determines whether the packet transmission interval extended by the packet transmission interval control unit 119 exceeds an upper limit (second threshold).

[0026] When it is determined that the retry rate exceeds the first threshold, the packet size control unit 121 controls the packet dividing unit 111 to reduce the packet size. Specifically, the packet transmission interval control unit 119 calculates a reduced packet size by multiplying the current packet size by a reduction coefficient (the expansion coefficient is less than 1), and sets the reduced packet size in the packet dividing unit 111. The reduction coefficient may be a fixed value or a variable value. If it is a variable value, the reduction coefficient may gradually decrease each time the packet transmission interval is changed.

[0027] The packet size determination unit 122 determines whether the packet size reduced by the packet size control unit 121 falls below a lower limit (third threshold).

[0028] The display data generating unit 123 creates a notification screen for notifying the worker of the drop in frame rate, and generates a control signal related to the display data of the created notification screen. The control signal generated by the display data generating unit 123 is sent to the display device 5, and as a result, the notification screen is displayed on the display device 5. This allows the worker, who views the display device 5 displaying the notification screen, to know that the frame rate has dropped.

[0029] The transmission stop control unit 124 controls the packet transmission processing unit 112 to suspend the data transfer process by the communication device 4 .

[0030] The processing by the display data generating unit 123 and the processing by the transmission stop control unit 124 are executed when the extended packet transmission interval exceeds the upper limit value, or when the reduced packet size falls below the lower limit value.

[0031] A first example of data transfer processing by the communication device 4 according to the first embodiment will be described below with reference to Fig. 4. Here, an example will be described in which, among the packet transmission conditions, the packet size is fixed and the packet transmission interval is variable. Note that the variable N represents the frame number of the multiple images (frames) that make up the video, and the variable n represents the packet number of the multiple packets that make up the image (frame). Assume that the video data is composed of M images.

[0032] As shown in FIG. 4 , the packet transmission interval control unit 119 sets the packet transmission interval to an initial value (minimum value) (S11). Next, the overall control unit 110 initializes the frame number N to the value "1" (S12), and the packet dividing unit 111 divides the Nth image data into m packets according to the initial packet size value (S13). The overall control unit 110 initializes the packet number n to the value "1" (S14), and the packet transmission processing unit 112 transmits the nth packet to the image processing device 6 (S15). When the ACK reception processing unit 113 receives an ACK within the packet transmission interval (S16; Yes), the recording unit 114 records that the nth packet transmission was successful (S17). If the ACK reception processing unit 113 does not receive an ACK within the packet transmission interval (S16; No), the recording unit 114 records that the n-th packet transmission was unsuccessful (S18), and the retry control unit 115 controls the packet transmission processing unit 112 to repeatedly retry the n-th packet transmission to the image processing device 6 up to a predetermined number of times (S19; No). If the number of retries for the n-th packet transmission exceeds the upper limit (S19; Yes), the overall control unit 110 interrupts the n-th packet transmission and moves the process to step S20. The n-th packet transmission is completed when the n-th packet transmission is successful or when the n-th packet transmission is repeatedly performed up to the upper limit of retries but is not received by the image processing device 6.

[0033] Upon completion of transmission of the nth packet, the central control unit 110 determines whether packet number n is m, i.e., whether transmission of the Nth image data has been completed (S20). If packet number n is not m, i.e., if transmission of the Nth image data has not been completed (S20; No), the central control unit 110 increments packet number n to n+1 (S21) and returns to step S15. If packet number n is m, i.e., if transmission of the Nth image data has been completed (S20; Yes), the central control unit 110 determines whether frame number N is M, i.e., whether transmission of all image data constituting the video has been completed (S21). If frame number N is M, i.e., if transmission of all image data constituting the video has been completed (S21; Yes), the central control unit 110 controls each unit to end the data transfer process. If frame number N is not M, i.e., if transmission of all image data constituting the video has not been completed (S21; No), the packet loss determination unit 116 determines whether or not a packet loss occurred during the packet transmission process of the Nth image data (S23). If no packet loss occurred (S23; Yes), the central control unit 110 increments frame number (N) to (N+1) (S24) and returns to step S13. As a result, transmission processing of image data with frame number (N+1) begins. If a packet loss occurred (S23; No), the retry rate calculation unit 117 calculates a retry rate (S25). The retry rate determination unit 118 determines whether or not the retry rate is less than a first threshold (S26). If the retry rate is less than the first threshold (S26; Yes), the central control unit 110 transitions to step S24. If the retry rate is equal to or greater than the first threshold (S26; No), the packet transmission interval control unit 119 controls the packet transmission processing unit 112 to extend the packet transmission interval (S27). As a result of step S27, the extended packet transmission interval is set for the packet transmission processing unit 112. The packet transmission interval determination unit 120 determines whether the extended packet transmission interval is less than the upper limit (S28).If the packet transmission interval is less than the upper limit (S28; Yes), the retry rate calculation unit 117 resets the retry rate to zero (S29), and the overall control unit 110 proceeds to step S24. If the packet transmission interval is equal to or greater than the upper limit (S28; No), the display data generation unit 123 generates a control signal corresponding to the display data of a notification screen as notification processing (S30), and the transmission stop control unit 124 controls the packet transmission processing unit 112 to interrupt the data transfer processing. As a result of step S30, the data transfer processing is interrupted, and a notification screen notifying the user of a decrease in the frame rate is displayed on the display device 5.

[0034] According to the first example of the data transfer process described with reference to FIG. 4 , the packet transmission interval is changed as follows. That is, as shown in FIG. 5 , even if a packet loss occurs during the data transmission process, as in the case of the second image data (frame number N=2), if the retry rate R (N=2) calculated at the time the transmission process of that image data is completed is less than the threshold value Rth, the packet transmission interval is maintained at the initial value Pt0, and the transmission process of the next image data (frame number N=3) is started. On the other hand, if a packet loss occurs during the data transmission process, as in the case of the fourth image data (frame number N=4), and the retry rate R (N=4) calculated at the time the transmission process of that image data is completed is equal to or greater than the threshold value Rth, the packet transmission interval is changed from the initial value Pt0 to an interval Pt1, which is longer than the initial value, and the transmission process of the next image data (frame number N=5) is started. The change in the packet transmission interval triggers the retry rate to be reset to zero.

[0035] Similarly, even if a packet loss occurs during the data transmission process, such as with the seventh image data (frame number N=7), if the retry rate R (N=7) calculated at the time the transmission process for that image data is completed is less than the threshold value Rth, the packet transmission interval is maintained at interval Pt1, and the transmission process for the next image data (frame number N=8) is initiated. On the other hand, if a packet loss occurs during the data transmission process, such as with the eleventh image data (frame number N=11), and the retry rate R (N=11) calculated at the time the transmission process for that image data is completed is equal to or greater than the threshold value Rth, the packet transmission interval is changed from interval Pt1 to interval Pt2, which is longer than interval Pt1, and the transmission process for the next image data (frame number N=12) is initiated. The change in packet transmission interval triggers the retry rate to be reset to zero.

[0036] In the data transfer process described in Fig. 4, the retry rate calculation process is executed when the image data transmission is completed and a packet loss occurs in the image data. However, the timing for executing the retry rate calculation process is not limited to the above. For example, the retry rate calculation process may be executed when the packet transmission is completed and a packet loss occurs in the image data.

[0037] A second example of data transfer processing by the communication device 4 according to the first embodiment will be described below with reference to Fig. 6. Note that the data transfer processing shown in Fig. 6 differs from the data transfer processing shown in Fig. 4 only in the timing of the retry rate calculation processing, and the processing relating to each step of the data transfer processing shown in Fig. 6 is the same as the processing relating to each step of the data transfer processing shown in Fig. 4. Therefore, in the data transfer processing shown in Fig. 6, steps that perform the same processing as steps in the data transfer processing shown in Fig. 4 are assigned the same reference numerals, and descriptions thereof may be omitted.

[0038] As shown in FIG. 6 , the retry rate calculation unit 117 executes step S25 of calculating the retry rate when the number of retries reaches the upper limit ( S19 ; No). When the retry rate is less than the first threshold ( S26 ; Yes), the central control unit 110 transitions the process to step S20. Similarly, when the retry rate is equal to or greater than the first threshold ( S26 ; No) and the packet transmission interval extended by the packet transmission interval control unit 119 is less than the upper limit ( S28 ; Yes), the retry rate calculation unit 117 resets the retry rate to zero ( S29), and the central control unit 110 transitions the process to step S20. These steps mean that when the number of transmissions of the nth packet reaches the upper limit, the transmission of the nth packet is abandoned and the transmission process of the (n+1)th packet is initiated. However, if the retry rate is less than the first threshold, the packet transmission interval used in the transmission process of the (n+1)th packet is the same as the packet transmission interval used when the nth packet was transmitted. If the retry rate is equal to or greater than the first threshold (S26; No) and the packet transmission interval is less than the upper limit (S28; Yes), an extended packet transmission interval used for transmitting the nth packet is applied as the packet transmission interval used for the transmission process of the (n+1)th packet.

[0039] According to the second example of the data transfer process described with reference to FIG. 6 , the packet transmission interval is changed as follows. Here, the description will be given assuming that the upper limit of retries is two. That is, as shown in FIG. 7 , even if the number of retries for packet transmission reaches the upper limit of two, as in the case of the second packet (packet number n=2), if the retry rate R (n=2) calculated at that time is less than the threshold value Rth, the packet transmission interval is maintained at the initial value Pt0, and transmission processing for the next packet (packet number n=3) is initiated. If the number of retries for packet transmission is one and the upper limit of retries has not been reached, as in the case of the fourth packet (packet number n=4), the retry rate is not calculated. If the number of retries for packet transmission reaches the upper limit of two, as in the case of the sixth packet (packet number n=6), and the retry rate R (n=6) calculated at that time is equal to or greater than the threshold value Rth, the packet transmission interval is changed from the initial value Pt0 to an interval Pt1, which is extended from the initial value, and transmission processing for the next packet (packet number n=7) is initiated. When the packet transmission interval is changed, the retry rate is reset to zero.

[0040] 4 and 6, the packet transmission interval is extended to reduce the retry rate. However, the packet size may be reduced to reduce the retry rate.

[0041] Hereinafter, a third example of the data transfer process by the communication device 4 according to the first embodiment will be described with reference to Fig. 8. Note that the data transfer process shown in Fig. 8 executes a process of reducing (step S41) and changing (step S42) the packet size instead of the process of extending (step S27) and changing (step S28) the packet transmission interval of the data transfer process shown in Fig. 4, and the processes relating to the other steps of the data transfer process shown in Fig. 8 are the same as the processes relating to the other steps of the data transfer process shown in Fig. 4. Therefore, in the data transfer process shown in Fig. 8, the steps that perform the same processes as the steps of the data transfer process shown in Fig. 4 are assigned the same reference numerals, and their descriptions may be omitted.

[0042] As shown in FIG. 8 , the packet size control unit 121 sets the packet size to an initial value (maximum value) (S11′). If a packet loss occurs in the Nth image data (S23; No), the retry rate calculation unit 117 calculates the retry rate (S25). The retry rate determination unit 118 determines whether the retry rate is less than the first threshold (S26). If the retry rate is less than the first threshold (S26; Yes), the central control unit 110 proceeds to step S24. If the retry rate is equal to or greater than the first threshold (S26; No), the packet size control unit 121 controls the packet division unit 111 to reduce the packet size (S41). As a result of step S41, a reduced packet size is set for the packet division unit 111. The packet size determination unit 122 determines whether the packet size reduced by the packet size control unit 121 is below a lower limit (third threshold) (S42). If the packet size is equal to or greater than the lower limit (S42; Yes), the retry rate calculation unit 117 resets the retry rate to zero (S29), and the central control unit 110 proceeds to step S24. If the packet size falls below the lower limit (S42; No), the display data generation unit 123 generates a control signal corresponding to the display data of a notification screen as notification processing (S30), and the transmission stop control unit 124 controls the packet transmission processing unit 112 to interrupt the data transfer processing. As a result of step S30, the data transfer processing is interrupted, and a notification screen notifying the user of a drop in the frame rate is displayed on the display device 5.

[0043] In the data transfer process described in Fig. 8, the retry rate calculation process is executed when the image data transmission is completed and a packet loss occurs in the image data. However, the timing for executing the retry rate calculation process is not limited to the above. For example, the retry rate calculation process may be executed when the packet transmission is completed and a packet loss occurs in the image data.

[0044] A fourth example of data transfer processing by the communication device 4 according to the first embodiment will be described below with reference to Fig. 9. Note that the data transfer processing shown in Fig. 9 and the data transfer processing shown in Fig. 8 differ only in the timing at which the retry rate calculation processing is executed, and the processing relating to each step of the data transfer processing shown in Fig. 9 is the same as the processing relating to each step of the data transfer processing shown in Fig. 8. Therefore, in the data transfer processing shown in Fig. 9, steps that perform the same processing as the steps of the data transfer processing shown in Fig. 8 are assigned the same reference numerals, and descriptions thereof may be omitted.

[0045] As shown in FIG. 9 , the retry rate calculation unit 117 executes step S25 of calculating the retry rate when the number of retries exceeds the upper limit (S19; Yes). If the retry rate calculated by the retry rate calculation unit 117 is less than the threshold (S26; Yes), the central control unit 110 transitions the process to step S20. Similarly, if the packet size reduced by the packet size control unit 121 is equal to or greater than the lower limit (S42; Yes), the retry rate calculation unit 117 resets the retry rate to zero (S29), and the central control unit 110 transitions the process to step S20. These steps mean that when the number of transmissions of the nth packet reaches the upper limit, the transmission of the nth packet is abandoned and the transmission process of the (n+1)th packet is initiated. However, if the retry rate is less than the first threshold (S26; Yes), the (N+1)th image data is divided into multiple packets using the same packet size as when the Nth packet was divided. On the other hand, if the retry rate is equal to or greater than the first threshold (S26; No), the (N+1)th image data is divided into a plurality of packets using a packet size that is smaller than when the Nth packet was divided.

[0046] As described above, according to the communication device 4 of the first embodiment, the retry rate is repeatedly checked when a packet loss occurs, and the packet transmission interval is gradually extended and the packet size is gradually reduced depending on the results, thereby reducing the number of retries and suppressing the occurrence of packet loss while minimizing the decrease in frame rate.

[0047] More specifically, at least one of the packet transmission interval extension process and the packet size reduction process is executed when the retry rate exceeds a first threshold. The retry rate is calculated when image data transmission is complete and the image data contains a missing packet, or when packet transmission is complete and the packet is missing (ACK not received). These processes are repeated with the retry rate reset to zero. When the retry rate remains high even after extending the packet transmission interval, or when the retry rate remains high even after reducing the packet size, the packet transmission interval is further extended or the packet size is further reduced.

[0048] By gradually extending the packet transmission interval or gradually reducing the packet size while checking whether the retry rate is rising again, it is possible to suppress the upward trend in the retry rate and reduce the chances of packet loss. By suppressing the upward trend in the retry rate, it is possible to minimize the decrease in the frame rate.

[0049] Of course, since the retry rate calculation process is triggered by the occurrence of a packet loss, no extra calculation resources are used compared to constantly repeating the calculation, and the calculation load on the communication device 4 can be reduced.

[0050] The retry rate is reset to zero when at least one of the packet transmission interval and packet size is changed, which allows you to check the effect of changing at least one of the packet transmission interval and packet size on reducing the retry rate without affecting the retry rate before the change.

[0051] Furthermore, according to the communication device 4 of this embodiment, when the packet transmission interval exceeds the upper limit or the packet size falls below the lower limit, information about a decrease in the frame rate can be displayed on the display device 5. This can prompt workers to perform maintenance and prevent long-term production line downtime.

[0052] In the first embodiment, the packet transmission interval was extended or the packet size was reduced when the retry rate exceeded the first threshold, i.e., in response to a change in the communication environment. However, if it is possible to predict the timing when the number of packet transmission retries is likely to increase, at least one of the packet transmission interval and the packet size may be changed to match that timing. For example, consider a case where a visual sensor 3 is attached to the arm of the articulated arm mechanism 7, and a cable 9 connecting the visual sensor 3 and the image processing device 6 is routed inside the articulated arm mechanism 7 or along the surface of the articulated arm mechanism 7. If the cable 9 moves significantly due to the operation of the articulated arm mechanism 7, the transmission speed of the cable 9 may decrease, potentially increasing the number of packet transmission retries. Therefore, at least one of the packet transmission interval and the packet size may be changed to prevent an increase in the number of retries in response to changes in the position of the cable 9, which can cause a decrease in transmission speed.

[0053] A second embodiment will be described below with reference to FIGS. 10 to 14 . FIG. 10 shows an example of a robot system including a communication device 4 according to the second embodiment. The robot system includes a multi-joint arm mechanism 7, a visual sensor 3 attached to the end of the multi-joint arm mechanism 7 and capturing video of an object, an image processing device that performs predetermined image processing on the video data captured by the visual sensor 3, a control device 8 that controls the multi-joint arm mechanism 7 based on the image processing results of the image processing device, and a communication device 4′ that, together with the visual sensor 3, constitutes a visual sensor device 2 and transfers video data captured by the visual sensor 3 to the image processing device. Here, the image processing device will be described as being integrated with the control device 8. The visual sensor device 2 does not necessarily have to be mounted on the multi-joint arm mechanism 7.

[0054] Fig. 11 is a hardware configuration diagram of a communication device 4' according to the second embodiment. As shown in Fig. 12, the communication device 4' has a processor 31. The processor 31 is connected to a RAM 22, a ROM 23, a storage device 34, a sensor interface 25, and a communication interface 26 via a system bus 20. The storage device 34 stores a data transfer program, video data captured by the visual sensor 3, and various data required for data transfer processing. The various data include an initial value for packet size, an initial value for packet transmission interval, an upper limit for the number of retries, and a correspondence table. The correspondence table associates packet transmission intervals and packet sizes with the distance traveled by the robot.

[0055] The processor 31 is connected to the visual sensor 3 via a sensor interface 25, and to the control device 8 via a communication interface 26. The communication device 4' and the control device 8 are connected by a cable 9, and are configured to be able to send and receive various signals to and from each other in accordance with the Ethernet (registered trademark) protocol.

[0056] The functional configuration of a communication device 4′ according to the second embodiment will be described below with reference to Fig. 12. As shown in Fig. 12, the processor 31 executes a data transfer program stored in the storage device 34, thereby functioning as an overall control unit 110, a packet dividing unit 111, a packet transmission processing unit 112, a reception processing unit 113′, a retry control unit 115, a travel distance calculation unit 140, a packet transmission interval determination unit 141, a packet transmission interval control unit 119, a packet size determination unit 142, and a packet size control unit 121.

[0057] The reception processing unit 113′ receives an ACK from the control device 8 via the communication interface 26. The reception processing unit 113′ also repeatedly receives, via the communication interface 26, operation command information for a motor driver that drives a motor mounted on each axis of the articulated arm mechanism 7 from the control device 8. For example, the operation command information is a rotational position command value of the motor per unit time.

[0058] The movement distance calculation unit 140 converts the operation command information received by the reception processing unit 113' into the rotation angle of each axis of the multi-joint arm mechanism 7, and calculates the movement distance per unit time of the hand reference point of the multi-joint arm mechanism 7 based on the rotation angle of each axis. The movement distance calculation unit 140 then adds up the movement distance of the hand reference point, and repeatedly calculates the movement distance of the hand reference point per predetermined time.

[0059] The packet transmission interval determination unit 141 refers to the correspondence table and determines a packet transmission interval according to the integrated value of the travel distance calculated by the travel distance calculation unit 140 .

[0060] The packet transmission interval control unit 119 sets the packet transmission interval determined by the packet transmission interval determination unit 141 in the packet transmission processing unit 112 .

[0061] The packet size determination unit 142 refers to the correspondence table and determines the packet size according to the integrated value of the travel distance calculated by the travel distance calculation unit 140 .

[0062] The packet size control unit 121 sets the packet size determined by the packet size determination unit 142 in the packet division unit 111 .

[0063] A first example of data transfer processing by the communication device 4' according to the second embodiment will be described below with reference to Fig. 13. Here, an example will be described in which, among the packet transmission conditions, the packet size is fixed and the packet transmission interval is varied. Of the steps in the data transfer processing shown in Fig. 13, steps that perform the same processing as the steps in the data transfer processing shown in Fig. 4 are assigned the same reference numerals, and descriptions thereof will be omitted.

[0064] As shown in Figure 13, when the data transfer process is initiated, the video data transfer process and the packet transmission interval determination process are executed in parallel. In the video data transfer process, the processes of steps S11 to S16 and steps S19 to S20 correspond to the transmission process of one packet constituting image data. The processes of steps S11 to S16 and steps S19 to S20 are repeatedly executed until the transmission process of all packets constituting image data is completed (S21; No). The image data transmission processes of steps S11 to S16 and steps S19 to S21 are repeatedly executed until the operation of the articulated arm mechanism 7 is completed (S53; No), and are terminated when the operation of the articulated arm mechanism 7 is completed (S53; Yes).

[0065] In the packet transmission interval determination process, the reception processing unit 113' repeatedly receives motion command information for the articulated arm mechanism 7 from the control device 8 (S61). The movement distance calculation unit 140 converts the motion command information into a rotation angle per unit time for each axis of the robot (S62), calculates the movement distance of the hand (hand reference point) per unit time based on the converted rotation angle for each axis (S63), and accumulates the movement distance over a predetermined time (S64). The packet transmission interval determination unit 141 then refers to the correspondence table and determines a packet transmission interval according to the accumulated value of the movement distance over the predetermined time (S65).

[0066] 13 , before the nth packet transmission is performed in step S15, the packet transmission interval control unit 119 determines whether the packet transmission interval has been changed (S51). If the packet transmission interval determined by the packet transmission interval determination unit 141 is the same as the currently set packet transmission interval, the packet transmission interval control unit 119 determines that the packet transmission interval has not been changed (S51; No), maintains the currently set packet transmission interval, and controls the packet transmission processing unit 112 to transmit packets according to the unchanged packet transmission interval (S15). If the packet transmission interval determined by the packet transmission interval determination unit 141 is different from the currently set packet transmission interval, the packet transmission interval control unit 119 determines that the packet transmission interval has been changed (S51; Yes), changes the currently set packet transmission interval to the packet transmission interval determined by the packet transmission interval determination unit 141 (S52), and controls the packet transmission processing unit 112 to transmit packets according to the changed packet transmission interval (S15).

[0067] In the third example of the data transfer process described with reference to Fig. 13, the packet transmission interval is changed in accordance with the moving distance of the robot. However, the packet size may be changed in accordance with the moving distance of the robot.

[0068] A second example of data transfer processing by the communication device 4' according to the second embodiment will be described below with reference to Fig. 14. Here, an example will be described in which, among the packet transmission conditions, the packet transmission interval is fixed and the packet size is variable. Among the steps of the data transfer processing shown in Fig. 14, steps that perform the same processing as the steps of the data transfer processing shown in Fig. 13 are assigned the same reference numerals, and their description may be omitted.

[0069] As shown in FIG. 14 , when the data transfer process starts, the video data transfer process and the packet size determination process are executed in parallel. In the packet size determination process, the reception processing unit 113′ repeatedly receives motion command information for the articulated arm mechanism 7 from the control device 8 (S61). The movement distance calculation unit 140 converts the motion command information into a rotation angle per unit time for each axis of the robot (S62), calculates the movement distance of the hand (hand reference point) per unit time based on the converted rotation angle for each axis (S63), and accumulates the movement distance over a predetermined time (S64). The packet size determination unit 142 then refers to a correspondence table to determine a packet size corresponding to the accumulated movement distance (S66).

[0070] As shown in FIG. 14 , before the division process for the Nth image data is performed in step S13, the packet size control unit 121 determines whether the packet size has been changed (S71). If the packet size determined by the packet size determination unit 142 is the same as the currently set packet size, the packet size control unit 121 determines that the packet size has not been changed (S71; No), maintains the currently set packet size, and the packet division unit 111 divides the image data into multiple packets using the unchanged packet size (S13). If the packet size determined by the packet size determination unit 142 is different from the currently set packet size, the packet size control unit 121 determines that the packet size has been changed (S71; Yes), and changes the currently set packet size to the packet size determined by the packet size determination unit 142 (S72). The packet division unit 111 divides the image data into multiple packets using the changed packet size (S13).

[0071] The communication device 4′ according to the second embodiment described above provides the following advantages. Specifically, when the cable 9 is routed inside the articulated arm mechanism 7 or along the surface of the articulated arm mechanism 7, movement of the cable 9 as the articulated arm mechanism 7 moves can cause communication failures, increasing the number of retries and the risk of packet loss. According to the second embodiment, the movement of the articulated arm mechanism 7 is monitored during operation, and by extending the packet transmission interval or reducing the packet size when the movement of the articulated arm mechanism 7 is large, measures can be taken to prevent an increase in the number of retries, thereby reducing the risk of packet loss. Furthermore, by narrowing the packet transmission interval or increasing the packet size when the movement of the articulated arm mechanism 7 is small, the frame rate can be increased while suppressing an increase in the number of retries.

[0072] In the second embodiment, the operation of the articulated arm mechanism 7 during operation was monitored, and the packet transmission conditions were changed according to the operation of the articulated arm mechanism 7. In other words, within a series of operation applications, the packet transmission conditions were changed depending on whether the articulated arm mechanism 7 moved significantly or not. However, the packet transmission conditions may be changed according to a set one of a plurality of operation applications. For example, an operation application such as visual tracking, which uses image processing to track a workpiece captured by the visual sensor 3 and cause the articulated arm mechanism 7 to perform an operation, requires a high frame rate, so the packet transmission interval is narrowed and the packet size is set to be large. On the other hand, an operation application such as picking, which uses the visual sensor 3 to capture an image of a workpiece stationary in a predetermined position and controls the articulated arm mechanism 7 based on the captured image, does not require a high frame rate, so the packet transmission interval is set to be widened and the packet size is set to be small.

[0073] In the second embodiment, the movement distance of the hand reference point over a predetermined time period is used as the parameter representing the movement of the articulated arm mechanism 7, but the parameter representing the movement of the articulated arm mechanism 7 is not limited to this. If the parameter represents a robot movement that causes the cable 9 to move significantly, it may be, for example, a value obtained by integrating the sum of the absolute values ​​of the rotation angles per unit time of each axis of the articulated arm mechanism 7 over a predetermined time period, or a value obtained by integrating the rotation angles per unit time of a specific axis of the articulated arm mechanism 7 over a predetermined time period.

[0074] The following supplementary notes are further disclosed regarding this embodiment and its modified examples. (Supplementary Note 1) The communication device 4 is a device that transmits data of multiple images constituting a moving image captured by the visual sensor 3 to an external information processing device. The communication device 4 includes a packet divider 111 that divides data of each image into multiple packets, a transmitter 112 that sequentially transmits the packets to the external information processing device, a retry controller 115 that controls the transmitter 112 to retry packet transmission to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful, a retry rate calculator 117 that calculates a retry rate indicating the ratio of the number of packet retries to the number of packet transmissions, controllers 119 and 121 that control at least one of the transmitter 112 and the packet divider 111 to change at least one of the packet transmission interval and the packet size when the retry rate exceeds a predetermined threshold, and a generator 123 that generates a control signal for notifying an external notification device of information regarding a decrease in frame rate caused by changing at least one of the packet transmission interval and the packet size. (Supplementary Note 2) The communication device 4 transmits data of multiple images constituting a moving image captured by the visual sensor 3 to an external information processing device. The communication device 4 includes a packet division unit 111 that divides data of each image into multiple packets; a transmission unit 112 that sequentially transmits the packets to the external information processing device; a retry control unit 115 that controls the transmission unit 112 to retry packet transmission to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful; a retry rate calculation unit 117 that calculates a retry rate indicating the ratio of the number of packet retries to the number of packet transmissions; and a packet transmission interval control unit 119 that controls the transmission unit 112 to extend the packet transmission interval when the retry rate reaches a predetermined threshold. The retry rate calculation unit 117 resets the retry rate to zero when the packet transmission interval is extended. (Supplementary Note 3) In the communication device 4 described in Supplementary Note 2, the retry rate calculation unit 117 calculates the retry rate when image data transmission is completed and packet loss occurs in the image data transmission.(Supplementary Note 4) In the communication device 4 described in Supplementary Note 2, the retry rate calculation unit 117 calculates the retry rate when each packet is transmitted and the number of packet transmissions reaches the retry upper limit, resulting in packet loss. (Supplementary Note 5) The communication device 4 described in Supplementary Note 2 further includes a generation unit 123 that generates a control signal for notifying an external notification device of information regarding a drop in frame rate when the extended packet transmission interval exceeds a predetermined upper limit. (Supplementary Note 6) The communication device 4 described in Supplementary Note 2 further includes a transmission stop control unit 124 that controls the transmission unit 112 to stop packet transmission to the external information processing device when the extended packet transmission interval exceeds a predetermined upper limit. (Supplementary Note 7) In the communication device 4 described in Supplementary Note 6, the upper limit is determined based on the lower limit of the frame rate. (Supplementary Note 8) The communication device 4 is a device that transmits data of multiple images constituting a moving image captured by the visual sensor 3 to an external information processing device. The communication device 4 includes a packet divider 111 that divides each image data into multiple packets, a transmitter 112 that transmits the packets to an external information processing device in sequence, a retry controller 115 that controls the transmitter 112 to retry transmitting the packet to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful, a retry rate calculator 117 that calculates a retry rate indicating the ratio of the number of packet retries to the number of packet transmissions, and a packet size controller 121 that controls the packet divider 111 to reduce the packet size when the retry rate reaches a predetermined threshold. The retry rate calculator 117 resets the retry rate to zero when the packet size is reduced. (Supplementary Note 9) In the communication device 4 described in Supplementary Note 8, the retry rate calculator 117 calculates the retry rate when image data transmission is completed and a packet loss occurs in the transmission of the image data. (Supplementary Note 10) In the communication device 4 described in Supplementary Note 8, the retry rate calculation unit 117 calculates the retry rate when transmitting each packet and the number of retry attempts for the packet reaches the upper limit, causing a packet loss.(Supplementary Note 11) The communication device 4 described in Supplementary Note 8 further includes a generating unit 123 that generates a control signal for notifying an external notification device of information related to a decrease in frame rate when the reduced packet size falls below a predetermined lower limit. (Supplementary Note 12) The communication device 4 described in Supplementary Note 8 further includes a transmission stop control unit 124 that controls the transmitting unit 112 to stop packet transmission to the external information processing device when the reduced packet size falls below a predetermined lower limit. (Supplementary Note 13) In the communication device 4 described in Supplementary Note 12, the lower limit is determined based on the lower limit of the frame rate. (Supplementary Note 14) The communication device 4 is a device that transmits data of a plurality of images constituting a video captured by a visual sensor mounted on a robot device equipped with an articulated arm mechanism to an external information processing device. The communication device 4 includes a calculation unit 140 that repeatedly calculates the amount of movement of each axis of the articulated arm mechanism or the entire arm mechanism based on movement command information for each axis of the articulated arm mechanism, and determination units 141, 142 that repeatedly determine at least one of a packet transmission interval and a packet size when transmitting image data to an external information processing device, depending on the amount of movement. (Supplementary Note 15) The communication device 4 is a device that transmits data of multiple images constituting a video captured by a visual sensor mounted on a control device that controls the articulated arm mechanism according to one application selected from multiple applications, to the external information processing device. The communication device 4 includes a receiving unit 113 that receives, from the control device, specific information identifying the one application selected from multiple applications, and determination units 141, 142 that determine, in accordance with the received specific information, at least one of a packet transmission interval and a packet size when transmitting image data to the external information processing device. (Supplementary Note 16) The visual sensor device 2 is configured integrally with the communication device 4 described in any one of Supplementary Notes 1 to 15 and the visual sensor 3.

[0075] Although the embodiments of the present disclosure have been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the invention or the concept and spirit of the present invention derived from the content of the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0076] 2...visual sensor device, 3...visual sensor, 4...communication device, 5...display device, 6...image processing device.

Claims

1. A communication device that transmits data of multiple images that constitute a moving image captured by a visual sensor to an external information processing device, comprising: a packet dividing unit that divides data of each of the images into multiple packets; a transmitting unit that transmits the packets in sequence to the external information processing device; a retry control unit that controls the transmitting unit to retry transmitting the packet to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful; a retry rate calculation unit that calculates a retry rate that indicates the ratio of the number of retries for the packet to the number of transmissions of the packet; a transmission control unit that controls at least one of the transmitting unit and the packet dividing unit to change at least one of the packet transmission interval and the packet size when the retry rate exceeds a predetermined threshold; and a generation unit that generates a control signal to notify an external notification device of information regarding a decrease in frame rate caused by changing at least one of the packet transmission interval and the packet size.

2. A communications device that transmits data of a plurality of images constituting a video captured by a visual sensor to an external information processing device, comprising: a packet dividing unit that divides data of each of the images into a plurality of packets; a transmitting unit that transmits the packets in sequence to the external information processing device; a retry control unit that controls the transmitting unit to retry transmitting the packet to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful; a retry rate calculation unit that calculates a retry rate that indicates the ratio of the number of retries for the packet to the number of transmissions of the packet; and a packet transmission interval control unit that controls the transmitting unit to extend the packet transmission interval when the retry rate reaches a predetermined threshold, wherein the retry rate calculation unit resets the retry rate to zero when the packet transmission interval is extended.

3. A communication device according to claim 2, wherein said retry rate calculation unit calculates said retry rate when transmission of said image data is completed and a packet loss has occurred in the transmission of said image data.

4. A communication device according to claim 2, wherein said retry rate calculation unit calculates said retry rate when said packet transmission count reaches an upper retry limit and packet loss occurs during transmission of each of said packets.

5. The communication device according to claim 2, further comprising a generating unit that generates a control signal for notifying an external notification device of information relating to a drop in frame rate when the extended packet transmission interval exceeds a predetermined upper limit value.

6. The communication device according to claim 2, further comprising a transmission stop control unit that controls the transmission unit to stop the packet transmission to the external information processing device when the extended packet transmission interval exceeds a predetermined upper limit value.

7. The communication device according to claim 6, wherein the upper limit value is determined based on a lower limit value of the frame rate.

8. A communication device that transmits data of multiple images that constitute a moving image captured by a visual sensor to an external information processing device, comprising: a packet dividing unit that divides data of each of the images into multiple packets; a transmitting unit that transmits the packets in sequence to the external information processing device; a retry control unit that controls the transmitting unit to retry transmitting the packet to the external information processing device up to a predetermined number of times when packet transmission to the external information processing device is unsuccessful; a retry rate calculation unit that calculates a retry rate that indicates the ratio of the number of retries for the packet to the number of transmissions of the packet; and a packet size control unit that controls the packet dividing unit to reduce the packet size when the retry rate reaches a predetermined threshold, wherein the retry rate calculation unit resets the retry rate to zero when the packet size is reduced.

9. A communication device according to claim 8, wherein said retry rate calculation unit calculates said retry rate when transmission of said image data is completed and a packet loss has occurred in the transmission of said image data.

10. A communication device according to claim 8, wherein said retry rate calculation unit calculates said retry rate when the number of times said packet is transmitted reaches an upper retry limit and a packet loss occurs during transmission of each said packet.

11. The communication device according to claim 8, further comprising a generating unit that generates a control signal for notifying an external notification device of information relating to the reduction in frame rate when the reduced packet size falls below a predetermined lower limit value.

12. The communication device according to claim 8, further comprising a transmission stop control unit that controls said transmitting unit to stop transmitting packets to said external information processing device when said reduced packet size falls below a predetermined lower limit value.

13. The communication device according to claim 12, wherein the lower limit is determined based on a lower limit of a frame rate.

14. A communications device that transmits data of a plurality of images constituting a video captured by a visual sensor mounted on a robot device equipped with a multi-joint arm mechanism to an external information processing device, the communications device comprising: a calculation unit that repeatedly calculates the amount of movement of each axis of the multi-joint arm mechanism or the entire arm mechanism based on movement command information for each axis of the multi-joint arm mechanism; and a determination unit that repeatedly determines at least one of the packet transmission interval and packet size when transmitting the image data to the external information processing device according to the amount of movement.

15. A communications device that transmits data of a plurality of images constituting a video captured by a visual sensor mounted on a control device that controls a multi-joint arm mechanism according to one application selected from a plurality of applications to an external information processing device, the communications device comprising: a receiving unit that receives specific information that identifies one application selected from the plurality of applications from the control device; and a determining unit that determines at least one of a packet transmission interval and a packet size when transmitting the image data to the external information processing device according to the received specific information.

16. A visual sensor device in which the communication device according to any one of claims 1 to 15 is integrally configured with the visual sensor.

Citation Information

Patent Citations

  • TCP retransmission rate calculation method and method for improving TCP KPI calculation accuracy

    CN110401574A

  • Method for setting packet length

    JP1991131143A

  • Communication device and communication control program

    JP2016119555A

  • Radio communication device, radio communication system, and communication method

    JP2018006944A

  • Photographing apparatus and system

    JP2018200680A