WO2016179029A1 - Systems and methods for control of robotic manipulation - Google Patents
Systems and methods for control of robotic manipulation Download PDFInfo
- Publication number
- WO2016179029A1 WO2016179029A1 PCT/US2016/030230 US2016030230W WO2016179029A1 WO 2016179029 A1 WO2016179029 A1 WO 2016179029A1 US 2016030230 W US2016030230 W US 2016030230W WO 2016179029 A1 WO2016179029 A1 WO 2016179029A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- arm
- control
- perception
- information
- rate
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/081—Touching devices, e.g. pressure-sensitive
- B25J13/084—Tactile sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/06—Program-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1694—Program controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39391—Visual servoing, track end effector with camera image feedback
-
- 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/42—Servomotor, servo controller kind till VSS
- G05B2219/42263—Different sample rates, multiple sample rates for the different loops
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/09—Closed loop, sensor feedback controls arm movement
Definitions
- a variety of tasks may be performed in a rail yard on one or more rail vehicle systems within the yard. For example, between missions performed by a rail vehicle, various systems, such as braking systems, of the units of a rail vehicle may be inspected and/or tested. As one example, a brake bleeding task may be performed on one or more units of a rail vehicle system. In a rail yard, there may be a large number of rail cars in a relatively confined area, resulting in a large number of inspection and/or maintenance tasks. Difficult, dangerous, and/or mundane or repetitive tasks may be performed by robots.
- closed loop control may be implemented.
- application of continuous servo control may generate an over-control problem in applications where the frequency of information acquisition used with the continuous servo control is slower than a frequency of the controller.
- a robot system e.g., a robot system configured to manipulate a target object
- a robot system includes an articulable arm, a perception acquisition unit, and at least one processor.
- the articulable arm is configured to move relative to the target object.
- the perception acquisition unit is configured to be mounted to the arm and to acquire, at an acquisition rate, perception information corresponding to a position of the arm relative to the target object.
- the at least one processor is operably coupled to the arm and the perception acquisition unit.
- the at least one processor is configured to control movement of the arm at a control rate that is at least one of faster than or unsynchronized with the acquisition rate of the perception acquisition unit, provide predicted position information representative of a predicted positioning of the arm using the perception information and control signal information, and control the arm using the perception information and the predicted position information.
- a method for controlling a robot system includes determining a target object toward which a robotic arm is to be directed at a control rate. The method also includes acquiring (via a perception acquisition unit mounted to the arm), at an acquisition rate that is at least one of slower than or unsynchronized with the control rate, perception information corresponding to a position of the arm relative to the target object.
- the method includes generating, with at least one processor operably coupled to the perception acquisition unit and the arm, predicted position information representative of a predicted positioning of the arm using the perception information and control signal information. Further, the method includes controlling, with the at least one processor, the arm to move toward the target object using the perception information and the predicted position information.
- a tangible and non-transitory computer readable medium includes one or more computer software modules.
- the one or more computer software modules are configured to direct one or more processors to determine a target object toward which a robotic arm is to be directed at a control rate, to acquire, via a perception acquisition unit mounted to the arm, at an acquisition rate that is at least one of slower than or unsynchronized with the control rate, perception information corresponding to a position of the arm relative to the target object, to provide predicted position information representative of a predicted positioning of the arm using the perception information and control signal information, and to control the arm to move toward the target object using the perception information and the predicted position information.
- Figure 1 is a schematic block diagram of a robotic system in accordance with various embodiments.
- Figure 2 is a graph depicting control operations in accordance with various embodiments.
- Figure 3 is a schematic block diagram of a robotic control system in accordance with various embodiments.
- Figure 4 is a flowchart of a method for controlling a robot in accordance with various embodiments.
- a module, unit, or system may include a hardware and/or software system that operates to perform one or more functions.
- a module, unit, or system may include a computer processor, controller, or other logic-based device that performs operations based on instructions stored on a tangible and non-transitory computer readable storage medium, such as a computer memory.
- a module, unit, or system may include a hard-wired device that performs operations based on hard-wired logic of the device.
- the modules or units shown in the attached figures may represent the hardware that operates based on software or hardwired instructions, the software that directs hardware to perform the operations, or a combination thereof.
- the hardware may include electronic circuits that include and/or are connected to one or more logic-based devices, such as microprocessors, processors, controllers, or the like. These devices may be off-the-shelf devices that are appropriately programmed or instructed to perform operations described herein from the instructions described above. Additionally or alternatively, one or more of these devices may be hard-wired with logic circuits to perform these operations.
- logic-based devices such as microprocessors, processors, controllers, or the like.
- various embodiments provide methods and systems for control of robotic systems. For example, various embodiments provide for control of a robot to approach and/or interact with a target object.
- the robotic systems are controlled to grasp a lever, such as a lever to perform a brake bleeding operation.
- perception information corresponding to a position of a target object is obtained at a rate that is slower than a control rate, and a predictive motion model is used to estimate a position of a target object between acquisitions of perception information, with the estimation result used in a stepwise closed loop control mechanism to synchronize perception and motion control, and to increase system precision.
- At least one technical effect of various embodiments includes improving control (e.g., continuous servo control) reliability, accuracy, and/or precision for robotic systems. At least one technical effect of various embodiments is the improvement of robotic control for systems having higher control rates than acquisition rates (e.g., acquisition rates for perception information from a camera or three dimensional (3D) sensor). At least one technical effect of various embodiments is the improvement of robotic control for systems having control rates that are not synchronized with acquisition rates. At least one technical effect of various embodiments is the elimination or reduction of issues related to over-control of robotic systems. At least one technical effect of various embodiments includes maintaining a highest available response rate of a system (for example, the highest rate of major modules of a control system, such as a rate of an actuation module).
- FIG. 1 is a schematic view of a robot system 100 in accordance with various embodiments.
- the robot system 100 is configured to manipulate (e.g., one or more of grasp, contact, actuate, or otherwise engage) a target object 102.
- the target object 102 may be a lever which the robot system 100 is configured to grasp and actuate.
- the target object 102 may be a brake bleed lever of a rail car.
- the depicted robot system 100 includes an articulable arm 1 10, a manipulator unit 120, a perception acquisition unit 130, and a processing unit 140.
- the processing unit 140 e.g., a control portion of the processing unit 140 acts to control the operation of the robot system 100, including the movement of the arm 110.
- the arm 110 is articulable and configured to move toward the target object 102 (e.g., based upon instructions or control signals from the processing unit 140).
- the depicted manipulator unit 120 is mounted proximate an end of the arm 1 10 and is configured to grasp the target object 102.
- the perception acquisition unit 130 of the illustrated embodiment is mounted to the arm (e.g., proximate an end of the arm 1 10 with the manipulator unit 120 attached thereto).
- the perception acquisition unit 130 is configured to acquire perception information at an acquisition rate.
- the perception information corresponds to a position of the arm 1 10 relative to the target object 102.
- the perception information may define, depict, or otherwise correspond to a difference in the positions of the manipulator unit 120 (or a portion thereof) or an end of the arm to which the manipulator unit 120 is mounted and the target object 102 (or a portion thereof).
- the distance between a grasping portion of the manipulator unit 120 and a portion of the target object 102 to be grasped may be described by the perception information.
- the processing unit 140 is operably coupled to the arm 110 (e.g., to control movement of the arm 1 10) and the perception acquisition unit 130 (e.g., to receive perception information from the perception acquisition unit 130).
- the processing unit 140 is configured to control movement of the arm 1 10 at a control rate that is at least one of faster than or unsynchronized with the acquisition rate of the perception acquisition unit 130.
- the control rate may be between 10-100 Hz, and the acquisition rate may be 1 Hz.
- the processing unit 140 is also configured to predict positioning of the arm 110 to provide predicted position information using the perception information and control signal information (e.g., information describing, depicting, or corresponding to a direction and/or velocity of a control instruction provided to the arm subsequent to a time corresponding to acquisition of perception information or other determination of a previous position of the arm 110).
- the processing unit 140 in the illustrated embodiment is also configured to control the arm using the perception information and the predicted position information.
- the predicted position information may be determined at the control rate and used for modifying subsequent control instructions.
- the processing unit 140 utilizes the predicted position information for feedback and control of the arm 110 between acquisitions of perception information, thereby utilizing predicted position information when current perception information is not available, and utilizing perception information for reliability and accuracy when current perception information is available.
- perception information may be understood as being current when a subsequent control action has not been implemented since the acquisition of the perception information.
- the robot system 100 includes a base or body 104 from which the arm 110 extends.
- the robot system 100 e.g., the body 104
- a propulsion system e.g., motor
- the depicted arm 110 includes a first portion 112 and a second portion 114 joined by a joint 116.
- the first portion 112 extends from the body 104 and is articulable with respect to the body 104, and the first portion 112 and second portion 114 are articulable with respect to each other.
- the motion of the arm 110 (e.g., the first portion 112 and the second portion 114) may be actuated via associated motors that receive control signals provided by the processing unit 140. It may be noted that only two portions are shown in the illustrated embodiment for ease of illustration; however, arms having more portions and joints may be utilized in various embodiments.
- the depicted arm 110 also includes a sensor 118 configured to sense or detect position and/or motion of the arm 110 (or portions thereof) at the joint to provide feedback to the processing unit 140.
- the manipulator unit 120 is configured to grasp the target object 102.
- the manipulator unit 120 may include one or more sensors for detecting contact with the target object 102 and/or for providing feedback during grasping of the target object 102.
- the depicted manipulator unit 120 is mounted at an end of the arm 1 10. While the depicted manipulator unit 120 is configured to grasp an item, additional or alternative tasks may be performed by the manipulator unit 120 in various embodiments.
- the arm 110 and manipulator unit 120 are configured to grasp and actuate a lever (e.g., a lever from brake bleeding of a rail car); however, in other embodiments, the arm 1 10 and manipulator unit 120 may additionally or alternatively be configured to perform other tasks, such as inspection or maintenance tasks.
- the manipulator unit 120 may include one or more arms, hinges, linkages, or other mechanisms to control the position of one or more grippers, holders, cameras, or other devices.
- the manipulator unit 120 may include one or more motors, gears, cylinders, or the like to actuate a mechanism based on control signals or commands provided by the processing unit 140.
- the manipulator unit 120 may be hydraulically, electrically, or otherwise actuated.
- the manipulator unit 120 may be configured to grasp and manipulate an item, for example to release a brake, actuate a switch, secure (or release) a latch or fastener, position and hold a part or tool for use in maintenance and inspection of a rail car, load a part or tool to be transported on to the robot system 100 (or off-load the tool or part from the robot system 100), or the like.
- the manipulator unit 120 may be used to position a device used to collect information.
- the manipulator unit 120 may position an inspection camera in a difficult to reach area (e.g., underneath a rail car), with information from the camera used for inspection or diagnostic purposes.
- the perception acquisition unit 130 is mounted to the arm 110 and configured to acquire perception information corresponding to a position of the arm 110 to the target object 102 at an acquisition rate.
- An acquisition rate may be understood as a rate at which distinct sets of imaging information (e.g., images, frames) may be acquired.
- the perception acquisition unit 130 may acquire images or imaging information at a rate of 1 frame per second, or 1 Hz.
- the perception acquisition unit 130 is mounted to the arm 1 10 proximate the end of the arm 1 10 to which the manipulator unit 120 is joined (e.g., at a "wrist" position).
- the depicted perception acquisition unit 130 acquires perception information regarding location of the target object 102 relative to a position of the arm 110 (e.g., a distance from a portion of the target object 102 to be grasped to the manipulator unit 120 mounted on the arm 110).
- the perception acquisition unit 110 may include one or more of a camera, stereo camera, or laser sensor.
- the depicted processing unit 140 is operably coupled to the arm 110 and the perception acquisition unit 130.
- the processing unit 140 may provide control signals to and receive feedback signals from the arm 110, and may receive perception information from the perception acquisition unit 130.
- the processing unit 140 is disposed onboard the robot system 100 (e.g., on-board the base or body 104); however, in some embodiments the processing unit 140 or a portion thereof may be located off-board. For example, all or a portion of the robot system 100 may be controlled wirelessly by a remote controller.
- the processing unit 140 may also be operably coupled to an input unit (not shown) configured to allow an operator to provide information to the robot system 100, for example to identify or describe a task to be performed.
- a control rate may be understood, for example, as a rate at which distinct control signals or commands may be determined, provided, and executed.
- the depicted processing unit 140 is also configured to predict or estimate positioning of the arm 110 to provide predicted position information using the perception information and control signal information.
- the predicted or estimated position of the arm 110 at a given (e.g., current) time may be determined based on a previous position of the arm at an initial time, velocity information corresponding to a velocity of the arm between the initial time and the current time, and the amount of time elapsed between the initial time and the current time.
- the arm 1 10 and/or manipulator unit 120
- the arm 1 10 may be at a known position relative to the target object 102 (e.g., based on a known starting position or via use of perception information obtained via the perception acquisition unit 130).
- the arm 1 10 may be provided with a control signal causing the arm 110 to move.
- the control signal may specify velocity information, such as both a magnitude and direction of velocity (e.g., a command specifying for one portion of the arm to move at a specified speed in a specified direction).
- the velocity information may also include an acceleration (or rate of change of velocity over time) for a movement to be performed.
- the depicted processing unit 140 is also configured to control the arm 1 10 using the perception information and the predicted position information.
- the arm 110 may be controlled using perception information at various points during performance of a task, while using the predicted position information at other points during performance of the task (e.g., at points at which predicted position information is available but current or reliable perception information is not available). Accordingly, various embodiments provide for a faster rate of control or adjustment than otherwise available for a given acquisition rate, while avoiding or minimizing over-control issues.
- the processing unit 140 is configured to control the arm using the predicted position information for a first interval corresponding to the control rate, and to control the arm using the perception information for a second interval corresponding to the acquisition rate.
- a given interval may be the inverse of the corresponding rate.
- control using a type of information for an interval does not necessarily mean that the type of information is used over the entire interval.
- the interval may be understood as the time elapsed for which a control action based on the particular type of information may be changed.
- predicted position information may be used during a portion of an acquisition interval where current perception information is not available.
- use of perception information may be given preference over use of predicted information.
- the processing unit 140 may determine predicted or estimated position information only when current perception information is not available.
- Figure 2 illustrates a graph 200 depicting position of an arm (e.g., a portion thereof) over time.
- the graph 200 is only for a single positional dimension for ease of illustration. It may be noted that movement in 2 or 3 dimensions may be employed, perceived or detected, and predicted in various embodiments.
- the graph 200 depicts predicted positions 212, 214, 216, and 218, each spaced at a control interval 210 from an immediately preceding position (either perception or predicted), as well as perception positions 222 and 224 spaced apart at a perception interval of 220. With the control rate faster than the perception rate, the control interval 210 is shorter than the perception interval 220.
- the arm is being controlled to move toward a desired position 202.
- the desired position is indicated by a square
- positions identified by perception information are indicated by circles
- position estimated or predicted using control signal information are indicated by X's.
- the arm starts at a position 222 at an initial time Tl that is determined using information from a perception acquisition unit. As the position 222 is below the desired position 202, a control signal is provided to the arm to actuate the arm in a positive direction and toward the desired position 202. Once the arm starts moving, the previously perceived position 222 is no longer current. Because the control rate is faster than the acquisition rate, a control instruction may be provided or modified before updated acquisition information is available.
- a predicted position 212 is determined at time T2.
- the predicted position 212 is based on the position 222 modified by the velocity called for by the control signal provided based on the position 222 over the elapsed time between Tl and T2.
- a control signal is next provided to the arm to actuate the arm in a positive direction and toward the desired position 202.
- current acquisition information is still not available, so a predicted position 214 is determined at time T3, and used to control the arm between times T3 and T4.
- the predicted position 214 is based on the position 212 modified by the velocity called for by the control signal provided based on the position 212 over the elapsed time between T2 and T3. As the position 214 is still below the desired position 202, another control signal is next provided to the arm to actuate the arm in a positive direction and toward the desired position 202.
- a predicted position 216 is determined at time T4, and used to control the arm between times T4 and T5.
- the predicted position 216 is based on the predicted position 214 (at T3) modified by the velocity called for by the control signal provided based on the position 214 over the elapsed time between T3 and T4.
- another control signal is next provided to the arm to actuate the arm in a positive direction and toward the desired position 202.
- the processing unit 140 is configured to control the arm over a series of plural first intervals (e.g., control interval 210) during at least one second interval (e.g., perception interval 220).
- control interval 2 e.g., control interval 210
- perception interval 220 e.g., perception interval 220
- the control rate or predictive rate
- the perception rate or acquisition rate
- 3 predicted positions are determined or estimated and used to control the arm before a new, updated, or current perceived position is available.
- other rates or relative durations of intervals may be employed in various embodiments.
- the depicted processing unit 140 includes a control module 142, a perception module 144, a prediction module 146, and a memory 148. It may be noted that the particular units or modules shown in Figure 1 are meant by way of example, and that other arrangements of units or sub-units of the processing unit 140 may be employed in various embodiments, and that other types, numbers, or combinations of modules may be employed in alternate embodiments, and/or various aspects of modules described herein may be utilized in connection with different modules additionally or alternatively. Generally, the various aspects of the processing unit 140 act individually or cooperatively with other aspects to perform one or more aspects of the methods, steps, or processes discussed herein.
- the processing unit 140 may include processing circuitry configured to perform one or more tasks, functions, or steps discussed herein. It may be noted that "processing unit” as used herein is not intended to necessarily be limited to a single processor or computer. For example, the processing unit 140 may include multiple processors and/or computers, which may be integrated in a common housing or unit, or which may distributed among various units or housings.
- the depicted control module 142 uses inputs from the perception module 144 and the prediction module 146 to control movement of the arm 1 10 based on a location of arm 1 10 relative to the target object 102 (e.g., based on a difference between a perceived distance between the arm 110 and the target object 102 when perception information is available, and based on a predicted difference when perception information is not available).
- the control module 142 is configured to provide control signals to the arm 110 (e.g., to one or more motors or other actuators associated with one or more portions of the arm 110), and also to control the manipulator unit 120 once the target object 102 has been reached by the manipulator unit 130. Additionally, the depicted control module 142 also provides, to the prediction module 146, control signal information describing or corresponding to control signals provided to the arm 110, for use by the prediction module 146 in estimating position when perception information is not available.
- the depicted perception module 144 is configured to acquire acquisition information from the perception acquisition unit 130, and to determine a location of the arm 110 (e.g., a position of a portion of the arm 1 10 or component associated therewith such as themanipulator unit 120 relative to the target object 102).
- the perception module 144 in the illustrated embodiment provides information to the control module corresponding to the location of the arm 110 determined by the perception module 144 using information from the perception acquisition unit 130.
- the depicted prediction module 146 is configured to predict positioning of the arm 110 to provide predicted position information using perception information from the perception module 144 (and/or perception acquisition unit 130) and control signal information from the control module 142. Generally, in various embodiments, the prediction module 146 uses a previous position and corresponding control signal information (e.g., velocity and direction of the arm resulting from a control signal over elapsed time since implementation of control signal) to predict a subsequent position.
- control signal information e.g., velocity and direction of the arm resulting from a control signal over elapsed time since implementation of control signal
- the prediction module 146 may modify a previously determined position (either determined using perception information or from a previous prediction) by an amount corresponding to a velocity of the arm 1 10 (or portion thereof) corresponding to a control signal (e.g., a magnitude and direction of velocity) provided subsequent to the previously determined position.
- a control signal e.g., a magnitude and direction of velocity
- acceleration or change in velocity may be present and accounted for.
- the memory 148 may include one or more tangible and non-transitory computer readable storage media.
- the memory 148 may be used to store information corresponding to a task to be performed, a target object, control information (e.g., current and/or recently used control signals and/or movements corresponding thereto) used to predict position, or the like.
- control information e.g., current and/or recently used control signals and/or movements corresponding thereto
- the process flows and/or flowcharts discussed herein may represent one or more sets of instructions that are stored in the memory 148 for direction of operations of the robot system 100.
- the robot system 100 may include additional aspects not expressly depicted in Figure 1.
- the robot system 100 may also include a propulsion unit configured to move the robot system 100 between different locations, and/or a communication unit configured to allow the robot system 100 to communicate with a remote user, a central scheduling or dispatching system, or other robot systems, among others.
- FIG. 3 is a schematic block diagram of a robotic control system 300 in accordance with various embodiments.
- the depicted robotic control system 300 is configured for use with an environment 350.
- the environment 350 may include one or more target objects or locations corresponding to one or more tasks to be performed by a robot system controlled by the robotic control system 300.
- the robotic control system 300 of the illustrated embodiment includes a user interface 302, a task planning block 304, a communication block 306, a motion planning block 308, a target position estimation block 310, a position controller 312, a velocity controller 314, a robot sensor 316, a dynamic planning block 318, an actuation block 319, a robotic manipulator 320, a perceptor block 322, and an environmental modeling block 324.
- Aspects of the robotic control system 300 may be employed with the robot system 100 depicted in Figure 1 (e.g., various blocks of the of the control system 300 may be employed as part of or in conjunction with the processing unit 140).
- the core components of the robotic control system 300 are planning modules and controllers. Given a task received either via the user interface 302, or the communication block 306 which communicably couples the robotic control system 300 with one or more other systems, the robotic control system 300 may plan tasks by scheduling task primitives to perform the designated task.
- each scheduled task primitive may trigger the motion planning block 308 to generate a motion trajectory, which may include descriptions of position, velocity, and acceleration values of all the via-points, and may incorporate environmental modeling results.
- a dual closed loop control system is used to drive the robotic manipulator 320 through all of the via-points with desired dynamic motions.
- the dual closed loop control system may include a position loop and a velocity loop.
- the position controller 312 in the illustrated embodiment is closed-loop-based, with feedback information obtained from both the robot being controlled and the environment (e.g., the task space).
- the depicted velocity controller 314 is also closed-loop-based, but does not receive information from environmental perceptors.
- the velocity controller 314 may be considered as an "open loop" system, because the feedback information is not obtained from the task space.
- Computed motion information is sent to the dynamic planning block 318 to generate joint torques to drive the motion of the robotic manipulator.
- the actuation block 319 may provide necessary input for the robotic manipulator 320 based on computing results from the dynamic planning block 318.
- Environmental information is sent to the planning modules for higher level one-time planning. Task validation may also be performed at the task planning block 304 using environmental information.
- Task validation may also be performed at the task planning block 304 using environmental information.
- the robotic manipulator 320 may include one or more articulated arms.
- the robotic manipulator may utilize a robot such as a SIA20F of Yaskawa Motoman Robotics.
- the SIA20F is a 7-axis single-arm robot for automating operations such as assembly, inspection, machine tending, and handling.
- a 15 kilogram pay load may be handled, with the robotic manipulator 320 mounted on a mobile base for mobile manipulation.
- a reaching range of at least 800 millimeters with a repeatable error of less than +/- 2 millimeters may be required for performing a brake bleeding task.
- the SIA20F may be utilized for such an application, as it has 7 degrees of freedom, a specified pay load of 20 kilograms, a 910 millimeter maximum reach with +/- 0.1 millimeter repeatability, and a relatively light weight of 100 kilograms. It may be noted that additional or alternative manipulators may be employed in various embodiments.
- the robot sensor 316 may include one or more encoders disposed on a joint (or joints) of a robot arm.
- a rotary/linear encoder may be used to convert rotary /linear position to an analog or digital electronic signal.
- the current kinematic status of the robotic manipulator 320 may be computed, including position, velocity, and acceleration.
- absolute encoders may be utilized.
- a force-sensing resistor may be utilized for detection of forces and torques.
- a force-sensing resistor may include a material whose resistance changes when a force or pressure is applied, and corresponding electrical signals are generated.
- one more ATI Gamma F/T sensors may be employed.
- the ATI Gamma F/T sensor is a 6-axis sensor with high precision, with a range of measured forces and torques that satisfy the requirement for a brake bleeding application.
- the ATI Gamma F/T sensor may have a maximum force of 130 newton (N) with resolution of 1/40 N in the X and Y directions, a maximum force of 400 N with resolution of 1/20 N in the Z direction, and a maximum torque in the X, Y, and Z directions of 10 N-meter with 1/800 N-meter resolution.
- the perceptor block 322 may be generally similar in certain respects to the perception acquisition unit 120 discussed herein.
- the perceptor block 322 may include, for example, a three-dimensional range sensor that returns range values that measure distances between the sensor and one or more points detected in the environment 350 (e.g., one or more target objects or portions thereof).
- the perceptor block 322 may include a stereo camera that detects a target object (e.g., brake lever) in the environment 350 and estimates a 6-dimensional pose of the target object.
- an end-effector may be employed for error tolerance.
- errors may be generated from motion control and/or object detection.
- an end-effector may be configured to tolerate errors of 5 centimeters or more on all axes.
- the depicted task planning block 304 is configured to receive a task as an input (e.g., from the user interface 302 and/or the communication block 306) and to provide task primitives as an output.
- Task planning as used herein, may refer to scheduling a sequence or multiple parallel sequences of tasks for a robot to perform.
- the task planning block 304 may utilize modern control architecture, such as Task-Based Reactive Control (TBRC), may be used to formulate a control problem as a constrained minimization of task errors, amd may efficiently exploit the redundancy of platforms provided in various embodiments.
- TBRC Task-Based Reactive Control
- inverse TBRC and Cost Optimization may be utilized to plan the task in order to achieve certain task targets, if the goal of the tasks is considered, to achieve a final state of a control algorithm.
- the planning for a typical brake bleeding task is a typical single task-based planning problem with several requirements.
- the environmental modeling block 324 may employ point cloud-based techniques.
- environmental modeling may refer to describing a working space of a robot. Different modeling methods may be employed depending on the various requirements of different tasks. Generally, environmental modeling is performed to help robots understand the environment in a way related to a task to be performed.
- the environmental modeling block 324 in various embodiments receives sensory perception information as an input and provides target position as an output. Due to environmental limitations, high precision in the perception aspects of various embodiments is generally desirable.
- a point cloud-based method may be utilized to find the location of a target point, while other methods may be employed to segment a target object.
- Motion trajectory planning (e.g., performed by the motion planning block 308) in various embodiments may utilize an artificial potential field.
- Motion traj ectory planning may be utilized to determine a smooth and collision-free motion trajectory in the working psace for a robot to perform one or more tasks.
- a generated motion trajectory may be represented, for example, as a sequence of via-points with temporal information and motion information, including position, velocity, and acceleration.
- the motion planning block 308 may receive target position(s) and obstacle position(s) as an input, and provide a desired position of a next timing step as an output.
- a robot's configuration may be treated as appoint in an artificial potential field that combines attraction to the goal, and repulsion from obstacles.
- the resulting traj ectory is output as the path.
- An advantage of this approach is that the trajectory may be produced with little computation. However, it may be noted that the trajectory may potentially become trapped in local minima of the potential field and fail to find a path. It may be noted that in a closed loop approach, the target position and the obstacles are updated continuously.
- the target position estimation block 310 in various embodiments may utilize an extended Kalman filter. It may be noted that, since the frequency of the perception information acquisition in various embodiments is significantly slower than the control frequency, the target position with respect to the robot frame may be estimated in various embodiments using a motion model. Then, in each loop, the estimated target position may be used as a desired reference input for the control algorithm.
- the target position estimation block 310 may receive motion of the manipulator and estimated target position of the last detection result from the perceptor block 322 as an input, and output an estimated target position. Kalman filtering uses a series of measurements observed over time, containing noise (random variations) and other inaccuracies, and produces estimates of unknown variables that tend to be more precise than those based on a single measurement alone.
- a Kalman filter may operate recursively on streams of noisy input data to produce a statistically optimal estimate of the underlying system state.
- the depicted position controller 312 uses a control algorithm to minimize the error between the desired position and the actual positions of the via-points.
- the position controller 312 receives a desired position at a next timing step as an input and provides a driving step as an output.
- a proportional-integral-derivative (PID) controller may be employed.
- a PID controller is a control loop feedback mechanism widely used in industrial control systems.
- a PID controller calculates an error value as the difference between a measured process variable and desired setpoint. The controller attempts to minimize the error by adjusting the process through use of a manipulated variable.
- the depicted velocity controller 314 may include two parts in some embodiments.
- the first part is an outer loop that may be developed by users, and the second part is an on-board velocity controller.
- the user developed velocity controller takes the actual position and the updated target position as an input to compute an error, and then generates a compensation signal for the on-board velocity controller, which enables the robot to control its velocity to reduce the computed error.
- the input to the first part may be a desired velocity
- the output from the first part may be a velocity compensation signal.
- the input to the second part may be the velocity compensation signal, and the output from the second part may be a velocity driving signal.
- the dynamic planning block 318 may utilize hybrid motion and force planning.
- dynamic planning involves the conversion of motions into torques on joins using a robotics dynamics model.
- Use of dynamic planning provides more robust, precise, and flexible control of a robotic manipulator.
- the depicted dynamic planning block 318 may receive desired via-points with position, velocity, and acceleration as an input, and provide torques to be provided on joints of a robotic arm as an output.
- the forces are defined and treated separately in the joint space and the task space. This approach plans the motion and force simultaneously by taking the desired motion and forces both in task space and joint space into consideration. The outcome of the planning helps provide optimized result in both the task and joint space.
- the communication block 306 is configured to receive information from other components and to send out status information to other components through one or more communication platforms and/or protocols.
- wireless communication based on the Transmission Control Protocol (TCP) may be implemented to realize mobile manipulation and help ensure robust and stable data transmission.
- the user interface 302 may provide a graphical user interface provided to one or more users.
- a user interface may be utilized to provide a method for users to observe the status information of the robot and/or control the robot using various controls or commands.
- GUI graphical user interface
- a graphical user interface may be used to provide a visual way for human user to observe robot status and use buttons (or other input features) to control a robot.
- Figure 4 provides a flowchart of a method 400 for controlling a robot, for example a robot for use in a brake bleeding task.
- the method 400 may employ structures or aspects of various embodiments (e.g., systems and/or methods) discussed herein.
- certain steps may be omitted or added, certain steps may be combined, certain steps may be performed simultaneously, certain steps may be performed concurrently, certain steps may be split into multiple steps, certain steps may be performed in a different order, or certain steps or series of steps may be re-performed in an iterative fashion.
- portions, aspects, and/or variations of the method 400 may be able to be used as one or more algorithms to direct hardware to perform operations described herein.
- a task is determined.
- a task may be entered at a user interface, or otherwise obtained by a system for controlling a robot (e.g., a robot having an articulated arm).
- the task may be a brake bleeding task in which a robot is to grasp and actuate a lever.
- one or more target objects e.g., a lever to be actuated or a portion thereof
- a target object toward which a robotic arm is to be directed is determined.
- the robotic arm is controlled at a control rate as it is directed toward the target object.
- the target object for example, may be a lever that is to be grasped and actuated as part of a brake bleeding task.
- the task is planned. For example, motions and/or forces (e.g., positions, velocities, accelerations, and/or torques on one or more joints at various points during task performance) are planned to achieve the task. As discussed herein, in various embodiments, hybrid motion and force planning may be employed, providing torques on joints of a robotic arm based on desired via-points with position, velocity, and acceleration.
- perception information is acquired. Also, a position may be determined based on the acquired perception information. In various embodiments, the perception information corresponds to a position of the arm relative to the target object.
- the perception information may be acquired via a perception acquisition unit mounted to arm.
- the perception acquisition unit for example, may include one or more of a camera, a stereo camera, and/or a 3-dimensional sensor. In the illustrated embodiment, the perception information is acquired at an acquisition rate that is lower than the control rate at which the robotic arm is controlled.
- the robotic system is controlled based on perception information (e.g., based on a position determined using the perception information acquired at 408).
- the arm is controlled to move closer to the target object.
- the arm may be controlled based on a difference between the position of the arm as determined using perception information from the perception acquisition unit and a desired position corresponding to the target object.
- the method 400 proceeds to 414.
- the task is performed (e.g., the lever is grasped and actuated). If the target location has not been achieved, the method 400 proceeds to 416.
- positioning of the arm is predicted to provide predicted position information.
- the positioning of the arm in the illustrated embodiment may be predicted or estimated using the perception information (e.g., information obtained at 408) and control signal information.
- the position perceived at 408 may be modified by a motion called for by a control signal provided at 410 to control the arm to determine the estimated position.
- a predicted position of the arm may be determined at a current time using a previous position of the arm at an initial time, velocity information corresponding to a velocity of the arm between the initial time and the current time (as well as acceleration information if the velocity is not constant, as indicated below), and an amount of time elapsed between the initial time and the current time.
- velocity information may also include information corresponding to a change of velocity over time or acceleration information.
- at least one cycle of using prediction information may be employed before using perception information again, as a control event will occur at least once before current perception information is again available.
- a current predicted position may also be determined or estimated using the most recent previous predicted position, if the most recent previous predicted position is more recent than available perception information.
- the arm may be controlled to move toward the target object using predicted position information for a first interval corresponding to the control rate, and using the perception information for a second interval corresponding to the acquisition rate. For example, the arm may be controlled over a series of first intervals (using prediction information) during at least one second interval (or time elapsed between availability of perception information).
- the robotic system is controlled based on predicted position information (e.g., based on a position determined or estimated at 416).
- the arm is controlled to move closer to the target object.
- the arm may be controlled based on a difference between the position of the arm as estimated or predicted and a desired position corresponding to the target object.
- the method 400 proceeds to 422.
- the task is performed (e.g., the lever is grasped and actuated).
- the method 400 proceeds to 424.
- a structure, limitation, or element that is “configured to” perform a task or operation is particularly structurally formed, constructed, or adapted in a manner corresponding to the task or operation.
- an object that is merely capable of being modified to perform the task or operation is not “configured to” perform the task or operation as used herein.
- the use of "configured to” as used herein denotes structural adaptations or characteristics, and denotes structural requirements of any structure, limitation, or element that is described as being “configured to” perform the task or operation.
- a processing unit, processor, or computer that is "configured to" perform a task or operation may be understood as being particularly structured to perform the task or operation (e.g., having one or more programs or instructions stored thereon or used in conjunction therewith tailored or intended to perform the task or operation, and/or having an arrangement of processing circuitry tailored or intended to perform the task or operation).
- a general purpose computer which may become “configured to” perform the task or operation if appropriately programmed) is not “configured to” perform a task or operation unless or until specifically programmed or structurally modified to perform the task or operation.
- the various embodiments may be implemented in hardware, software or a combination thereof.
- the various embodiments and/or components also may be implemented as part of one or more computers or processors.
- the computer or processor may include a computing device, an input device, a display unit and an interface, for example, for accessing the Internet.
- the computer or processor may include a microprocessor.
- the microprocessor may be connected to a communication bus.
- the computer or processor may also include a memory.
- the memory may include Random Access Memory (RAM) and Read Only Memory (ROM).
- the computer or processor further may include a storage device, which may be a hard disk drive or a removable storage drive such as a solid state drive, optic drive, and the like.
- the storage device may also be other similar means for loading computer programs or other instructions into the computer or processor.
- the term "computer,” “controller,” and “module” may each include any processor-based or microprocessor-based system including systems using microcontrollers, reduced instruction set computers (RISC), application specific integrated circuits (ASICs), logic circuits, GPUs, FPGAs, and any other circuit or processor capable of executing the functions described herein.
- RISC reduced instruction set computers
- ASICs application specific integrated circuits
- GPUs GPUs
- FPGAs field-programmable gate arrays
- the computer, module, or processor executes a set of instructions that are stored in one or more storage elements, in order to process input data.
- the storage elements may also store data or other information as desired or needed.
- the storage element may be in the form of an information source or a physical memory element within a processing machine.
- the set of instructions may include various commands that instruct the computer, module, or processor as a processing machine to perform specific operations such as the methods and processes of the various embodiments described and/or illustrated herein.
- the set of instructions may be in the form of a software program.
- the software may be in various forms such as system software or application software and which may be embodied as a tangible and non-transitory computer readable medium. Further, the software may be in the form of a collection of separate programs or modules, a program module within a larger program or a portion of a program module.
- the software also may include modular programming in the form of object-oriented programming.
- the processing of input data by the processing machine may be in response to operator commands, or in response to results of previous processing, or in response to a request made by another processing machine.
- the terms "software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory.
- RAM memory random access memory
- ROM memory read-only memory
- EPROM memory erasable programmable read-only memory
- EEPROM memory electrically erasable programmable read-only memory
- NVRAM non-volatile RAM
- the individual components of the various embodiments may be virtualized and hosted by a cloud type computational environment, for example to allow for dynamic allocation of computational power, without requiring the user concerning the location, configuration, and/or specific hardware of the computer system.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112016002013.9T DE112016002013B4 (en) | 2015-05-01 | 2016-04-29 | Systems and methods for controlling robot manipulation |
| JP2017555760A JP2018514403A (en) | 2015-05-01 | 2016-04-29 | System and method for controlling robot operation |
| CN201680038872.4A CN107921626B (en) | 2015-05-01 | 2016-04-29 | System and method for controlling robotic manipulation |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/702,014 | 2015-05-01 | ||
| US14/702,014 US9889566B2 (en) | 2015-05-01 | 2015-05-01 | Systems and methods for control of robotic manipulation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016179029A1 true WO2016179029A1 (en) | 2016-11-10 |
Family
ID=56069228
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2016/030230 Ceased WO2016179029A1 (en) | 2015-05-01 | 2016-04-29 | Systems and methods for control of robotic manipulation |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US9889566B2 (en) |
| JP (1) | JP2018514403A (en) |
| CN (1) | CN107921626B (en) |
| DE (1) | DE112016002013B4 (en) |
| WO (1) | WO2016179029A1 (en) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102015212171B3 (en) * | 2015-06-30 | 2016-06-30 | Kuka Roboter Gmbh | Method for controlling a manipulator system |
| KR101703587B1 (en) * | 2015-08-03 | 2017-02-07 | 현대자동차 주식회사 | apparatus and method for inspecting operation of electric goods in vehicle |
| US9902071B2 (en) | 2015-12-18 | 2018-02-27 | General Electric Company | Control system and method for brake bleeding |
| US11645444B2 (en) * | 2016-05-10 | 2023-05-09 | Trustees Of Tufts College | Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems |
| JP7061119B2 (en) | 2016-07-15 | 2022-04-27 | ファストブリック・アイピー・プロプライエタリー・リミテッド | Brick / block laying machine built into the vehicle |
| US10427305B2 (en) * | 2016-07-21 | 2019-10-01 | Autodesk, Inc. | Robotic camera control via motion capture |
| EP3282327A1 (en) * | 2016-08-12 | 2018-02-14 | KUBO Robotics ApS | Programmable robot for educational purposes |
| GB2554363B (en) | 2016-09-21 | 2021-12-08 | Cmr Surgical Ltd | User interface device |
| US10955838B2 (en) * | 2016-09-26 | 2021-03-23 | Dji Technology, Inc. | System and method for movable object control |
| DE102017005194C5 (en) * | 2017-05-31 | 2022-05-19 | Kuka Deutschland Gmbh | Controlling a robot assembly |
| JP7003454B2 (en) * | 2017-06-15 | 2022-01-20 | オムロン株式会社 | Control device, position control system, position control method, and position control program |
| CN111095355B (en) | 2017-07-05 | 2023-10-20 | 快砖知识产权私人有限公司 | Real-time location and orientation tracker |
| US11958193B2 (en) * | 2017-08-17 | 2024-04-16 | Fastbrick Ip Pty Ltd | Communication system for an interaction system |
| AU2018317941B2 (en) | 2017-08-17 | 2023-11-09 | Fastbrick Ip Pty Ltd | Laser tracker with improved roll angle measurement |
| WO2019079598A1 (en) | 2017-10-18 | 2019-04-25 | Brown University | Probabilistic object models for robust, repeatable pick-and-place |
| JP6669713B2 (en) * | 2017-11-28 | 2020-03-18 | ファナック株式会社 | Robots and robot systems |
| WO2020014737A1 (en) | 2018-07-16 | 2020-01-23 | Fastbrick Ip Pty Ltd | Backup tracking for an interaction system |
| US12311546B2 (en) | 2018-07-16 | 2025-05-27 | Fastbrick Ip Pty Ltd | Active damping system |
| JP7092307B2 (en) | 2019-02-01 | 2022-06-28 | 三菱電機株式会社 | Work discrimination device and work discrimination method |
| JP7059968B2 (en) * | 2019-03-01 | 2022-04-26 | オムロン株式会社 | Control device and alignment device |
| CN109947119B (en) * | 2019-04-23 | 2021-06-29 | 东北大学 | An autonomous tracking method for mobile robots based on multi-sensor fusion |
| JP7395877B2 (en) * | 2019-08-26 | 2023-12-12 | セイコーエプソン株式会社 | Robot system and control method |
| US11389957B2 (en) | 2019-09-30 | 2022-07-19 | Mitsubishi Electric Research Laboratories, Inc. | System and design of derivative-free model learning for robotic systems |
| CN111203849A (en) * | 2020-01-08 | 2020-05-29 | 浙江大学 | A mobile robot grasping operation system and control method |
| US11795637B2 (en) * | 2020-03-04 | 2023-10-24 | Pioneer Industrial Systems, Llc | Robotic maintenance vehicle and modules |
| CN113352314A (en) * | 2020-03-06 | 2021-09-07 | 思特威(上海)电子科技股份有限公司 | Robot motion control system and method based on closed-loop feedback |
| US12220821B2 (en) * | 2020-09-14 | 2025-02-11 | Mitsubishi Electric Corporation | Robot control device |
| CN116096533B (en) * | 2020-09-18 | 2025-10-28 | Abb瑞士股份有限公司 | Method and apparatus for adjusting a robotic system |
| WO2022081577A1 (en) * | 2020-10-12 | 2022-04-21 | The Johns Hopkins University | Robot watchdog |
| DE102020129743A1 (en) | 2020-11-11 | 2022-05-12 | Carl Zeiss Ag | DEVICE AND METHOD FOR MEASUREMENT, INSPECTION OR PROCESSING OF OBJECTS |
| CN112549009B (en) * | 2020-11-27 | 2022-02-08 | 合肥艾创微电子科技有限公司 | Bionic waveform software robot based on programmable intelligent material |
| CN113001547B (en) * | 2021-03-10 | 2022-07-26 | 西北工业大学 | Robot teleoperation control method based on mixed reality |
| KR20230008302A (en) | 2021-07-06 | 2023-01-16 | 현대자동차주식회사 | System for evaluating built-in video recoding device of vehicle |
| CN114061603B (en) * | 2021-09-30 | 2024-08-16 | 浙江大华技术股份有限公司 | Path planning method, path planning device, electronic equipment and storage medium |
| CN115453916B (en) * | 2022-08-24 | 2024-10-15 | 三一重机有限公司 | Control method, device, equipment and working machine |
| CN121038912A (en) * | 2023-04-27 | 2025-11-28 | 斯多里机械有限责任公司 | Automation kits and tool changers for can forming machines |
| CN117901124B (en) * | 2024-03-20 | 2024-05-31 | 沈阳奇辉机器人应用技术有限公司 | Method and system for intelligently identifying car coupler of car dumper based on unhooking robot |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120158179A1 (en) * | 2010-12-20 | 2012-06-21 | Kabushiki Kaisha Toshiba | Robot control apparatus |
| US20140074291A1 (en) * | 2011-05-12 | 2014-03-13 | Ihi Corporation | Motion prediction control device and method |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4265088B2 (en) | 2000-07-10 | 2009-05-20 | 株式会社豊田中央研究所 | Robot apparatus and control method thereof |
| GB0113627D0 (en) | 2001-06-05 | 2001-07-25 | Univ Stirling | Controller and method of controlling an apparatus |
| GB0309662D0 (en) * | 2003-04-28 | 2003-06-04 | Crampton Stephen | Robot CMM arm |
| JP4504228B2 (en) * | 2005-03-01 | 2010-07-14 | 川崎重工業株式会社 | Robot control apparatus and control method |
| JP2007011978A (en) * | 2005-07-04 | 2007-01-18 | Toyota Motor Corp | Robot motion control device |
| US8676379B2 (en) | 2006-07-04 | 2014-03-18 | Panasonic Corporation | Device and method for controlling robot arm, robot, and robot arm control program |
| US8301318B2 (en) | 2008-03-05 | 2012-10-30 | Robotic Research Llc | Robotic vehicle remote control system having a virtual operator environment |
| US20100256814A1 (en) | 2009-04-07 | 2010-10-07 | Smith Joshua R | System and methods for robotic manipulation |
| CN101587329A (en) * | 2009-06-18 | 2009-11-25 | 北京理工大学 | Robot predicting method and system |
| CN101726296B (en) | 2009-12-22 | 2013-10-09 | 哈尔滨工业大学 | Vision measurement, path planning and GNC integrated simulation system for space robot |
| JP4850956B2 (en) | 2010-02-19 | 2012-01-11 | ファナック株式会社 | Robot with learning control function |
| JP5733518B2 (en) * | 2011-05-25 | 2015-06-10 | 株式会社Ihi | Motion prediction control apparatus and method |
| JP5679121B2 (en) * | 2011-05-25 | 2015-03-04 | 株式会社Ihi | Robot motion prediction control method and apparatus |
| US9279661B2 (en) * | 2011-07-08 | 2016-03-08 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
| US20130041508A1 (en) | 2011-08-12 | 2013-02-14 | Georgia Tech Research Corporation | Systems and methods for operating robots using visual servoing |
| WO2013080500A1 (en) * | 2011-11-30 | 2013-06-06 | パナソニック株式会社 | Robot teaching device, robot device, control method for robot teaching device, and control program for robot teaching device |
| US9085080B2 (en) | 2012-12-06 | 2015-07-21 | International Business Machines Corp. | Human augmentation of robotic work |
| DE102012112466B4 (en) | 2012-12-18 | 2023-07-06 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Device for compensating body movements |
| JP2014140941A (en) * | 2013-01-25 | 2014-08-07 | Seiko Epson Corp | Robot control system, robot, robot control method, and program |
| CN104552291B (en) * | 2013-10-10 | 2018-05-18 | 精工爱普生株式会社 | Robot control device, robot system, robot and robot control method |
| JP6322949B2 (en) | 2013-10-10 | 2018-05-16 | セイコーエプソン株式会社 | Robot control apparatus, robot system, robot, robot control method, and robot control program |
-
2015
- 2015-05-01 US US14/702,014 patent/US9889566B2/en active Active
-
2016
- 2016-04-29 WO PCT/US2016/030230 patent/WO2016179029A1/en not_active Ceased
- 2016-04-29 CN CN201680038872.4A patent/CN107921626B/en active Active
- 2016-04-29 JP JP2017555760A patent/JP2018514403A/en active Pending
- 2016-04-29 DE DE112016002013.9T patent/DE112016002013B4/en active Active
-
2018
- 2018-01-31 US US15/885,289 patent/US10252424B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120158179A1 (en) * | 2010-12-20 | 2012-06-21 | Kabushiki Kaisha Toshiba | Robot control apparatus |
| US20140074291A1 (en) * | 2011-05-12 | 2014-03-13 | Ihi Corporation | Motion prediction control device and method |
Non-Patent Citations (3)
| Title |
|---|
| HASHIMOTO K ET AL: "VISUAL SERVOING WITH NONLINEAR OBSERVER", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION. NAGOYA,JAPAN, MAY 21 - 27, 1995; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION], NEW YORK, IEEE, US, 21 May 1995 (1995-05-21), pages 484 - 489, XP000657227, ISBN: 978-0-7803-1966-0, DOI: 10.1109/ROBOT.1995.525330 * |
| HUI XIE ET AL: "Visual servoing with modified Smith predictor for micromanipulation tasks", MECHATRONICS AND AUTOMATION, 2005 IEEE INTERNATIONAL CONFERENCE NIAGARA FALLS, ON, CANADA JULY 29-AUG 1, 2005, PISCATAWAY, NJ, USA,IEEE, vol. 1, 29 July 2005 (2005-07-29), pages 71 - 76, XP010913313, ISBN: 978-0-7803-9044-7 * |
| JIUNDE WU ET AL: "An intersample predictor control scheme based on multirate GPC for high-speed tracking tasks", THE 29TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, 2003. IECON '03, IEEE SERVICE CENTER, PISCATAWAY, NJ, vol. 2, 2 November 2003 (2003-11-02), pages 1355 - 1360, XP010691087, ISBN: 978-0-7803-7906-0, DOI: 10.1109/IECON.2003.1280255 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018514403A (en) | 2018-06-07 |
| DE112016002013T5 (en) | 2018-01-18 |
| CN107921626A (en) | 2018-04-17 |
| US20160318187A1 (en) | 2016-11-03 |
| US9889566B2 (en) | 2018-02-13 |
| US10252424B2 (en) | 2019-04-09 |
| DE112016002013B4 (en) | 2025-02-06 |
| US20180154525A1 (en) | 2018-06-07 |
| CN107921626B (en) | 2023-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10252424B2 (en) | Systems and methods for control of robotic manipulation | |
| US11865732B2 (en) | Integrated robotic system and method for autonomous vehicle maintenance | |
| US10675765B2 (en) | Control system and method for applying force to grasp a target object | |
| US11548153B2 (en) | Robot comprising safety system ensuring stopping time and distance | |
| US10471595B2 (en) | Systems and methods for control of robotic manipulation | |
| KR102003216B1 (en) | Motor control and / or adjustment for the robot | |
| US9315367B2 (en) | Coordinated transport robot system | |
| US9193069B2 (en) | Control method for controlling a robot and control system employing such a method | |
| JP2020521645A (en) | Robot collision processing | |
| Vick et al. | Safe physical human-robot interaction with industrial dual-arm robots | |
| JP5733518B2 (en) | Motion prediction control apparatus and method | |
| JP7577017B2 (en) | CONTROL DEVICE, ROBOT SYSTEM, CONTROL METHOD, AND PROGRAM | |
| CN118269089A (en) | Method for motion simulation of manipulator | |
| Lippiello et al. | An open architecture for sensory feedback control of a dual‐arm industrial robotic cell | |
| Prajumkhaiy et al. | Sensorless force estimation of SCARA robot system with friction compensation | |
| Qin et al. | A new approach to the dynamic parameter identification of robotic manipulators | |
| JP2017030106A (en) | Robot control device and robot system | |
| Qi et al. | A lead-through robot programming approach using a 6-DOF wire-based motion tracking device | |
| Ogawa et al. | Motion generation of the humanoid robot for teleoperation by task model | |
| Marayong et al. | Control methods for guidance virtual fixtures in compliant human-machine interfaces | |
| US20240091953A1 (en) | Integrated robotic system and method for autonomous vehicle maintenance | |
| Briones et al. | Position and force control of a parallel robot capaman 2 bis parallel robot for drilling tasks | |
| Winiarski et al. | Implementation of position-force control in MRROC++ | |
| JP7542481B2 (en) | CONTROL DEVICE, ROBOT SYSTEM, CONTROL METHOD, AND PROGRAM | |
| Rogelio | Automatic X-Ray Film Handler Alignment Control Using Position-Based Visual Servoing and Computational Intelligence |
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: 16724527 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2017555760 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112016002013 Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16724527 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 112016002013 Country of ref document: DE |