The present disclosure relates, generally, to robot assisted operations and, more specifically, to object recognition and task planning aspects in an operations planning and execution pipeline inspection process.
Robot assisted operations including but not limited to inspections and manipulations of the robots may require locating target objects of interest in the environment and segmenting the object from the environment. Recognizing an object in a real-world environment can be a complex undertaking. In order to be useful, the recognition needs to be performed quickly, efficiently, and reliably. Furthermore, once an object is recognized, the robot may need to interact with the object to accomplish a specific task, such as lifting the object, painting the object, rotating the object, etc. Enabling the robot to interact with the object in specific manner or plan appropriate for the object in the environment to accomplish a desired task is often a complex problem for a robot, particularly in a fast and efficient manner.
Therefore, a system and a method that will address the foregoing issues is desirable that can efficiently determine objects and determine a plan for interacting with the objects in the object's natural environment.
These and other features and aspects of embodiments of the present disclosure will become better understood when the following detailed description is read with reference to the accompanying drawings, in which like characters represent like parts throughout the drawings, wherein:
When introducing elements of various embodiments of the present invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
System 100 may be implemented by a machine having a memory and processor, where the processor can execute program instructions stored in the memory to complete one or more tasks specified in the program instructions. Additionally, the machine may have a number of sensors associated therewith, where the sensors might be integrated into the machine or otherwise interfaced with the machine via a communication channel. The sensors are used to collect sensory data of an asset (i.e., object) from the environment and comprise data capture module 105. In an example of
In some embodiments, data capture module 105 may perform at least some pre-processing of the images captured by the sensors therein using the resources associated with the sensors. In some instances, the pre-processing of the image data might facilitate a transmission and/or processing of the data by a device, system, processing module, or service.
The image data representations of the captured images of the physical asset (i.e., image data) captured by data capture module 105 is transmitted to a processing system, device, or service including a matching module 110 that performs further processing of the image data, as shown in
In general, matching module 110 receives the image data from data capture module 105. Matching module 110 also receives a data model of at least one asset from a data source 115 of data models. Data source 115 may be a data store, a database, a data warehouse, and other data facilities and sources capable of providing access to data stored or served thereby. Data store 115 (e.g., database) may store a large knowledge base or dataset of data (“big data”) including data models. In some instances, the dataset may include a massive amount of data regarding an organization and its processes and operations, including past and present.
Each data model of an asset herein may include a detailed description of a particular asset, including descriptions of the geometrical shape of the asset. In some embodiments, the detailed description of the asset is represented as a semantic description including word(s) descriptive of the asset at a high level of descriptiveness (i.e., to sufficiently and distinctively describe the asset to distinguish it from other assets). In some embodiments, the data model may describe other details in addition to the geometrical features of the asset, including, for example, physical attributes such as its mass, color, overall shape, the location of grasp/hold/lift points, etc. The semantic description of a data model of an asset herein may also include at least one operation associated with the asset. As used herein, the at least one operation is an action to be performed by a machine. For example, the operation may include a lifting action, a grasping action, a turning action, and other actions to be performed or executed by a machine. The significance of the at least one action associated with an asset being included in the data model of the asset will be discussed in greater detail below.
Referring again to
Upon determination of a data model matching the physical asset represented by the image data by matching module 110, an indication of the data model may be provided to operation planner 120. Operations planner 120 may then proceed to develop an operation (i.e., action) plan specifying one or more operations to be executed by the asset (i.e., machine) to accomplish a desired task(s) based on the at least one operation included in the data model matched with the image data by matching module 110. In some instances, the desired task(s) may be accomplished by a plurality of operations associated with the data model. Information or knowledge regarding the operation(s) associated with the matched data model may be obtained from operation library 125 based on an indication of the operation(s) included in the data model. The information or knowledge regarding the operation(s) received from operation library 125 may be used by operations planner 120 to construct an operation plan specifying operation(s) or job(s) to be executed by the physical asset at 130 in order to accomplish the desired task(s). The desired task(s) might include, for example, controlling a robot's grippers, manipulators, and other actuators in a particular sequence as specified by the operation plan.
Execution 130 of the operation plan may be monitored to assess compliance and adherence of the physical asset's behavior and actions with the prescribed operations specified in the operation plan. In some embodiments, one or more sensors associated with the asset may be used to obtain data (e.g., image data of the asset during and/or after the execution of the operation plan) used to assess the performance of the asset. In some embodiments, results of the execution of the operation plan may be quantified, and a value associated with the physical asset's performance can be provided to operation results processing module 135.
Proceeding further, the quantified results may be used to update and inform operation library 125 so that, in some embodiments, a new, modified, revised, or updated operation plan might be implemented to improve a performance of the physical asset in accomplishing the desired task(s) based on an operation plan generated based on operations associated with the data model of the asset. In some aspects, an accuracy and reliability of an operation plan generated for execution by the physical asset may be confirmed by the feed back of quantified results to operation library 125. In this manner, system 100 is a closed loop system.
Referring to
In some embodiments herein, operations (e.g.,
At operation 405, a system, device, or service receives image data representation of a first set of images capturing images of a physical asset. The image data may correspond to a plurality or set of images of the physical asset. In some embodiments herein, the first set of images may include images of the physical asset captured from multiple different view-angles.
At operation 410, a data model of at least one asset, including a data structure representation thereof, is received. Typically, a plurality of data models are received, where access is granted to the plurality of data models stored in a data store. Each of the data models includes a semantic description and at least one operation associated with the data model.
At operation 415, a match is determined regarding the image data of the physical asset and the data model of one of the assets modeled. The matching between the image data and a specific data model is based on an analysis of corresponding features of the image data and the data model.
Operation 420 includes the generation of an operation plan based on the at least one operation associated with the matched data model determined at operation 415. At operation 425, the operation plane generated at operation 420 may be executed by the physical asset corresponding to the image data received at operation 405.
System 500 includes processor(s) 510 operatively coupled to communication device 520, data storage device 530, one or more input devices 540, one or more output devices 550, and memory 560. Communication device 520 may facilitate communication with external devices, such as a data server and other data sources. Input device(s) 540 may comprise, for example, a keyboard, a keypad, a mouse or other pointing device, a microphone, knob or a switch, an infra-red (IR) port, a docking station, and/or a touch screen. Input device(s) 540 may be used, for example, to enter information into system 500. Output device(s) 550 may comprise, for example, a display (e.g., a display screen) a speaker, and/or a printer.
Data storage device 530 may comprise any appropriate persistent storage device, including combinations of magnetic storage devices (e.g., magnetic tape, hard disk drives and flash memory), optical storage devices, Read Only Memory (ROM) devices, etc., while memory 560 may comprise Random Access Memory (RAM), Storage Class Memory (SCM) or any other fast-access memory.
Operation planner engine 532 may comprise program code executed by processor(s) 510 (and within the execution engine) to cause system 500 to perform any one or more of the processes described herein. Embodiments are not limited to execution by a single apparatus. Data model dataset 534 may comprise a knowledge base associated with one or more data models of industrial assets, according to some embodiments. Operation library dataset 536 may comprise a knowledge base associated with one or more operations defining actions associated with specific data models, according to some embodiments. Data storage device 530 may also store data and other program code 538 for providing additional functionality and/or which are necessary for operation of system 500, such as device drivers, operating system files, etc.
All systems and processes discussed herein may be embodied in program code stored on one or more non-transitory computer-readable media. Such media may include, for example, a floppy disk, a CD-ROM, a DVD-ROM, a Flash drive, magnetic tape, and solid state Random Access Memory (RAM) or Read Only Memory (ROM) storage units. Embodiments are therefore not limited to any specific combination of hardware and software.
Embodiments described herein are solely for the purpose of illustration. Those in the art will recognize other embodiments may be practiced with modifications and alterations to that described above.
This written description uses examples to explain the disclosure, including the best mode, and also to enable any person skilled in the art to practice the disclosure, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the disclosure is defined by the claims appended hereto, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.
Number | Name | Date | Kind |
---|---|---|---|
8630456 | Asagara et al. | Jan 2014 | B2 |
8830229 | Drost et al. | Sep 2014 | B2 |
9002098 | Chelian et al. | Apr 2015 | B1 |
9098773 | Huang et al. | Aug 2015 | B2 |
9513635 | Bethke | Dec 2016 | B1 |
9868212 | Hinterstoisser | Jan 2018 | B1 |
20150148949 | Chin | May 2015 | A1 |
20160253808 | Metzler | Sep 2016 | A1 |
20170046571 | Wnuk | Feb 2017 | A1 |
20170193699 | Mehr et al. | Jul 2017 | A1 |
20170329307 | Castillo-Effen | Nov 2017 | A1 |
20180144644 | Heinonen | May 2018 | A1 |
20180259955 | Noto | Sep 2018 | A1 |
20180329904 | Gupta | Nov 2018 | A1 |
20190145902 | Tan | May 2019 | A1 |
20190188521 | Barzelay | Jun 2019 | A1 |
20190204123 | Zhao | Jul 2019 | A1 |
Number | Date | Country |
---|---|---|
104915957 | Oct 2017 | CN |
Entry |
---|
Bircher et al. “Structural inspection path planning via iterative viewpoint resampling with application to aerial robotics.” 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015. (Year: 2015). |
Cacace et al. “Aerial service vehicles for industrial inspection: task decomposition and plan execution.” Applied Intelligence 42.1 (2015): 49-62. (Year: 2015). |
Giglio et al. “Selective compliance control for an unmanned aerial vehicle with a robotic arm.” 22nd Mediterranean Conference on Control and Automation. IEEE, 2014. (Year: 2014). |
Ortiz et al. “Vision-based corrosion detection assisted by a micro-aerial vehicle in a vessel inspection application.” Sensors 16.12 (2016): 2118. (Year: 2016). |
Asif , Umar et al., “Real-time Pose Estimation of Rigid Objects using RGB-D Imagery”, 2013 IEEE 8th Conference on Industrial Electronics and Applications (ICIEA), Melbourne, Jun. 19-21, 2013, (pp. 1692-1699, 8 total pages). |
Ren, Xiaofeng et al., “Change Their Perception: RGB-D for 3-D Modeling and Recognition”, IEEE Robotics & Automation Magazine, vol. 20, Issue: 4, Dec. 2013, DOI:10.1109/MRA.2013.2253409, (pp. 49-59, 11 total pages). |
Number | Date | Country | |
---|---|---|---|
20200005072 A1 | Jan 2020 | US |