WO2013062379A2 - 네트워크형 엑츄에이터 모듈 제어방법 - Google Patents
네트워크형 엑츄에이터 모듈 제어방법 Download PDFInfo
- Publication number
- WO2013062379A2 WO2013062379A2 PCT/KR2012/008905 KR2012008905W WO2013062379A2 WO 2013062379 A2 WO2013062379 A2 WO 2013062379A2 KR 2012008905 W KR2012008905 W KR 2012008905W WO 2013062379 A2 WO2013062379 A2 WO 2013062379A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- actuator module
- packet
- command
- data
- actuator
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33147—Address peripheral, controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33166—Rs485 bus to control several modules, motors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33176—Rs485, mpi multipoint, multidrop interface
Definitions
- the present invention relates to a networked actuator module control method, and more particularly, an actuator module in which a driving unit, a sensor unit, a network unit, and a control unit are integrally formed in one module is connected in a multidrop manner to configure one actuator module network.
- new instructions can be added through instruction expansion, and new parameters can be defined to greatly expand the number of readable addresses and the length of data, thereby reducing the empty time between packets.
- the present invention relates to an improved method for controlling a networked actuator module that can maintain information processing (reading and writing) quickly and variously, as well as maintaining compatibility with existing information.
- robots used in various fields from industrial robots to humanoid robots use actuators having a deceleration function for flexible movement of joints.
- a high control mechanism is required to precisely control each actuator and to control the entire actuators in an interactive and organic manner.
- a sensor unit that is, encoders 1, ..., n
- a driving unit for providing a driving voltage to the actuators (that is, Since motors 1,..., And n are included, four wires are required between the actuator control unit and the driving unit, and six wires are separately required between the actuator control unit (ie, the motor controller) and the sensor unit.
- the type of information that can be fed back from the actuator sensor unit is limited to the rotational speed and position of the motor, and the like, which directly detects and copes with a case in which a problem occurs in the actuator operation such as overcurrent or internal overheating. It was difficult to implement an automatic control mechanism.
- the present invention is created by the necessity of improving the prior art as described above, and flexibly extends the constraints of the length limitation of each field according to the instruction set and parameter definitions, and transmits from multiple actuators in one packet command transmission.
- the main purpose of the present invention is to provide an improved networked actuator module control method capable of reading almost unlimited information and eliminating packet-to-packet delay time when controlling each actuator.
- a method for controlling a plurality of networked actuator modules connected in a multidrop manner to a main controller wherein the main controller receives one command packet including a plurality of IDs. And transmitting the status packet to the main controller by the actuator module corresponding to the ID, wherein the actuator module transmits the status packet in the order of the ID represented in the command packet. It provides a networked actuator module control method characterized in that.
- the command packet, the ID, the length of the data to be read from the actuator module corresponding to the ID and the start address of the data to be read from the actuator module corresponding to the ID is expressed repeatedly in the order of the ID It features.
- the ID, the length of the data and the start address of the data may be composed of two bytes of an upper byte and a lower byte, respectively.
- the actuator module corresponding to the subordinate ID on the command packet may transmit the status packet after the actuator module corresponding to the subordinate ID completes the transmission of the status packet.
- FIG. 1 is a block diagram showing a control flow of a networked actuator module for explaining a control method according to the present invention.
- FIG. 2 is an exemplary view showing a system configuration for a user to control a networked actuator module of the present invention.
- FIG 3 is an exemplary view of a control table for explaining a control method according to the present invention.
- FIG 4 is an exemplary view showing an output curve according to a position error during control according to the present invention.
- FIG 5 is an exemplary view showing a target position to which the actuator module to move according to the present invention describes a control method.
- FIG. 6 is a table showing valid areas of data that can be recorded by a user according to the present invention.
- the actuator module itself which is the basic configuration of the present invention, is described in detail in the detailed description and the drawings (1 to 4) of the present applicant, and the description of the configuration itself is omitted. Only parts related to the control method according to the present invention will be selected and described.
- control method according to the present invention is to reduce the amount of communication packets while using the same bandwidth (Bandwidth), it is possible to further define the instruction set by extending the instructions, and together with the definition of parameters By changing the value, the length of the address and the length of the data can be extended.
- the number of addresses that can be read was limited to 255, and the data length was limited to 255.
- up to 2 bytes were designated through parameter reorganization. In this way, the number of addresses and the length of data that can be read are greatly expanded.
- the control relationship before the extension concept according to the present invention described below checks the address of the value to be controlled through the control table of the actuator module, generates a command packet by referring to the ID and the address, and communicates the generated command packet.
- This module sends it through the bus, and each module checks this lead packet, and if it is the ID of the module, checks the control table of the module by checking instructions and parameters, generates a status packet, and then sends it back through the communication bus.
- a command is added during packet generation, a parameter is defined for the added command, and an additional command is applied.
- Program so that each module recognizes The process of upgrading the firmware is further included. Details thereof are included in the detailed description below.
- BULK_READ and BULK_WRITE may be further configured in a table of an instruction set.
- the status packet is responded by monitoring the order, but whether or not the previous status packet has been sent.
- the main feature is that the status packet of the corresponding module is sent as soon as the status packet of the stage is returned, thereby reducing the response delay between the packet and the return delay time.
- N actuator modules are connected to one main controller in a multidrop manner.
- the main controller and the actuator module communicate with each other by sending and receiving packets.
- the types of packets include a command packet transmitted from the main controller to the actuator module and a status packet transmitted from the actuator module to the main controller.
- N actuator modules are connected to one bus, and the control signal from the main controller, that is, the command signal, includes the ID of the actuator module to be controlled, and thus acts only on the actuator having the corresponding ID.
- the response is sent to the main controller as a status signal.
- the actuator of the present invention is controlled by a command from the main controller, the main controller is again connected to a user terminal, such as a PC, a wired or wireless remote control.
- the control signal from the user terminal is transmitted to the main controller for actuator control via, for example, an RS232 bus, and the main controller. Converts the control signal into a command packet of RS485 type suitable for actuator control and transmits the control signal to each or all actuator modules in a multidrop method.
- control signals and a plurality of actuator modules and a plurality of actuator modules and a main controller can be transmitted in a simple and efficient manner. Communication protocols for input and output and transmission of data signals should be supported.
- the actuator module uses a control table for controlling the actuator module.
- the control table is composed of data relating to the state and driving of the actuator module.
- the actuator module is driven by writing values to the control table, and the state of the actuator module is determined by reading the values of the control table.
- FIG. 3 An exemplary control table in this regard is shown in FIG. 3.
- the control table is composed of a RAM area and an EEPROM area.
- the data in the RAM area is set to an initial value every time power is applied, but the data in the EEPROM area is set at a time when the power is turned off. Is also preserved.
- the control table includes items such as an address, an item, an access method, and an initial value.
- the address is the address of the memory to be recorded and read the value.
- the item means the kind of data designated at each address.
- the access method indicates whether the item can be recorded or read.
- the initial value means a factory default value in the case of data in the EEPROM region and an initial value in power-on when the data in the RAM region.
- OXOO, OXO1 Model Numbers
- OXO3 Identification number (ID) for identifying the actuator module. Each linked actuator module must be assigned a different ID.
- 0X04 Baud rate that determines the communication speed.
- Table 1 Adress4 Setting BPS Goal BPS error One 1000000.0 1000000.0 0.000% 3 500000.0 500000.0 0.000% 4 400000.0 400000.0 0.000% 7 250000.0 250000.0 0.000% 9 200000.0 200000.0 0.000% 16 117647.1 115200.0 -2.214% 34 57142.9 57600.0 0.749% 103 19230.8 19200.0 -0.160% 207 9615.4 9600.0 -0.160%
- 0X05 Return delay time, that is, delay time after the command packet is transmitted until the status packet is returned.
- OXO9 Operation angle limit. Set the angle section to allow the actuator module to operate.
- OXOB Maximum limit temperature. It means the operation limit temperature of the actuator module.
- OXOC Lowest / Highest Limit Voltage.
- OXOE, OXOF maximum torque. Maximum torque output value of the actuator module.
- the maximum torque (Torque Limit) is assigned to two places: EEPROM area (OXOE, OXOF) and RAM area (OX22, OX23). When the power is turned on, the value of EEPROM area is copied to RAM.
- the torque of the actuator module is limited by the values OX22, OX23 located in RAM.
- OX10 Status return level. After the command packet is transmitted, the actuator module determines whether to return a status packet, and has a value as shown in [Table 2] below.
- OX11 Alarm LED. When an error occurs, the LED blinks if the corresponding error bit for each command is set to 1.
- Bit 7 0 Bit 6 If set to 1, LED blinks when Instruction Error occurs. Bit 5 If set to 1, LED blinks when Overload Error occurs. Bit 4 If set to 1, LED blinks when Checksum Error occurs. Bit 3 If set to 1, LED blinks when Range Error occurs. Bit 2 If set to 1, LED blinks when Overheating Error occurs. Bit 1 If set to 1, LED blinks when Angle Limit Error occurs. Bit 0 If set to 1, LED blinks when Input Voltage Error occurs.
- each bit is operated by 'OR' logic.
- the LED blinks when an input voltage error occurs, and the LED blinks when an overheating error occurs.
- OX12 Alarm Shutdown. When an error occurs, if the corresponding error bit for each command is set to 1, the actuator module is torqueed off, or disabled.
- each bit is operated by 'OR' logic.
- OX14, OX15, OX16, OX17 Calibration. Data to compensate for deviations between potentiometer products and cannot be changed by the user.
- the following address is the RAM area.
- OX18 Torque Enable. Applying power to the actuator module in digital mode results in a free run without torque.
- OX19 LED. If it is set to 1, the LED is on. If it is set to 0, the LED is off.
- OX1A, OX1B, OX1C, OX1D Compliance margins and slopes. Adjust the compliance of the actuator by setting margins and slopes. A good use of compliance can have a shock-absorbing effect.
- the lengths of A, B, C, and D are compliance values.
- OX1E, OX1F Target position. It means the position to move the actuator module.
- OX20, OX21 Movement speed. It means the speed to move to the target position. When set to the maximum value of Ox3ff, it moves at 70rpm speed.
- the speed is set to 1, the minimum speed is set. If the speed is set to 0, it moves at the maximum speed that can be achieved on the applied voltage. That is, no speed control.
- OX22, OX23 maximum torque. Maximum torque output value of the actuator module. If this value is set to '0', it becomes free run without torque.
- the maximum torque (Torque Limit) is assigned to two places: EEPROM area (OXOE, OXOF) and RAM area (OX22, OX23). When the power is turned on, the value of EEPROM area is copied to RAM. The torque of the actuator module is limited by the values OX22, OX23 located in RAM.
- OX24, OX25 Current location. Current position of the actuator module
- OX26, OX27 current speed. Current speed of actuator module
- OX28, OX29 current load. Size of the current running load of the actuator module. In Table 5 below, bit 10 is the load direction.
- OX2A current voltage. The voltage currently being applied to the actuator module. This value is 10 times the actual voltage. That is, 100 [OX64] is read at 10V.
- OX2B current temperature. Celsius temperature inside the actuator module.
- OX2C Registration command. It is set to 1 when the command is registered by the REG_WRITE command, and to 0 after the command registered by the ACTION command is completed.
- OX2E Move. Set to 1 when the actuator module is moving by its own power.
- OX2F Lock. If it is set as 1, only the values of 0X18 ⁇ 0X23 can be recorded and the rest of the area is prohibited. Once locked, it can only be released by powering off.
- OX30, OX31 Punch.
- the initial value is OX20 and can be set up to 0X3FF.
- Each data has a valid range. If a write command out of this is sent, an error is returned.
- the length and range of data that can be recorded by the user are summarized in the table of FIG. 6. 16-bit data is represented by two bytes, [L] and [H]. These two bytes must be written simultaneously in one command packet.
- An instruction packet used in the present invention is a packet that the main controller instructs the actuator module to operate, the structure is shown in Table 6 below.
- OXFF OXFF The first two OXFFs signal the start of a packet.
- the actuator module ID ID of the actuator module to be controlled by the command packet.
- the actuator module ID can be 254 from OXOO to OXFD.
- Broadcasting ID ID that specifies the entire connected actuator module. Broadcast ID packets with ID set to OXFE are valid for all connected actuator modules. Therefore, in case of a packet delivered with a broadcasting ID, no status packet is returned.
- LENGTH The length of the command packet whose value is "Number of parameters [N] + 2".
- PARAMETER 0 ... N Used when additional information is needed besides INSTRUCTION.
- CHECK SUM ⁇ ⁇ ID + LENGTH + INSTRUCTION + PRAMETER 1 + ... + PRAMETER N ⁇ , if the checksum is greater than 255, the lower byte of the result is CHECKSUM. " ⁇ " Is the Not Bit operator.
- STATUS PACKET used in the present invention is a packet returned by the actuator module to the main controller in response after receiving the command packet, the structure is shown in Table 7 below.
- OXFF OXFF The first two OXFFs signal the start of a packet.
- the actuator module ID ID of the actuator module that returns the status packet.
- the actuator module ID can be 254 from OXOO to OXFD.
- LENGTH The length of a status packet whose value is "Number of parameters [N] + 2".
- ERROR Error: It indicates the error status occurred during the operation of the actuator module. The meaning of each bit is shown in [Table 8] below.
- Bit designation Contents Bit 7 0 - Bit 6 Instruction Error Set to 1 if an undefined Instruction was sent or if an action command was passed without a reg_write command. Bit 5 Overload Error Set to 1 when the current load cannot be controlled with the specified maximum torque Bit 4 Checksum Error Set to 1 when the checksum of the transmitted Instruction Packet does not match. Bit 3 Range error Set to 1 for commands out of range Bit 2 Overheating Error Set to 1 when the internal temperature of Dynamixel is out of the operating temperature range set in Control Table. Bit 1 Angle Limit Error Set to 1 when Goal Position is written out of CW Angle Limit ⁇ CCW Angle Limit range. Bit 0 Input Voltage Error Set to 1 when the applied voltage is out of the operating voltage range set in the Control Table.
- PARAMETER 0 ... N Used when additional information is needed besides ERROR.
- CHECK SUM ⁇ ⁇ ID + LENGTH + ERROR + PRAMETER 1 + ... + PRAMETER N ⁇ , If the value calculated as the checksum is greater than 255, the lower byte of the result value is CHECKSUM. " ⁇ " Is the Not Bit operator.
- the extension concept according to the present invention can be expanded to be able to read a lot more than that.
- the length of the data is the same.
- Table 9 Instruction Function Value Number of Parameter PING nothing to do. Used to get the status packet of module 0x01 0 READ_DATA Command to read the value of Control Table 0x02 2 WRITE_DATA Command to write value to Control Table 0x03 2 to REG_DATA The contents are similar to WRITE_DATA, but are in a waiting state and are WRITE when an ACTION command arrives.
- This command writes data to the control table inside the actuator module.
- a command for writing 1 to address 3 of the control table may be transmitted.
- the command packet in the case of transmitting this to the broadcasting ID (OXFE) is shown in Table 10 below.
- the status packet is not returned because it is transmitted with the broadcasting ID.
- the returned status packet is shown in Table 12 below.
- the data value read is OX20 and the current temperature of the actuator module is about 32 ° C. [OX20].
- the REG_WRITE command is similar to the WRITE_DATA command, but at a different point in time.
- a REG_WRITE command packet arrives, its value is stored in a buffer and the WRITE operation remains in a waiting state.
- Registered Instruction [OX2C] is set to one. After the ACTION instruction packet arrives, the registered REG_WRITE instruction is executed.
- the ACTION command is useful when several actuator modules must be operated correctly at the same time.
- the actuator module that receives the command first and the actuator module that receives the last command have a slight time difference at the time of operation.
- the broadcasting ID OXFE
- no status packet is returned.
- the PING command indicates nothing. It is only used to receive status packets or to verify the presence of an actuator module with a particular ID.
- the status packet returned correspondingly is shown in Table 14 below.
- the command packet for resetting the actuator module whose ID is 0 is shown in Table 15 below.
- the ID is changed to 1 after the RESET command is executed.
- This command is used to control multiple actuator modules at the same time by sending one command packet.
- Using the Sync Write command delivers multiple commands at once, which reduces communication time when controlling multiple actuator modules.
- the address and length of the control table to be recorded in each actuator module should be the same and the ID should be transmitted as the broadcasting ID.
- Parameter 4 First data of the first actuator module
- Parameter 5 Second Data of First Actuator Module
- Actuator module with ID 0 move to speed 0X150 to OX010 position
- Actuator module with ID 1 move to speed 0X360 to OX220 position
- Actuator module with ID 2 move to speed 0X170 to position OX030
- Actuator module with ID 3 move to speed 0X380 to OX220 position
- the command packet for instructing such an operation is performed as follows.
- the status packet is not returned because it is transmitted by the broadcasting ID.
- This command is used to read the values from multiple actuator modules at the same time by sending one command packet.
- the packet length is reduced, and the idle time between returned status packets is reduced, thus saving communication time.
- Parameter 2 length of the data to be read from the first module [L]
- Parameter 3N + 2 Length of data to be read from Nth module [L]
- Parameter 3N + 4 Start address of data to read from Nth module
- Actuator module with ID 1 Get the target position value (2 bytes in 0x1E).
- Actuator module with ID 2 Get current position value (2 bytes from 0x24).
- the command packet for instructing such an operation is performed as follows.
- the module with ID 2 monitors the status packet of the module with ID 1 (the ID of all parameters) on the data bus and sends the status packet as soon as the status packet with ID 1 is completed. do.
- the status packet returned is:
- This command is used to write the values simultaneously in multiple actuator modules with one command packet transmission.
- the packet length is reduced, and the idle time between packets is reduced, thereby saving communication time.
- Parameter 2 length of data to be written to first module [L1]
- Parameter 4 first data of the first module
- Parameter 5 second data of the first module
- Actuator module with ID 1 move to speed 0x360 to position 0x220
- Actuator module with ID 2 change CW / CCW Compliance Slope to 0x16
- the command packet for instructing such an operation is performed as follows.
- the status packet is not returned because it is transmitted by the broadcasting ID.
- instruction sets can be added over and over, and the parameter content is divided according to each instruction set.
- Parameter 3 low byte of starting address of data to read from first module
- Parameter 4 Start address high byte of data to read from first module
- Parameter 5 Length low byte of data to read from first module
- Parameter 6 Length byte of the data to read from the first module
- ID If this type is specified, ID, control table address, data length, etc. are 1 byte, so the constraint that can be specified from minimum 0 to maximum 255, which is a naturally occurring constraint, can be extended.
- the method of controlling a networked actuator module according to the present invention can be said to be an industrially applicable invention because it can flexibly extend the constraints of the length limitation of each field according to the instruction set and parameter definition.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Selective Calling Equipment (AREA)
- Programmable Controllers (AREA)
Abstract
본 발명은 네트워크형 엑츄에이터 모듈 제어방법에 관한 것으로, 메인 컨트롤러에 멀티드롭 방식으로 연결된 복수의 네트워크형 엑츄에이터 모듈을 제어하는 방법에 있어서, 상기 메인컨트롤러가 복수의 ID를 포함하는 하나의 명령 패킷을 상기 엑츄에이터 모듈로 전송하는 단계와, 상기 ID에 해당하는 엑츄에이터 모듈이 상태 패킷을 상기 메인 컨트롤러로 전송하는 단계를 포함하되, 상기 엑츄에이터 모듈은 상기 명령 패킷에 표현된 ID의 순서에 따라 상기 상태 패킷을 전송하는 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법을 제공한다. 본 발명에 따르면, 명령 세트와 파라미터 정의에 따라 각 필드의 길이 제한에 따른 제약사항을 유연하게 확장하여 한 번의 패킷 명령 전송으로 다수의 엑츄에이터로부터 필요한 정보를 제한없이 읽어들일 수 있고, 또 각 엑츄에이터를 제어할 수 있어 더욱 더 정밀하고 정교하면서 정확한 제어가 가능한 효과를 얻을 수 있다.
Description
본 발명은 네트워크형 엑츄에이터 모듈 제어방법에 관한 것으로, 보다 상세하게는 구동부, 센서부, 네트워크부, 제어부가 하나의 모듈 내에 일체형으로 구성된 엑츄에이터 모듈이 멀티드롭 방식으로 연결되어 하나의 엑츄에이터 모듈 네트워크를 구성하며, 인스트럭션 확장을 통해 새로운 명령어를 추가할 수 있고, 이와 함께 파라미터를 새롭게 규정함으로써 읽을 수 있는 어드레스의 수와 데이터의 길이를 대폭 확장시킬 수 있으며, 패킷과 패킷 사이의 빈 시간을 줄이고, 이를 통해 정보 처리(읽기와 쓰기)를 신속하고 다양하게 유지함은 물론 기존 정보와의 호환성도 유지할 수 있도록 개선된 네트워크형 엑츄에이터 모듈 제어방법에 관한 것이다.
주지된 바와 같이, 산업용 로봇에서부터 휴머노이드 로봇에 이르기까지 다양한 분야에서 사용되는 로봇에는 관절의 유연한 운동을 위하여 감속기능을 갖는 엑츄에이터를 사용하고 있다.
특히, 최근 급격히 발전하고 있는 로봇공학 기술은 기존에 산업용으로만 활용되던 로봇공학 메커니즘들이 타 산업분야로까지 접목되어 기술의 융복합이 진행되고 있는데, 이를 테면 가정용 청소로봇, 프로그래밍 교육용 로봇, 완구용 로봇, 엔터테이먼트용 로봇 등의 개발과 생산을 들 수 있다.
이러한 로봇 기술에서 구동과 관계된 엑츄에이터, 더 정확하게는 구동모터를 제어하는 것은 매우 중요한 기술이다.
예컨대, 하나의 로봇에 수개에서 수십개의 엑츄에이터가 장착된 형태의 로봇의 경우, 각각의 엑츄에이터를 정확하게 제어하는 동시에 전체 엑츄에이터를 상호연관성 있게 유기적으로 제어하기 위해서는 고도의 제어 메커니즘이 필요하다.
특히, 다수의 엑츄에이터를 하나의 중앙 제어기로 제어하는 경우, 각 엑츄에이터 마다 엑츄에이터 상태를 감지하는 센서부(즉, 엔코더 1,...,n)와 엑츄에이터에 구동 전압을 제공하기 위한 구동부(즉, 모터 1,...,n)를 포함하므로, 엑츄에이터 제어부와 구동부 사이에 4개의 배선이 필요하며 엑츄에이터 제어부(즉, 모터 제어기)와 센서부 사이에 별도로 6개 배선이 필요하게 된다.
따라서, n개의 엑츄에이터가 엑츄에이터 제어부에 연결된 경우 총 10n개의 배선이 필요하게 되므로, 로봇을 구성하는 엑츄에이터의 수가 많아질수록 배선처리의 곤란성으로 인해 로봇의 구조를 다양화하는데 제한이 많았다. 또한, 로봇의 설계변형으로 인해 엑츄에이터 수를 증감해야 할 경우, 이에 따라 엑츄에이터 제어기, 센서부, 구동부를 모두 변경해야 하는 문제점이 발생하였다.
한편, 종래에는 엑츄에이터 센서부에서 피드백될 수 있는 정보의 종류가 모터의 회전 속도와 위치 등에 한정되어 있어서, 과전류의 발생, 내부의 과열 등 엑츄에이터 동작에 문제가 발생하는 경우를 직접 파악하여 이에 대처하는 자동제어 메커니즘을 구현하기가 곤란하였다.
또한, 다수의 엑츄에이터가 각각 엑츄에이터 제어부와 직접 연결된 방식 하에서는, 다수의 엑츄에이터를 상호연관성 있게 제어하기 위해서는 복수개의 엑츄에이터가 동시에 또는 순차적으로 매우 정확하게 제어되어야 하는데, 이러한 제어 프로세스에 따른 신호처리의 부하가 모두 하나의 엑츄에이터 제어부에 집중됨으로써 다수의 엑츄에이터로 구성된 로봇의 원활한 동작을 기대하기가 어려웠다.
이를 개선하기 위해, 본 출원인은 2006.12.21.자로 특허출원 제2006-0131526호 '네트워크형 엑츄에이터 모듈'을 특허출원하여 등록번호 제0846177호로 등록받은 바 있다.
그런데, 로봇 기술은 해를 거듭할 수록 발전되고 있고, 로봇의 구동과 관련된 다양한 정보를 아주 빠른 시간에 동시에 수집하고 처리할 필요성이 대두되었다.
이에, 본 출원인이 등록받은 특허기술을 더욱 더 개량하여 보다 유연한 구동 제어가 가능하도록 한 프로토콜의 재정비 작업이 요구되었다.
본 발명은 상술한 바와 같은 종래 기술을 개량할 필요성에 의해 창출된 것으로, 명령 세트와 파라미터 정의에 따라 각 필드의 길이 제한에 따른 제약사항을 유연하게 확장하여 한 번의 패킷 명령 전송으로 다수의 엑츄에이터로부터 필요한 정보를 거의 제한없이 읽어들일 수 있고, 또 각 엑츄에이터 제어시 패킷과 패킷 간 지연시간을 없애 신속하고 정확한 제어가 가능하도록 개선된 네트워크형 엑츄에이터 모듈 제어방법을 제공함에 그 주된 목적이 있다.
본 발명은 상기한 목적을 달성하기 위한 수단으로, 메인 컨트롤러에 멀티드롭 방식으로 연결된 복수의 네트워크형 엑츄에이터 모듈을 제어하는 방법에 있어서, 상기 메인컨트롤러가 복수의 ID를 포함하는 하나의 명령 패킷을 상기 엑츄에이터 모듈로 전송하는 단계와, 상기 ID에 해당하는 엑츄에이터 모듈이 상태 패킷을 상기 메인 컨트롤러로 전송하는 단계를 포함하되, 상기 엑츄에이터 모듈은 상기 명령 패킷에 표현된 ID의 순서에 따라 상기 상태 패킷을 전송하는 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법을 제공한다.
여기서, 상기 명령 패킷은, ID와, 상기 ID에 해당하는 엑츄에이터 모듈로부터 읽어오려는 데이터의 길이 및 상기 ID에 해당하는 엑츄에이터 모듈로부터 읽어오려는 데이터의 시작번지가 상기 ID의 순서에 따라 반복적으로 표현된 것을 특징으로 한다.
이때, 상기 ID와, 상기 데이터의 길이 및 상기 데이터의 시작번지는 각각 상위 바이트 및 하위 바이트의 2바이트로 이루어질 수 있다.
또한, 상기 명령 패킷 상에서 후순위 ID에 해당하는 엑츄에이터 모듈은 전순위 ID에 해당하는 엑츄에이터 모듈이 상태 패킷을 전송 완료한 후에 상태 패킷을 전송할 수도 있다.
본 발명에 따르면, 명령 세트와 파라미터 정의에 따라 각 필드의 길이 제한에 따른 제약사항을 유연하게 확장하여 한 번의 패킷 명령 전송으로 다수의 엑츄에이터로부터 필요한 정보를 거의 제한없이 읽어들일 수 있고, 또 각 엑츄에이터를 제어할 수 있어 더욱 더 정밀하고 정교하면서 정확한 제어가 가능한 효과를 얻을 수 있다.
도 1은 본 발명에 따른 제어방법을 설명하기 위한 네트워크형 엑츄에이터 모듈의 제어흐름을 보인 블럭도이다.
도 2는 사용자가 본 발명의 네트워크형 엑츄에이터 모듈을 제어하기 위한 시스템 구성을 보인 예시도이다.
도 3은 본 발명에 따른 제어방법을 설명하기 위한 제어테이블의 예시도이다.
도 4는 본 발명에 따른 제어시 위치 에러에 따른 출력 곡선을 도시하는 예시도이다.
도 5는 본 발명에 따른 제어방법을 설명하기 위한 엑츄에이터 모듈이 이동하고자 하는 목표위치를 보인 예시도이다.
도 6은 본 발명에 따라 사용자가 기록할 수 있는 데이터의 유효영역을 도시하는 테이블이다.
이하에서는, 첨부도면을 참고하여 본 발명에 따른 바람직한 실시예를 보다 상세하게 설명하기로 한다.
구체적인 설명에 앞서, 본 발명의 기본 구성인 엑츄에이터 모듈 자체에 대해서는 본 출원인의 등록특허 제0846177호의 상세한 설명과 도면(1도-4도)에 자세히 설명되어 있으므로 구성 자체에 대한 설명은 생략하며, 본 발명에 따른 제어방법과 관련된 부분만을 선택하여 설명하기로 한다.
아울러, 본 발명에 따른 제어방법은 같은 대역폭(Bandwidth)을 사용하면서 통신 패킷양을 줄여 시간을 줄일 수 있도록 한 것으로, 인스트럭션을 확장하여 명령어 셋을 새롭게 추가로 규정할 수 있고, 이와 함께 파라미터의 정의를 바꾸어 줌으로써 어드레스의 길이, 데이터의 길이를 확장시킬 수 있도록 한 것이다.
이를 테면, 기존에는 전부 1바이트로만 지정되어 있었기 때문에 읽을 수 있는 어드레스의 수가 255까지 밖에 안되었고, 또 데이터의 길이에 있어서도 255까지 제한적일 수 밖에 없었는데, 본 발명에서는 파라미터의 재정립을 통해 2바이트까지 지정하도록 하여 읽을 수 있는 어드레스의 수와 데이터의 길이를 기존 대비 대폭 확장시키도록 한 것이다.
다시 말해, 이하 설명되는 본 발명에 따른 확장 개념 전의 제어관계는 엑츄에이터 모듈의 컨트롤테이블을 통해 제어할 값의 어드레스를 체크한 다음 ID와 어드레스를 참조하여 명령 패킷을 생성하고, 생성된 명령 패킷을 통신 버스를 통해 실어 보내며, 이 리드 패킷을 각 모듈들이 체크하고, 체크한 결과 해당 모듈의 ID라면 인스트럭션과 파라미터를 체크하여 해당 모듈의 컨트롤테이블을 확인한 후 상태 패킷을 생성한 후 다시 통신 버스를 통해 상태 패킷을 실어 보내는 방식으로 응답하는 것을 말하고, 본 발명에 다른 확장 개념이 적용될 경우에는 이와 같은 기본적인 제어가 이루어지는 동안 패킷 생성과정에서 명령어 추가 과정, 추가된 명령어에 대한 파라미터를 정의하는 과정, 추가된 명령어와 파라미터를 각 모듈이 인식할 수 있도록 프로그램을 이용하여 펌웨어를 업그레이드하는 과정을 더 포함하게 되는데 이에 관한 사항이 후술되는 구체적인 설명에 포함되어 있으며, 이를 테면 명령세트의 테이블에 추가로 구성된 BULK_READ와 BULK_WRITE를 들 수 있다.
뿐만 아니라, 종래의 경우는 상태 패킷이 생성된 후 응답할 때 상태 패킷에 대한 응답만 보내는 방식이었지만, 본 발명에서는 순서를 지켜 상태 패킷이 응답하되 이전 단의 상태 패킷을 보냈는지 여부를 감시하여 이전 단의 상태 패킷이 리턴되는 즉시 해당 모듈의 상태 패킷을 보내도록 함으로써 패킷과 패킷 사이의 응답 지연, 다시 말해 리턴 지연시간을 없애도록 하여 시간을 단축할 수 있도록 구성한 것에도 주된 특징이 있다.
보다 구체적으로, 도 1을 참고하면, N개의 엑츄에이터 모듈이 멀티드롭 방식으로 하나의 메인 컨트롤러에 연결되어 있다.
이때, 메인 컨트롤러와 엑츄에이터 모듈은 패킷을 주고 받으며 통신한다.
여기에서, 패킷의 종류로는 메인 컨트롤러에서 엑츄에이터 모듈로 전송되는 명령 패킷과 엑츄에이터 모듈에서 메인 컨트롤러로 전송되는 상태 패킷이 있다.
그리하여, 메인 컨트롤러가 ID = N 으로 설정된 명령 패킷을 전송할 경우 여러 개의 모터 중 ID가 N인 모터만이 상태 패킷을 리턴하고 그 명령을 수행한다.
예컨대, 하나의 버스에 N개의 엑츄에이터 모듈이 연결되어 있고, 메인 컨트롤러로부터의 제어신호 즉, 명령 신호는 제어의 대상이 되는 엑츄에이터 모듈의 ID를 포함하고 있어서 해당 ID를 가진 엑츄에이터에만 작용하게 되며, 엑츄에이터의 응답은 상태 신호로서 메인 컨트롤러로 전달된다.
아울러, 도 2에 따르면, 본 발명의 엑츄에이터는 메인 컨트롤러로부터의 명령에 의해 제어되고, 메인 컨트롤러는 다시 PC, 유무선 리모콘과 같은 사용자 단말기에 연결된다.
이때, 사용자가 로봇의 동작을 제어하기 위해 각 엑츄에이터를 제어하기 위한 프로그램을 사용자 단말을 통해 입력하게 되면 사용자 단말로부터의 제어 신호는 예컨대 RS232방식의 버스를 통해 엑츄에이터 제어용 메인 컨트롤러로 전송되고, 메인 컨트롤러는 상기 제어 신호를 엑츄에이터 제어에 적합한 RS485 방식의 명령 패킷으로 변환하여 멀티드롭 방식으로 각각의 또는 전체 엑츄에이터 모듈로 전송한다.
그러면, 메인 컨트롤러에 다수의 엑츄에이터 모듈이 연결된 본 발명의 멀티드롭 방식의 네트워크에서는, 다수의 엑츄에이터 모듈 상호간 및 다수의 엑츄에이터 모듈과 메인 컨트롤러 사이의 신호전송이 간단하고 효율적인 방식으로 이루어질 수 있도록 제어 신호와 데이터 신호의 입출력 및 전송을 위한 통신 프로토콜이 지원되어야 한다.
[제어 테이블]
본 발명에 따른 엑츄에이터 모듈은 엑츄에이터 모듈을 제어하기 위한 제어 테이블을 이용한다.
상기 제어 테이블은 엑츄에이터 모듈의 상태와 구동에 관한 데이터로 구성되어 있다.
제어 테이블에 값들을 기록(Writing)함으로써 엑츄에이터 모듈을 구동시키고, 제어 테이블의 값을 판독(Reading)함으로써 엑츄에이터 모듈의 상태를 파악하게 된다.
이와 관련된 예시적인 제어 테이블은 도 3에 도시되어 있다.
도 3에 예시된 바와 같이, 상기 제어 테이블은 RAM영역과 EEPROM영역으로 구성되는데, RAM영역의 데이터는 전원이 인가될 때마다 초기값으로 설정되지만, EEPROM영역의 데이터는 설정된 값이 전원의 오프시에도 보존된다.
제어 테이블은 번지(Address), 아이템(Item), 액세스방식(Access), 초기값(Initial Value)과 같은 항목들을 포함하고 있다.
여기에서, 번지는 값을 기록, 판독하게될 메모리의 번지를 의미한다.
그리고, 아이템은 각 번지에 지정된 데이터의 종류를 의미한다.
또한, 액세스방식은 해당 아이템에 대한 기록, 판독 가능여부를 표시한다.
아울러, 초기값은 EEPROM영역의 데이터인 경우 공장 디폴트값이고 RAM영역의 데이터인 경우에는 전원 인가시 갖는 초기값을 의미한다.
이하에서는 각 번지에 지정된 데이터의 의미를 설명한다.
먼저, EEPROM영역이다.
OXOO, OXO1 : 모델 번호
OXO2 : 펌웨어 버전
OXO3 : 엑츄에이터 모듈 식별을 위한 고유번호(ID)이다. 링크된 각 엑츄에이터 모듈에는 서로다른 ID가 할당되어야 한다.
0X04 : 통신속도를 결정하는 보드율로서, 산출공식은 "Speed[BPS] = 2000000/[Address4 + 1]"이다.
예시적으로, 주요 보드율별 데이터 값은 아래의 [표 1]과 같다.
UART(Universal Asynchronous Receiver/Transmitter, 범용 비동기화 송수신기)의 경우 보드율 오차가 3% 이내이면 통신에 지장이 없다.
표 1
Adress4 | 설정 BPS | 목표 BPS | 오차 |
1 | 1000000.0 | 1000000.0 | 0.000% |
3 | 500000.0 | 500000.0 | 0.000% |
4 | 400000.0 | 400000.0 | 0.000% |
7 | 250000.0 | 250000.0 | 0.000% |
9 | 200000.0 | 200000.0 | 0.000% |
16 | 117647.1 | 115200.0 | -2.214% |
34 | 57142.9 | 57600.0 | 0.749% |
103 | 19230.8 | 19200.0 | -0.160% |
207 | 9615.4 | 9600.0 | -0.160% |
0X05 : 리턴 지연 시간 즉, 명령 패킷 전송 후 상태 패킷이 리턴되기까지 걸리는 지연 시간을 의미한다.
0X06, 0X07, 0XO8, OXO9 : 동작 각도 제한. 엑츄에이터 모듈의 동작이 허용되는 각도 구간을 설정한다.
OXOB : 최대 제한 온도. 엑츄에이터 모듈의 동작 제한 온도를 의미한다.
OXOC, OXOD : 최저/최고 제한 전압. 엑츄에이터 모듈의 동작 전압 범위의 상한선과 하한선을 의미한다.
OXOE, OXOF : 최대 토크. 엑츄에이터 모듈의 최대 토크 출력값이다.
이 값을 '0'으로 설정할 경우 토크가 없는 프리런(Free Run) 상태가 된다.
최대 토크(Max Torque/Torque Limit)는 EEPROM영역(OXOE, OXOF)과 RAM영역(OX22, OX23)의 두 곳에 할당되어 있는데, 전원이 온될 때 EEPROM영역의 값이 RAM으로 복사된다.
엑츄에이터 모듈의 토크는 RAM에 위치한 값(OX22, OX23)에 의해 제한된다.
OX10 : 상태 리턴 레벨. 명령 패킷이 전송된 후 엑츄에이터 모듈이 상태 패킷을 리턴해 줄지 여부를 결정하는 것으로, 아래의 [표 2]와 같은 값을 갖는다.
한편, 브로드캐스트 ID(OXFE)의 명령 패킷의 경우에는 상태 리턴 레벨값에 상관없이 상태 패킷이 리턴되지 않는다.
표 2
Address 16 | Status Packets Return |
0 | 모든 Instruction에 대해 Return하지 않음 |
1 | READ_DATA 명령에 대해서만 Return함 |
2 | 모든 Instruction에 대해 Return함 |
OX11 : 알람 LED. 에러가 발생했을 때 각 명령에 대한 해당 에러 비트가 1로 설정되어 있으면 LED가 깜박인다.
각 명령에 대한 해당 에러 대응표는 아래의 [표 3]과 같다.
표 3
Bit | 기 능 |
Bit 7 | 0 |
Bit 6 | 1로 설정해 놓으면 Instruction Error 발생시 LED가 깜박임 |
Bit 5 | 1로 설정해 놓으면 Overload Error 발생시 LED가 깜박임 |
Bit 4 | 1로 설정해 놓으면 Checksum Error 발생시 LED가 깜박임 |
Bit 3 | 1로 설정해 놓으면 Range Error 발생시 LED가 깜박임 |
Bit 2 | 1로 설정해 놓으면 Overheating Error 발생시 LED가 깜박임 |
Bit 1 | 1로 설정해 놓으면 Angle Limit Error 발생시 LED가 깜박임 |
Bit 0 | 1로 설정해 놓으면 Input Voltage Error 발생시 LED가 깜박임 |
각 비트의 기능은 'OR'논리로 작동된다.
즉, OXO5로 설정되었을 경우 입력 전압 에러가 발생해도 LED는 깜박이며, 오버히팅 에러가 발생해도 LED는 깜박이게 된다.
에러가 발생한 후 정상상황으로 복귀하면 2초 후에 LED는 깜박임을 멈추게 된다.
OX12 : 알람 셧다운. 에러가 발생했을 때 각 명령에 대한 해당 에러 비트가 1로 설정되어 있을 경우 엑츄에이터 모듈이 토크오프 즉, 동작중지된다.
각 명령에 대한 해당 에러 대응표는 아래의 [표 4]와 같다.
표 4
Bit | 기 능 |
Bit 7 | 0 |
Bit 6 | 1로 설정해 놓으면 Instruction Error 발생시 Torque Off |
Bit 5 | 1로 설정해 놓으면 Overload Error 발생시 Torque Off |
Bit 4 | 1로 설정해 놓으면 Checksum Error 발생시 Torque Off |
Bit 3 | 1로 설정해 놓으면 Range Error 발생시 Torque Off |
Bit 2 | 1로 설정해 놓으면 Overheating Error 발생시 Torque Off |
Bit 1 | 1로 설정해 놓으면 Angle Limit Error 발생시 Torque Off |
Bit 0 | 1로 설정해 놓으면 Input Voltage Error 발생시 Torque Off |
각 비트의 기능은 'OR'논리로 작동된다.
그러나 알람 LED와는 달리 에러가 발생한 후 정상 상황으로 복귀해도 토크오프 상태는 계속된다.
따라서 셧다운 상태에서 벗어나려면 토크 인에이블[0X18]을 1로 재설정해야 한다.
OX14, OX15, OX16, OX17 : 교정(Callibraion). 포텐셔미터 제품간의 편차를 보상하기 위한 데이터로서 사용자가 변경할 수 없다.
이하의 번지는 RAM영역이다.
OX18 : 토크 인에이블. 디지털 모드에서 엑츄에이터 모듈에 전원을 인가하면 토크가 발생하지 않는 프리런 상태가 된다.
이때, OX18번지에 1을 설정하면 토크 인에이블 상태로 된다.
OX19 : LED. 1로 설정되어 있으면 LED가 켜지고 0으로 설정되어 있으면 LED가 꺼진다.
OX1A, OX1B, OX1C, OX1D : 컴플라이언스 마진(compliance margin) 및 슬로프. 마진과 슬로프를 설정하여 엑츄에이터의 컴플라이언스를 조절한다. 컴플라이언스를 잘 활용하면 충격 흡수를 하는 효과를 낼 수 있다.
도 4의 위치 에러에 따른 출력 곡선에서 A, B, C, D의 길이가 컴플라이언스 값이다.
OX1E, OX1F : 목표 위치. 엑츄에이터 모듈이 이동하고자 하는 위치를 의미한다.
도 5에서 값을 최대값인 Ox3ff로 설정하면 300°로 이동한다.
OX20, OX21 : 이동 속도. 목표 위치로 이동하는 속도를 의미한다. 최대값인 Ox3ff로 설정하면 70rpm의 속도로 움직인다.
참고로, 속도가 1로 설정될 경우가 최저속이며 0으로 설정된 경우는 현재 인가 전압상에서 낼 수 있는 최대속도로 움직이게 된다. 즉, 속도제어를 하지 않는 것이다.
OX22, OX23 : 최대 토크. 엑츄에이터 모듈의 최대 토크 출력값이다. 이 값을 '0'으로 설정할 경우 토크가 없는 프리런(Free Run) 상태가 된다. 최대 토크(Max Torque/Torque Limit)는 EEPROM영역(OXOE, OXOF)과 RAM영역(OX22, OX23)의 두 곳에 할당되어 있는데, 전원이 온될 때 EEPROM영역의 값이 RAM으로 복사된다. 엑츄에이터 모듈의 토크는 RAM에 위치한 값(OX22, OX23)에 의해 제한된다.
OX24, OX25 : 현재 위치. 엑츄에이터 모듈의 현재 위치
OX26, OX27 : 현재 속도. 엑츄에이터 모듈의 현재 속도
OX28, OX29 : 현재 부하. 엑츄에이터 모듈의 현재 구동하는 부하의 크기. 아래 [표 5]에서 비트 10은 부하가 걸려있는 방향이다.
표 5
BIT | 15~11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Value | 0 | Load Direction | Load Value |
Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load
OX2A : 현재 전압. 엑츄에이터 모듈에 현재 인가되고 있는 전압. 이 값은 실제 전압의 10배이다. 즉, 10V 일 경우 100[OX64]이 읽혀진다.
OX2B : 현재 온도. 엑츄에이터 모듈 내부의 섭씨 온도.
OX2C : 등록 명령. REG_WRITE명령에 의해 명령이 등록되어 있을 때 1로 설정되고, ACTION명령에 의해 등록된 명령이 수행완료된 후에는 0으로 된다.
OX2E : 이동. 엑츄에이터 모듈이 자체 동력에 의한 이동 상태일 때 1로 설정된다.
OX2F : 로크(Lock). 1로 설정되면 0X18~0X23번지의 값만 기록할 수 있고 나머지 영역은 기록이 금지된다. 한번 로크되면 전원오프로만 해제할 수 있다.
OX30, OX31 : 펀치(Punch). 구동시에 모터에 공급되는 최소전류량. 초기값은 OX20이며 최고 0X3FF까지 설정할 수 있다.
데이터 유효영역(Range)
각 데이터들은 유효한 범위가 정해져 있다. 이를 벗어난 기록(WRITE)명령이 전송될 경우 에러가 리턴된다. 도 6의 표에 사용자가 기록할 수 있는 데이터의 길이와 범위가 정리되어 있다. 16비트 데이터는 [L]과 [H], 두 바이트로 표시된다. 이 두 바이트는 하나의 명령 패킷으로 동시에 기록되어야 한다.
[패킷 구조]
본 발명에서 이용되는 명령 패킷(INSTRUCTION PACKET)은 메인 컨트롤러가 엑츄에이터 모듈에게 동작을 지시하는 패킷으로서, 그 구조는 아래 [표 6]과 같다.
표 6
0XFF | 0XFF | ID | LENGTH | INSTRUCTION | PARAMETER 1 | …… | PARAMETER N | CHECKSUM |
OXFF OXFF : 가장 선두에 위치한 두 개의 OXFF는 패킷의 시작을 알리는 신호이다.
ID : 명령 패킷에 의해 제어될 엑츄에이터 모듈의 ID이다. 엑츄에이터 모듈의 ID는 OXOO ~ OXFD 까지 254개가 가능하다.
브로드캐스팅(Broadcasting)ID : 연결되어 있는 엑츄에이터 모듈 전체를 지정하는 ID이다. ID를 OXFE로 설정한 브로드캐스팅 ID 패킷은 연결된 모든 엑츄에이터 모듈에 유효하다. 그러므로 브로드캐스팅 ID로 전달된 패킷의 경우는 상태 패킷이 리턴되지 않는다.
LENGTH(길이) : 명령 패킷의 길이로서 그 값은 "파라미터 개수[N] +2"이다.
INSTRUCTION(명령) : 엑츄에이터 모듈에게 수행하라고 지시하는 명령이다.
PARAMETER 0...N : INSTRUCTION 외에 추가 정보가 더 필요할 경우 사용된다.
CHECK SUM(체크섬) : 체크섬의 계산 방법은 다음과 같다.
CHECK SUM = ~{ID + LENGTH + INSTRUCTION + PRAMETER 1 + ... + PRAMETER N}, 체크섬으로 계산된 값이 255보다 클 경우 결과값의 하위 바이트가 CHECKSUM이다. "~"는 Not Bit 연산자이다.
본 발명에서 이용되는 상태 패킷(STATUS PACKET)은 엑츄에이터 모듈이 명령 패킷을 전송받은 후 그 응답으로 메인 컨트롤러로 리턴하는 패킷이며, 그 구조는 아래 [표 7]과 같다.
표 7
0XFF | 0XFF | ID | LENGTH | PARAMETER 1 | PARAMETER 2 | …… | PARAMETER N | CHECKSUM |
상태 패킷을 이루는 각 바이트의 의미는 다음과 같다.
OXFF OXFF : 가장 선두에 위치한 두 개의 OXFF는 패킷의 시작을 알리는 신호이다.
ID : 상태 패킷을 리턴하는 엑츄에이터 모듈의 ID이다. 엑츄에이터 모듈의 ID는 OXOO ~ OXFD 까지 254개가 가능하다.
LENGTH(길이) : 상태 패킷의 길이로서 그 값은 "파라미터 개수[N] +2"이다.
ERROR(에러) : 엑츄에이터 모듈의 동작 중에 발생된 에러 상태를 나타내는 것으로 각 비트별 의미는 아래 [표 8]과 같다.
표 8
Bit | 명칭 | 내용 |
Bit 7 | 0 | - |
Bit 6 | Instruction Error | 정의되지 않은 Instruction이 전송된 경우 또는 reg_write 명령없이 action 명령이 전달된 경우 1로 설정됨 |
Bit 5 | Overload Error | 지정된 최대 Torque로 현재의 하중을 제어할 수 없을 때 1로 설정됨 |
Bit 4 | Checksum Error | 전송된 Instruction Packet의 Checksum이 맞지 않을 때 1로 설정됨 |
Bit 3 | Range Error | 사용범위를 벗어난 명령일 경우 1로 설정됨 |
Bit 2 | Overheating Error | Dynamixel 내부 온도가 Control Table에 설정된 동작 온도 범위를 벗어났을 때 1로 설정됨 |
Bit 1 | Angle Limit Error | Goal Position이 CW Angle Limit ~ CCW Angle Limit 범위 밖의 값으로 Writing 되었을때 1로 설정됨 |
Bit 0 | Input Voltage Error | 인가된 전압이 Control Table에 설정된 동작 번압 범위를 벗어났을 경우 1로 설정됨 |
PARAMETER 0...N : ERROR 외에 추가 정보가 더 필요할 경우 사용된다.
CHECK SUM(체크섬) : 체크섬의 계산 방법은 다음과 같다.
CHECK SUM = ~{ID + LENGTH + ERROR + PRAMETER 1 + ... + PRAMETER N}, 체크섬으로 계산된 값이 255 보다 클 경우 결과값의 하위 바이트가 CHECKSUM이다. "~"는 Not Bit 연산자이다.
[명령 세트]
본 발명의 엑츄에이터 모듈에서 사용되는 명령 세트에는 아래 [표 9]와 같은 종류가 있다. 특히, 본 발명에서는 BULK_READ와 BULK_WRITE가 더 추가되어 확장된 예를 보여 준다.
뿐만 아니라, 이러한 명령어의 확장은 BULK_READ와 BULK_WRITE를 예시적으로 설명하고 있는 것 뿐이고, 달리 정의하여 새로운 명령어를 더 추가할 수 있음은 물론이며, 그에 따른 파라미터도 새롭게 규정하여야 하고, 나아가 프로그램을 이용한 펌웨어의 업그레이드도 수반되어야 한다.
이를 통해, 기존에는 읽을 수 있는 어드레스의 수가 255개로 한정된 것임에 반해, 본 발명에 따른 확장 개념을 사용하면 그 이상으로 무수히 많이 읽을 수 있도록 확장할 수 있다. 물론 데이터의 길이도 마찬가지이다.
표 9
Instruction | Function | Value | Number of Parameter |
PING | 수행 내용 없음. 모듈의 Status Packet을 return 받고자 할 경우 사용 | 0x01 | 0 |
READ_DATA | Control Table의 값을 읽는 명령 | 0x02 | 2 |
WRITE_DATA | Control Table에 값을 쓰는 명령 | 0x03 | 2 ~ |
REG_DATA | WRITE_DATA와 내용은 유사하나 대기상태로 있다가 ACTION 명령이 도착하면 WRITE된다. | 0x04 | 2 ~ |
ACTION | REG_WRITE로 등록된 동작을 시작하라는 명령 | 0x05 | 0 |
RESET | 모듈 내의 Control Table 값을 공장 초기값으로 초기화 | 0x06 | 0 |
SYNC_WRITE | 한 번에 여러 개의 모듈을 동시에 제어하고자 할 때 사용되는 명령 | 0x83 | 4 ~ |
BULK_READ | 한 번에 여러 개의 모듈에 각기 다른 Address와 Length의 데이터를 READ하는 명령 | 0x92 | |
BULK_WRITE | 한 번에 여러 개의 모듈에 각기 다른 Address와 Length의 데이터를 WRITE하는 명령 | 0x93 |
1. WRITE_DATA
기능 : 엑츄에이터 모듈 내부의 제어 테이블에 데이터를 기록하는 명령이다.
길이 : 기록하고자 하는 데이터가 N개일 경우, 길이는 N + 3 이다.
명령 : OXO3
파라미터1 : 데이터를 기록하는 곳의 시작 번지
파라미터2 : 기록하고자 하는 첫번째 데이터
파라미터3 : 기록하고자 하는 두번째 데이터
파라미터N+1 : 기록하고자 하는 N번째 데이터
예컨대, 연결된 엑츄에이터 모듈의 ID를 1로 설정하고 하는 경우, 제어 테이블의 번지 3에 1을 기록하는 명령을 전송하면 된다.
이를 브로드캐스팅ID(OXFE)로 전송하는 경우의 명령 패킷은 아래 [표 10]과 같다.
표 10
0XFF | 0XFF | 0XFE | 0X04 | 0X03 | 0X03 | 0X01 | 0XF6 |
ID | LENGTH | INSTRUCTION | PARAMETERS | CHECKSUM |
위와 같은 경우, 브로드캐스팅ID로 전송되었으므로 상태 패킷은 리턴되지 않는다.
2. READ_DATA
기능 : 엑츄에이터 모듈 내부의 제어 테이블의 데이터를 판독하는 명령
길이 : OXO4
명령 : OXO2
파라미터1 : 판독하고자 하는 데이터의 시작 번지
파라미터2 : 판독하고자 하는 데이터의 길이
예컨대. ID가 1인 엑츄에이터 모듈의 현재 내부 온도를 판독하고자 하는 경우, 제어 테이블의 번지 OX2B 값에서 1바이트를 판독하면 된다. 이 경우의 명령 패킷은 아래 [표 11]과 같다.
표 11
0XFF | 0XFF | 0X01 | 0X04 | 0X02 | 0X2B | 0X01 | 0XCC |
ID | LENGTH | INSTRUCTION | PARAMETERS | CHECKSUM |
이에 대해 리턴되는 상태 패킷은 아래 [표 12]와 같다.
표 12
0XFF | 0XFF | 0X01 | 0X03 | 0X00 | 0X20 | 0XDB |
ID | LENGTH | ERROR | PARAMETER 1 | CHECKSUM |
판독된 데이터 값은 OX20이며, 현재 엑츄에이터 모듈의 내부 온도가 약 32 ℃[OX20]임을 알 수 있다.
3. REG_WRITE
기능 : REG_WRITE명령은 WRITE_DATA명령과 유사하나 명령이 수행되는 시점이 다르다. REG_WRITE 명령 패킷이 도착하면 그 값은 버퍼에 저장되고 WRITE 동작은 대기 상태로 남아 있게 된다. 이 때, Registered Instruction[OX2C]이 1로 설정된다. 이후에 ACTION 명령 패킷이 도착하면 비로소 등록되어 있던 REG_WRITE 명령이 실행된다.
길이 : N + 3
명령 : OXO4
파라미터1 : 데이터를 기록하고자 하는 곳의 시작 번지
파라미터2 : 기록하고자 하는 첫번째 데이터
파라미터3 : 기록하고자 하는 두번째 데이터
파라미터N+1 : 기록하고자 하는 N번째 데이터
4. ACTION
기능 : REG_WRITE명령으로 등록된 WRITE 동작을 수행하라는 명령
길이 : OXO2
명령 : OXO5
파라미터 : 없음
여기서, ACTION 명령은 다수의 엑츄에이터 모듈을 동시에 정확하게 동작시켜야 하는 경우에 유용하다. 여러 개의 엑츄에이터 모듈을 명령 패킷으로 제어할 때, 맨 처음에 명령을 받는 엑츄에이터 모듈과 맨 마지막에 명령을 전달받는 엑츄에이터 모듈은 동작 시점에 약간의 시간차가 발생하게 된다. 그러나, REG_WRITE와 ACTION 명령을 사용하게 되면 이와 같은 문제가 해결된다. 한편, 두개 이상의 엑츄에이터 모듈에 ACTION 명령을 전송할 경우 브로드캐스팅ID(OXFE)를 사용해야 하는데, 이 때 상태 패킷은 리턴되지 않는다.
5. PING
기능 : PING 명령은 아무 것도 지시하지 않는다. 단지, 상태 패킷을 받고자 할 때나 특정 ID를 갖는 엑츄에이터 모듈의 존재를 확인하기 위해 사용된다.
길이 : OXO2
명령 : OXO1
파라미터 : 없음
예컨대, ID가 1인 엑츄에이터 모듈의 상태 패킷을 얻고 싶을 때 아래 [표 13]과 같이 PING 명령을 이용할 수 있다.
표 13
0XFF | 0XFF | 0X01 | 0X02 | 0X01 | 0XFB |
ID | LENGTH | INSTRUCTION | CHECKSUM |
이에 대응하여 리턴되는 상태 패킷은 아래 [표 14]와 같다.
표 14
0XFF | 0XFF | 0X01 | 0X02 | 0X00 | 0XFC |
ID | LENGTH | ERROR | CHECKSUM |
브로드캐스팅ID가 지정되거나 상태 리턴 레벨[OX10]이 0이더라도, PING 명령에 대해서는 상태 패킷이 리턴된다.
6. RESET
기능 : 엑츄에이터 모듈의 제어 테이블을 공장 디폴트 상태로 되돌려 놓는다.
길이 : OXO2
명령 : OXO6
파라미터 : 없음
예컨대, ID가 0인 엑츄에이터 모듈을 리셋하고자 할 경우의 명령 패킷은 아래 [표 15]와 같다.
표 15
0XFF | 0XFF | 0X00 | 0X02 | 0X06 | 0XF7 |
ID | LENGTH | INSTRUCTION | CHECKSUM |
위와 같은 RESET 명령에 대해 리턴되는 상태 패킷은 아래 [표 16]과 같다.
표 16
0XFF | 0XFF | 0X00 | 0X02 | 0X00 | 0XFD |
ID | LENGTH | ERROR | CHECKSUM |
여기서, RESET 명령 수행 이후에는 ID가 1로 바뀌게 된다.
7. SYNC_WRITE
기능 : 한 번의 명령 패킷 전송으로 다수의 엑츄에이터 모듈을 동시에 제어하고자 할 때 사용되는 명령이다. Sync Write 명령을 사용하면 여러 개의 명령을 한번에 전달하므로 다수의 엑츄에이터 모듈을 제어할 때 통신 시간이 줄어든다. 단, 각각의 엑츄에이터 모듈에 기록하고자 하는 제어 테이블의 번지와 길이가 모두 동일해야 하며, ID는 브로드캐스팅ID로 전송되어야 한다.
ID : OXFE
길이 : [L + 1] * N + 4, 여기서 L은 엑츄에이터 모듈의 데이터 길이이며, N은 엑츄에이터 모듈의 개수이다.
명령 : OX83
파라미터1 : 데이터를 기록하고 하는 곳의 시작 번지
파라미터2 : 기록하고자 하는 데이터의 길이 [L]
파라미터3 : 첫번째 엑츄에이터 모듈의 ID
파라미터4 : 첫번째 엑츄에이터 모듈의 첫번째 데이터
파라미터5 : 첫번째 엑츄에이터 모듈의 두번째 데이터
.....
파라미터L+3 : 첫번째 엑츄에이터 모듈의 L번째 데이터
파라미터L+4 : 두번째 엑츄에이터 모듈의 ID
파라미터L+5 : 두번째 엑츄에이터 모듈의 첫번째 데이터
파라미터L+6 : 두번째 엑츄에이터 모듈의 두번째 데이터
......
파라미터2L+4 : 두번째 엑츄에이터 모듈의 L번째 데이터
......
예컨대, 4개의 엑츄에이터 모듈에 대하여 각각 아래와 같이 위치와 속도를 정한다고 하자.
ID 0 인 엑츄에이터 모듈 : OX010위치로 속도 0X150 으로 이동
ID 1 인 엑츄에이터 모듈 : OX220위치로 속도 0X360 으로 이동
ID 2 인 엑츄에이터 모듈 : OX030위치로 속도 0X170 으로 이동
ID 3 인 엑츄에이터 모듈 : OX220위치로 속도 0X380 으로 이동
이러한 동작을 지시하기 위한 명령 패킷은 다음과 같이 이루어진다.
OXFF OXFF OXFE OX18 OX83 OX1E OXO4 OXOO OX1O OXOO OX50 OX01 OX01 OX20 OX02 OX60 OX03 OX02 OX30 OX00 OX70 OX01 OX03 0X20 0X02 0X80 OX03 OX12
이 때, 브로드캐스팅ID로 전송되기 때문에 상태 패킷은 리턴되지 않는다.
8. BULK_READ
기능 : 한 번의 명령 패킷 전송으로 다수의 엑츄에이터 모듈에서 동시에 값을 읽어오고자 할 때 사용되는 명령이다.
여러 번의 READ 명령을 내리는 것에 비해 패킷의 길이가 줄어들고, 리턴 되는 상태 패킷들 사이에 유휴 시간이 줄어들어 통신 시간을 절약할 수 있다.
단, 하나의 모듈에 여러 번 읽어 오도록 사용할 수는 없다.
동일한 모듈 ID 를 여러 번 지정할 경우 가장 먼저 지정된 파라미터만 처리된다.
ID : OXFE
길이 : 3N+3
명령 : OX92
파라미터1 : OXOO
파라미터2 : 첫번째 모듈에서 읽어오려는 데이터의 길이 [L]
파라미터3 : 첫번째 모듈의 ID
파라미터4 : 첫번째 모듈에서 읽어오고자 하는 데이터의 시작 번지
....
파라미터3N+2 : N번째 모듈에서 읽어오려는 데이터의 길이 [L]
파라미터3N+3 : N번째 모듈의 ID
파라미터3N+4 : N번째 모듈에서 읽어오고자 하는 데이터의 시작 번지
....
예컨대, 2개의 엑츄에이터 모듈에 대하여 각각 아래와 같이 값을 읽어 온다고 치자.
ID 1 인 엑츄에이터 모듈 : 목표 위치 값(0x1E 에서 2바이트)을 가져 옴.
ID 2 인 엑츄에이터 모듈 : 현재 위치 값(0x24 에서 2바이트)을 가져 옴.
이러한 동작을 지시하기 위한 명령 패킷은 다음과 같이 이루어진다.
OXFF OXFF OXFE OXO9 OX92 OXOO OXO2 OXO1 OX1E OXO2 OXO2 OX24 OX1D
이 때 ID 2 인 모듈은 데이터 버스 상에 ID 1(바로 전 파라미터의 ID) 인 모듈의 상태 패킷이 전송되는 것을 감시하다가 ID 1 인 모듈의 상태 패킷이 전송 완료되는 즉시 자신의 상태 패킷을 전송하게 된다.
리턴되는 상태 패킷은 아래와 같이 된다.
OXFF OXFF OXO1 OXO4 OXOO OXOO OX8O OX7A OXFF OXFF OXO2 OXO4 OXOO OXOO OX8O OX79
각각 모듈 ID 1 과 ID 2 에서 보낸 상태 패킷이 연달아 들어오는 형식이 된다.
9. BULK_WRITE
기능 : 한 번의 명령 패킷 전송으로 다수의 엑츄에이터 모듈에서 동시에 값을 쓰고자 할 때 사용되는 명령이다.
여러 번의 WRITE 명령을 내리는 것에 비해 패킷의 길이가 줄어들고, 각 패킷들 사이에 유휴 시간이 줄어들어 통신 시간을 절약할 수 있다.
또한 하나의 모듈에 연속되지 않은 번지의 control table 에 값을 적기 위해 같은 ID 를 여러 번 지정할 수도 있다.
ID : OXFE
길이 : 가변적
명령 : OX93
파라미터1 : OXOO
파라미터2 : 첫번째 모듈에 기록하고자 하는 데이터의 길이 [L1]
파라미터3 : 첫번째 모듈의 ID
파라미터4 : 첫번째 모듈의 첫번째 데이터
파라미터5 : 첫번째 모듈의 두번째 데이터
...
파라미터L1+2*1+1 : 첫번째 엑츄에이터 모듈의 L번째 데이터
파라미터L1+2*2+0 : 두번째 모듈에 기록하고자 하는 데이터의 길이 [L2]
파라미터L1+2*2+1 : 두번째 모듈의 ID
파라미터L1+2*2+2 : 두번째 모듈의 첫번째 데이터
...
파라미터L1+L2+…+LN+2*N+1 : N번째 엑츄에이터 모듈의 L번째 데이터
...
예컨대, 2개의 엑츄에이터 모듈에 대하여 각각 아래와 같이 값을 정한다고 하자.
ID 1 인 엑츄에이터 모듈 : 0x220위치로 속도 0x360 으로 이동
ID 2 인 엑츄에이터 모듈 : CW/CCW Compliance Slope 을 0x16 으로 변경
이러한 동작을 지시하기 위한 명령 패킷은 다음과 같이 이루어진다.
OXFF OXFF OXFE OXOD OX93 OXOO OXO4 OXO1 OX2O OXO2 OX6O OXO3 OXO2 OXO2 OX1O OX1O OXB4
이때, 브로드캐스팅ID로 전송되기 때문에 상태 패킷은 리턴되지 않는다.
이와 같이, 명령 세트는 계속해서 추가될 수 있으며, 각 명령 세트에 따라 파라미터 내용이 구분되어진다.
따라서, 명령 세트와 파라미터 정의에 따라 각 필드의 길이 제한에 따른 제약사항을 유연하게 확장하는 것이 가능하다.
예를 들어, BULK_READ_2 라는 명령 세트를 0xA0 로 만들고, 파라미터를 아래와 같이 지정한다고 가정해 보자.
ID : OXFE
길이 :
명령 : OXAO
파라미터1 : 첫번째 모듈의 ID 하위 바이트
파라미터2 : 첫번째 모듈의 ID 상위 바이트
파라미터3 : 첫번째 모듈에서 읽어오고자 하는 데이터의 시작 번지 하위 바이트
파라미터4 : 첫번째 모듈에서 읽어오고자 하는 데이터의 시작 번지 상위 바이트
파라미터5 : 첫번째 모듈에서 읽어오려는 데이터의 길이 하위 바이트
파라미터6 : 첫번째 모듈에서 읽어오려는 데이터의 길이 상위 바이트
…
이러한 형태로 지정한다면, ID 및 제어 테이블의 번지, 데이터의 길이 등이 1바이트로 되어 있어 자연적으로 발생하는 제약인 최소 0 에서 최대 255 까지밖에 지정 못하는 제약사항을 확장시킬 수 있다.
본 발명에 따른 네트워크형 엑츄에이터 모듈 제어방법은 명령 세트와 파라미터 정의에 따라 각 필드의 길이 제한에 따른 제약사항을 유연하게 확장할 수 있으므로 산업상 이용가능성이 있는 발명이라고 할 것이다.
Claims (4)
- 메인 컨트롤러에 멀티드롭 방식으로 연결된 복수의 네트워크형 엑츄에이터 모듈을 제어하는 방법에 있어서,상기 메인컨트롤러가 복수의 ID를 포함하는 하나의 명령 패킷을 상기 엑츄에이터 모듈로 전송하는 단계;및상기 ID에 해당하는 엑츄에이터 모듈이 상태 패킷을 상기 메인 컨트롤러로 전송하는 단계를 포함하되,상기 엑츄에이터 모듈은 상기 명령 패킷에 표현된 ID의 순서에 따라 상기 상태 패킷을 전송하는 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법.
- 청구항 1에 있어서,상기 명령 패킷은,ID와, 상기 ID에 해당하는 엑츄에이터 모듈로부터 읽어오려는 데이터의 길이 및 상기 ID에 해당하는 엑츄에이터 모듈로부터 읽어오려는 데이터의 시작번지가 상기 ID의 순서에 따라 반복적으로 표현된 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법.
- 청구항 2에 있어서,상기 ID와, 상기 데이터의 길이 및 상기 데이터의 시작번지는 각각 상위 바이트 및 하위 바이트의 2바이트로 이루어진 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법.
- 청구항 1에 있어서,상기 명령 패킷 상에서 후순위 ID에 해당하는 엑츄에이터 모듈은 전순위 ID에 해당하는 엑츄에이터 모듈이 상태 패킷을 전송 완료한 후에 상태 패킷을 전송하는 것을 특징으로 하는 네트워크형 엑츄에이터 모듈 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/354,566 US9880532B2 (en) | 2011-10-26 | 2012-10-26 | Method for controlling network-type actuator module |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0110067 | 2011-10-26 | ||
KR20110110067A KR101300174B1 (ko) | 2011-10-26 | 2011-10-26 | 네트워크형 엑츄에이터 모듈 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2013062379A2 true WO2013062379A2 (ko) | 2013-05-02 |
WO2013062379A3 WO2013062379A3 (ko) | 2013-06-20 |
Family
ID=48168736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2012/008905 WO2013062379A2 (ko) | 2011-10-26 | 2012-10-26 | 네트워크형 엑츄에이터 모듈 제어방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9880532B2 (ko) |
KR (1) | KR101300174B1 (ko) |
WO (1) | WO2013062379A2 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101704423B1 (ko) | 2015-10-30 | 2017-02-09 | (주)로보티즈 | 멀티드롭 통신에서의 식별자 검색 방법 |
CN105988404B (zh) * | 2016-06-30 | 2018-12-04 | 深圳市优必选科技有限公司 | 一种伺服器控制*** |
CN108737579A (zh) * | 2018-08-16 | 2018-11-02 | 上海海压特智能科技有限公司 | 网络型执行机构模块的状态数据包传送方法 |
KR102256670B1 (ko) | 2019-11-06 | 2021-05-27 | (주)로보티즈 | 효율적인 통신 버스 중재 시스템 및 방법 |
US11005922B1 (en) * | 2020-06-12 | 2021-05-11 | Datto, Inc. | Method and system for generating reduced address dataset and method and system for using said dataset |
KR20230067273A (ko) | 2021-11-09 | 2023-05-16 | 주식회사 테솔로 | 폐쇄 루프 형성을 위한 통신 버스 중재 시스템 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147706A (ja) * | 1999-11-22 | 2001-05-29 | Sony Corp | アクチュエータ駆動制御方式、多軸機械装置、及びアクチュエータのための駆動制御装置 |
JP2003340773A (ja) * | 2002-05-18 | 2003-12-02 | Ribasuto:Kk | ロボット制御システム |
KR100846177B1 (ko) * | 2006-12-21 | 2008-07-14 | (주)로보티즈 | 네트워크형 액츄에이터 모듈 |
KR20090027302A (ko) * | 2007-09-12 | 2009-03-17 | 주식회사 로보빌더 | 독립된 기능을 갖는 로봇용 액츄에이터 모듈 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742475A (en) * | 1984-06-19 | 1988-05-03 | Ibg International, Inc. | Environmental control system |
FI85731C (fi) * | 1989-06-01 | 1997-08-20 | Valmet Paper Machinery Inc | Reglersystem i en pappers- eller kartongmaskin |
US6169789B1 (en) * | 1996-12-16 | 2001-01-02 | Sanjay K. Rao | Intelligent keyboard system |
US6848657B2 (en) * | 2002-01-17 | 2005-02-01 | The Creative Train Company, Llc | Dynamic self-teaching train track layout learning and control system |
US7024282B2 (en) * | 2002-09-26 | 2006-04-04 | Siemens Building Technologies, Inc. | Multi-node utilization of a single network variable input for computation of a single control variable at a sink node |
US8645569B2 (en) * | 2004-03-12 | 2014-02-04 | Rockwell Automation Technologies, Inc. | Juxtaposition based machine addressing |
US7386758B2 (en) * | 2005-01-13 | 2008-06-10 | Hitachi, Ltd. | Method and apparatus for reconstructing data in object-based storage arrays |
US8156232B2 (en) * | 2005-09-12 | 2012-04-10 | Rockwell Automation Technologies, Inc. | Network communications in an industrial automation environment |
-
2011
- 2011-10-26 KR KR20110110067A patent/KR101300174B1/ko active IP Right Grant
-
2012
- 2012-10-26 WO PCT/KR2012/008905 patent/WO2013062379A2/ko active Application Filing
- 2012-10-26 US US14/354,566 patent/US9880532B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147706A (ja) * | 1999-11-22 | 2001-05-29 | Sony Corp | アクチュエータ駆動制御方式、多軸機械装置、及びアクチュエータのための駆動制御装置 |
JP2003340773A (ja) * | 2002-05-18 | 2003-12-02 | Ribasuto:Kk | ロボット制御システム |
KR100846177B1 (ko) * | 2006-12-21 | 2008-07-14 | (주)로보티즈 | 네트워크형 액츄에이터 모듈 |
KR20090027302A (ko) * | 2007-09-12 | 2009-03-17 | 주식회사 로보빌더 | 독립된 기능을 갖는 로봇용 액츄에이터 모듈 |
Also Published As
Publication number | Publication date |
---|---|
US9880532B2 (en) | 2018-01-30 |
WO2013062379A3 (ko) | 2013-06-20 |
KR20130045690A (ko) | 2013-05-06 |
KR101300174B1 (ko) | 2013-08-26 |
US20150120002A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013062379A2 (ko) | 네트워크형 엑츄에이터 모듈 제어방법 | |
WO2018062715A1 (en) | Apparatus and control method for displaying content of peripheral device | |
WO2020045950A1 (en) | Method, device, and system of selectively using multiple voice data receiving devices for intelligent service | |
WO2011076035A1 (zh) | 一种实现多卡槽访问的方法和装置 | |
WO2017078328A1 (ko) | 렌즈 구동 장치 및 이를 포함하는 카메라 모듈 및 광학 기기 | |
EP2761814A1 (en) | Methods and apparatus for registering a device to server | |
WO2013109117A1 (ko) | 미디어 콘트롤 장치, 미디어 제어 타겟 장치, 및 이들의 동작 방법 | |
WO2022030970A1 (ko) | 폴더블 전자 장치 및 상기 폴더블 전자 장치에서 정보를 표시하는 방법 | |
WO2016013705A1 (ko) | 원격제어장치 및 그의 동작 방법 | |
WO2020027559A1 (en) | Electronic apparatus and control method thereof | |
WO2016195429A1 (ko) | Hdmi를 사용하여 전력을 송수신하기 위한 방법 및 그 장치 | |
WO2024136155A1 (ko) | 다종의 전자기기를 위한 통합 제어 장치 | |
WO2017082583A1 (en) | Electronic apparatus and method for controlling the same | |
WO2021045579A1 (en) | Electronic device and method for detecting connection state of connection interface | |
WO2021075774A1 (en) | Method for controlling iot device and electronic device therefor | |
CN107111426A (zh) | 调参方法、调参装置、调参***及调参存储器 | |
WO2020204429A1 (en) | Electronic apparatus and control method thereof | |
WO2020141773A1 (ko) | 출입 관리 시스템 및 이를 이용한 출입 관리 방법 | |
WO2020045858A1 (en) | Electronic apparatus and method of controlling the same | |
WO2014163469A2 (ko) | 가변경로를 이용하여 다른 장치와의 결합에 의한 전자회로를 구현하는 다면체 유닛 장치 및 이를 이용한 전자회로 구현방법 | |
WO2018097418A2 (ko) | 슬레이브 기기의 동기 방법 | |
WO2021034015A1 (en) | Display apparatus and method of controlling the same | |
WO2024005332A1 (ko) | 상태 변화를 위한 구동부를 포함하는 폴더블 전자 장치 | |
WO2020171245A1 (ko) | 디스플레이 장치 및 그의 동작 방법 | |
WO2019066615A1 (ko) | 전자 장치 및 전자 장치의 안테나 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12843318 Country of ref document: EP Kind code of ref document: A2 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14354566 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12843318 Country of ref document: EP Kind code of ref document: A2 |