ROBOTIC VEHICLE DECONTAMINATOR
Aspects of the disclosure are directed towards decontamination of a target object. A method includes a device registering a target object by identifying corresponding pairs of data points from the first set of data points of the three-dimensional representation and a second set of data points associated with a reference three-dimensional representation. The device localizes a position of the target object with respect to a position of a robotic arm based at least in part on the three-dimensional representation. The device generates a set of waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation. The device determining a first path for the robotic arm to traverse over the surface of the target object based on the waypoints. The device receives a location on the surface of the target object that comprises a contaminant.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application No. 63/354,219, filed on Jun. 21, 2022, U.S. Provisional Application No. 63/482,491, filed on Jan. 31, 2023, and U.S. Provisional Application No. 63/481,578, filed on Jan. 25, 2023, the contents of which is are herein incorporated by reference.
BACKGROUNDIndustrial robotics is an expanding field for various industries that want to improve their internal and customer-facing processes. Industrial robots can be fabricated and programmed to perform various tasks for different applications. This customizability has led many enterprises to expand the incorporation of robots from manufacturing to other processes to improve the safety and the efficiency of the enterprise's workers.
Various embodiments in accordance with the present disclosure will be described with reference to the drawings in which:
In the following description, various embodiments will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the embodiments may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiment being described.
Industrial processes are often performed manually, which can be tedious, time-consuming, and sometimes requires specialized training of personnel to perform tasks accurately. In some instances, these industrial processes can incorporate automatization through a combination of robots and software for guiding the robots. One application for these robotic systems can be for maintenance, for example, cleaning an exterior of a target object, such as a building, a vehicle, equipment, or clothing. Each of these processes can be performed by localizing the target object to the robot and guiding the robot to perform the task.
As an illustrative example, cleaning the exterior of an aircraft is a process of returning the aircraft's surface to its original condition. An aircraft surface can collect materials such as chemical contaminants, dirt, grime, exhaust streaks, and oil stains. Many of these materials can have corrosive effects on the aircraft and further contaminate the surrounding environment. Cleaning the aircraft's exterior of these materials can improve the lifespan of the aircraft, improve the safety of operating the aircraft, improve the physical appearance of the aircraft, and remove any debris from interfering with any external aircraft sensors. It should be appreciated that the embodiments described herein are not restricted to aircraft and can include, for example, buildings, various vehicles, clothing, or any target object for which an operation needs to be performed and that may be localized and detected by a robot implementing one or more embodiments of the present disclosure. Further, various embodiments are described in connection with cleaning a surface of an aircraft. However, the embodiments are not limited as such and can apply to any type of surface decontamination and/or operation that can be performed by an end effector of the robot.
In certain instances, people can have a limited number of aircraft that cannot be grounded for any significant period of time for maintenance. Furthermore, the timing or the terrain can negate the ability to build a decontamination station for the aircraft. Therefore, if an aircraft gets contaminated, there may not be a luxury of removing the aircraft from use or moving the aircraft to a nearby decontamination station. Therefore, it can be critical to have the ability to mobilize a decontamination system to reach the contaminated aircraft. The mobile decontamination system should be able to identify and remove a contaminant without a human having to be close enough to be exposed to the contaminant.
Embodiments described herein addressed the above-referenced issues via a robotic mobile decontamination system that can be guided via three-dimensional (3D) localization and dynamic path planning. A mobile decontamination system can include a decontamination end effector attached to a robotic arm. The robotic arm can be mounted on a transport platform. The mobile decontamination system can be directed to move within the vicinity of a target object. The mobile decontamination system can engage a localization technique to determine a position of the target object relative to a position of the mobile decontamination system. This permits the mobile decontamination system to recognize the position of the target object with respect to the mobile decontamination system's coordinate system. The mobile decontamination system can calculate a path for the decontamination end effector to traverse the surface of the target object in the real-world. The mobile decontamination system can translate the path into a trajectory for the robotic arm to follow to effectuate the decontamination end effector traversing the surface of the target object in the real-world. During the traversal, the mobile decontamination system can detect one or more surface areas of the target object that are contaminated. The mobile decontamination system can actuate the decontamination end effector to decontaminate one or more surface areas of the target object. The mobile decontamination system can then verify that the one or more surface areas of the target object have been decontaminated. If the mobile decontamination system detects that the one or more surface areas remain contaminated, the system can reactivate the decontamination end effector and repeat the decontamination process.
The embodiments described below are described with reference to decontamination. It should be appreciated that the functionality described herein can be applied to various applications such as painting, de-icing, scrubbing, loading and unloading equipment, structural repair, drilling holes, and removing fasteners.
The tool 106 can be a decontamination end effector for applying or dispensing a decontamination solution on the target object 104. The tool 106 can include one or more tools for decontamination of the target object 104. For example, Army Field Manual 3-5 (FM 3-5) describes the Army's process for decontamination. FM 3-5 provides decontamination information, including concepts, decisions, principles, levels and a list of decontaminants. The tool 106 can be any tool or combination of tools to render a target object 104 decontaminated under FM 3-5. As described above, the herein described techniques can be applied to various applications. Therefore, the tool 106 can be any tool used to perform the application (e.g., a drill, scrubber, loader, de-icer).
With reference to
Returning the
The mobile decontamination system 102 can further include sensors arranged on the tool 106, the robotic arm 108, and/or the transport platform 110. The sensors can be operable to collect measurement data to render a representation of a target object 104 (e.g., aircraft) and determine the position of the mobile decontamination system 102 relative to the target object 104. The mobile decontamination system 102 can further include sensors for detecting a contaminant. These sensors can include, for example, radiation sensors, thermal sensors, gas sensors, image-capturing devices, sniffer sensors, and spectral sensors.
The mobile decontamination system 102 can travel to the vicinity of the target object 104. The mobile decontamination system 102 can further engage one or more sensors to scan and generate a representation of the target object 104. In some embodiments, the mobile decontamination system 102 can include sensors that are operable to transmit signals toward the target object 104 and collect reflected signals from the target object. For example, the mobile decontamination system 102 can use light detection and ranging (LiDAR) sensors to emit a pulsed laser towards the target object 104. The LiDAR sensors can further be configured to collect reflected signals from the target object 104. The LiDAR sensors can determine an angle of reflection of the reflected signal and a time elapse (time-of-flight) between transmitting the signal and receiving a reflected signal to determine a position of a reflection point on the surface of the target object 104 relative to the LiDAR sensors. The mobile decontamination system 102 can continuously emit laser pulses and collect reflection signals. The mobile decontamination system 102 can further generate a point cloud of the target object 104 based on the collected reflection signals. In other embodiments, the mobile decontamination system 102 can use other sensors, such as other laser-based sensors, magnetic sensors, or other appropriate sensors.
It should be appreciated that some or all of the computing functionality described herein (e.g., generation of the point cloud) can either be performed locally at the mobile decontamination system 102 or remotely by a server. For example, the mobile decontamination system 102 can connect to a wireless network and transmit data to a remote server along with instructions to perform one or more calculations. The remote server can receive the data, perform the one or more calculations, and return a response to the mobile decontamination system 102. These one or more calculations can be performed in real time as the mobile decontamination system 102 is in the vicinity of the target object 104.
The mobile decontamination system 102 can engage one or more localization techniques to determine a position of the target object 104 relative to a position of the mobile decontamination system 102. In other words, the mobile decontamination system 102 can determine six degrees of freedom data of the target object 104 in the coordinate system (e.g., reference system) of the mobile decontamination system 102. For example, the six degrees of freedom data can include the x-axis, y-axis, and z-axis coordinates, and rotational data around each axis.
In some embodiments, one localization technique can include the mobile decontamination system 102 accessing a pre-defined point cloud for the target object 104. For example, if the target object 104 is an F-15 Eagle fighter jet, the pre-defined point cloud is of a reference F-15 Eagle fighter jet. The mobile decontamination system 102 can retrieve a pre-defined point cloud of a target object 104 from a repository based on the specifications of the target object 104. In some instances, an operator can load the pre-defined point cloud onto the mobile decontamination system 102. In other instances, the mobile decontamination system 102 can identify a feature of the target object to identify a pre-defined point cloud from a repository. For example, the mobile decontamination system 102 can apply computer vision techniques to identify an identifying feature (e.g., identifier such as a tail number, component, shape) of the target object 104. The mobile decontamination system 102 can further use the identifying feature to retrieve a pre-defined point cloud.
The mobile decontamination system 102 can compare the data points of the generated point cloud described above and the pre-defined point cloud to identify the target object 104. The pre-defined point cloud can be a priori and generated by, for example, a previous scanning of the target object 104, or via a reference target object. In general, the mobile decontamination system 102 can identify a pattern of data points of the generated point cloud that are similar to the pattern of data points of the pre-defined data cloud.
The mobile decontamination system 102 can, for example, apply an iterative closest point (ICP) technique. The mobile decontamination system 102 can keep one of the generated point clouds or the pre-defined point clouds fixed, while transforming the other point cloud to match the fixed point cloud. The transformation can be based on minimizing a distance between the data points of the fixed point cloud and the data points of the transformed point cloud. Alternatively, the mobile decontamination system 102 can use a convolutional neural network (CNN) point cloud matching technique. The mobile decontamination system 102 can rely upon feature extraction, matching, and outlier rejection. The CNN can receive the generated point cloud and the pre-defined point cloud as inputs. The mobile decontamination system 102 can extract features from the generated point cloud and the pre-defined point cloud. Based on the features, the CNN can generate a mapping from the generated point cloud to the pre-defined point cloud and estimate a rigid transformation. CNN point cloud matching techniques can vary, and it should be appreciated that the mobile decontamination system 102 is operable to execute each technique as desired.
As the generated point cloud data points include information regarding the relative distance from sensors used to scan the target object 104 for point cloud generation, the mobile decontamination system 102 can determine the relative position (e.g., x-axis, y-axis, and z-axis coordinates, and rotational data around each axis) of the target object 104 with respect to the coordinate system of the mobile decontamination system 102. This position data is derived from the above-described process of transforming one point cloud to match the other point cloud.
Another localization technique can be applied in the event that the mobile decontamination system 102 can retrieve a pre-defined computer-assisted design (CAD) model. As described above, the mobile decontamination system 102 can scan the target object 104 and generate a point cloud. The mobile decontamination system 102 can further apply a modeling technique to generate a model from the generated point cloud. The mobile decontamination system 102 can compare the pre-defined CAD model with the model generated by the mobile decontamination system 102. Based on identifying a match, the mobile decontamination system 102 can determine the relative position (e.g., x-axis, y-axis, and z-axis coordinates, and rotational data around each axis) of the target object 104 with respect to the coordinate system of the mobile decontamination system 102.
The model generated by the mobile decontamination system 102 can be a polygonal model. The mobile decontamination system 102 can employ various methods to generate the polygonal model. For instance, combinatorial approaches such as Delaunay triangulation, alpha shapes, and Voronoi diagrams create a triangle-based mesh by interpolating all or most of the points of the point cloud. Other methods directly reconstruct an approximate surface represented in implicit form by defining the implicit function as the sum of radial basis functions (RBFs) centered at the points, known as global fitting methods, or considering subsets of nearby points, known as local fitting methods.
Yet another localization technique that can be employed by the mobile decontamination system 102 can include the use of synthetic markers. The synthetic markers can be fabricated markers having a computer-readable code, such as a QR code. The synthetic markers can be affixed to the target object 104 at known points of the target object 104 or having pre-defined distances between them. Each synthetic marker can further be uniquely identified through the computer-readable code. The mobile decontamination system 102 can scan the target object 104 and detect the synthetic markers. The mobile decontamination system 102 can further transmit a signal from one or more sensors toward the synthetic markers and collect a reflected signal from the synthetic markers. Based on the detection, the mobile decontamination system 102 can further determine an angle of reflection of a reflected signal from the synthetic markers and a time elapse (time-of-flight) between transmitting a signal and receiving a reflected signal from the synthetic markers to determine a position of the synthetic markers on the surface of the target object 104 relative to the sensors. The mobile decontamination system can also capture a two-dimensional (2D) image of the synthetic marker and compare the size and location of the image pixels to that of a reference image virtually located at the camera origin to determine a position of the synthetic markers on the surface of the target object 104 relative to the sensors. Based on the determination, the mobile decontamination system 102 can determine the relative position (e.g., x-axis, y-axis, and z-axis coordinates, and rotational data around each axis) of the target object 104 with respect to the coordinate system of the mobile decontamination system 102.
Each of the above localization techniques can be used across the whole surface of a target object 104 or over a portion of the surface of the target object 104. For example, if the target object 104 were an aircraft, the localization techniques could be performed over the entire surface area of the aircraft. In other instances, the mobile decontamination system 102 can perform the localization techniques over a portion of the aircraft, such as the wing or fuselage.
Additionally, each of the above localization techniques can be performed individually or in combination. Each of the above localization techniques can include one or more elements that can be incorporated into another technique. For example, the mobile decontamination system 102 can match a generated point cloud and pre-defined point cloud and also employ synthetic markers to assist in localizing the target object 104 with respect to the coordinate system of the mobile decontamination system 102.
Based on localizing the target object 104 with respect to the coordinate system of the mobile decontamination system 102, the system can generate a path over the surface of the target object 104. The mobile decontamination system 102 can further translate the path into a trajectory for the tool 106 to traverse the surface of the target object 104 in real life.
To generate the path, the mobile decontamination system 102 can generate waypoints 112 utilizing a series of algorithms. The waypoints are points on the surface of the target object 104 that can be used to generate a path and guide a tool 106 over the surface of the target object 104. The waypoints can also be used to guide the tool 106 towards or away from a point on the surface of the target object 104. The number of waypoints can be configured by a user, based on various parameters. For example, the user can select a number of waypoints based on the shape of the surface of the target object 104, a projected contaminant, or size of the target object.
The mobile decontamination system 102 can use as inputs, polygonal model data or point cloud data to generate the waypoints. In the event that the mobile decontamination system 102 receives a polygonal model of the target object 104, the system can compute surface normals at vertices of the geometric shapes forming the model to generate a set of surface points with normal (e.g., waypoints). Information from the one or more sensors can be used to orient the normals in the right direction (e.g., away from the surface of the target object 104), while a voxel filtering algorithm can be used to eliminate duplicates from the set of surface points.
If the mobile decontamination system 102 receives a point cloud rather than a polygonal mesh, there are two options available for waypoint generation. The first option involves the mobile decontamination system 102 directly feeding the point cloud data as input for orienting the normals in the right direction (e.g., away from the surface of the target object 104). However, this option requires that the point cloud data contain information about the surface normal at each point. Some data acquisition techniques do not provide this information. Thus, it might be necessary to estimate the surface normals from the point cloud data. For each point in the point cloud, an algorithm can fit a plane tangent to the surface represented by points within its neighborhood (specified by a user as a radius or nearest points) and estimate the normal to the fitted plane. The second option involves converting the point cloud to a polygonal mesh using combinatorial approaches, local or global fitting methods, followed by generating the waypoints as described with reference to receiving the polygonal model in the paragraph above.
The mobile decontamination system 102 can generate a path based on the waypoints. The path can begin at a first waypoint and end at a second waypoint. There can be additional waypoints located between the first waypoint and the second waypoint along the path. The path can cover the entirety of the surface of the target object or a portion of the surface of the target object.
While the waypoint generation step creates a waypoint to us as a basis for a path, the waypoints are not ordered to provide an indication of how the path should proceed. One technique to order the waypoints is to minimize a desired parameter such as execution time, Path length, or joint motion. Path length minimization is independent of robot kinematics, unlike execution time and joint motion. The mobile decontamination system 102 can minimize the path length by taking the waypoint graph as an input into an optimization technique. The mobile decontamination system 102 can use the output of the optimization technique to determine the path across the waypoints.
In some embodiments, the mobile decontamination system 102 can employ a traveling salesman problem (TSP) solver as an optimization technique. In graph theory, the TSP is an optimization problem to find the shortest trajectory that connects all waypoints while satisfying requirements, for example, that all waypoints be visited once, and the trajectory returns to the starting waypoint, given the cost of travel between each pair of waypoints, which in this case can be the Euclidean distance between the waypoints. In other embodiments, the mobile decontamination system 102 can employ other optimization techniques, such as graph-based techniques, or other appropriate techniques.
In most cases, the search for a globally optimal solution for a TSP solver is non-practical since the number of possible routes increases exponentially with the number of waypoints. For instance, with ten waypoints, the number of possible routes is 362,880. With twenty waypoints, the number of routes increases exponentially. Thus, TSP solvers can generally search for near-optimal solutions using heuristics or machine learning methods since an exhaustive search of all possible routes can be computationally intractable. Some TSP solvers use a heuristic approach for solving TSP problems and can allow a user to choose from five search strategies: greedy descent, guided local search, simulated annealing, tabu search, and objective tabu search. Another search strategy can be task specific to the mobile decontamination system 102. For example, the herein mobile decontamination system 102 is configured to decontaminate a target object 104. Generally, when people clean an object, the cleaning moves from the top of the object to the bottom to allow the soap to move downward due to gravity. Therefore, one constraint on the TSP solver could be based on a relative position of the waypoints. In particular, the TSP solver can be constrained to generate a solution in which a first waypoint has to be visited before a second waypoint based on a relative position of the first waypoint and the second waypoint. The TSP can be configured select higher waypoints before lower waypoints to allow a decontamination solution to move downward on the surface of the target object 104. If, however, the mobile decontamination system 102 is performing another task, such as identifying contaminants, this constraint may not be provided to the TSP solver.
Once the mobile decontamination system 102 generates a path, the system can translate the path into a trajectory for moving the robotic arm 108 in real life. The trajectory can consider the available motions of the robotic arm 108, a desired pose of the tool 106 in relation to the surface of the target object 104, and avoidance of collisions with the target object 104. It should be appreciated that as the robotic arm 108 guides the tool 106 over the surface of the target object, the mobile decontamination system 102 may need to move via the transport platform 110. Therefore, as the mobile decontamination system 102 has localized the position of the target object 104 relative to the coordinate system of the robotic arm 108, the mobile decontamination system 102 can consider changes in the relative positions of the target object 104 and the robotic arm 108 in generating the trajectory. In some instances, the mobile decontamination system 102 may need to repeatedly generate trajectories to account for its own movements.
The robotic arm 108 can be actuated to move about each of its axes to enable multiple degrees of freedom (DoF) via inverse kinematics. In some embodiments, the robotic arm 108 can be actuated to move about each of its axes to enable six DoF via inverse kinematics. Inverse kinematics is a process that takes the desired pose of the robot arm and determines a position for each of the above-described robotic arm 200 components. For example, the desired pose for the robotic arm 200 could be one meter away from a side panel of a Humvee. Through inverse kinematics, the mobile decontamination system 102 can determine a configuration of the base 202, the upper arm 204, the elbow 206, the lower arm 208, the wrist 210, and the tool 212 to effectuate the desired pose of the robotic arm 200. The mobile decontamination system 102 can apply various approaches for inverse kinematics, such as a closed-form solution approach or an optimization approach. Once the mobile decontamination system 102 determines the desired position for each of the above-referenced components, the mobile decontamination system 102 can determine a motion for each of the components to reach the desired position. As described above, the robotic arm 200 can be actuated to move about each of its axes to enable multiple DoF, and multiple configurations can lead to the desired pose, a phenomenon known as kinematic redundancy. Therefore, the mobile decontamination system 102 can apply an optimization technique to calculate an optimal motion for each component to reach the desired position.
The mobile decontamination system 102 can further identify one or more continuous trajectories that are collision free. The mobile decontamination system 102 can employ various techniques to avoid collisions with obstacles by optimizing certain criteria. The mobile decontamination system 102 can simulate candidate trajectories and based on the localization determine whether any part (e.g., tool 106, robotic arm 108, transport platform 110) will collide with the target object 104. If a candidate trajectory will result in a collision, the mobile decontamination system 102 can move on to a next candidate trajectory until it identifies a trajectory without a collision. The mobile decontamination system 102 can further store collision data based on past collisions or past calculations. The mobile decontamination system 102 can further eliminate candidate trajectories based on the stored collision data. For example, the mobile decontamination system 102 can compare candidate trajectories to collision data to determine whether a collision is likely. If a collision has a probability less than the threshold probability, the candidate trajectory can be eliminated. If, however, a collision has a probability greater than a threshold probability, the candidate trajectory is not eliminated.
The mobile decontamination system 102 can scan the target object for contaminants. The mobile decontamination system 102 can generate the first path over the entire surface of the target object 104 or a portion of the target object 104. The mobile decontamination system 102 can further translate the first path into a first trajectory to permit the tool 106 to traverse the first path in real life and scan the surface of the target object for contaminants. It should be appreciated that the tool 212 can include various tools having different configurations (e.g., sizes, shapes, functionality). Furthermore, one tool can be replaced with another tool on the mobile decontamination system 102. Therefore, the herein trajectories can be determined to accommodate the physical and functional specifications of the various tools. It should be appreciated that in some embodiments, the tool 212 is not arranged on the mobile decontamination system 102. For example, a tool can be arranged on another robot or machine and still be used in the decontamination process
The robotic arm 108 can include a sensor 214 for collecting data indicative of a contaminant. The sensor 214 can be arranged on the robotic arm 108 in proximity to the tool 212. The mobile decontamination system 102 can generate a first trajectory for the robotic arm 200 to permit the sensor 214 to scan the surface of the target object 104 for a contaminant. The first trajectory can lead the sensor 214 over the surface of the target object 104 and the sensor 214 can collect data indicative of a contaminant along the first trajectory. The mobile decontamination system 102 can complete the scan of the surface of the target object 104 prior to entering a decontamination phase. It should be appreciated that in some embodiments, the sensor 214 is not arranged on the mobile decontamination system 102. For example, a sensor can be arranged on another robot or machine and still be used in the decontamination process.
In response to detecting a contaminated area 114, the mobile decontamination system 102 can generate a second path to guide over the waypoints from the end of the first path to the contaminated area 114. In particular, a second path can guide over to a nearest waypoint to the contaminated area 114. The mobile decontamination system 102 can further translate the second path into a second trajectory to guide the tool 212 to the contaminated area 114 without a collision.
It should be appreciated that from time to time, the mobile decontamination system 102 moves in order to cover the target object. It should further be appreciated that mobile decontamination system 102 utilizes the localization to configure first trajectory and second trajectory to account for a movement of the system as a whole. In this sense, the mobile decontamination system 102 can account for multiple potential collisions across multiple candidate trajectories derived from inverse kinematics to reach collision free trajectories while deployed in the vicinity of the target object 104.
As illustrated in
The robotic arm 200 can follow the second trajectory and move the tool 106 to the contaminated area 114. The tool 106 (e.g., decontamination end effector) can further apply or dispense a decontamination solution on the contaminated area 114 in a local trajectory. The local trajectory can include any pattern for applying or dispensing a decontamination solution on the contaminated area 114. The local trajectory can be effectuated by a motion of the tool 106, a motion of the robotic arm 108, or a combination of a motion of the tool 106 and a motion of the robotic arm 108. The local trajectory can be, for example, a raster pattern, a circular pattern, or a rectangular pattern. As illustrated in
Once the tool 310 has completed applying or dispensing the decontamination solution, the mobile decontamination system 302 can determine whether the contaminated area 312 has been decontaminated. As described above, the mobile decontamination system 302 can include one or more sensors (e.g., sniffer sensor) for detecting a contaminant. In some embodiments, the one or more sensors are arranged on the robotic arm 306. The mobile decontamination system 302 can activate the one or more sensors to determine whether the contaminated area 312 remains contaminated after the application of the decontamination solution.
In other embodiments, the mobile decontamination system 302 can, for example, use the sensor data as input data for a neural network trained to predict whether the sensor data is indicative of a contaminant. If, the neural network determines that the contaminated area 312 has been decontaminated upon application of the decontamination solution, the mobile decontamination system 302 can identify the target object 304 as decontaminated. If, however, the neural network determines that the contaminated area 312 is still contaminated after application of the decontamination solution, the mobile decontamination system 302 can reactivate the tool 310 for a reapplication of the decontamination solution. In some embodiments, the mobile decontamination system 302 can generate new control instructions that include a new local trajectory for the tool 310 to follow. As described, above the functionality described herein can be used for various applications. For example, the neural network can be trained to identify holes.
At 404, the computing device can determine a first path over the surface of the target object. To generate the path, the computing device can generate waypoints utilizing a series of algorithms. The waypoints are points on the surface of the target object that can be used to generate a path and guide a tool over the surface of the target object. The computing device can further employ an optimization algorithm (e.g., TSP solver) to identify an optimal path over the surface of the target object.
At 406, the computing device can determine a trajectory for the robotic arm. The trajectory can consider the available motions of the robotic arm, a desired pose of the tool in relation to the surface of the target object, and avoidance of collisions with the target object. The trajectory guides the robotic arm in real life such that a tool has a desired pose along the trajectory. For example, the tool can remain facing the surface of the target object as it traverses the surface of the target object.
At 408, the computing device can perform a decontamination operation on a contaminated area of the target object. The mobile decontamination system can scan the surface of the target object and identify a contaminant. The robotic arm can follow the trajectory and move the tool to the contaminated area. The tool (e.g., decontamination end effector) can further apply or dispense a decontamination solution on the contaminated area via a local trajectory. The local trajectory can include any pattern for applying or dispensing a decontamination solution on the contaminated area. The pattern can be effectuated by a motion of the tool, a motion of the robotic arm, or a combination of a motion of the tool 106 and a motion of the robotic arm.
At 410, the computing device can verify that the decontamination operation resulted in the decontamination of the target object. The computing device can cause the robotic arm to move a sensor (e.g., sniffer sensor) over the contaminated area and determine whether it can detect a contaminant. In other instances, the computing device can cause the robotic arm to move a sensor over the contaminated area, and transmit the collected data to a neural network. The neural network can be trained to process the sensor data and determine whether a contaminant is present on the target object. If either method results in a conclusion that the contaminant remains, the computing device can reinitiate the decontamination phase.
At 504, the computing device can perform feature extraction. The features can include key points that can be used to identify a target object based on a comparison with a reference point cloud. The features can further include features for identifying the target object. For example, the features can include visual features, such as a tail number of an aircraft, to identify the target object.
At 506, the computing device can engage in feature pose estimation. Through feature pose estimation, the system can infer the pose of a target object. For example, the computing device can compare the representation to a reference representation to identify the target object. The computing device can compare the arrangement of the data points representation to a reference representation. Based on a similarity of the arrangements, the computing device can associate a configuration of data points of the generated point cloud with the reference point cloud. The computing device can further determine the pose of the target object based on the comparison.
At 508, the computing device can engage in registration and localize the position of the target object with respect to a coordinate system of the mobile decontamination system.
At 510, the computing device can engage in trajectory planning, which can result in a first trajectory and a second trajectory. The first trajectory can be for a tool connected to the robotic arm to traverse the surface of the target object. The second trajectory can be for the tool to traverse the surface of an object to reach a contaminated area. Each trajectory can be configured such that the movements of the robotic arm components do not result in a collision with the target object. Each trajectory can further be configured to include an optimal distance between the robotic arm and the surface of the target object. For example, the computing device can employ a Bayesian distribution to determine an optimal distance between a tool connected to the robotic arm and the surface of the target object.
At 512, the computing device can engage in decontamination of a contaminated area. The robotic arm can be configured to apply or dispense a decontamination solution onto a contaminated area. The computing device can be configured to verify that the contaminated area has been decontaminated.
At 602, a tool can traverse the surface of a target object to collect data for the generation of a representation of the target object. The tool can include a sensor, such as a LiDAR sensor connected to the robotic arm. The robotic arm can move about the target object and collect data, including a distance from the sensor and point along the surface of the target object. The collected data can be used to generate a representation of the target object, such as a point cloud.
At 604, the tool can traverse the surface of the target object over a first trajectory to scan the surface of the target object for a contaminated area. Upon collecting the data at step 602, the sensor can transmit the data for processing, either locally at the mobile decontamination system or at a remote location over a wireless network.
At 606, the mobile decontamination system can detect a contaminated area on the surface of the target object. The contaminated area can be along the first trajectory. The robotic arm can include one or more sensors that are configured to detect contaminants. In response to the transmission, the mobile decontamination system can receive control instructions for guiding the tool over the surface of the target object along a second trajectory. The second trajectory can be configured to allow the robotic arm to avoid collisions with the target object.
At 608, the mobile decontamination system can traverse the surface of the target object over the second trajectory to the contaminated area. The second trajectory can be generated based on inverse kinematics techniques and configured to allow the robotic arm to avoid collisions with the target object.
At 610, the mobile decontamination system can decontaminate the target object by actuating the tool to apply or dispense a decontamination solution onto the contaminated area. For example, the tool can be a decontamination end effector in fluid communication with a container of decontamination solution that can be applied or dispensed via the decontamination end effector. It should further be appreciated that the above-described techniques can be used for various other uses, such as painting, de-icing, scrubbing, and drilling.
The memory 704 can include one memory device or multiple memory devices. The memory 704 may be non-volatile and include any type of memory device that retains stored information when powered off. Examples of the memory 704 can include electrically erasable and programmable read-only memory (EEPROM), flash memory, or any other type of non-volatile memory. At least some of the memory 704 includes a non-transitory computer-readable medium from which the processor 702 can read instructions 706. A computer-readable medium can include electronic, optical, magnetic, or other storage devices capable of providing the processor 702 with computer-readable instructions or other program code. Examples of a computer-readable medium include magnetic disks, memory chips, ROM, random-access memory (RAM), an ASIC, a configured processor, optical storage, or any other medium from which a computer processor can read the instructions 706.
The computing device 700 may also include other input and output (I/O) components. The input components 708 can include a mouse, a keyboard, a trackball, a touchpad, a touch-screen display, or any combination of these. The output components 710 can include a visual display, an audio display, a haptic display, or any combination of these. Examples of a visual display can include a liquid crystal display (LCD), a light-emitting diode (LED) display, and a touch-screen display. An example of an audio display can include speakers. Examples of a haptic display may include a piezoelectric device or an eccentric rotating mass (ERM) device.
EXAMPLESIn the following sections, further example embodiments are provided
Example 1 includes a method comprising: generating, based on sensor data generated by a robotic system, a three-dimensional representation of a surface of a target object, the three-dimensional representation comprising a first set of data points; localizing the target object in a coordinate system of the robotic system; generating waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation; determining a path for an end effector of the robotic system to traverse over the surface based on the waypoints, the end effector mounted on a robotic arm of the robotic system; determining trajectory for the robotic arm to traverse based on the path; and initializing a movement of the robotic arm based on the trajectory.
Example 2 includes the method of example 1, wherein generation of the three-dimensional representation comprises: emitting a laser pulse toward the target object from a sensor arranged on the robotic arm; collecting a reflection signal from a point on the surface of the target object, the reflection signal being based on the laser pulse; and calculating a distance between the robotic arm and the point on the surface of the target object based on a time elapsed between emitting the laser pulse and the collecting the reflection signal.
Example 3 includes the method of any of examples 1 and 2, wherein determining the path comprises using an optimization technique to identify a minimum length between a first waypoint of the waypoints and a second waypoint of the waypoints.
Example 4 includes the method of example 3, wherein the TSP solver is constrained to find a solution in which the first waypoint is to be visited before the second waypoint based on a position of the first waypoint relative to the second waypoint.
Example 5 includes the method of any of examples 1-4, wherein determining the trajectory comprises: determining a pose of the robotic arm at the end of the trajectory;
-
- determining a movement of a component of the robotic arm to reach the pose using an inverse kinematic technique; generating the trajectory based on the movement; comparing the trajectory to a collision data to determine whether the trajectory results in a collision with the target object; and determining the trajectory based on the comparison.
Example 6 includes the method of any of examples 1-5, wherein the method further comprises: identifying a location on the surface of the target object comprising a contaminant; and determining the trajectory based on the identification of the contaminant.
Example 7 includes the method of example 6, wherein the method further comprises determining a local trajectory for a tool connected to the robotic arm to move along while dispensing or applying a decontamination solution on the location on the surface of the target object comprising the contaminant.
Example 8 includes the method of example 7, wherein the method further comprises verifying that the location on the surface of the target object has been decontaminated.
Example 9 includes a controller device, comprising: a memory configured to store computer-executable instructions; and one or more processors configured to access the memory and execute the computer-executable instructions to perform the method of any of examples 1-8.
Example 10 includes a non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more processors of a controller device, cause the one or more processors to perform the method of any of examples 1-8.
Example 11 includes a robotic system comprising: a robotic arm; an end effector connected to the robotic arm; a transport platform; a memory configured to store computer-executable instructions; and one or more processors configured to access the memory and execute the computer-executable instructions to cause the robotic system to: generate, based on sensor data generated by a robotic system, a three-dimensional representation of a surface of a target object, the three-dimensional representation comprising a first set of data points; localize the target object in a coordinate system of the robotic system; generate waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation; determine a path for an end effector of the robotic system to traverse over the surface based on the waypoints, the end effector mounted on a robotic arm of the robotic system; and determine trajectory for the robotic arm to traverse based on the path; and initialize a movement of the robotic arm based on the trajectory.
Example 12 includes the robotic system of example 11, wherein localizing the target object in the coordinate system of the robotic system comprises: retrieving a reference point cloud of a surface of a reference target object; matching the reference point cloud to the generated three-dimensional representation, wherein the generated three-dimensional representation is a generated point cloud; and localizing the target object in the coordinate system of the robotic system based on the matching.
Example 13 includes the robotic system of any of examples 11 and 12, wherein localizing the target object in the coordinate system of the robotic system comprises: retrieving a reference model of a surface of a reference target object; matching the reference model to the generated three-dimensional representation, wherein the generated three-dimensional representation is a generated model; and localizing the target object in the coordinate system of the robotic system based on the matching.
Example 14 includes the robotic system of any of examples 11-13, wherein localizing the target object in the coordinate system of the robotic system comprises: arranging a set of synthetic markers on the surface of the target object; scanning the target object to determine a respective location of each synthetic marker of the set of synthetic markers and a respective distance between the robotic system and each marker of the set of the set of synthetic markers; localizing the target object in the coordinate system of the robotic system based on the respective location of each synthetic marker of the set of synthetic markers and the respective distance between the robotic system and each marker of the set of the set of synthetic markers.
Example 15 includes the robotic system of any of examples 11-14, wherein a density of the waypoints is based on the surface of the target object, a size of the target object, or a projected contaminant.
Example 16 includes the robotic system of any of examples 11-15, wherein determining the path comprises using an optimization technique to identify a minimum length between a first waypoint of the set of waypoints and a second waypoint of the set of waypoints.
Example 17 includes the robotic system of example 16, wherein the TSP solver is constrained to find a solution in which the first waypoint is to be visited before the second waypoint based on a position of the first waypoint relative to the second waypoint.
Example 18 includes the robotic system of example 16, wherein the trajectory is a first trajectory, and wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to: detect a contaminant on the surface of the target object along the first trajectory; storing an identity of a closest waypoint to the contaminant; and determining a second trajectory to guide a tool to the closest waypoint, wherein the path is determined via inverse kinematics and configured to avoid collisions with the target object.
Example 19 includes the robotic system of example 18, wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to verify that contaminant has been removed in response to the tool applying or dispensing a decontamination solution on the contaminant.
Example 21 includes the robotic system of example 18, wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to generate a local trajectory about the closest waypoint for the tool follow while applying or dispensing a decontamination solution on the contaminant.
Example 22 includes a controller device, comprising: a memory configured to store computer-executable instructions; and one or more processors configured to access the memory and execute the computer-executable instructions to perform any of examples 11-21.
Example 23 includes a computer-readable medium storing computer-executable instructions that, when executed by one or more processors of a controller device, cause the one or more processors to perform any of claims 11-21.
The above description of certain examples, including illustrated examples, has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Modifications, adaptations, and uses thereof will be apparent to those skilled in the art without departing from the scope of the disclosure. For instance, any examples described herein can be combined with any other examples.
Although specific embodiments have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the disclosure. Embodiments are not restricted to operation within certain specific data processing environments, but are free to operate within a plurality of data processing environments. Additionally, although embodiments have been described using a particular series of transactions and steps, it should be apparent to those skilled in the art that the scope of the present disclosure is not limited to the described series of transactions and steps. Various features and aspects of the above-described embodiments may be used individually or jointly.
Further, while embodiments have been described using a particular combination of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the present disclosure. Embodiments may be implemented only in hardware, or only in software, or using combinations thereof. The various processes described herein can be implemented on the same processor or different processors in any combination. Accordingly, where components or modules are described as being configured to perform certain operations, such configuration can be accomplished, e.g., by designing electronic circuits to perform the operation, by programming programmable electronic circuits (such as microprocessors) to perform the operation, or any combination thereof. Processes can communicate using a variety of techniques including but not limited to conventional techniques for inter process communication, and different pairs of processes may use different techniques, or the same pair of processes may use different techniques at different times.
The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope as set forth in the claims. Thus, although specific disclosure embodiments have been described, these are not intended to be limiting. Various modifications and equivalents are within the scope of the following claims.
The use of the terms “a” and “an” and “the” and similar referents in the context of describing the disclosed embodiments (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. The term “connected” is to be construed as partly or wholly contained within, attached to, or joined together, even if there is something intervening. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate embodiments and does not pose a limitation on the scope of the disclosure unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the disclosure.
Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is intended to be understood within the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
Preferred embodiments of this disclosure are described herein, including the best mode known for carrying out the disclosure. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. Those of ordinary skill should be able to employ such variations as appropriate and the disclosure may be practiced otherwise than as specifically described herein. Accordingly, this disclosure includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
In the foregoing specification, aspects of the disclosure are described with reference to specific embodiments thereof, but those skilled in the art will recognize that the disclosure is not limited thereto. Various features and aspects of the above-described disclosure may be used individually or jointly. Further, embodiments can be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive.
Claims
1. A method performed by a robotic system, the method comprising:
- generating, based on sensor data generated by a robotic system, a three-dimensional representation of a surface of a target object, the three-dimensional representation comprising a first set of data points;
- localizing the target object in a coordinate system of the robotic system;
- generating waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation;
- determining a path for an end effector of the robotic system to traverse over the surface based on the waypoints, the end effector mounted on a robotic arm of the robotic system;
- determining a trajectory for the robotic arm to traverse based on the path; and
- initializing a movement of the robotic arm based on the trajectory.
2. The method of claim 1, wherein generation of the three-dimensional representation comprises:
- emitting a laser pulse toward the target object from a sensor arranged on the robotic arm;
- collecting a reflection signal from a point on the surface of the target object, the reflection signal being based on the laser pulse; and
- calculating a distance between the robotic arm and the point on the surface of the target object based on a time elapsed between emitting the laser pulse and the collecting the reflection signal.
3. The method of claim 1, wherein determining the path comprises using an optimization technique to identify a minimum length between a first waypoint of the waypoints and a second waypoint of the waypoints.
4. The method of claim 3, wherein the optimization technique is constrained to find a solution in which the first waypoint is to be visited before the second waypoint based on a position of the first waypoint relative to the second waypoint.
5. The method of claim 1, wherein determining the trajectory comprises:
- determining a pose of the robotic arm at the end of the trajectory;
- determining a movement of a component of the robotic arm to reach the pose using an inverse kinematic technique;
- generating the trajectory based on the movement;
- comparing the trajectory to a collision data to determine whether the trajectory results in a collision with the target object; and
- determining the trajectory based on the comparison of the trajectory to the collision data.
6. The method of claim 1, wherein the method further comprises:
- identifying a location on the surface of the target object comprising a contaminant; and
- determining the trajectory based on the identification of the contaminant.
7. The method of claim 6, wherein the method further comprises determining a local trajectory for a tool connected to the robotic arm to move along while dispensing or applying a decontamination solution on the location on the surface of the target object comprising the contaminant.
8. The method of claim 7, wherein the method further comprises verifying that the location on the surface of the target object has been decontaminated.
9. A robotic system comprising:
- a robotic arm;
- an end effector connected to the robotic arm;
- a transport platform;
- a memory configured to store computer-executable instructions; and
- one or more processors configured to access the memory and execute the computer-executable instructions to cause the robotic system to:
- generate, based on sensor data generated by a robotic system, a three-dimensional representation of a surface of a target object, the three-dimensional representation comprising a first set of data points;
- localize the target object in a coordinate system of the robotic system;
- generate waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation;
- determine a path for an end effector of the robotic system to traverse over the surface based on the waypoints, the end effector mounted on a robotic arm of the robotic system;
- determine a trajectory for the robotic arm to traverse based on the path; and
- initialize a movement of the robotic arm based on the trajectory.
10. The robotic system of claim 9, wherein localizing the target object in the coordinate system of the robotic system comprises:
- retrieving a reference point cloud of a surface of a reference target object;
- matching the reference point cloud to the generated three-dimensional representation, wherein the generated three-dimensional representation is a generated point cloud; and
- localizing the target object in the coordinate system of the robotic system based on the matching.
11. The robotic system of claim 9, wherein localizing the target object in the coordinate system of the robotic system comprises:
- retrieving a reference model of a surface of a reference target object;
- matching the reference model to the generated three-dimensional representation, wherein the generated three-dimensional representation is a generated model; and
- localizing the target object in the coordinate system of the robotic system based on the matching.
12. The robotic system of claim 9, wherein localizing the target object in the coordinate system of the robotic system comprises:
- arranging a set of synthetic markers on the surface of the target object;
- scanning the target object to determine a respective location of each synthetic marker of the set of synthetic markers and a respective distance between the robotic system and each marker of the set of the set of synthetic markers; and
- localizing the target object in the coordinate system of the robotic system based on the respective location of each synthetic marker of the set of synthetic markers and the respective distance between the robotic system and each marker of the set of the set of synthetic markers.
13. The robotic system of claim 9, wherein a density of the waypoints is based on the surface of the target object, a size of the target object, or a projected contaminant.
14. The robotic system of claim 9, wherein determining the path comprises using an optimization technique to identify a minimum length between a first waypoint of the set of waypoints and a second waypoint of the set of waypoints.
15. The robotic system of claim 14, wherein the optimization technique is constrained to find a solution in which the first waypoint is to be visited before the second waypoint based on a position of the first waypoint relative to the second waypoint.
16. The robotic system of claim 14, wherein the trajectory is a first trajectory, and wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to:
- detect a contaminant on the surface of the target object along the first trajectory;
- storing an identity of a closest waypoint to the contaminant; and
- determining a second trajectory to guide a tool to the closest waypoint, wherein the path is determined via inverse kinematics and configured to avoid collisions with the target object.
17. The robotic system of claim 16, wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to verify that contaminant has been removed in response to the tool applying or dispensing a decontamination solution on the contaminant.
18. The robotic system of claim 16, wherein the one or more processors configured to access the memory and execute the computer-executable instructions to further cause the robotic system to generate a local trajectory about the closest waypoint for the tool follow while applying or dispensing a decontamination solution on the contaminant.
19. A non-transitory computer-readable medium including stored thereon instructions that, that when executed by a processor, cause the processor to:
- generating, based on sensor data generated by a robotic system, a three-dimensional representation of a surface of a target object, the three-dimensional representation comprising a first set of data points;
- localize the target object in a coordinate system of the robotic system;
- generate waypoints based on a subset of the first set of data points, the waypoints being arranged on the three-dimensional representation;
- determine a path for an end effector of the robotic system to traverse over the surface based on the waypoints, the end effector mounted on a robotic arm of the robotic system;
- determine a trajectory for the robotic arm to traverse based on the path; and
- initialize a movement of the robotic arm based on the trajectory.
20. The non-transitory computer-readable medium of claim 19, wherein the instructions that, that when executed by a processor, further cause the processor to:
- emit a laser pulse toward the target object from a sensor arranged on the robotic arm;
- collect a reflection signal from a point on the surface of the target object, the reflection signal being based on the laser pulse; and
- calculate a distance between the robotic arm and the point on the surface of the target object based on a time elapsed between emitting the laser pulse and the collecting the reflection signal.
Type: Application
Filed: Jun 20, 2023
Publication Date: Dec 21, 2023
Inventors: Ademola Ayodeji ORIDATE (Austin, TX), William WILDER (Austin, TX), Spencer VOISS (Austin, TX), Jacob ST. JOHN (Austin, TX)
Application Number: 18/338,238