Communication method, robot joint actuator, electronic device, medium

By adopting a communication method based on network communication protocol in the robot joint actuator, the problems of inconvenience in communication and difficulty in function expansion in the prior art are solved, efficient and readable communication is achieved, cost reduction and development friendliness are improved.

CN119743339APending Publication Date: 2025-04-01PNDBOTICS (NINGBO) CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202410178749.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-14
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The existing robot joint actuators have limitations in communication protocols and topological structures, resulting in inconvenient data transmission, difficult function expansion and high cost, which cannot meet the need for flexibility and intelligence improvement.

Method used

Using a communication method based on network communication protocol, the combined structure of the application layer, the transmission layer, the network layer and the network interface layer is used to realize efficient communication between the robot joint actuator and the robot host, and support JSON format data transmission to improve readability and development friendliness.

Benefits of technology

It improves the readability of communication data of robot joint actuators, facilitates function expansion and intelligent development, reduces usage costs, improves user friendliness and developers, and realizes the expansion and flexibility of robot networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743339A_ABST
    Figure CN119743339A_ABST
Patent Text Reader

Abstract

The present disclosure provides a communication method, a robot joint actuator, an electronic device, and a medium, which relate to the field of communication technology, and in particular to the technical fields of robot control, robot communication, etc. The specific implementation scheme is: accessing a robot network based on a network communication protocol; the network nodes of the robot network at least include a robot host that controls the robot joint actuator; based on the robot network, communicating with the robot host; wherein the network communication structure corresponding to the network communication protocol includes an application layer, a transport layer, an internet layer, and a network interface layer; the application layer is used to generate communication data according to terminal operation information, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of the communication data; and the network interface layer is used to realize the physical connection between network nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to the technical fields of robot control, robot communication, etc. Specifically, the present disclosure relates to a communication method, a robot joint actuator, an electronic device, and a medium. Background Art

[0002] With the development of robotics technology, robots have been widely used in various fields, providing great convenience for people's lives.

[0003] At the same time, the requirements for robot flexibility and joint operation synchronization are increasing, and therefore, the requirements for communication between robot control devices and robot joints are also increasing. Summary of the invention

[0004] The present disclosure provides a communication method, a robot joint actuator, an electronic device, and a medium.

[0005] According to a first aspect of the present disclosure, there is provided a communication method, which is applied to a robot joint actuator, and the method comprises:

[0006] Accessing a robot network based on a network communication protocol; the network nodes of the robot network at least include a robot host controlling a robot joint actuator;

[0007] Based on the robot network, communicating with the robot host;

[0008] Among them, the network communication structure corresponding to the network communication protocol includes an application layer, a transport layer, an internet layer, and a network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of the communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of the communication data between network nodes according to the network transmission path.

[0009] According to a second aspect of the present disclosure, a robot joint actuator is provided, the device comprising:

[0010] A communication interface for accessing a robot network based on a network communication protocol; the network nodes of the robot network at least include a robot host that controls robot joint actuators;

[0011] A communication module, used for communicating with the robot host based on the robot network;

[0012] Among them, the network communication structure corresponding to the network communication protocol includes an application layer, a transport layer, an internet layer, and a network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of the communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of the communication data between network nodes according to the network transmission path.

[0013] According to a third aspect of the present disclosure, an electronic device is provided, the electronic device comprising:

[0014] at least one processor; and

[0015] A memory in communication with the at least one processor; wherein,

[0016] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the communication method.

[0017] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above communication method.

[0018] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0020] Figure 1 It is a flow chart of a communication method provided by an embodiment of the present disclosure;

[0021] Figure 2 is a structural diagram of a network communication structure in a communication method provided by an embodiment of the present disclosure;

[0022] Figure 3 It is a flowchart of a communication process implemented by the communication method provided in an embodiment of the present disclosure;

[0023] Figure 4 is a schematic structural diagram of a robot joint actuator provided by an embodiment of the present disclosure;

[0024] Figure 5 The block diagram is a block diagram of an electronic device for implementing the communication method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0026] Most of the existing robots are multi-joint robots with multi-degree-of-freedom control. In some related technologies, the communication interfaces of the existing robot joint actuators are divided into three types: EtherCAT (Ethernet control automation technology), CANopen (a high-level communication protocol based on a control area network), and serial port communication.

[0027] Among them, EtherCAT is an Ethernet-based fieldbus system with an open architecture.

[0028] The existing robot joint actuators based on EtherCAT communication protocol mostly use binary mode. The parsing of data message objects requires the assistance of dictionaries, which is obscure and difficult to understand. It is not conducive to function expansion and intelligent development, and has high usage costs and is not user-friendly and developer-unfriendly.

[0029] At the same time, based on the existing EtherCAT communication protocol, the robot joint actuator motion control system has a single topology and cannot use general network equipment (such as switches, routers, etc.) or connect to the Internet.

[0030] The communication method, robot joint actuator, electronic device, and computer-readable storage medium provided by the embodiments of the present disclosure are intended to solve at least one of the above-mentioned technical problems in the prior art.

[0031] The communication method provided by the embodiment of the present disclosure can be executed by a robot joint actuator.

[0032] Figure 1 FIG. 1 is a flow chart showing a communication method provided by an embodiment of the present disclosure. Figure 1 As shown in , the communication method provided by the embodiment of the present disclosure may include step S110 and step S120.

[0033] In step S110, a robot network is accessed based on a network communication protocol; the network nodes of the robot network at least include a robot host controlling robot joint actuators;

[0034] In step S120, communicating with the robot host based on the robot network;

[0035] Among them, the network communication structure corresponding to the network communication protocol includes application layer, transport layer, internet layer, and network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of communication data between network nodes according to the network transmission path.

[0036] For example, in step S110, a communication interface that can implement a network communication protocol can be configured on the robot joint actuator, and the robot joint actuator can be connected to the robot network as a node of the robot network through the communication interface.

[0037] The robot network may include multiple network nodes, at least one of which is a robot host that controls a robot joint actuator that executes the communication method provided in the embodiment of the present disclosure. The multiple network nodes of the robot network may communicate with each other based on a network communication protocol.

[0038] In some possible implementations, the robot host can control multiple robot joint actuators including the robot joint actuator that executes the communication method provided by the embodiment of the present disclosure. These multiple robot joint actuators can all access the robot network based on the network communication protocol and communicate with the robot network based on the network communication protocol. In other words, the robot network can be a local area network composed of the robot host and multiple robot joint actuators controlled by the robot host.

[0039] In some possible implementations, the network communication protocol may be a protocol implemented based on a network communication structure.

[0040] Among them, the network communication structure may include application layer, transport layer, internet layer, and network interface layer.

[0041] Figure 2 A schematic diagram showing the structure of the network communication structure is shown in FIG. Figure 2 As shown, the network communication structure includes application layer, transport layer, internet layer and network interface layer from top to bottom.

[0042] Among them, the application layer may include applications that are directly oriented to users and provide users with specific and commonly used applications. Specifically, it may include applications that generate communication data, such as applications that control robot joint actuators of the robot host, and applications that robot joint actuators respond to the robot host. The operation of the applications can generate communication data that needs to be transmitted.

[0043] In some possible implementations, the communication data may include control data for implementing position control, speed control, current control, etc. of the robot joint actuator. The communication data may also include command data for obtaining commands (specifically, commands from the robot host). The communication data may also include other data, such as parameter configuration data for implementing the configuration of parameters of the robot joint actuator.

[0044] In some possible implementations, when the communication data includes control data, command data, and other data related to the behavior of the robot joint actuators that have high data latency requirements, the communication data may be binary data. As data that can be understood and executed by a computer, using binary data can increase the speed at which data transmission data is executed, thereby reducing data latency.

[0045] In some possible implementations, when the communication data includes other data with lower requirements on data latency, the communication data can be JSON (scripting language object notation) formatted data. As a programming language that is easy for people to read and write, marking the communication data in JSON format can improve the readability of the data, facilitate users to expand the functions of the robot and intelligent development, reduce the cost of using the robot, and improve the friendliness of the robot to users and developers.

[0046] In some possible implementations, the application layer can also use the DHCP (Dynamic Host Configuration Protocol) protocol to automatically obtain the IP (Internet Protocol) address of the network node (such as the robot joint actuator) after the network node realizes the physical connection of the network (such as the communication interface executed by the robot joint is connected to the network router via wired or wireless means).

[0047] The transport layer is located between the application layer and the internet layer, and is used to realize data transmission between the application layer and the internet layer. In other words, the transport layer realizes the communication data sent to the network node (such as the robot joint actuator) to the corresponding application, realizing the communication between applications.

[0048] In some possible implementations, the transport layer uses UDP (User Datagram Protocol) to implement data transmission between the application layer and the Internet layer. As a stateless transmission protocol, UDP is faster and more suitable for application scenarios where robot joint control requires high data transmission speed.

[0049] The internet layer is used to determine the network transmission path of communication data based on the IP addresses of network nodes. That is, the internet layer can be used to realize the transmission of communication data between network nodes. It can generate the network transmission path between the source address and the destination address based on the source address of the communication data (that is, the IP address of the network node sending the communication data) and the destination address of the communication data (that is, the IP address of the network node receiving the communication data).

[0050] In some possible implementations, the network transmission path may include a router, that is, data transmission between a source address and a destination address may be implemented through a router.

[0051] The network interface layer is used to realize the physical connection between network nodes. It is used to realize the propagation of electrical signals in physical media and thus realize the transmission of data from the sending end network interface layer to the receiving end network interface layer.

[0052] In some possible implementations, the network interface layers of different network nodes may be connected using wired Ethernet, specifically 10 Mbps (million bits per second) or 100 Mbps Ethernet.

[0053] In some possible implementations, the network interface layers of different network nodes may be connected using a wireless WiFi (hotspot), specifically a 2.4 GHz (gigahertz) WiFi.

[0054] In some possible implementations, in step S120, the communication with the robot host based on the robot network may be that the robot joint controller implements the communication with the robot host based on the robot network and the network communication protocol.

[0055] In some possible implementations, the communication between the robot joint controller and the robot host can be that the application layer of the robot host generates communication data and sends it to the transport layer of the robot host. A UDP data packet is generated according to the communication data. The UDP data packet is sent to the Internet layer of the robot host to generate an IP data packet. The IP data packet is sent to the network interface layer, and through the physical connection between the network interface layers, the network interface layer of the robot host reaches the network interface layer of the robot joint controller, and then sent to the Internet layer of the robot joint controller to obtain the UDP data packet. The UDP data packet is sent to the transport layer of the robot joint controller for disassembly to obtain the communication data. The communication data is sent to the application layer of the robot joint controller so that the application program of the robot joint controller can run the program according to the communication data.

[0056] Similarly, the application layer of the robot joint controller generates communication data and sends it to the transport layer of the robot joint controller, which generates a UDP data packet based on the communication data. The UDP data packet is sent to the Internet layer of the robot joint controller to generate an IP data packet. The IP data packet is sent to the network interface layer, and through the physical connection between the network interface layers, it reaches the network interface layer of the robot host from the network interface layer of the robot joint controller, and then is sent to the Internet layer of the robot host to obtain the UDP data packet. The UDP data packet is sent to the transport layer of the robot host to disassemble and obtain the communication data. The communication data is sent to the application layer of the robot host, so that the application program of the robot joint controller can run the program according to the communication data or generate new communication data that needs to be transmitted according to the received communication data.

[0057] In some possible implementations, the robot joint actuator may include multiple communication ports, and different types of communication data are transmitted through different ports based on a network communication protocol to avoid mutual interference between different types of communication data.

[0058] In some specific implementations, the robot joint actuator may include a low-latency port and an ultra-low-latency port, wherein binary data is transmitted through the ultra-low-latency port, and data in JSON format may be transmitted through the low-latency port.

[0059] Of course, the robot joint actuator may also include multiple ports, that is, more than one low-latency port and more than one ultra-low-latency port, and different ports are used to transmit different data.

[0060] In some possible implementations, the network nodes of the robot network also include other robot joint actuators controlled by the robot host, and communication between different robot joint actuators can be achieved through the robot network.

[0061] In some possible implementations, the robot network can also be connected to the Internet. Specifically, the network nodes of the robot network can be connected to the Internet through common network devices (such as switches, routers, etc.) to achieve the expansion of robot functions, such as cloud control of robots.

[0062] In the communication method provided in the embodiment of the present disclosure, the robot joint controller can communicate with the robot host based on the network communication protocol. Based on the network communication protocol, the communication data in JSON format can be transmitted between the robot joint controller and the robot host, which improves the readability of the communication data, facilitates the expansion of functions and intelligent development, reduces the cost of use, and improves the friendliness to users and developers.

[0063] Furthermore, the robot network in the communication method provided by the embodiment of the present disclosure can be based on the motion control system topology of the EtherCAT bus, that is, the robot host and the robot joint controller controlled by the robot host can form a robot network. At the same time, since the network communication protocol does not conflict with the existing network communication protocol, the robot joint actuator can be connected to the Internet using common network devices (such as switches, routers, etc.) to achieve the expansion of robot functions.

[0064] The communication method provided by the embodiment of the present disclosure is specifically introduced below with a specific embodiment.

[0065] Figure 3 A flow chart showing a communication process implemented by the communication method provided in the embodiment of the present disclosure is shown as follows: Figure 3 As shown, a robot host (hereinafter referred to as the host) and all robot joint actuators (hereinafter referred to as actuators) controlled by the robot host are connected to a local area network (ie, a robot network) using the communication method provided by an embodiment of the present disclosure. The host broadcasts to all online multiple actuators in the local area network based on the network communication protocol through the communication method provided by the embodiment of the present disclosure. All online actuators return basic device information to the host based on the network communication protocol and the robot network. If the host does not receive the returned basic device information, the broadcasting step continues to be executed. If the host receives the returned basic device information, the host sends an enable command to the actuator. The actuator returns confirmation information to the robot host based on the network communication protocol and the robot network. If the robot host does not receive the confirmation information returned by the actuator, the enable command continues to be sent to the actuator; if the host receives the confirmation information returned by the actuator, the host sends a command to the actuator to perform an action or read and set the actuator parameters based on the network communication protocol and the robot network. The actuator returns data such as position, speed, current, and voltage to the host. After receiving the data, the host determines whether to prepare to shut down. If it is ready to shut down, a disabling instruction is sent to the actuator. The actuator stops operating after receiving the disabling instruction and returns confirmation information to the host; if the host does not receive the confirmation information from the actuator, the disabling command continues to be sent to the actuator until the confirmation information from the actuator is received, and the process ends.

[0066] The host can broadcast the address of 255.255.255.255 to query all devices in the LAN. After the broadcast, all online actuators will return basic device information to the host.

[0067] Take the case where there are two actuators in the LAN as an example:

[0068] The host broadcast content is: 'Is any PNDrive server here?'

[0069] The format of the executor reply content is as follows:

[0070] Server received from('192.168.1.188',2334):

[0071] {

[0072] "status":"OK",

[0073] "reqTarget":" / ",

[0074] "serial_number":"0070C9C40A24",

[0075] "connect_mode":"Wifi",

[0076] "model":"PNDrive_40",

[0077] "RSSI":-38,

[0078] "mac_address":"24:0A:C4:C9:70:00",

[0079] "motor_drive_ready":true,

[0080] "vbus_voltage":24.07888,

[0081] "Hw_version":"0.1.0",

[0082] "Fw_version":"0.0.2"

[0083] }

[0084] Server received from('192.168.1.149',2334):

[0085] {

[0086] "status":"OK",

[0087] "reqTarget":" / ",

[0088] "serial_number":"7C70C9C40A24",

[0089] "connect_mode":"Wifi",

[0090] "model":"PNDrive_40",

[0091] "RSSI":-51,

[0092] "mac_address":"24:0A:C4:C9:70:7C",

[0093] "motor_drive_ready":true,

[0094] "vbus_voltage":24.08774,

[0095] "Hw_version":"0.1.0",

[0096] "Fw_version":"0.0.2"

[0097] }

[0098] The content before the colon "" is the attribute name, and the content before the colon "" is the attribute value corresponding to the attribute. status represents the status, reqTarget represents the request target, serial_number represents the serial number, RSSI represents the WIFI signal strength, motor_drive_ready represents whether the motor drive is ready, vbus_voltage represents the power supply voltage, Hw_version represents the hardware version number, and Fw_version represents the software version number.

[0099] The data of the enable command sent by the host to the actuator can be:

[0100] The host sends to the Service port of the executor

[0101] {

[0102] "method":"SET",

[0103] "reqTarget":" / m1 / requested_state",

[0104] "property":8

[0105] }

[0106] The executor returns the following

[0107] {

[0108] "status":"OK",

[0109] "reqTarget":" / m1 / requested_state",

[0110] "current_state":8

[0111] }

[0112] A specific data packet sent by the host to make the actuator move or read and set the actuator parameters can be:

[0113] To set the target position of the trapezoidal motion trajectory (trapezoidalMove), the position resolution of the actuator is 4000 counts per revolution. The following is an example of rotating the actuator motor to position 5000:

[0114] The host sends to the Service port of the executor

[0115] {

[0116] "method":"SET",

[0117] "reqTarget":" / m1 / trapezoidalMove",

[0118] "property":5000

[0119] "reply_enable":true

[0120] }

[0121] The "reply_enable" value is optional. If "reply_enable":true or does not contain the "reply_enable" value, the default return is the confirmation status and position, speed, and current. If "reply_enable":false, no parameters are returned.

[0122] The host returns the following, including the current actual position data, speed data and current, the units are count, count / s, A

[0123] {

[0124] "status":"OK",

[0125] "reqTarget":" / m1 / trapezoidalMove",

[0126] "position":3003.75,

[0127] "velocity":0,

[0128] "current":0.0717

[0129] }

[0130] The host sends a disable command to the actuator, which can be: the host sends a disable command to the actuator's Service port

[0131] {

[0132] "method":"SET",

[0133] "reqTarget":" / m1 / requested_state",

[0134] "property":1

[0135] }

[0136] The confirmation information returned by the host can be as follows:

[0137] {

[0138] "status":"OK",

[0139] "reqTarget":" / m1 / requested_state",

[0140] "current_state":1

[0141] }

[0142] The following are some examples of communication data between the host and the actuator in specific application scenarios.

[0143] Application scenario 1: The host obtains the root properties of the executor

[0144] The host sends to the executor's Service port:

[0145] {

[0146] "method":"GET",

[0147] "reqTarget":" / "

[0148] }

[0149] Data returned by the actuator to the host:

[0150] {

[0151] "status":"OK",

[0152] "reqTarget":" / ",

[0153] "serial_number":"7C70C9C40A24",

[0154] "connect_mode":"Wifi",

[0155] "RSSI":-78,

[0156] "model":"AIOS_40",

[0157] "gear_ratio":"50",

[0158] "vbus_voltage":24.07888,

[0159] "motor_temp_m1":40.125,

[0160] "inverter_temp_m1":34.26657,

[0161] "Hw_version":"0.1.0",

[0162] "Fw_version":"0.0.1"

[0163] }

[0164] Among them, model represents the model, gear_ratio represents the reduction ratio, motor_temp_m1 represents the motor temperature, and inverter_temp_m1 represents the inverter temperature.

[0165] Application scenario 2: The host obtains the actuator undervoltage and overvoltage protection thresholds

[0166] The host sends to the Service port of the executor

[0167] {

[0168] "method":"GET",

[0169] "reqTarget":" / config"

[0170] }

[0171] The host returns the following

[0172] {

[0173] "status":"OK",

[0174] "reqTarget":" / config",

[0175] "dc_bus_overvoltage_trip_level":55,

[0176] "dc_bus_undervoltage_trip_level":10

[0177] }

[0178] Among them, dc_bus_overvoltage_trip_level represents the upper limit of overvoltage protection, and dc_bus_undervoltage_trip_level represents the lower limit of overvoltage protection.

[0179] Application scenario three: The host sets the actuator's undervoltage and overvoltage protection thresholds

[0180] The host sends to the Service port of the executor

[0181] {

[0182] "method":"SET",

[0183] "reqTarget":" / config",

[0184] "dc_bus_overvoltage_trip_level":32,

[0185] "dc_bus_undervoltage_trip_level":12

[0186] }

[0187] The host returns the following

[0188] {

[0189] "status":"OK",

[0190] "reqTarget":" / config"

[0191] }

[0192] Application scenario 4: The host obtains the actuator click position, speed and current

[0193] The executor sends the Realtime port of the host

[0194] {

[0195] "method":"GET",

[0196] "reqTarget":" / m1 / CVP"

[0197] }

[0198] The executor returns the following

[0199] {

[0200] "status":"OK",

[0201] "reqTarget":" / m1 / CVP",

[0202] "position":-2001.77,

[0203] "velocity":0,

[0204] "current":0.0251

[0205] }

[0206] Application scenario 5: Host setting controller control mode

[0207] Actuator control mode

[0208] class ControlMode(Enum):

[0209] CURRENT_CONTROL=1

[0210] VELOCITY_CONTROL=2

[0211] POSITION_CONTROL=3

[0212] The host sends to the Service port of the executor

[0213] {

[0214] "method":"SET",

[0215] "reqTarget":" / m1 / controller / config",

[0216] "control_mode":3

[0217] }

[0218] The executor returns the following

[0219] {

[0220] "status":"OK"

[0221] }

[0222] Among them, CURRENT_CONTROL is the current control mode, and VELOCITY_CONTROL is the velocity control mode.

[0223] Application scenario 6: The host obtains the actuator's trapezoidal mode trajectory parameters

[0224] The host sends to the Service port of the executor

[0225] {

[0226] "method":"GET",

[0227] "reqTarget":" / m1 / trap_traj"

[0228] }

[0229] The executor returns the following

[0230] {

[0231] "status":"OK",

[0232] "reqTarget":" / m1 / trap_traj",

[0233] "accel_limit":320000,

[0234] "decel_limit":320000,

[0235] "vel_limit":200000

[0236] }

[0237] Among them, all parameter units are counts / sec^2, accel_limit is the acceleration limit, and vel_limit is the speed limit.

[0238] Application scenario seven: The host sets the actuator's trapezoidal mode trajectory parameters

[0239] The host sends to the Service port of the executor

[0240] {

[0241] "method":"SET",

[0242] "reqTarget":" / m1 / trap_traj",

[0243] "accel_limit":20000,

[0244] "decel_limit":20000,

[0245] "vel_limit":60000

[0246] }

[0247] The executor returns the following

[0248] {

[0249] "status":"OK"

[0250] }

[0251] Application scenario eight: The host obtains the controller motion parameters

[0252] The host sends to the server's Service port

[0253] {

[0254] "method":"GET",

[0255] "reqTarget":" / m1 / controller / config"

[0256] }

[0257] The executor returns the following

[0258] {

[0259] "status":"OK",

[0260] "control_mode":3,

[0261] "pos_gain":20,

[0262] "vel_gain":0.0005,

[0263] "vel_integrator_gain":0.0002,

[0264] "vel_limit":400000,

[0265] "vel_limit_tolerance":1.2,

[0266] "vel_ramp_rate":16

[0267] }

[0268] Among them, pos_gain represents the position mode proportional gain, vel_integrator_gain represents the speed integral gain, vel_limit_tolerance represents the speed limit tolerance value, and vel_ramp_rate represents the speed ramp slope.

[0269] Application scenario nine: The host sets the controller motion parameters

[0270] The host sends to the Service port of the executor

[0271] {

[0272] "method":"SET",

[0273] "reqTarget":" / m1 / controller / config",

[0274] "pos_gain":20,

[0275] "vel_gain":0.0005,

[0276] "vel_integrator_gain":0.0002,

[0277] "vel_limit":400000,

[0278] "vel_limit_tolerance":1.2,

[0279] "vel_ramp_rate":16

[0280] }

[0281] The executor returns the following

[0282] {

[0283] "status":"OK"

[0284] }

[0285] Application scenario 10: The host obtains the actuator motor configuration parameters

[0286] The host sends to the Service port of the executor

[0287] {

[0288] "method":"GET",

[0289] "reqTarget":" / m1 / motor / config"

[0290] }

[0291] The executor returns the following

[0292] {

[0293] "status":"OK",

[0294] "current_lim":15,

[0295] "current_lim_margin":5,

[0296] "inverter_temp_limit_lower":100,

[0297] "inverter_temp_limit_upper":120,

[0298] "motor_temp_limit_lower":80,

[0299] "motor_temp_limit_upper":90,

[0300] "requested_current_range":30,

[0301] "current_control_bandwidth":200

[0302] }

[0303] Among them, current_lim represents the current limit, current_lim_margin represents the current limit margin, inverter_temp_limit_lower represents the inverter temperature protection lower limit, motor_temp_limit_lower represents the motor temperature protection lower limit, requested_current_range represents the required current range, and current_control_bandwidth represents the current control bandwidth.

[0304] Application scenario 11: The host sets the actuator motor configuration parameters

[0305] The host sends to the Service port of the executor

[0306] {

[0307] "method":"SET",

[0308] "reqTarget":" / m1 / motor / config",

[0309] "current_lim":16,

[0310] "current_lim_margin":6,

[0311] "inverter_temp_limit_lower":101,

[0312] "inverter_temp_limit_upper":121,

[0313] "motor_temp_limit_lower":100,

[0314] "motor_temp_limit_upper":120,

[0315] "requested_current_range":31,

[0316] "current_control_bandwidth":1001

[0317] }

[0318] The executor returns the following

[0319] {

[0320] "status":"OK"

[0321] }

[0322] Application Scenario 12: The host resets the current position of the actuator. The host sends a message to the Service port of the actuator.

[0323] {

[0324] "method":"SET",

[0325] "reqTarget":" / m1 / encoder",

[0326] "set_linear_count":0

[0327] }

[0328] That is, the host sets the current position to 0

[0329] The executor returns the following

[0330] {

[0331] "status":"OK"

[0332] }

[0333] Application scenario 13: The host obtains error information. The host sends an error message to the Service port of the executor.

[0334] {

[0335] "method":"GET",

[0336] "reqTarget":" / m1 / error"

[0337] }

[0338] The executor returns the following

[0339] {

[0340] "status":"OK",

[0341] "reqTarget":" / m1 / error",

[0342] "axis":"ERROR_DC_BUS_OVER_VOLTAGE",

[0343] "motor":"ERROR_NONE",

[0344] "encoder":"ERROR_NONE"

[0345] }

[0346] Where axis represents the axis error, and encoder represents the encoder error code. Application scenario 14: Host clears error information

[0347] The host sends to the Service port of the executor

[0348] {

[0349] "method":"SET",

[0350] "reqTarget":" / m1 / error",

[0351] "clear_error":true

[0352] }

[0353] The execution returns the following

[0354] {

[0355] "status":"OK",

[0356] "reqTarget":" / m1 / error",

[0357] "error":"ERROR_NONE"

[0358] }

[0359] The error message is interpreted as follows:

[0360]

[0361]

[0362]

[0363] Application Scenario 15: Host sets controller speed ramp mode

[0364] Step 1: Set the speed mode

[0365] The host sends to the Service port of the executor

[0366] {

[0367] "method":"SET",

[0368] "reqTarget":" / m1 / controller / config",

[0369] "control_mode":2

[0370] }

[0371] The executor returns the following

[0372] {

[0373] "status":"OK"

[0374] }

[0375] Step 2: Enable Speed ​​Ramp Mode

[0376] The host sends to the Service port of the executor

[0377] {

[0378] "method":"SET",

[0379] "reqTarget":" / m1 / controller",

[0380] "vel_ramp_enable":true

[0381] }

[0382] The executor returns the following

[0383] {

[0384] "status":"OK"

[0385] }

[0386] Step 3: Set the motor target speed

[0387] The executor sends the Realtime port of the host

[0388] {

[0389] "method":"SET",

[0390] "reqTarget":" / m1 / controller",

[0391] "vel_ramp_target":5000,

[0392] }

[0393] Set the ramp target speed to: 10000 count / s

[0394] The executor returns the following

[0395] {

[0396] "status":"OK",

[0397] "reqTarget":" / m1 / controller",

[0398] "position":147525.3,

[0399] "velocity":5375,

[0400] "current":-0.0758

[0401] }

[0402] Among them, control_mode represents the control mode, vel_ramp_enable represents the speed ramp enable, and vel_ramp_target represents the speed ramp target.

[0403] Application scenario 16: Host control execution location

[0404] The executor sends the Realtime port of the host

[0405] {

[0406] "method":"SET",

[0407] "reqTarget":" / m1 / setPosition",

[0408] "position":-125.33323356430037,

[0409] "velocity_ff":0,

[0410] "current_ff":0

[0411] }

[0412] The executor returns the following

[0413] {

[0414] "status":"OK",

[0415] "reqTarget":" / m1 / setPosition",

[0416] "position":-478.73,

[0417] "velocity":5875,

[0418] "current":0.0154

[0419] }

[0420] Among them, position represents the set position, velocity_ff represents the velocity feedforward, and current_ff represents the current feedforward.

[0421] Application Scenario 17: Host controls actuator speed

[0422] Step 1: Master Enable Speed ​​Ramp Mode

[0423] The host sends to the Service port of the executor

[0424] {

[0425] "method":"SET",

[0426] "reqTarget":" / m1 / controller",

[0427] "vel_ramp_enable":false

[0428] }

[0429] The executor returns the following

[0430] {

[0431] "status":"OK"

[0432] }

[0433] Step 2: Set the speed, set the current speed to 5000 count / s, and the current feedforward to 0A

[0434] The executor sends the Realtime port of the host

[0435] {

[0436] "method":"SET",

[0437] "reqTarget":" / m1 / setVelocity",

[0438] "velocity":5000,

[0439] "current_ff":0

[0440] }

[0441] The executor returns the following

[0442] {

[0443] "status":"OK",

[0444] "reqTarget":" / m1 / setVelocity",

[0445] "position":221623.2,

[0446] "velocity":-125,

[0447] "current":-0.0883

[0448] }

[0449] Step 3, current control, set the M1 current to 1A

[0450] The executor sends the Realtime port of the host

[0451] {

[0452] "method":"SET",

[0453] "reqTarget":" / m1 / setCurrent",

[0454] "current":1

[0455] }

[0456] The executor returns the following

[0457] {

[0458] "status":"OK",

[0459] "reqTarget":" / m1 / setCurrent",

[0460] "position":-8318,

[0461] "velocity":0,

[0462] "current":-1.0351

[0463] }

[0464] Application scenario 18: Saving parameters

[0465] The host sends to the Service port of the executor

[0466] {

[0467] "method":"SET",

[0468] "reqTarget":" / ",

[0469] "property":"save_config"

[0470] }

[0471] The executor returns the following

[0472] {

[0473] "status":"OK",

[0474] "reqTarget":" / "

[0475] }

[0476] Application scenario 19: Clearing parameters The host sends {

[0477] "method":"SET",

[0478] "reqTarget":" / ",

[0479] "property":"erase_config"

[0480] }

[0481] The executor returns the following

[0482] {

[0483] "status":"OK",

[0484] "reqTarget":" / "

[0485] }

[0486] Application scenario 20: Start the over-the-air download technology upgrade. The host sends {

[0487] "method":"SET",

[0488] "reqTarget":" / ",

[0489] "property":"OTA_update"

[0490] }

[0491] The executor returns the following

[0492] {

[0493] "status":"OK",

[0494] "reqTarget":" / "

[0495] }

[0496] Application scenario 21: Restart the host and send {

[0497] "method":"SET",

[0498] "reqTarget":" / ",

[0499] "property":"reboot"

[0500] }

[0501] Application scenario 22: Setting the IO module status The host sends {

[0502] "method":"SET",

[0503] "reqTarget":" / IO_State",

[0504] "reply_enable":true,

[0505] "PWM0_CH":32768,

[0506] "PWM1_CH":60000,

[0507] "SERVO0":170,

[0508] "SERVO1":120

[0509] }

[0510] The host returns the following

[0511] {

[0512] "status":"OK",

[0513] "reqTarget":" / IO_State",

[0514] "AI0":2367,

[0515] "AI1":19286,

[0516] "DI0":0,

[0517] "DI1":1,

[0518] }

[0519] The specific parameter description is shown in the following table:

[0520]

[0521]

[0522] If "reply_enable" is true, the current analog input AI0, AI1, DI0, DI1 values ​​are returned. If it is false, IO_Module does not return.

[0523] "PWM0_CH", "PWM1_CH" are general PWM signals, with a duty cycle range of 0 to 65535, corresponding to 0 to 100%, and a frequency of 10kHz. "SERVO0", "SERVO1" are servo control PWM signals, with a value range of 0 to 180°, corresponding to a pulse width of 500us to 2500us.

[0524] "AI0" and "AI1" are analog input channels, with a value range of 0 to 4096 corresponding to 0 to 3.3 V. "DI0" and "DI1" correspond to digital input channels, with a value of 0 or 1, corresponding to low level and high level respectively.

[0525] Application scenario 23: Get IO module status

[0526] The host sends to the Service port of the executor

[0527] {

[0528] "method":"GET",

[0529] "reqTarget":" / IO_State"

[0530] }

[0531] The executor returns the following

[0532] {

[0533] "status":"OK",

[0534] "reqTarget":" / IO_State",

[0535] "AI0":2320,

[0536] "AI1":231,

[0537] "DI0":1,

[0538] "DI1":0,

[0539] "PWM0_CH":9472,

[0540] "PWM1_CH":2221,

[0541] "SERVO0":34,

[0542] "SERVO1":0

[0543] }

[0544] Application scenario 24: The host obtains the actuator network parameters

[0545] The host sends to the Service port of the executor

[0546] {

[0547] "method":"GET",

[0548] "reqTarget":" / network_setting"

[0549] }

[0550] When "DHCP_enable":false, the executor returns the following

[0551] {

[0552] "status":"OK",

[0553] "reqTarget":" / network_setting",

[0554] "DHCP_enable":false,

[0555] "SSID":"name",

[0556] "password":"password",

[0557] "staticIP":[192,168,2,150],

[0558] "gateway":[192,168,2,1],

[0559] "subnet":[255,255,255,0],

[0560] "dns_1":[114,114,114,114],

[0561] "dns_2":[8,8,8,8]

[0562] }

[0563] When "DHCP_enable":true, the executor returns the following

[0564] {

[0565] "status":"OK",

[0566] "reqTarget":" / network_setting",

[0567] "DHCP_enable":false,

[0568] "SSID":"name",

[0569] "password":"password",

[0570] }

[0571] The host can obtain the SSID and password, static IP, subnet mask, gateway, and DNS server address of the actuator's WIFI connection. Among them, SSID is the WIFI name, staticIP is the static IP, gateway is the gateway, subnet is the subnet mask, and dns_1 and dns_2 are the DNS server addresses.

[0572] Application scenario 25: The host sets the network parameters of the actuator

[0573] When DHCP_enable is true, the actuator is in dynamic IP mode, and you do not need to set an IP for the actuator. The IP is obtained from the router or computer with DHCP service. When DHCP_enable is false, the actuator is in static IP mode, and you need to set the IP, subnet mask, gateway, and DNS server address for the actuator.

[0574] When "DHCP_enable":true, you only need to set the SSID and password of the WIFI, and the host sends to the Service port of the actuator:

[0575] {

[0576] "method":"SET",

[0577] "reqTarget":" / network_setting",

[0578] "DHCP_enable":true,

[0579] "SSID":"wifi-name",

[0580] "password":"wifi-password"

[0581] }

[0582] The executor returns the following

[0583] {

[0584] "status":"OK",

[0585] "reqTarget":" / network_setting"

[0586] }

[0587] When "DHCP_enable":false, you need to set the WIFI SSID and password, static IP, subnet mask, gateway, DNS server address, and the host sends to the actuator's Service port:

[0588] {

[0589] "method":"SET",

[0590] "reqTarget":" / network_setting",

[0591] "DHCP_enable":false,

[0592] "SSID":"name",

[0593] "password":"password",

[0594] "staticIP":[192,168,2,150],

[0595] "gateway":[192,168,2,1],

[0596] "subnet":[255,255,255,0],

[0597] "dns_1":[114,114,114,114],

[0598] "dns_2":[8,8,8,8]

[0599] }

[0600] The executor returns the following

[0601] {

[0602] "status":"OK",

[0603] "reqTarget":" / network_setting"

[0604] }

[0605] Application Scenario 26: Binary Data Transmission

[0606] Commands that require transmission using binary data include position control, velocity control, current control, and acquisition commands.

[0607] The properties of these commands are shown in the following table:

[0608]

[0609] Take position control as an example:

[0610] Send position = 10.25, velocity = 2.73, torque = 1.25

[0611] float position=10.25, velocity=2.73, torque=1.25;

[0612] uint8_t txmsg[8];

[0613] txmsg[0] = position;

[0614] txmsg[1] = position >> 8;

[0615] txmsg[2] = position >> 16;

[0616] txmsg[3] = position >> 24;

[0617] txmsg[4]=(int16_t)(velocity*200);

[0618] txmsg[5]=(int16_t)(velocity*200)>>8;

[0619] txmsg[6]=(int16_t)(torque*200);

[0620] txmsg[7]=(int16_t)(torque*200)>>8;

[0621] The host sends to the actuator's ultra-low latency communication port:

[0622] 0x0c 0x000x000x240x410xaa 0x0a 0xe20x04

[0623] The executor returns the following:

[0624] 0x0c 0x9b 0xc30x880x0c 0x490x150xc10x1c 0x1f 0x8c 0xbd 0x000x000x000x00

[0625] Set input mode

[0626] INPUT_MODE_INACTIVE=0

[0627] INPUT_MODE_PASSTHROUGH=1

[0628] INPUT_MODE_VEL_RAMP=2

[0629] INPUT_MODE_POS_FILTER=3

[0630] INPUT_MODE_TRAP_TRAJ=5

[0631] INPUT_MODE_TORQUE_RAMP=6

[0632] The host sends to the Service port of the executor

[0633] {

[0634] "method":"SET",

[0635] "reqTarget":" / m1 / controller / config",

[0636] "input_mode":5

[0637] }

[0638] The executor returns the following

[0639] {

[0640] "status":"OK"

[0641] }

[0642] Get the absolute position of the motor rotor and set the absolute position of the rotor "abs_pos" range: 0~16384

[0643] The host sends to the Service port of the executor

[0644] {

[0645] "method":"SET",

[0646] "reqTarget":" / abs_encoder"

[0647] }

[0648] The executor returns the following

[0649] {

[0650] "status":"OK",

[0651] "reqTarget":" / abs_encoder",

[0652] "abs_pos":10018

[0653] }

[0654] The above is only an example of part of the communication data transmitted by the communication method of the embodiment of the present disclosure. The transmission of other communication data that meets the requirements is also within the protection scope of the embodiment of the present disclosure.

[0655] Based on Figure 1 The same principle as shown in the method, Figure 4 A schematic diagram of the structure of a robot joint actuator provided by an embodiment of the present disclosure is shown. Figure 4 As shown, the robot joint actuator 40 may include:

[0656] The communication interface 410 is used to access the robot network based on the network communication protocol; the network nodes of the robot network at least include the robot host that controls the robot joint actuators;

[0657] A communication module 420, used for communicating with the robot host based on the robot network;

[0658] Among them, the network communication structure corresponding to the network communication protocol includes application layer, transport layer, internet layer, and network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of communication data between network nodes according to the network transmission path.

[0659] In the robot joint actuator provided in the embodiment of the present disclosure, the robot joint controller can communicate with the robot host based on a network communication protocol. Based on the network communication protocol, the communication data in JSON format can be transmitted between the robot joint controller and the robot host, thereby improving the readability of the communication data, facilitating function expansion and intelligent development, reducing the cost of use, and improving friendliness to users and developers.

[0660] Furthermore, the robot network in the robot joint actuator provided by the embodiment of the present disclosure can be based on the motion control system topology of the EtherCAT bus, that is, the robot host and the robot joint controller controlled by the robot host can form a robot network. At the same time, since the network communication protocol does not conflict with the existing network communication protocol, the robot joint actuator can be connected to the Internet using common network devices (such as switches, routers, etc.) to achieve the expansion of robot functions.

[0661] In some possible implementations, the network nodes of the robot network also include other robot joint actuators controlled by the robot host; the communication module 420 is also used to communicate with the robot host and other robot joint actuators controlled by the robot host based on the robot network.

[0662] In some possible implementations, the application layer is further configured to obtain an Internet Protocol address of the robot joint actuator according to the Dynamic Host Configuration Protocol.

[0663] In some possible implementations, the communication data includes the communication data being scripting language object representation data.

[0664] In some possible implementations, when the communication data includes control data for controlling a robot joint actuator, the communication data is binary data.

[0665] In some possible implementations, the transport layer uses the User Datagram Protocol to implement data transmission between the application layer and the internet layer.

[0666] In some possible implementations, the network interface layer uses wired Ethernet or wireless hotspots to implement physical connections between network nodes.

[0667] It can be understood that the above modules of the robot joint actuator in the embodiment of the present disclosure have the function of realizing Figure 1 The functions of the corresponding steps of the communication method in the embodiment shown in . The function can be implemented by hardware, or by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The above modules can be software and / or hardware, and the above modules can be implemented separately or integrated with multiple modules. For the functional description of each module of the above robot joint actuator, please refer to Figure 1 The corresponding description of the communication method in the embodiment shown in will not be repeated here.

[0668] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0669] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0670] The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the communication method provided in the embodiment of the present disclosure.

[0671] Compared with the existing technology, the electronic device can communicate with the robot host based on the network communication protocol in the robot joint controller. Based on the network communication protocol, the communication data in JSON format can be transmitted between the robot joint controller and the robot host, which improves the readability of the communication data, facilitates the expansion of functions and intelligent development, reduces the cost of use, and improves the friendliness to users and developers.

[0672] The readable storage medium is a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the communication method provided in the embodiment of the present disclosure.

[0673] Compared with the existing technology, the readable storage medium enables the robot joint controller to communicate with the robot host based on a network communication protocol. Based on the network communication protocol, the communication data in JSON format can be transmitted between the robot joint controller and the robot host, which improves the readability of the communication data, facilitates function expansion and intelligent development, reduces the cost of use, and improves friendliness to users and developers.

[0674] The computer program product includes a computer program, and when the computer program is executed by a processor, the communication method provided in the embodiment of the present disclosure is implemented.

[0675] Compared with the existing technology, the computer program product can enable the robot joint controller to communicate with the robot host based on a network communication protocol. Based on the network communication protocol, the communication data in JSON format can be transmitted between the robot joint controller and the robot host, which improves the readability of the communication data, facilitates function expansion and intelligent development, reduces the cost of use, and improves friendliness to users and developers.

[0676] Figure 5 A schematic block diagram of an example electronic device 500 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0677] like Figure 5 As shown, the device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0678] A number of components in the device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0679] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as communication methods. For example, in some embodiments, the communication method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the communication method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the communication method in any other appropriate manner (e.g., by means of firmware).

[0680] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0681] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0682] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0683] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0684] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0685] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0686] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0687] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A communication method, applied to a robot joint actuator, the method comprising: Access the robot network based on network communication protocols; The network nodes of the robot network at least include a robot host that controls robot joint actuators; Based on the robot network, communicating with the robot host; Among them, the network communication structure corresponding to the network communication protocol includes an application layer, a transport layer, an internet layer, and a network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of the communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of the communication data between network nodes according to the network transmission path.

2. The method according to claim 1, wherein: The network nodes of the robot network also include other robot joint actuators controlled by the robot host; the communication with the robot host based on the robot network includes: Based on the robot network, the robot communicates with the robot host and other robot joint actuators controlled by the robot host.

3. The method according to claim 1, wherein: The application layer is also used to obtain the Internet Protocol address of the robot joint actuator according to the dynamic host configuration protocol.

4. The method according to claim 1, wherein: The communication data includes that the communication data is scripting language object representation data.

5. The method according to claim 1, wherein: In the case where the communication data includes control data for controlling the robot joint actuator, the communication data is binary data.

6. The method according to claim 1, wherein: The transport layer uses the User Datagram Protocol to implement data transmission between the application layer and the internet layer.

7. The method according to claim 1, wherein: The network interface layer uses wired Ethernet or wireless hotspots to achieve physical connections between network nodes.

8. A robot joint actuator, comprising: A communication interface for accessing a robot network based on a network communication protocol; the network nodes of the robot network at least include a robot host that controls robot joint actuators; A communication module, used for communicating with the robot host based on the robot network; Among them, the network communication structure corresponding to the network communication protocol includes an application layer, a transport layer, an internet layer, and a network interface layer; the application layer is used to generate communication data, and the transport layer is used to realize data transmission between the application layer and the internet layer; the internet layer is used to determine the network transmission path of the communication data; the network interface layer is used to realize the physical connection between network nodes, and realize the transmission of the communication data between network nodes according to the network transmission path.

9. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-7.

Citation Information

Cited By

  • Remote driving method

    CN121777177A

  • Remote drive method

    CN121777177B