Systems and methods for providing dynamic robotic control systems
10647002 ยท 2020-05-12
Assignee
Inventors
- Thomas Wagner (Concord, MA, US)
- Kevin Ahearn (Fort Mill, SC, US)
- Michael Dawson-Haggerty (Pittsburgh, PA, US)
- Christopher Geyer (Arlington, MA, US)
- Thomas Koletschka (Cambridge, MA, US)
- Kyle Maroney (North Attleboro, MA, US)
- Matthew T. Mason (Pittsburgh, PA, US)
- Gene Temple Price (Cambridge, MA, US)
- Joseph ROMANO (Somerville, MA, US)
- Daniel Smith (Canonsburg, PA, US)
- Siddhartha Srinivasa (Seattle, WA, US)
- Prasanna Velagapudi (Pittsburgh, PA, US)
- Thomas Allen (Reading, MA, US)
Cpc classification
B25J9/1694
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1612
PERFORMING OPERATIONS; TRANSPORTING
B25J13/081
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1602
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
An articulated arm system is disclosed that includes an articulated arm including an end effector, and a robotic arm control systems including at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm, and a main controller for providing computational control of the articulated arm, and an on-board controller for providing, responsive to the at least one sensor, a motion signal that directly controls at least a portion of the articulated arm.
Claims
1. An articulated arm system, comprising: an articulated arm including an end effector; and an articulated arm control system including: at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm; a main controller configured to automatically provide at least one main control signal that controls movement of the end effector; and an on-board controller mounted on the articulated arm proximate the end effector and the at least one sensor, wherein the on-board controller is configured to automatically provide, responsive to the at least one sensor, a motion control signal to the end effector that overrides the at least one main control signal from the main controller to change the movement of the end effector.
2. The articulated arm system as claimed in claim 1, wherein said motion control signal overrides the at least one main control signal from the main controller using a control junction through which the at least one main control signal passes.
3. The articulated arm system as claimed in claim 2, wherein said motion control signal overrides the at least one main control signal from the main controller to change any of the acceleration, orientation or position of the end effector.
4. The articulated arm system as claimed in claim 1, wherein said at least one sensor includes a plurality of sensors.
5. The articulated arm system as claimed in claim 4, wherein said plurality of sensors include any of flow sensors, pressure sensors, cameras, torque sensors and deformation sensors.
6. The articulated arm system as claimed in claim 1, wherein said end effector includes a plurality of end effector sections, each of which includes a vacuum cup.
7. The articulated arm system as claimed in claim 6, wherein each end effector section includes at least one pressure sensor.
8. The articulated arm system as claimed in claim 6, wherein said end effector sections are provided in an ordered array.
9. The articulated arm system as claimed in claim 6, wherein said end effector sections are provided in a 3 by 3 array.
10. The articulated arm system as claimed in claim 6, wherein said end effector sections are provided in a 6 by 6 array.
11. An articulated arm system, comprising: an articulated arm including an end effector; and an articulated arm control system including: at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm; a main controller configured to automatically provide at least one main control signal that controls movement of the end effector; and an on-board controller mounted on the articulated arm proximate the end effector and the at least one sensor, wherein the on-board controller is configured to automatically provide, responsive to the at least one sensor, a modifying control signal to the end effector that modifies the at least one main control signal from the main controller to change the movement of the end effector.
12. The articulated arm control system as claimed in claim 11, wherein said at least one sensor includes a plurality of sensors.
13. The articulated arm control system as claimed in claim 12, wherein said plurality of sensors each includes any of flow sensors, pressure sensors, cameras, torque sensors and deformation sensors.
14. A method of controlling an end effector of an articulated arm, comprising: automatically providing a main control signal from a main controller to the end effector of the articulated arm via an on-board control system mounted on the articulated arm proximate the end effector, said main control signal for controlling movement of the end effector; receiving by the on-board control system a sensor input signal from at least one sensor positioned proximate the end effector, said sensor input signal including information related to the position, movement or acceleration of the articulated arm; and at least partially modifying the main control signal by the on-board control system responsive to the sensor input signal to automatically provide a modified main control signal to the end effector from the on-board control system that changes the movement of the end effector.
15. The method as claimed in claim 14, wherein the sensor input signal is coupled to an on-board controller of the on-board control system.
16. The method as claimed in claim 15, wherein the on-board controller is mounted proximate the end effector.
17. A method of controlling an end effector of an articulated arm: automatically providing a main control signal from a main controller to the end effector of the articulated arm via an on-board control system mounted on the articulated arm proximate the end effector, said main control signal for controlling movement of the end effector; receiving by the on-board control system a sensor input signal from at least one sensor positioned proximate the end effector, said sensor input signal including information related to the position, movement or acceleration of the articulated arm; and overriding by the on-board control system the main control signal from the main controller to the end effector responsive to the sensor input signal to automatically change the movement of the end effector.
18. The method as claimed in claim 17, wherein said at least one sensor includes a plurality of sensors.
19. The method as claimed in claim 18, wherein said plurality of sensors each include any of flow sensors, pressure sensors, cameras, torque sensors and deformation sensors.
20. The method as claimed in claim 17, wherein the sensor input signal is coupled to an on-board controller of the on-board control system.
21. The method as claimed in claim 20, wherein the on-board controller is mounted proximate the end effector.
22. The articulated arm system as claimed in claim 1, wherein said main controller provides a plurality of main control signals to the end effector, and wherein the on-board controller provides a plurality of motion control signals to the end effector that are configured to override one or more of the plurality of main control signals.
23. The articulated arm system as claimed in claim 22, wherein the on-board controller provides the plurality of motion control signals that are configured to modify the one or more main control signals using control junctions.
24. The articulated arm system as claimed in claim 22, wherein at least one of the plurality of motion control signals are configured to override at least one of the plurality of main control signals that control an orientation of the end effector.
25. The articulated arm system as claimed in claim 22, wherein at least one of the plurality of motion control signals are configured to override at least one of the plurality of main control signals that are configured to cause the end effector to stop moving.
26. The articulated arm system as claimed in claim 11, wherein said modifying control signal from the on-board controller modifies the at least one main control signal from the main controller using a control junction through which the at least one main control signal passes.
27. The articulated arm system as claimed in claim 26, wherein said modifying control signal modifies the at least one main control signal from the main controller to change any of the acceleration, orientation or position of the end effector.
28. The articulated arm system as claimed in claim 11, wherein said main controller provides a plurality of main control signals to the end effector, and wherein the on-board controller provides a plurality of modifying control signals that are configured to modify one or more of the plurality of main control signals.
29. The articulated arm system as claimed in claim 28, wherein the on-board controller provides the plurality of modifying control signals that are configured to modify the one or more main control signals using control junctions.
30. The articulated arm system as claimed in claim 28, wherein at least one of the plurality of modifying control signals are configured to modify at least one of the plurality of main control signals that control an orientation of the end effector.
31. The method as claimed in claim 14, wherein the step of at least partially modifying the main control signal involves providing an on-board control signal to a control junction through which the main control signal passes.
32. The method as claimed in claim 14, wherein said method further includes the steps of providing a plurality of main control signals to the end effector, and providing a plurality of modifying control signals by the on-board control system that are configured to modify one or more of the plurality of main control signals.
33. The articulated arm system as claimed in claim 32, wherein the on-board system provides the plurality of modifying control signals that are configured to modify the one or more main control signals using control junctions.
34. The method as claimed in claim 32, wherein at least one of the plurality of modifying control signals are configured to modify at least one of the plurality of main control signals that control an orientation of the end effector.
35. The method as claimed in claim 17, wherein the step of overriding the main control signal involves using a control junction through which the main control signal passes.
36. The method as claimed in claim 17, wherein the method further includes the steps of providing a plurality of main control signals to the end effector, and providing a plurality of motion control signals that are configured to override one or more of the plurality of main control signals.
37. The method as claimed in claim 36, wherein the on-board control system provides the plurality of motion control signals that are configured to modify the one or more main control signals using control junctions.
38. The method as claimed in claim 36, wherein at least one of the plurality of motion control signals are configured to override at least one of the plurality of main control signals that control an orientation of the end effector.
39. The method as claimed in claim 36, wherein at least one of the plurality of motion control signals are configured to override at least one of the plurality of main control signals that are configured to cause the end effector to stop moving.
Description
BRIEF DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
(1) The following description may be further understood with reference to the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) The drawings are shown for illustrative purposes only.
DETAILED DESCRIPTION
(11) In accordance with an embodiment, the invention provides an architecture for robotic end effectors that allows the end effector to alter the state of the robot. In accordance with certain embodiments, the end effector may observe the environment at a very high frequency and compare local sensor data and observations to a set of formulas or trigger events. This allows for robot-agnostic low latency motion primitive routines, such as for example move until suction and move until force without requiring the full response time of the robotic main controller. A robotic end effector is therefore provided that can alter the state of the robot, and further that may be modified during run time based on a variety of control policies. In accordance with further embodiments, the invention provides a multifaceted gripper design strategy has also been developed for multimodal gripping without tool changers.
(12) A majority of industrial robotic systems execute their programming logic control in one place onlyin the robot controller. The robot controller in these systems is often a large legacy controller with an obscure and (and sometimes poorly featured) programming language. In contrast, the majority of modern and emerging robotic systems contain logic distributed between a robot controller and several workstation computers running a modern operating system and software stack, such as the Ubuntu operating system as sold by Canonical Ltd. of Isle Of Man, the Linux operating system as provided by The Linux Foundation of San Francisco, Calif. and the ROS robotic operating environment as provided by Open Source Robotics Foundation of San Francisco, Calif.
(13) A positive aspect of these architectures is that they provide tremendous, even arbitrary, amounts of computing power that may be directed towards problems like motion planning, localization, computer vision, etc. The downsides of this architecture are primarily that going through high-level middleware such as ROS adds significant latency, and evaluating a control policy in a loop may see round trip times of well over 100 ms.
(14) As a unifying solution for this problem, a gripper control system has been developed with onboard electronics, sensors, and actuators to which high level logic controlling the system uploads a set of triggers at runtime. These are control policies, such as stop the robot when a force above X Newtons is observed, or when object is observed by depth sensor, slow down the trajectory. The end effector may then evaluate the policy natively at the kHz level, and trigger actions of situations where the gripper should take an action.
(15)
(16)
(17) In accordance with an embodiment, the invention provides an articulated arm control system that includes an articulated arm with an end effector, at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm, a main controller for providing computational control of the articulated arm, and an on-board controller for providing, responsive to the at least one sensor, a control signal to the main controller.
(18)
(19)
(20) This solution conveys several tremendous advantages: First, one may add the advanced behaviors one generates to any robot, as long as the robot complies with a relatively simple API. Second, one may avoid long cable runs for delicate signals, from the end effector to the robot control box (which is often mounted some distance away from a work cell). Third, one may respond to changes in the environment at the speed of a native control loop, often thousands of times faster than going exclusively through high level logic and middleware. Fourth, one may alter these policies at runtime, switching from move until suction to stop on loss of suction, as well as chaining policies.
(21) In accordance with a further embodiment, the invention provides a method of altering or overriding a control signal from a main controller to an end effector.
(22)
(23) The electronics 2 however, is also coupled to input sensors including pressure sensors 50, 52 and 54, a camera 56, force/torque sensors 58, 60 deflection/deformation sensor 62 and flow sensor 63. These sensors are coupled to an on-board controller 64 that determines whether to send an interrupt signal to the main robotic controller, and determines whether to immediately take action by overriding any of the output signals to motors M1-M3 and the vacuum. This is achieved by having the on-board controller 64 be coupled to control junctions 66, 68, 70 and 72 in the control paths of the signals 42, 44, 46 and 48.
(24) The robot, for example, may be working in very cluttered, dynamic environments. In order to manipulate objects in these conditions, one needs much more sensing than a typical, more structured, open-loop robotic system would need. The grippers are therefore instrumented with absolute pressure sensors, a 3D RGBD camera, force-torque sensor, and suction cup deflection sensing. By sensing and processing the sensor data directly at the wrist via a microcontroller hardware interrupts may be set (via digital inputs) immediately (hundreds/thousands of Hz). There is much more overhead in the other approach of communicating the sensor data back to the main robotic controller for analysis, which would be significantly slower. This allows one to modify robot motion/execution significantly faster, which in turn allows one to move the robot significantly faster, adapting at speeds not possible otherwise. In these dynamic and unpredictable environments, adapting and providing recovery quickly is vitally important.
(25) The pressure sensors, for example, may provide binary gripping/not gripping, and threshold comparisons (>grip pressure, <required retract pressure, <drop pressure). The pressure sensors may also map material properties/selected grasps to expected pressure readings and in real-time modify trajectory execution (speeds, constraints) in order to ensure successful transportation. The pressure sensors may also provide real-time monitoring of upstream pressure (pressure from source) to ensure expected air pressure available, and modify expected suction measurements from downstream accordingly.
(26) The camera may be an RGBD camera that provides data regarding environment registration, automated localization of expected environment components (conveyor, out shelves, out-bin stack) to remove hand tuning, and expected/unexpected objects/obstacles in the environment and modify trajectory execution accordingly.
(27) The force-torque sensors may provide impulse interrupts. When an unusual or unexpected force or torque is encountered we can stop trajectory execution and recover, where the robot before would have continued its motion in collision with that object causing damage to the object or robot. The force-torque sensors may also provide mass/COM estimates, such as Model Free mass estimates that may inform trajectory execution to slow down as one may be dealing with higher mass and inertias at the endpoint, which are more likely to be dropped due to torqueing off. Model Based mass estimates may also be used to ensure quality of grasp above COM, make sure that the correct item is grasped, that the item is singulated, and that the item is not damaged (unexpected mass).
(28) The deflection/deformation sensor may observe suction cup contact with the environment (typically when one wants to interrupt motion) as the bellows are deflected and have not modified pressure readings, and have not yet displayed a noticeable force impulse. The deflection sensor at its simplest will be used for interrupting motion to avoid robot Force Protective Stops by being that earliest measurement of contact. The deflection/deformation sensor may also measure the floppiness of the picks, which allows one in real-time to again modify trajectory execution, slowing down or constraining the motions to ensure successful transport, or putting it back in the bin if the floppiness is beyond a threshold at which the item may be safely transported.
(29) The flow sensors may detect changes in the amount of airflow as compared to expected air flow values or changes. For example, upon grasping an object, it is expected that the airflow would decrease. Once an object is grasped and is being carried or just held, a sudden increase in air flow may indicate that the grasp has been compromised or that the object has been dropped. The monitoring of weight in combination with air flow may also be employed, particularly when using high flow vacuum systems.
(30) With reference to
(31) If the system determines that the object should be picked up (step 608), the system will then lift the object (step 616) and then read the sensors (step 618). If the orientation of the end effector needs to be adjusted, the system adjusts the orientation of the end effector (step 620), for example to cause a heavy object to be held in tension (vertically) by the end effector as opposed to a combination of a vertical and horizontal grasp that would cause a sheer force to be applied. In another example, the system may choose the hold a lighter object with a combination of a vertical and horizontal grasp to accommodate a high speed rotation movement so that when the object is being moved, a centrifugal force will be applied in the direction aligned with the grasp of the object. Once the orientation of the end effector is chosen (step 620), the system will choose a trajectory path (step 622), and then begin execution of the trajectory, e.g., the batch program N (step 624).
(32) With reference to
(33) In accordance with another embodiment, the invention provides an articulated arm control system includes an articulated arm with an end effector, at least one sensor for sensing at least one of the position, movement or acceleration of the articulated arm, and a main controller for providing computational control of the articulated arm, and an on-board controller for providing, responsive to the at least one sensor, a motion signal that directly controls at least a portion of the articulated arm.
(34)
(35) A unique contribution of the articulated arm is its multiple facets for multimodal gripping, e.g., having multiple grippers packaged on a single end effector in such a way that the robot can use different grippers by orienting the end effector of the robot differently. These facets can be combined in combinations as well as used individually. Other more common approaches are tool changers, which switch a single tool out with a different one on a rack. Multimodal gripping of the present invention reduces cycle time significantly compared to tool changers, as well as being able to combine multiple aspects of a single end effector to pick up unique objects.
(36) The gripper designs in the above embodiments that involved the use of up to three vacuum cups, may be designed specifically for picking items of less than a certain weight, such as 2.2 lbs., out of a clutter of objects, and for grasping and manipulating the bins in which the objects were provided.
(37) The same approach to instrumentation of a vacuum grasping end effector may be applied to any arbitrary configuration of vacuum cups as well. For example, if the robotic system needs to handle boxes such as might be used for shipping of things, then arbitrary NM arrangements of the suction cells may be created to handle the weight ranges of such packages.
(38)
(39) The 33 array that may, for example, handle up to 19.8 pound packages, and the 66 array that may handle up to 79.2 pounds. Such scaling of end effector sections may be made arbitrarily large, and of arbitrary shapes (if, for example, the known objects to be handled are of a particular shape as opposed to generally square/rectangular).
(40) It is significant that by extrapolating the standard vacuum cell to arbitrary sizes/shapes, such an instrumented end effector may be designed for any given object or class of objects that shares all the benefits of such instrumentation as the above embodiments.
(41) Those skilled in the art will appreciate that numerous variations and modifications may be made to the above disclosed embodiments without departing from the spirit and scope of the present invention.