WO2018192177A1 - 基于ros和orocos的机器人控制方法和系统 - Google Patents

基于ros和orocos的机器人控制方法和系统 Download PDF

Info

Publication number
WO2018192177A1
WO2018192177A1 PCT/CN2017/103435 CN2017103435W WO2018192177A1 WO 2018192177 A1 WO2018192177 A1 WO 2018192177A1 CN 2017103435 W CN2017103435 W CN 2017103435W WO 2018192177 A1 WO2018192177 A1 WO 2018192177A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
orocos
control
ros
interface
Prior art date
Application number
PCT/CN2017/103435
Other languages
English (en)
French (fr)
Inventor
阳方平
Original Assignee
广州视源电子科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广州视源电子科技股份有限公司 filed Critical 广州视源电子科技股份有限公司
Publication of WO2018192177A1 publication Critical patent/WO2018192177A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the invention relates to the field of robot control technology, in particular to a robot control method and system based on ROS and OROCOS.
  • ROS Robot Operating System
  • OROCOS Open Robot Control Software
  • OROCOS is adopted on ROS, but the existing technical solution cannot constitute a complete robot controller software on the constructed architecture, and cannot fully utilize the characteristics of ROS and OROCOS, and the system development cost is high. The control effect is poor.
  • a robot control method based on ROS and OROCOS comprising:
  • the control instruction triggering function is used to call the response function of the corresponding robot motion planning in the algorithm processing program by the first interface to calculate the control instruction data and send the control instruction data to the robot;
  • each control instruction trigger function corresponds to a robot motion planning in the algorithm processing program
  • the response function corresponds to; the first interface is based on a real-time input/output interface for creating an OROCOS on the ROS, and is used for communication connection with the algorithm processing program.
  • a robot control system based on ROS and OROCOS including:
  • a receiving unit configured to receive, according to a pre-configured communication protocol interface, a control instruction input by the control terminal
  • a selection unit configured to select, according to the control instruction, a control instruction trigger function that invokes a motion planning of the robot
  • a sending unit configured to, by using the control instruction trigger function, call the response function of the corresponding robot motion planning in the algorithm processing program by the first interface to calculate the control instruction data and send the control instruction data to the robot;
  • each control instruction trigger function corresponds to a response function of a robot motion planning in the algorithm processing program;
  • the first interface is based on a real-time input/output interface for creating an OROCOS on the ROS, and is used for communicating with the algorithm processing program connection.
  • the above ROS and OROCOS-based robot control method and system use OROCOS real-time input/output interface to communicate with an algorithm processing program, receive control commands through a pre-configured communication protocol interface, and call an algorithm processing program robot by controlling an instruction trigger function.
  • the response function of the motion planning calculates the control command data and sends it to the robot to realize the receiving, distributing, parsing and transmission of the control command, which can constitute a complete robot controller software, reduce the development cost of the robot control system and improve the control effect.
  • FIG. 1 is a flow chart of a ROS and OROCOS based robot control method according to an embodiment of the present invention
  • Figure 3 is a software architecture diagram of a robot control method based on ROS and OROCOS;
  • FIG. 4 is a schematic diagram showing a state change of a controller state machine
  • Figure 5 is a schematic diagram showing the state change of the device state machine
  • FIG. 6 is a schematic structural diagram of a robot control system based on ROS and OROCOS according to an embodiment of the present invention.
  • FIG. 1 is a flowchart of a ROS and OROCOS-based robot control method according to an embodiment of the present invention; the method includes the following steps:
  • S101 Receive a control instruction input by the control end according to the pre-configured communication protocol interface; establish a communication connection with the control end through a communication protocol developed by the ICE, and input a control instruction by calling a dynamic asynchronous remote procedure call method of the communication protocol.
  • the control instruction trigger function calculates the control instruction data by using a response function of a corresponding robot motion plan in the algorithm processing program by using the first interface, and sends the control instruction data to the robot.
  • the first interface is based on real-time creation of OROCOS on the ROS. Input/output interface for communicating with the algorithm handler.
  • the technical solution of the above embodiment uses the real-time input/output interface of the OROCOS to communicate with the algorithm processing program, receives the control instruction through the pre-configured communication protocol interface, and invokes the response function of the robot motion planning of the algorithm processing program by controlling the instruction trigger function.
  • the control command data is calculated and sent to the robot to realize the receiving, distributing, parsing and transmitting of the control command, which can constitute a complete robot controller software, reduce the development cost of the robot control system and improve the control effect.
  • an ICE The Internet Communications Engine
  • the communication protocol developed by the ICE may be established and controlled.
  • the algorithm processing program calculates control instruction data according to the response function, and sends the data to the communication management program through a second interface, where the communication management program controls the number of instructions
  • the second interface is based on a real-time input/output interface for creating an OROCOS on the ROS, and is used for an algorithm processing program to communicate with the communication management program.
  • the control instruction input at the receiving control end After obtaining the first parameter of the control instruction, determining a motion plan type currently called according to the parameter, selecting a control instruction trigger function corresponding to the corresponding motion plan according to the motion planning type, and calling a corresponding algorithm in the algorithm processing program
  • the response function calculates the control instruction parameters.
  • the motion planning includes: point-to-point motion, linear motion, circular motion, manual teaching, return to origin, pause, resume, or emergency stop.
  • related information of the algorithm handler and the communication manager can also be obtained and processed.
  • the feedback information input by the algorithm processing program may be received from the first interface by using a callback function, wherein the feedback information includes event report information, diagnostic data of the robot motor operation, and includes a timestamp for generating an error, and an event. Level and other information, and event information, which can be sent to the human-computer interaction interface of the control terminal;
  • the third interface is based on a real-time input/output interface for creating an OROCOS on the ROS, and is used for communication connection with the communication management program;
  • the feedback information includes event report information, diagnostic data of the robot motor operation; for example, position, speed, acceleration, overrun, and the like.
  • the initialization process may be performed: detecting the log report recorded by the historical operation, and if the log report is normal, receiving the relevant through the event reporting interface. The information is processed and exited if the log reports an exception.
  • the operating state of the algorithm handler and the communication manager can also be controlled by the controller state machine, as follows:
  • an interface for respectively communicating with an algorithm processing program, an interface for an algorithm processing program and a communication management program to perform a communication connection, and a communication management program An interface for communicating; dividing according to an input/output interface manner, the first interface includes an input/output interface to an algorithm processing program, and the second interface includes an input/output interface to the communication management program.
  • the hardware and software environment can be as follows:
  • FIG. 2 is a hardware structure model of a robot control system.
  • the software architecture of the robot controller is run on a Linux operating system.
  • the Linux host can be an X86-based PC or an ARM chip embedded.
  • the development board of the architecture, the controller management program accesses the control instructions of the human-computer interaction interface of the control terminal.
  • Linux hosts can be installed with the following software: Real-time kernel patches for Xenomai or RTAI can be installed; ROS, OROCOS, rFSM and other software can be installed.
  • FIG. 3 is a software architecture diagram of a robot control method based on ROS and OROCOS; in the control process, a controller management program, an algorithm processing program, and a communication management program are run on the operating system; The ROS and OROCOS based robot control method of the present invention is operated.
  • the controller manager uses ROS's orocreate-catkin-pkg method to create ROS Package, denoted as Ec_control_system, and then in the Package, by inheriting ORTCOS's RTT::TaskContext class, denoted as Ec_control_system_component.
  • the input interface includes:
  • the output interfaces include:
  • the controller state machine event is triggered and output to the controller state machine.
  • a callback function for setting an event report responding to the event report processing request, including generating an error timestamp, an event level, and the like, and transmitting the event information to the human-machine interaction interface for display.
  • control command trigger functions for various motion plans. These functions will call the corresponding response functions of the algorithm handler, including:
  • the callback function first determines the type of the call according to the first parameter passed in the remote procedure asynchronous calling method provided by ICE (The Internet Communications Engine), and then selects the control instruction trigger function corresponding to the corresponding motion plan according to the type selection. , including: recovery, pause, manual teaching, return to the origin, point-to-point motion, linear motion, circular motion, emergency stop.
  • FIG. 4 is a schematic diagram of the state change of the controller state machine; Init, Ready, Fault, Active.Recovery, Active.Halt, Active.Hands, Active.ToZero can be set.
  • Active.PTP, Active.Line, Active.Circle, Active.Stop have a total of eleven states, representing initialization, waiting for command input, recovery, pause, manual teaching, return to origin, point-to-point motion, linear motion, Arc motion, emergency stop state.
  • the eight states of Active.Recovery, Active.Halt, Active.Hands, Active.ToZero, Active.PTP, Active.Line, Active.Circle, and Active.Stop form a collection of Active states, Active state transition rules, Valid for all eight substates. For example, for any of the eight states, an "e_ready" event is written to transition the state of the controller state machine from the current state to the Ready state (ie, waiting for the instruction input state).
  • the widget is set to perform the following actions:
  • the controller management program will first call the StartHook() function, and then periodically call the UpdateHook() function in real time according to the preset refresh frequency.
  • the algorithm handler uses ROS's orocreate-catkin-pkg method to create a ROS package, denoted as Ec_control_loop, and then in the Package, by inheriting ORTCOS's RTT::TaskContext class, denoted as Ec_control_loop_component.
  • the algorithm handler uses the ROT::Input and RTT::Output methods of OROCOS to define the input and output interfaces.
  • the input interface includes:
  • the output interfaces include:
  • the controller state machine event is triggered and output to the controller state machine.
  • the interface will trigger the controller management program's event report handler to set various motion plan control command response functions, including:
  • the algorithm handler defines the properties of the number of joints of the robot arm.
  • the 20 at the end of the instruction queue are fetched and sent to the communication management program;
  • Ec_control_loop_component For the Ec_control_loop_component class, define point-to-point motion, linear motion, arc motion, manual teaching, emergency stop, return to origin, pause, recovery and other function call interfaces, as follows:
  • controller state machine Set the controller state machine to the appropriate state.
  • the point-to-point motion callback function sets the controller state machine to point-to-point motion.
  • controller state machine Check whether the controller state machine is point-to-point motion, linear motion, circular motion, manual teaching, return to the origin and other states. If not, exit and pass the relevant information to the controller management program through the event reporting interface;
  • d) define the refresh rate of the algorithm handler, the priority level of the thread
  • the algorithm handler runs the algorithm handler through the start method of OROCOS.
  • the algorithm handler first calls the StartHook() function, and then periodically calls the UpdateHook() function in real time according to the set refresh frequency.
  • the communication management program can communicate with the Arm development board through the ttyACM0 in the Linux host minicom.
  • a CANOpen master protocol can be run on the Arm development board.
  • the master station protocol can set an instruction buffer area and store up to 25 instructions.
  • the communication manager can communicate with the robot algorithm handler and controller manager using OROCOS' RTT::Input and RTT::Output methods.
  • the rFSM software is used to establish a device state machine to control the business logic of the communication management program.
  • the communication management program uses ORTCOS' RTT::Input and RTT::Output methods to connect to the device state machine to change the state of the device state machine and read the state.
  • the communication module is created as a package of ROS using the oro's orocreate-catkin-pkg method. Then in the Package, create an OROCOS real-time module by inheriting ORTCOS's RTT::TaskContext class, denoted as Ec_component.
  • the communication management program uses the ROT::Input and RTT::Output methods of OROCOS to define the input and output interfaces.
  • the input interface includes:
  • the output interfaces include:
  • the communication management program defines the interface of the event report, and triggers the event report processing function of the controller management program through the interface.
  • the position of the motor it is judged whether the arm needs to perform the zero return movement. If the angle of any joint of the robot arm differs from the zero degree by more than 0.01 degrees, the zero return motion is performed, and the point-to-point motion planning is called to plan the zero return motion.
  • the control device state machine remains in the Init state; otherwise, an "e_nominal" event is sent to the device state machine to convert the state of the device state machine to Active. Nominal.
  • the clock of the system is read, the motion prediction result of the motor is calculated according to the result of the zero return motion trajectory, and the single motion instruction is sent to the CANOpen master station.
  • the device state machine If the motion has returned to zero, the "e_nominal" event is sent to the device state machine, the device state machine is converted to Active.Nominal, and the event is reported to the controller manager.
  • control command is read and stored in the motor command buffer queue.
  • the system state is restored. If the recovery is successful, an "e_nominal" event is sent to the device state machine, and the device state machine is converted to Active. Nominal. And report the incident Give the controller a manager.
  • the module if it is Active.Halt state. At this time, the module is in the pause state, and performs the following operations: checking whether there is a new instruction in the input channel of the control instruction data, and if there is a new instruction, reading the control instruction and storing it in the motor instruction buffer queue.
  • V if it is the Active.Hands state. At this point, the module is in manual mode and performs the following operations:
  • the clock of the system is read, the motion instruction of the motor at the moment is calculated according to the motion trajectory planning result, and the single motion instruction is sent to the CANOpen master station.
  • FIG. 5 is a schematic diagram showing a state change of the device state machine.
  • the Active.Recovery, Active.Hands, Active.Halt, and Active.Nominal states form an Active state set, and the Active state transition rule is valid for all four child states.
  • the communication management program first calls the StartHook() function, and then periodically calls the UpdateHook() function in real time according to the defined refresh frequency.
  • controller management program algorithm processing program and communication management program, set to run the module, if the user needs to stop the module midway, press the ctrl key and the D key of the keyboard at the same time.
  • the real-time performance of OROCOS is used to ensure the real-time performance of the software program; the openness of ROS is fully utilized, and the controller management program, algorithm processing program and communication management program based on ROS and OROCOS are used.
  • the real-time communication forms a complete robot controller software; the controller state machine and the device state machine are further established, thereby effectively managing the business logic of the controller management program and the communication management program.
  • the RTO::Input, RTT::Output methods of OROCOS are used to establish the data input and output channels of the controller management program, algorithm processing program and communication management program.
  • the function call interface is defined by the OROCOS Operational Caller method and defined by the OROCOS Properties method. The properties of the controller manager, algorithm handler, and communication manager. Therefore, the independence and decoupling between the controller manager, the algorithm handler, and the communication manager are guaranteed.
  • FIG. 6 is a schematic structural diagram of a robot control system based on ROS and OROCOS according to an embodiment of the present invention, including:
  • the receiving unit 101 is configured to receive, according to a pre-configured communication protocol interface, a control instruction input by the control terminal;
  • the selecting unit 102 is configured to select, according to the control instruction, a control instruction trigger function that invokes a motion planning of the robot;
  • the sending unit 103 is configured to invoke the calculation through the first interface by using the control instruction trigger function
  • the response function of the corresponding robot motion planning in the processing program calculates the control instruction data and sends it to the robot;
  • each control instruction trigger function corresponds to a response function of a robot motion planning in the algorithm processing program;
  • the first interface is based on a real-time input/output interface for creating an OROCOS on the ROS, and is used for communicating with the algorithm processing program connection.
  • the ROS and OROCOS-based robot control system of the present invention is in one-to-one correspondence with the ROS and OROCOS-based robot control method of the present invention, and the technical features and beneficial effects described in the above embodiments of the ROS and OROCOS-based robot control method are applicable.
  • the embodiment of the ROS and OROCOS based robot control system it is hereby declared.

Abstract

一种基于ROS和OROCOS的机器人控制方法和系统,该方法包括:根据预先配置的通信协议接口接收控制端输入的控制指令;根据控制指令选择调用机器人运动规划的控制指令触发函数;通过控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应;第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。该系统可以构成一个完整的机器人控制器软件,降低机器人控制系统开发成本,提高控制效果。

Description

基于ROS和OROCOS的机器人控制方法和系统 技术领域
本发明涉及机器人控制技术领域,特别是涉及一种基于ROS和OROCOS的机器人控制方法和系统。
背景技术
Robot Operating System(ROS)是开源的机器人操作系统,可以为机器人开发者提供一个标准化的、开源的编程框架。但是ROS目前不支持实时线程操作。Open Robot Control Software(OROCOS)也是一种开源的机器人控制软件编程框架,它的特点是支持实时的线程操作,但是它的开放性,通用性没有ROS好。
因此,目前在一些应用方案中,在ROS上采用OROCOS,但现有技术方案在搭建的架构上,不能构成一个完整的机器人控制器软件,无法充分利用ROS和OROCOS的特性,系统开发成本高,控制效果差。
发明内容
基于此,有必要针对上述技术问题,提供一种基于ROS和OROCOS的机器人控制方法和系统,降低系统开发成本,提高控制效果。
一种基于ROS和OROCOS的机器人控制方法,包括:
根据预先配置的通信协议接口接收控制端输入的控制指令;
根据所述控制指令选择调用机器人运动规划的控制指令触发函数;
通过所述控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;
其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划 的响应函数对应;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
一种基于ROS和OROCOS的机器人控制系统,包括:
接收单元,用于根据预先配置的通信协议接口接收控制端输入的控制指令;
选择单元,用于根据所述控制指令选择调用机器人运动规划的控制指令触发函数;
发送单元,用于通过所述控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;
其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
上述基于ROS和OROCOS的机器人控制方法和系统,利用OROCOS的实时输入/输出接口与算法处理程序进行通信,通过预先配置的通信协议接口接收控制指令,通过控制指令触发函数,调用算法处理程序的机器人运动规划的响应函数,计算控制指令数据并发送至机器人,实现控制指令的接收分发、解析和传输,可以构成一个完整的机器人控制器软件,降低机器人控制系统开发成本,提高控制效果。
附图说明
图1是本发明实施例的基于ROS和OROCOS的机器人控制方法流程图;
图2是一种机器人控制系统的硬件结构模型;
图3是基于ROS和OROCOS的机器人控制方法搭建的软件架构图;
图4是控制器状态机的状态变化示意图;
图5是设备状态机的状态变化示意图;
图6是本发明实施例的基于ROS和OROCOS的机器人控制系统结构示意图。
具体实施方式
下面结合附图阐述本发明的基于ROS和OROCOS的机器人控制方法和系统的实施例。
参考图1所示,图1是本发明实施例的基于ROS和OROCOS的机器人控制方法流程图;主要包括如下步骤:
S101,根据预先配置的通信协议接口接收控制端输入的控制指令;可以通过ICE开发的通信协议建立与控制端的通信连接,通过调用所述通信协议的动态异步远程过程调用方法输入的控制指令。
S102,根据所述控制指令选择调用机器人运动规划的控制指令触发函数;其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应。
S103,通过所述控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
上述实施例的技术方案,利用OROCOS的实时输入/输出接口与算法处理程序进行通信,通过预先配置的通信协议接口接收控制指令,通过控制指令触发函数,调用算法处理程序的机器人运动规划的响应函数,计算控制指令数据并发送至机器人,实现控制指令的接收分发、解析和传输,可以构成一个完整的机器人控制器软件,降低机器人控制系统开发成本,提高控制效果。
在一个实施例中,对于步骤S101中的通信协议接口,可以采用ICE(The Internet Communications Engine,互联网通信引擎)通信协议,接收控制端输入的控制指令时,可以通过ICE开发的通信协议建立与控制端的通信连接,通过调用所述通信协议的动态异步远程过程调用方法输入的控制指令。
在一个实施例中,所述算法处理程序根据所述响应函数计算得到控制指令数据,并通过第二接口发送至通信管理程序,所述通信管理程序将控制指令数 据发送至机器人;所述第二接口是基于ROS上创建OROCOS的实时输入/输出接口,用于算法处理程序与通信管理程序进行通信连接。
在一个实施例中,在接收控制端输入的控制指令前,将控制端发起的控制指令与所述算法处理程序中相应的机器人运动规划的响应函数进行绑定;在接收控制端输入的控制指令后,获取所述控制指令的第一个参数,根据所述参数判断当前调用的运动规划类型,根据所述运动规划类型选择调用相应的运动规划的控制指令触发函数,调用算法处理程序中相应的响应函数计算控制指令参数。
在一个实施例中,所述运动规划包括:点到点运动,直线运动,圆弧运动,手动示教,回到原点、暂停、恢复或急停。
在一个实施例中,还可以获取算法处理程序和通信管理程序的相关信息并进行处理。
(1)可以通过回调函数方式从所述第一接口接收算法处理程序传入的反馈信息;其中,所述反馈信息包括事件报告信息、机器人电机运行的诊断数据;包括生成错误的时间戳,事件级别等信息,并将事件信息,这些信息可以发送给控制端的人机交互界面显示;
(2)可以通过所述第三接口接收通信管理程序传入的反馈信息;其中,所述第三接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与通信管理程序进行通信连接;
所述反馈信息包括事件报告信息、机器人电机运行的诊断数据;比如,位置,速度,加速度是否超限等等。
在一个实施例中,在步骤S102的选择调用机器人运动规划的控制指令触发函数前,还可以进行先进行初始化处理:检测历史运行所记录的日志报告,若日志报告正常,通过事件报告接口接收相关信息并进行处理;若日志报告异常,则退出。
在一个实施例中,还可以通过控制器状态机来对算法处理程序和通信管理程序的运行状态进行控制,具体如下:
根据接收到的控制指令的类型,向控制器状态机写入状态事件;根据所述状态事件控制所述算法处理程序和通信管理程序的运行状态;其中,控制器状态机设有初始化、指令等待、指令执行、中断和使能对应的状态,所述使能状态为分别与每种运动规划对应的子状态的合集。
对于第一接口、第二接口和第三接口,是指分别用于与算法处理程序进行通信连接的接口,用于算法处理程序和通信管理程序进行通信连接的接口,以及用于与通信管理程序进行通信的接口;按照输入/输出接口方式划分,第一接口包括向算法处理程序的输入/输出接口,第二接口包括向通信管理程序的输入/输出接口。
可以使用ROS的orocreate-catkin-pkg方法创建为ROS的Package,并在Package中继承OROCOS的RTT::TaskContext类,利用OROCOS的RTT::Input与RTT::Output方法定义实时输入/输出接口。
为了更加清晰本发明的实施例的技术方案,下面阐述采用本发明的方法实现的实例。
本实例中,硬件和软件环境可以如下:
参考图2所示,图2是一种机器人控制系统的硬件结构模型,在机器人控制器的搭建软件架构,运行于Linux操作系统,该Linux主机可以是X86架构的PC机,或者ARM芯片嵌入式架构的开发板,控制器管理程序接入控制端的人机交互界面的控制指令。
Linux主机可以安装如下软件:可以安装Xenomai或者RTAI的实时内核补丁;可以安装ROS,OROCOS,rFSM等软件。
参考图3所示,图3是基于ROS和OROCOS的机器人控制方法搭建的软件架构图;在控制过程中,操作系统上运行控制器管理程序、算法处理程序和通信管理程序;控制器管理程序对应运行本发明的基于ROS和OROCOS的机器人控制方法。
1、对于控制器管理程序:
(1)控制器管理程序使用ROS的orocreate-catkin-pkg方法创建ROS的 Package,记为Ec_control_system,然后在Package中,通过继承OROCOS的RTT::TaskContext类,记为Ec_control_system_component。
在Ec_control_system_component类的构造函数中,设置为执行如下操作:
a)利用OROCOS的RTT::Input与RTT::Output方法,对模块的输入,输出接口进行定义。
其中输入的接口包括:
①通信管理程序传入的诊断数据;
②通信管理程序传入的状态反馈信息:包括电机运行状态等等;
③控制器状态机的状态;
输出的接口包括:
①控制器状态机事件触发,输出给控制器状态机。
b)利用OROCOS的Operational Caller方法设置函数调用接口。
第一,设置事件报告的回调函数:对事件报告处理请求进行响应,包括生成错误的时间戳,事件级别等信息,并将事件信息,发送给人机交互界面显示。
第二,设置警报设置的回调函数:依据诊断信息,判断是否生成警报。比如,位置,速度,加速度是否超限等等。
第三,设置各种运动规划的控制指令触发函数,这些函数将对算法处理程序的相应响应函数进行调用,包括:
①点到点运动;
②回到原点;
③直线运动;
④圆弧运动;
⑤暂停;
⑥恢复;
⑦急停;
⑧手动示教。
c)调用OROCOS的Properties方法定义控制器管理程序的属性,将控制 器管理程序定义一个机械臂关节个数的属性。
(2)在Ec_control_system_component的StartHook()成员函数中,设置执行如下操作:
a)检查日志报告是否正常,若异常直接退出,并将相关信息通过事件报告接口传递给控制器管理程序处理;
b)通过ICE开发的通信协议建立与人机交互界面的通信连接,并调用通信协议提供的动态异步远程过程调用(RPC)方法,对人机交互界面发起的控制指令进行响应的回调函数进行绑定。该回调函数,首先根据ICE(The Internet Communications Engine,互联网通信引擎)提供的远程过程异步调用方法传入的第一个参数,判断调用类型,然后依据此类型选择调用相应运动规划的控制指令触发函数,包括:恢复,暂停,手动示教,回到原点,点到点运动,直线运动,圆弧运动,急停。
(3)对于Ec_control_system_component的CleanUpHook()成员函数,为了使得该函数在控制器管理程序结束运行时,实现自动调用,还可以设置为执行如下操作:
a)调用ICE开发的通信协议接口,关闭与人机交互界面的通信连接。
(4)对于控制器状态机,参考图4所示,图4是控制器状态机的状态变化示意图;可以设置Init、Ready、Fault、Active.Recovery、Active.Halt、Active.Hands、Active.ToZero、Active.PTP、Active.Line、Active.Circle、Active.Stop共十一个状态,分别代表初始化、等待指令输入、恢复、暂停、手动示教、回到原点、点到点运动、直线运动、圆弧运动、急停状态。其中,Active.Recovery、Active.Halt、Active.Hands、Active.ToZero、Active.PTP、Active.Line、Active.Circle、Active.Stop这八个状态组成一个Active状态的集合,Active的状态转移规则,对八个子状态均有效。例如,给八个状态中的任一个,写入“e_ready”事件,将控制器状态机的状态从当前状态转移到Ready状态(即等待指令输入状态)。
另外,还可以使用Lua语言,编写控制器管理程序的启动文件,该启动文 件设置为执行如下动作:
a)通过OROCOS的import方法,加载模块进行运行;
b)定义模块的刷新频率,线程的优先级别;
c)对模块的属性进行赋值;
d)通过OROCOS的connect方法,将控制器管理程序的输入、输出接口和算法处理程序和通信管理程序的接口建立连接。
e)通过OROCOS的start方法,运行控制器管理程序,控制器管理程序将先调用StartHook()函数,然后按预设刷新频率,实时地周期性调用UpdateHook()函数。
2、对于算法处理程序:
算法处理程序使用ROS的orocreate-catkin-pkg方法创建ROS的Package,记为Ec_control_loop,然后在Package中,通过继承OROCOS的RTT::TaskContext类,记为Ec_control_loop_component。
(1)在Ec_control_loop_component类的构造函数中,设置为执行如下操作:
a)算法处理程序利用OROCOS的RTT::Input与RTT::Output方法,对输入,输出接口进行定义。
其中输入的接口包括:
①通信管理程序传入的电机运行数据;
②通信管理程序传入的诊断数据;
③设备状态机的状态;
④控制器状态机的状态;
输出的接口包括:
①电机控制指令数据,输出给设备通信模块;
②电机运行数据,输出给控制算法处理程序;
③设备状态机事件触发,输出给设备状态机;
④控制器状态机事件触发,输出给控制器状态机。
b)利用OROCOS的Operational Caller方法设置函数调用接口,设置事件报告的接口:该接口将触发控制器管理程序的事件报告处理函数设置各种运动规划的控制指令响应函数,包括:
①点到点运动;
②回到原点;
③直线运动;
④圆弧运动;
⑤暂停;
⑥恢复;
⑦急停;
⑧手动示教。
c)调用OROCOS的Properties方法定义算法处理程序的属性,算法处理程序定义一个机械臂关节个数的属性。
(2)在Ec_control_loop_component的StartHook()成员函数中,设置为执行如下操作:
a)检查日志报告是否正常,若异常直接退出,并将相关信息通过事件报告接口传递给控制器管理程序处理;
b)检查电机运行数据通道是否有数据,若无数据直接退出,并将相关信息通过事件报告接口传递给控制器管理程序处理。
(3)对于Ec_control_loop_component类的UpdateHook()成员函数,设置该函数在算法处理程序运行时,按照用户设定的频率实时运行(如设为100Hz),可以设置为执行如下操作:
a)读取控制器状态机状态;
b)根据控制器状态机的不同状态,执行不同操作:
Ⅰ、如果是点到点运动,直线运动,圆弧运动,手动示教,急停,回到原点状态。此时,执行如下操作:
如果指令缓冲区的控制指令个数小于20个,则将所有指令一起发送给通 信管理程序,并将控制器状态机的状态改变为等待指令输入状态;
如果指令缓冲区的控制指令个数大于20个,则取指令队列末尾的20个,发送给通信管理程序;
Ⅱ、如果是暂停状态,则什么也不做。
(4)对于Ec_control_loop_component类,定义点到点运动,直线运动,圆弧运动,手动示教,急停,回到原点,暂停,恢复等函数调用接口,实现如下:
a)点到点运动,直线运动,圆弧运动,手动示教,回到原点的函数,内部实现如下:
检查控制器状态机是否处于等待指令输入状态。如果不是则退出,并将相关信息通过事件报告接口传递给控制器管理程序处理;
读取电机的当前的状态信息;
依据电机的当前状态,分别调用点到点运动,直线运动,圆弧运动,手动示教,回到原点的运动规划,并将生成的电机控制指令保存到指令缓冲区;
将控制器状态机设为相应的状态。比如点到点运动回调函数,则将控制器状态机设为点到点运动状态。
b)暂停函数,内部实现如下:
检查控制器状态机是否是点到点运动,直线运动,圆弧运动,手动示教,回到原点等状态。如果不是则退出,并将相关信息通过事件报告接口传递给控制器管理程序进行处理;
记录当前控制器状态机的当前状态,并将控制器状态机的状态转变为暂停状态。
c)恢复函数,内部实现如下:
检查控制器状态机是否是暂停状态。如果不是则退出,并将相关信息通过事件报告接口传递给控制器管理程序处理;
将控制器状态机的状态转变为暂停前的状态。
d)急停函数,内部实现如下:
Ⅰ、检查控制器状态机是否是点到点运动,直线运动,圆弧运动,手动示教,回到原点等状态。如果不是则退出,并将相关信息通过事件报告接口传递给控制器管理程序处理;
Ⅱ、读取电机的当前的状态信息;
Ⅲ、将电机控制指令缓冲区清零;
Ⅳ、调用速度规划运动规划,让电机以最短时间,速度降为0,并将生成的电机控制指令保存到指令缓冲区。
(5)使用Lua语言,编写算法处理程序的启动文件,设置为执行如下动作:
a)通过OROCOS的import方法,加载算法处理程序;
d)定义算法处理程序的刷新频率,线程的优先级别;
c)对算法处理程序的属性进行赋值;
d)通过OROCOS的connect方法,将算法处理程序的输入,输出接口和控制器管理程序和通信管理程序的接口建立连接。
e)通过OROCOS的start方法,运行算法处理程序,算法处理程序先调用StartHook()函数,然后按设置的刷新频率,实时地周期性调用UpdateHook()函数。
3、对于通信管理程序:
通信管理程序可以通过linux主机minicom中的ttyACM0与Arm开发板通信,可以在该Arm开发板上运行一个CANOpen主站协议,该主站协议可以设置一个指令缓存区,最多可以存储25个指令。
通信管理程序可以利用OROCOS的RTT::Input与RTT::Output方法与机器人算法处理程序和控制器管理程序进行通信。
利用rFSM软件建立设备状态机,对通信管理程序的业务逻辑进行控制。
通信管理程序利用OROCOS的RTT::Input与RTT::Output方法与设备状态机连接,可改变设备状态机的状态,并读取状态。
(1)通信模块使用ROS的orocreate-catkin-pkg方法创建为ROS的Package, 然后在Package中,通过继承OROCOS的RTT::TaskContext类,创建一个OROCOS的实时模块,记为Ec_component。
在Ec_component类的构造函数中,设置为执行如下操作:
a)通信管理程序利用OROCOS的RTT::Input与RTT::Output方法,对输入,输出接口进行定义。
其中输入的接口包括:
①算法处理程序传入的控制指令数据;
②设备状态机的状态;
输出的接口包括:
①诊断数据,输出至算法处理程序和控制器管理程序;
②电机运行数据,输出给算法处理程序;
③状态机事件触发,输出给设备状态机。
b)利用OROCOS的Operational Caller方法定义函数调用接口,通信管理程序定义事件报告的接口,通过该接口触发控制器管理程序的事件报告处理函数。
c)调用OROCOS的Properties方法定义通信管理程序的属性,通信管理程序定义一个机械臂关节个数的属性。
(2)在Ec_component的StartHook()成员函数中,设置为执行如下操作:
a)检查日志报告是否正常,若异常直接退出,并将相关信息通过事件报告接口传递给控制器管理程序进行处理;
b)电机驱动初始化:
Ⅰ、通过ttyACM0与电机驱动器建立通信;
Ⅱ、电机指令缓冲队列清空;
Ⅲ、电机使能,如果使能成功,则进行下一步,否则退出;
Ⅳ、读取电机的位置,计算机器人的机械臂当前状态,包括关节角度,机械臂末端位姿;
c)机械臂状态初始化:
依据电机位置,判断机械臂是否需要执行回零运动。如果机械臂任一关节角度与零度相差大于0.01度,则执行回零运动,调用点到点运动规划,对回零运动进行规划。
d)改变设备状态机的状态:
如果机器人的机械臂需要执行回零运动,则控制设备状态机保持Init状态不变;否则,向设备状态机发送“e_nominal”事件,将设备状态机的状态转换为Active.Nominal。
(3)对于Ec_component的UpdateHook()成员函数,设置该函数在通信管理程序运行时,以用户设定的频率实时运行(如设为1KHz),设置为执行如下操作:
a)读取设备状态机状态;
b)根据设备状态机的不同状态,执行不同操作:
Ⅰ、如果是Init状态,执行机械臂的回零运动。此时,执行如下操作:
读取系统的时钟,依据回零运动轨迹规划结果,计算该时刻电机的运动指令,并将该单条运动指令发送给CANOpen主站。
如果运动已回零成功,向设备状态机发送“e_nominal”事件,将设备状态机转换为Active.Nominal,并将该事件报告给控制器管理程序。
Ⅱ、如果是Active.Nominal状态。此时,执行如下操作:
从控制指令数据的输入通道中,读取控制指令,并存储到电机指令缓冲队列中。
读取CANOpen主站指令缓冲区的现有指令个数,如果小于10个,则一次性从电机指令缓冲队列中取出15个运动指令发送给CANOpen主站。如果电机指令缓冲队列的指令个数小于15个,则一次性全部发送给CANOpen主站。
Ⅲ、如果是Active.Recovery状态。此时,通信管理程序处于恢复状态。
此时,依据诊断信息,对系统状态进行恢复,若恢复成功,向设备状态机发送“e_nominal”事件,将设备状态机转换为Active.Nominal。并将该事件报告 给控制器管理程序。
若恢复不成功,给状态机发送“e_fault”事件,状态机转换为Fault状态,将该事件报告给控制器管理程序,并直接退出UpdateHook()。
Ⅳ、如果是Active.Halt状态。此时,模块处于暂停状态,执行如下操作:检查控制指令数据的输入通道中是否有新的指令,若有新指令,则读取控制指令,并存储到电机指令缓冲队列中。
Ⅴ、如果是Active.Hands状态。此时,模块处于手控模式,执行如下操作:
读取系统的时钟,依据运动轨迹规划结果,计算该时刻电机的运动指令,并将该单条运动指令发送给CANOpen主站。
Ⅵ、如果是Fault状态,则直接退出UpdateHook()。
c)读取电机状态,计算机械臂关节以及末端运动状态信息,并通过输出数据通道,传递给算法处理程序与控制器管理程序;
d)检查控制主站是否有错误报告信息,如果有错误信息,则将诊断信息传递给算法处理程序与控制器管理程序。向设备状态机发送“e_recovery”事件,将设备状态机转换为Active.Recovery状态、并将该事件报告给控制器管理程序。
(4)对于Ec_component的CleanUpHook()成员函数,该函数在模块结束运行时,自动调用,设置执行如下操作:
a)关闭电机驱动使能;
b)关闭电机驱动连接。
(5)参考图5所示,图5是设备状态机的状态变化示意图。共有Init(初始化)、Fault(中断),Active.Recovery(恢复)、Active.Hands(手动示教)、Active.Halt(暂停)、Active.Nominal(运转)六个状态。Active.Recovery、Active.Hands、Active.Halt、Active.Nominal四个状态组成一个Active(使能)的状态集合,Active的状态转移规则,对四个子状态均有效。
(6)使用Lua语言,编写该模块的启动文件,该启动文件设置执行如下动作:
a)通过OROCOS的import方法,加载通信管理程序;
b)定义通信管理程序的刷新频率,线程的优先级别;
c)对通信管理程序的属性进行赋值;
d)通过OROCOS的connect方法,将通信管理程序的输入,输出接口和控制器管理程序和算法模等的接口建立连接。
e)通过OROCOS的start方法,运行通信管理程序,通信管理程序先调用StartHook()函数,然后按定义好的刷新频率,实时地周期性调用UpdateHook()函数。
对于上述控制器管理程序、算法处理程序和通信管理程序,设置为当运行后,如果用户需要中途停止该模块,同时按键盘的ctrl键与D键。
综上实施例,基于ROS和OROCOS,利用OROCOS的实时性特点,保证软件程序的实时性能;充分利用ROS的开放性,基于ROS、OROCOS开发的控制器管理程序、算法处理程序和通信管理程序进行实时通信,共同构成一个完整的机器人控制器软件;进一步建立了控制器状态机和设备状态机,从而实现对控制器管理程序、通信管理程序的业务逻辑进行有效管理。
通过OROCOS的RTT::Input,RTT::Output方法建立控制器管理程序、算法处理程序和通信管理程序的数据输入、输出通道,通过OROCOS的Operational Caller方法定义函数调用接口,通过OROCOS的Properties方法定义控制器管理程序、算法处理程序和通信管理程序的属性。因此,保证了控制器管理程序、算法处理程序和通信管理程序之间的独立性与解耦性。
参考图6,图6是本发明实施例的基于ROS和OROCOS的机器人控制系统结构示意图,包括:
接收单元101,用于根据预先配置的通信协议接口接收控制端输入的控制指令;
选择单元102,用于根据所述控制指令选择调用机器人运动规划的控制指令触发函数;
发送单元103,用于通过所述控制指令触发函数通过第一接口调用所述算 法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;
其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
本发明的基于ROS和OROCOS的机器人控制系统与本发明的基于ROS和OROCOS的机器人控制方法一一对应,在上述基于ROS和OROCOS的机器人控制方法的实施例阐述的技术特征及其有益效果均适用于基于ROS和OROCOS的机器人控制系统的实施例中,特此声明。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

  1. 一种基于ROS和OROCOS的机器人控制方法,其特征在于,包括:
    根据预先配置的通信协议接口接收控制端输入的控制指令;
    根据所述控制指令选择调用机器人运动规划的控制指令触发函数;
    通过所述控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;
    其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
  2. 根据权利要求1所述的基于ROS和OROCOS的机器人控制方法,其特征在于,根据预先配置的通信协议接口接收控制端输入的控制指令的步骤包括:
    通过ICE开发的通信协议建立与控制端的通信连接,通过调用所述通信协议的动态异步远程过程调用方法输入的控制指令。
  3. 根据权利要求1所述的基于ROS和OROCOS的机器人控制方法,其特征在于,所述算法处理程序根据所述响应函数计算得到控制指令数据,并通过第二接口发送至通信管理程序,所述通信管理程序将控制指令数据发送至机器人;
    所述第二接口是基于ROS上创建OROCOS的实时输入/输出接口,用于算法处理程序与通信管理程序进行通信连接。
  4. 根据权利要求3所述的基于ROS和OROCOS的机器人控制方法,其特征在于,在接收控制端输入的控制指令前,将控制端发起的控制指令与所述算法处理程序中相应的机器人运动规划的响应函数进行绑定;
    在接收控制端输入的控制指令后,获取所述控制指令的第一个参数,根据所述参数判断当前调用的运动规划类型,根据所述运动规划类型选择调用相应的运动规划的控制指令触发函数,调用算法处理程序中相应的响应函数计算控制指令参数。
  5. 根据权利要求4所述的基于ROS和OROCOS的机器人控制方法,其特征在于,所述运动规划包括:点到点运动,直线运动,圆弧运动,手动示教,回到原点、暂停、恢复或急停。
  6. 根据权利要求1至5任一项所述的基于ROS和OROCOS的机器人控制方法,其特征在于,还包括:
    通过回调函数方式从所述第一接口接收算法处理程序传入的反馈信息,通过所述第三接口接收通信管理程序传入的反馈信息,并对所述反馈信息进行处理;
    其中,所述反馈信息包括事件报告信息、机器人电机运行的诊断数据;所述第三接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与通信管理程序进行通信连接。
  7. 根据权利要求6所述的基于ROS和OROCOS的机器人控制方法,其特征在于,在根据所述控制指令选择调用机器人运动规划的控制指令触发函数前,还包括:
    检测历史运行所记录的日志报告,若日志报告正常,通过事件报告接口接收相关信息并进行处理;
    若日志报告异常,则退出。
  8. 根据权利要求6所述的基于ROS和OROCOS的机器人控制方法,其特征在于,还包括:
    根据接收到的控制指令的类型,向控制器状态机写入状态事件;根据所述状态事件控制所述算法处理程序和通信管理程序的运行状态;
    其中,控制器状态机设有初始化、指令等待、指令执行、中断和使能对应的状态,所述使能状态为分别与每种运动规划对应的子状态的合集。
  9. 根据权利要求1所述的基于ROS和OROCOS的机器人控制方法,其特征在于,使用ROS的orocreate-catkin-pkg方法创建为ROS的Package,并在Package中继承OROCOS的RTT::TaskContext类,利用OROCOS的RTT::Input与RTT::Output方法定义实时输入/输出接口。
  10. 一种基于ROS和OROCOS的机器人控制系统,其特征在于,包括:
    接收单元,用于根据预先配置的通信协议接口接收控制端输入的控制指令;
    选择单元,用于根据所述控制指令选择调用机器人运动规划的控制指令触发函数;
    发送单元,用于通过所述控制指令触发函数通过第一接口调用所述算法处理程序中相应的机器人运动规划的响应函数计算控制指令数据并发送至机器人;
    其中,每个控制指令触发函数对应算法处理程序中的一种机器人运动规划的响应函数对应;所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口,用于与算法处理程序进行通信连接。
PCT/CN2017/103435 2017-04-19 2017-09-26 基于ros和orocos的机器人控制方法和系统 WO2018192177A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710257077.0A CN106965181B (zh) 2017-04-19 2017-04-19 基于ros和orocos的机器人控制方法和系统
CN201710257077.0 2017-04-19

Publications (1)

Publication Number Publication Date
WO2018192177A1 true WO2018192177A1 (zh) 2018-10-25

Family

ID=59333824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/103435 WO2018192177A1 (zh) 2017-04-19 2017-09-26 基于ros和orocos的机器人控制方法和系统

Country Status (2)

Country Link
CN (1) CN106965181B (zh)
WO (1) WO2018192177A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106965181B (zh) * 2017-04-19 2019-12-17 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141220A1 (en) * 2004-05-12 2008-06-12 Korea Institute Of Industrial Technology Robot Control Software Framework in Open Distributed Process Architecture
CN101537613A (zh) * 2009-01-21 2009-09-23 上海广茂达伙伴机器人有限公司 开放式移动机器人系统
CN104786221A (zh) * 2015-04-13 2015-07-22 浙江工业大学 一种基于以太网的开放式机械手控制方法
CN106914900A (zh) * 2017-04-19 2017-07-04 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制系统
CN106950924A (zh) * 2017-04-19 2017-07-14 广州视源电子科技股份有限公司 机器人圆弧运动控制方法和系统
CN106959694A (zh) * 2017-04-19 2017-07-18 广州视源电子科技股份有限公司 机器人直线运动控制方法和系统
CN106965181A (zh) * 2017-04-19 2017-07-21 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110024086A (ko) * 2009-09-01 2011-03-09 한국전자통신연구원 다중 운영자 다중 로봇환경에서 이동 로봇의 운용권 이양/획득 방법 및 그 시스템
CN105278940B (zh) * 2014-07-08 2018-09-25 北京航空航天大学 一种基于多核处理器架构的机器人混合系统应用框架
CN104699122B (zh) * 2015-02-12 2017-03-08 哈尔滨工业大学 一种机器人运动控制系统
CN104708517A (zh) * 2015-03-24 2015-06-17 北京理工大学 基于机器人操作系统ros的工业机器人自动磨抛系统
CN106292543A (zh) * 2015-05-14 2017-01-04 宁波舜宇光电信息有限公司 基于fpga的多轴运动控制器及其应用
CN106020208A (zh) * 2016-07-27 2016-10-12 湖南晖龙股份有限公司 一种基于ros操作系统的机器人远程控制方法和远程控制系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141220A1 (en) * 2004-05-12 2008-06-12 Korea Institute Of Industrial Technology Robot Control Software Framework in Open Distributed Process Architecture
CN101537613A (zh) * 2009-01-21 2009-09-23 上海广茂达伙伴机器人有限公司 开放式移动机器人系统
CN104786221A (zh) * 2015-04-13 2015-07-22 浙江工业大学 一种基于以太网的开放式机械手控制方法
CN106914900A (zh) * 2017-04-19 2017-07-04 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制系统
CN106950924A (zh) * 2017-04-19 2017-07-14 广州视源电子科技股份有限公司 机器人圆弧运动控制方法和系统
CN106959694A (zh) * 2017-04-19 2017-07-18 广州视源电子科技股份有限公司 机器人直线运动控制方法和系统
CN106965181A (zh) * 2017-04-19 2017-07-21 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统

Also Published As

Publication number Publication date
CN106965181A (zh) 2017-07-21
CN106965181B (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
WO2018192178A1 (zh) 机器人点到点运动控制方法和系统
CN106926243B (zh) 机器人示教运动控制方法和系统
CN106945044B (zh) 机器人暂停运动控制方法和系统
CN106950924B (zh) 机器人圆弧运动控制方法和系统
CN106914900B (zh) 基于ros和orocos的机器人控制系统
CN109807903B (zh) 一种机器人控制方法、装置、设备和介质
JP7313378B2 (ja) ルーチンの実行中のクライアントデバイス同士の間の自動アシスタントルーチンの転送
CN106945045B (zh) 基于ros和orocos的机器人控制的通信方法和系统
US20070168082A1 (en) Task-based robot control system for multi-tasking
CN106959694B (zh) 机器人直线运动控制方法和系统
WO2017177695A1 (zh) 一种数控系统中应用的开发与集成方法及系统
CN109347884B (zh) 一种实时以太网到现场总线的转换方法及装置、存储介质
JP5149258B2 (ja) ロボットコンポーネント管理装置
CN111427310A (zh) 一种工业机器人控制器运行系统
CN107030695B (zh) 机器人返回原点运动控制方法和系统
CN110838961A (zh) 一种通用航空总线消息调度系统
JP2024503168A (ja) パラレルロボットのマルチスレッドコントローラ
WO2018192177A1 (zh) 基于ros和orocos的机器人控制方法和系统
WO2012079401A1 (zh) 一种虚拟串口系统及其通信方法
CN106956265B (zh) 基于ros和orocos的机器人运动规划的执行方法和系统
CA3206547A1 (en) Software host construction method, software host construction system, software host, and simulation device
WO2021027852A1 (zh) 列车信号系统及其联动方法
CN112711527A (zh) 一种实时进程的调试方法、装置、目标机和存储介质
WO2022264424A1 (ja) 制御装置及び制御方法
US20230405811A1 (en) Extensible hardware abstraction layer for real-time robotics control framework

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: 17906309

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 26/02/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17906309

Country of ref document: EP

Kind code of ref document: A1