The present disclosure is generally related to dynamic 360-degree virtual sensor mapping, specifically related to dynamic 360-degree virtual sensor mapping of driverless vehicles.
Unless otherwise indicated herein, the materials described herein are not prior art to the claims in the present application and are not admitted to be prior art by inclusion in this section.
Autonomous vehicles are designed to be operated without input from a human operator. Some operations of autonomous vehicles may include obtaining sensor data and transmitting the sensor data to another location for processing and/or decision-making. Some sensor data may include video data and/or a video stream of data.
The subject matter claimed in the present disclosure is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described in the present disclosure may be practiced.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential characteristics of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In an embodiment, a method of dynamic virtual sensor mapping includes receiving a request to obtain a first view associated with a system. The first view is associated with a first distortion key. The method includes obtaining video sensor data from multiple video sensors associated with the system. The method includes applying the first distortion key to the video sensor data to obtain distorted video sensor data. The method includes obtaining additional sensor data from multiple additional sensors associated with the system. The method includes applying the first distortion key to the additional sensor data to obtain distorted additional sensor data. The method includes combining the distorted video sensor data together with the distorted additional sensor data to generate combined distorted video data. The method includes transmitting the combined distorted video data.
In another embodiment, a method includes unwrapping a 3D model modeled as surrounding a driverless vehicle to generate a UV map. The method includes receiving wide-angle video data captured by one or more video sensors of the driverless vehicle. The method includes receiving a request for a primary view in the wide-angle video data from a requestor. The method includes warping the UV map to expand a region corresponding to the primary view. The method includes, for each image in a sequence of images in the wide-angle video data, painting the image onto the warped UV map to generate a warped 2D texture map in which a relative size of the primary view is greater in the warped 2D texture map than in the image. The method includes transmitting warped video data comprising a sequence of warped 2D texture maps to the requestor.
The object and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims. Both the foregoing summary and the following detailed description are exemplary and explanatory and are not restrictive.
Example embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Recent developments in technology have begun to enable operation of driverless vehicles. A driverless vehicle may include any vehicle in which an operator is not present, such as an autonomous vehicle, a remote-controlled vehicle (e.g., an RC car, a drone, etc.), and/or other driverless vehicles. Autonomous vehicles may be designed to operate independent of human input. For example, an autonomous vehicle may be capable of accelerating, braking, turning, obeying traffic laws, etc., all without the input from a human operator. In some circumstances, operation of driverless vehicles may include a combination of autonomous operations and human operator input, such as teleoperations. In the present disclosure, teleoperations may include input from a teleoperator, who may provide operational input to an autonomous vehicle using a variety of controls remote from the autonomous vehicle.
In some circumstances, teleoperations of driverless vehicles may include the teleoperator making decisions for the driverless vehicle based on visual information, such as a stream of video from one or more video sensors. For example, based on video sensor data received from a video sensor onboard the driverless vehicle, a teleoperator may issue one or more commands to the driverless vehicle to avoid a hazard in the path of the driverless vehicle.
Video sensor data that may be used in conjunction with teleoperation decisions may have a latency below a threshold latency to be useful. For example, video sensor data provided to a teleoperator with a latency above the threshold latency may not provide enough time for the teleoperator to provide operational commands to the driverless vehicle before a teleoperation situation is encountered. Alternatively, or additionally, the video sensor data that may be used in conjunction with teleoperation decisions may include a pixel density greater than a threshold density or quality as part of the display thereof to be useful. For example, video sensor data provided to a teleoperator with a pixel density less than the threshold density may be fuzzy, grainy, distorted, or otherwise degraded such that a teleoperator may experience difficulty in identifying a driving environment and/or potential hazards.
In general, teleoperations may benefit from video sensor data that includes an image quality in which objects are distinguishable and that is delivered without significant latency. For example, a teleoperator may have a limited reaction time to provide operational commands to a driverless vehicle and the teleoperator may be limited in making operational decisions based on what the teleoperator is able to observe from the video sensor data.
In some circumstances, a driverless vehicle may include multiple video sensors, each of which may be configured to produce video sensor data. In some circumstances, each video sensor may generate an amount of video sensor data that may be greater than or equal to a transmission rate between the driverless vehicle and the teleoperator. For example, one video sensor may be configured to produce video sensor data including a 6k resolution. In such instances, it may be difficult or impractical to transmit video feeds from each of the video sensors simultaneously for display to a teleoperator.
In some circumstances, a driverless vehicle may include additional sensors which may produce additional sensor data. The additional sensor data may benefit the teleoperator providing operational decisions to a driverless vehicle. In some circumstances, the additional sensor data may be transmitted separate from the video sensor data, which may include additional communication channels and/or more bandwidth to transmit both the video sensor data and the additional sensor data.
In some circumstances, a teleoperator may use a workstation that may be configured to facilitate or perform teleoperations. For example, the teleoperation workstation may include computing devices that may be capable of running multiple video feeds simultaneously and/or displaying multiple video feeds in a semi-circular or circular environment. In some circumstances, a teleoperation workstation may include high costs in setting up and maintaining. For example, a teleoperation workstation may include multiple monitors, processing devices, graphics rendering components, and/or additional computing components that may be configured to work together in displaying a driverless vehicle operating environment for a teleoperator to observe and/or interact with.
Aspects of the present disclosure address these and other shortcomings of prior approaches by providing dynamic 360-degree virtual sensor mapping for driverless vehicles, or dynamic virtual sensor mapping. In some embodiments, the dynamic virtual sensor mapping may produce video sensor data that may meet or exceed a quality threshold and/or a latency threshold for teleoperations. In some embodiments, the dynamic virtual sensor mapping may include a focal point which may include a pixel density that may be greater than non-focal point portions of a video feed. Including a focal point may enable the dynamic virtual sensor mapping to maintain video sensor data above a threshold density or quality while also maintaining the transmission of the video sensor data below a threshold latency. For example, the transmitted video feed may be compressed relative to the video sensor data such that less data is transmitted in conjunction with the video feed to reduce latency.
In some circumstances, one or more embodiments of the present disclosure may be configured to include additional sensor data from one or more additional sensors (e.g., in addition to video sensor data from one or more video sensors). For example, the dynamic virtual sensor mapping may include raw data such as radar data, vehicle speed data, vehicle directional data, objects in motion data relative to the vehicle, etc., and/or processed data such as path routing data, vehicle trajectory data, etc. In these and other embodiments, the dynamic virtual sensor mapping may include combining or merging the video sensor data and the additional sensor data into a single video feed that may be transmitted from a driverless vehicle to a teleoperator.
In some circumstances, one or more embodiments of the present disclosure may reduce the high costs associated with a teleoperation workstation as some or all of the video editing and/or transformation associated with teleoperations may be performed prior to the transmission of the video feed to the teleoperator. For example, a teleoperation workstation associated with dynamic virtual sensor mapping may include a computing device, such as a desktop computer, a laptop computer, a tablet computer, and/or other computing devices without the expense of or need for the equipment required for traditional teleoperation workstations.
Embodiments of the present disclosure will be explained with reference to the accompanying drawings. As described in the present disclosure, the use of the terms first, second, etc., are intended to illustrate generic adjectives and not imply ordinality, unless explicitly described as such.
In some embodiments, the network 102 may be configured to communicatively couple the first system 104 and the second system 106. In some embodiments, the network 102 may be any network or configuration of networks configured to send and receive communications between systems. In some embodiments, the network 102 may include a wired network, an optical network, and/or a wireless network, and may include numerous different configurations, including multiple different types of networks, network connections, and protocols to communicatively couple the first system 104 and the second system 106 in the dynamic virtual sensor mapping system 100. For example, the network 102 may include Wi-Fi transmissions, cellular communications such as 4G, 5G, or LTE, various Wide Area Networks (WANs), etc.
In some embodiments, the first system 104 may include a system of sensors, processing devices, memory storage devices, communication devices, and the like. In some embodiments, the first system 104 may be included in a driverless vehicle. For example, the first system 104 may include components included in a driverless vehicle that may enable the driverless vehicle to operate autonomously and/or operate using input from a teleoperator. In some embodiments, the driverless vehicle may be configured to obtain sensor data, perform one or more processing tasks on or using the obtained sensor data, and transmit the processed sensor data, such as to the second system 106 via the network 102. Additional details and/or examples related to the first system 104 are described with respect to
In some embodiments, the second system 106 may include processing devices, display devices, user input devices, memory storage devices, communication devices, and the like. In some embodiments, the second system 106 may be included in a teleoperation workstation. Alternatively, or additionally, the second system 106 may be included in any device or system that may be communicatively coupled to the first system 104. For example, the second system 106 may be included in a security system, a telepresence system, and/or various teleoperation systems which may include proprietary systems such as TELEASSIST®.
In some embodiments, all of the devices included in the second system 106 may be disposed in a single device, such as a tablet computer, a laptop computer, and the like. Alternatively, or additionally, the devices included in the second system 106 may be disposed in multiple hardware devices, such as one or more monitors, one or more computing devices which may include one or more servers, various user input devices, etc.
In some embodiments, the first system 104 may be configured to receive requests, operational commands, and/or other inputs from the second system 106, such as teleoperation commands from a teleoperator. In some embodiments, the first system 104 may cause the second system 106 to adjust one or more sensors to a focal point, as designated by the second system 106, such as through user input from the teleoperator via the teleoperation workstation. In these and other embodiments, operations of one or more components of the first system 104 may be modified in response to received input from the second system 106. For example, the second system 106 may request a focal point directed out the side of the driverless vehicle and the system of sensors and/or the processing devices of the first system 104 may be configured to obtain and transmit a video feed including a focal point directed out the side of the driverless vehicle to the second system 106.
Modifications, additions, or omissions may be made to the dynamic virtual sensor mapping system without departing from the scope of the present disclosure. For example, in some embodiments, the dynamic virtual sensor mapping system may include any number of other components that may not be explicitly illustrated or described.
In some embodiments, the video sensors 202 may be communicatively coupled to the processing device 208 and may be configured to transmit video sensor data to the processing device 208, as described herein. Alternatively, or additionally, the additional sensors 204 may be communicatively coupled to the processing device 208 and may be configured to transmit additional sensor data to the processing device 208, as described herein.
In some embodiments, the communication device 206 may be communicatively coupled to the processing device 208. In some embodiments, the communication device 206 may receive communications from another system and transmit the received communications to the processing device 208. For example, the communication device 206 may receive operational commands from the teleoperator that may be transmitted to the processing device 208. Alternatively, or additionally, the communication device 206 may transmit communications from the system 200 to another device. For example, upon receiving a video stream from the processing device 208, the communication device 206 may transmit the video stream to another device or system, such as a teleoperation workstation.
In some embodiments, the video sensors 202 may be configured to obtain video sensor data associated with the system 200 or other systems herein, such as the first system 104 of
Alternatively, or additionally, the video sensors 202 may be arranged such that one or more video sensors 202 may be configured to overlap their respective fields of view. For example, if each of the first, second, third, and fourth video sensors 202 mentioned above has a FOV greater than 90 degrees and is arranged at 90 degree intervals around the driverless vehicle facing directly outward, then the fields of view of each adjacent pair of the first, second, third, and fourth video sensors 202 would overlap. Alternatively or additionally, and continuing with the previous example, a fifth video sensor 202 may be arranged to face a direction between the first video sensor 202 direction and the second video sensor 202 direction with a FOV that (at least at its angular extremes) overlaps fields of view of the first and second video sensors 202, a sixth video sensor 202 may be arranged to face a direction between the second video sensor 202 direction and the third video sensor 202 direction with a FOV that (at least at its angular extremes) overlaps fields of view of the second and third video sensors 202, a seventh video sensor 202 may be arranged to face a direction between the third video sensor 202 direction and the fourth video sensor 202 direction with a FOV that (at least at its angular extremes) overlaps fields of view of the third and fourth video sensors 202, and an eighth video sensor 202 may be arranged to face a direction between the fourth video sensor 202 direction and the first video sensor 202 direction with a FOV that (at least at its angular extremes) overlaps fields of view of the fourth and first video sensors 202.
The number of video sensors 202 that may be included in the system 200 may vary and/or may be based on the driverless vehicle and/or the dynamic sensor mapping system 100. For example, the system 200 may include one video sensor (e.g., a video sensor that may be configured to change direction based on input), or two, three, four, six, eight, fifteen, twenty, and/or any other amount of video sensors 202. In these and other embodiments, the number of video sensors 202 that may be included in the system 200 may be based on the FOV of the video sensors 202, the quality of the video sensor data, a threshold amount of overlap between two or more of the video sensors 202, and/or other characteristics of the system 200.
In some embodiments, the one or more additional sensors 204 may include any sensors that may be used by the processing device 208 to improve situational awareness associated with the operation of the driverless vehicle. In some embodiments, the additional sensors 204 may include one or more of an accelerometer, a gyroscope, a global positioning system (GPS) device, a radar device, a LIDAR device, a thermal infrared device, an ultrasonic device, or the like. In some embodiments, the one or more additional sensors 204 may produce additional sensor data that may be combined with the video sensor data by the processing device 208, such as for transmission and presentation to a teleoperator. For example, acceleration data, speed data, velocity data, location data, ranging data (e.g., distance to objects), routing data, object detection data, etc., may be obtained and/or transmitted to the processing device 208 for combination with the video sensor data.
In some embodiments, the video sensor data and/or the additional sensor data may be transmitted to the processing device 208 and the processing device 208 may use the video sensor data and/or the additional sensor data in dynamic virtual sensor mapping. The video sensor data may include 360-degree video data that may be associated with a driverless vehicle.
Some or all driverless vehicles may require remote human intervention for the foreseeable future. A 360° camera feed that is high enough resolution may be necessary for clear situational awareness for the remote human to make a decision. However, the bandwidth to send multiple high-resolution streams from a fleet of vehicles, or data pipeline into a data center to handle that amount of data, may be cost-prohibitive and/or non-existent at present.
Some embodiments herein include a method to create a single 360° camera feed (e.g., video data) by combining multiple camera feeds and optionally one or more sensor data sets into one data set that allows dynamic resolution prioritization based on where the focus is. This may be accomplished by expanding and compressing different parts of a corresponding camera feed canvas to allow for more pixels to be prioritized where a viewer is looking. This may be decoded on the client side in a method that preserves the position of imagery.
Accordingly, some embodiments result in a single data feed that gives a low resolution 360° overview around the driverless vehicle, but high-resolution wherever the human operator wishes to focus.
A common method of viewing around a vehicle, originally developed in the visual effects (VFX) industry, is to stitch multiple camera feeds into a 360° image or feed that is then projected onto a basic shape that approximates the space near a vehicle. The basic shape in some embodiments may be a lidar model of an immediate space or environment around the vehicle. Alternatively or additionally, the basic shape may include a semi-sphere (e.g., half sphere), semi-ellipsoid (e.g., half ellipsoid), or other suitable 3D shape having a planar lower surface generally parallel to and/or generally aligned to the ground. The planar lower surface may be circular (in the case of a semi-sphere), elliptical (in the case of a semi-ellipsoid), or other suitable 2D shape and centered on the driverless vehicle. The remainder of the semi-sphere or semi-ellipsoid (or other 3D shape) may form a dome around and over the driverless vehicle.
The camera feed of the driverless vehicle 307, which may be a 360° camera feed or video data or other wide-angle camera feed or video data, may be generated by stitching together camera feeds from multiple different video sensors of the driverless vehicle 307. The 360° camera feed may include multiple sequential images, each of which may have been stitched together from multiple sequential images of the multiple different video sensors. For example, each image in the 360° camera feed may include a front image (from a front facing video sensor), a left image (from a left facing video sensor), a right image (from a right facing video sensor), and a rear image (from a rear facing video sensor) that have been stitched together. In these and other embodiments, a 2D texture map, such as the 2D texture map 306 of
Returning to
The 3D forward 90° FOV 310 and/or the corresponding 2D image forward 90° FOV 312 may be of most interest to a teleoperator driving the driverless vehicle 307 in many circumstances, including generally when the driverless vehicle 307 is moving forward. As illustrated in
The 2D image in the example of
Accordingly, some embodiments herein may warp the UV map and corresponding 2D texture map in a given region, such as regions 308, 312 in
In some embodiments, and following linearization (or omitting linearization in some embodiments), the grid of the UV map and the 2D texture map may be warped to focus in on, blow up, or otherwise emphasize and make more prominent (e.g., with increased pixel density) the requested primary view. In this particular example, the grid of the linearized UV map 402 may be warped and the warped UV map may then have the 2D image painted thereon to generate a warped 2D texture map.
As can be seen from
While in this example the expansion and compression is applied both vertically and horizontally, in other embodiments the expansion and compression may be applied only vertically or only horizontally (or more generally only in a first direction, only in a second direction, only in a third direction, or the like). For example, the expansion and compression may be applied only vertically to expand a vertical FOV that may always be of interest to teleoperators while vertically compressing unimportant regions such as a bottom portion of the video data (which may include body/paintwork of the driverless vehicle) and/or a top portion of the video data (which may include sky or other objects that are vertically well outside a region of relevance to the driverless vehicle).
Some embodiments herein also permit adding an area of focus or changing the area of focus in the image (or environment surrounding the driverless vehicle 307). An example of adding an area of focus will be discussed in the context of
The warped UV map 702 depicted in
As can be seen from
Rather than adding the left 90° FOV (or other additional FOV) as an area of focus in combination with the existing area of focus for the forward 90° FOV (or other initial FOV), the left 90° FOV (or other additional FOV) may instead be implemented as an area of focus in place of the existing area of focus for the forward 90° FOV. In this example, the warping to focus on the left 90° FOV described with respect to
In some embodiments, responding to a request to add an area of focus or change an area of focus may cause a brief moment where the teleoperator or other user sees a low resolution view of the warped 2D image left 90° FOV 716 before the new warp updates but the teleoperator or other user may still have a feed (albeit low resolution in this area) during this brief moment. Each of the source (e.g., the driverless vehicle or first system) and client (e.g., teleoperator workstation or second system) may update the grid of their respective UV maps so that even though the image is being warped (e.g., the 2D texture map), image details (or pixels) always lay back onto (or map to) the 3D model 304 in the appropriate positions.
In some embodiments, each potential requested view (e.g., front FOV, left FOV, right FOV, rear FOV, and/or other views) may be associated with a corresponding distortion key to effect the warping for a given requested view as described above. For example, a first distortion key may be associated with the driverless vehicle’s front FOV, a second distortion key may be associated with the driverless vehicle’s rear FOV, and so forth. In these and other embodiments, each distortion key may be associated with a different corresponding video sensor of the driverless vehicle. For example, the first distortion key may be associated with a first camera, the second distortion key may be associated with a second camera, and so forth. Each distortion key associated with each sensor may be used to generate a corresponding image with one corresponding area of focus (e.g., a corresponding warped 2D texture map such as the warped 2D texture map 506 of
In some embodiments, the requested view (or area of focus) may be changed by changing the distortion keys. For example, a teleoperator may determine that a side view may be beneficial and may transmit a request for the driverless vehicle to apply the distortion key associated with the desired side view to the driverless vehicle, and the processing device 208 of the driverless vehicle may apply the distortion key to the 360° video data to output warped video data with the desired view or area of focus. In some embodiments, the distortion keys may be stored local to the driverless vehicle, such as in a data storage associated with the driverless vehicle. For example, a first distortion key may be stored in a data storage associated with the driverless vehicle (e.g., which may include a local data storage) such that in instances in which a request for a first view associated with the first distortion key is received, the driverless vehicle may obtain the first distortion key from the data storage and may apply the first distortion key to generate the warped video data with the first view.
In these and other embodiments, there may be any number of distortion keys such that a teleoperator may adjust the requested view to any direction (as in
In these and other embodiments, the teleoperator may request an updated requested view (e.g., by transmitting a request to apply a new distortion key to the driverless vehicle) at any time during operation of the driverless vehicle. For example, an updated requested view may occur before the driverless vehicle is in motion, during motion and/or operation of the driverless vehicle, and/or after a driving task may be completed.
In some embodiments, the processing device 208 may be configured to generate a focused video feed based on the corresponding UV map. For example, the processing device 208 may obtain the 360° video data (e.g., by receiving video data from multiple video sensors and stitching it together), generate a UV map (such as the UV map 302), optionally linearize the generated UV map (e.g., to generate the linearized UV map 402), warp the generated and/or linearized UV map (e.g., to generate the warped UV map 502 and/or the warped UV map 702), and paint the warped UV map sequentially with each image in the 360° video data to generate a focused video feed, e.g., a texture map video feed of 2D texture maps with an area of focus or requested view in each of the 2D texture maps in the feed. Each image in the focused video feed may include the requested primary view or area of focus that has been enlarged compared to surrounding areas as generally described with respect to
In some embodiments, the processing device 208 may be configured to generate one or more wide-angle video feeds that may be in addition, or in the alternative to a focused video feed. For example, the processing device 208 may obtain a wide-angle video feed (e.g., from a single wide-angle video sensor and/or by stitching together the video feeds from two or more video sensors). In an example, a front wide-angle video feed may include an approximate 180-degree FOV relative to the front of the driverless vehicle and the focused video feed may include an approximate 60-degree FOV relative to the front of the driverless vehicle, where the focused video feed may be within the front wide-angle video feed. The FOV associated with each of the wide-angle video feed and the focused video feed in the foregoing example may be greater or less than the examples given, and/or the FOV of the focused video feed may selected or modified by teleoperation commands from the teleoperator.
The focused view 802 may include a primary requested view and/or area of focus as described herein and/or a view from a single video sensor of a driverless vehicle. In this particular example, the focused view 802 includes a view from a single video sensor of a driverless vehicle. The wide-angle views 804, 806 may each include a view from a single wide-angle video sensor and/or a view generated by stitching together two or more views from two or more video sensors. In some embodiments, each of the views 802, 804, 806 may be extracted from a single 360° video feed.
The teleoperator view 800 of
In some embodiments, the focused view 802 may be directed in a direction associated with an intended or expected trajectory of the driverless vehicle. For example, the processing device 208 may determine an intended trajectory for the driverless vehicle and may display a focused view that features an environment consistent with or in the same direction as the intended trajectory. Alternatively, or additionally, the focused view may be adjusted by the teleoperator, as described herein. For example, the teleoperator may want a view out the side of the driverless vehicle and may transmit a request to apply a distortion key to the processing device 208, such that the focused view may be adjusted to display out the side of the driverless vehicle based on the requested distortion key.
In some embodiments, the first wide-angle view804 includes a front wide-angle view that may be displayed in a top portion of the teleoperator view 800 and/or the second wide-angle view 806 includes a rear wide-angle view that may be displayed in a bottom portion of the teleoperator view 800. In some embodiments, each of the front and rear wide-angle views 804, 806 may include an approximate 180-degree FOV, such that together the front wide-angle view 804 and the rear wide-angle view 806 provide an approximate 360-degree FOV in the teleoperator view 800.
In some embodiments, the teleoperator may individually toggle the front wide-angle view 804 and/or the rear wide-angle view 806 to be enabled or disabled from the teleoperator view 800. For example, the teleoperator may disable the rear wide-angle view 806 which may result in the teleoperator view 800 displaying the front wide-angle view 804 and the focused view 802 without the rear wide-angle view 806, such that both or either of the front wide-angle view 804 and/or the focused view 802 may be larger as a result of not displaying the rear wide-angle view 806. Alternatively, the teleoperator may disable the front wide-angle view 804 which may result in the teleoperator view 800 displaying the focused view 802 and the rear view 806 without the front wide-angle view 804, such that both or either of the focused view 802 and/or the rear wide-angle view 806 may be larger as a result of not displaying the front wide-angle view 804.
As an example of omitting one of the wide-angle views,
In the illustrated embodiment, the embedded sensor data element 906A includes a next step in a particular route being followed by the driverless vehicle. The embedded sensor data element 906B includes an approximate time for the occurrence of the next step of the embedded sensor data element 906A. The embedded sensor data element 906C includes an expected trajectory of the driverless vehicle within the environment represented in the focused view 902. The embedded sensor data element 906D includes a name of a waypoint toward which the driverless vehicle is headed. The embedded sensor data element 906E includes a map showing some or all of the particular route of the driverless vehicle.
One or more other embedded sensor data may alternatively or additionally be included in the teleoperator view 900 or other teleoperator views, such as obtained radar data, thermal infrared data, ultrasonic data, and/or other data that may be obtained from additional sensors associated with the driverless vehicle, as described herein. In some embodiments, the embedded sensor data elements may be toggled to display or not display by the teleoperator. For example, the teleoperator may toggle the expected trajectory embedded sensor data element 906C and/or the small map sensor data element 906E such that the focused view 902 is not overlaid or occluded by the expected trajectory embedded sensor data element 906C and/or the small map embedded sensor data element 906E, respectively.
In these and other embodiments, the processing device 208 may be configured to include the one or more views (e.g., the focused view, a first wide-angle view, and a second wide-angle view) and the embedded sensor data in a combined view that may be presented at the teleoperation workstation. For example, the processing device 208 may obtain and concatenate the focused video view and one or more wide-angle views, in addition to any embedded sensor data, into a combined view as part of a combined video feed and transmit the combined video feed to a teleoperation workstation for display to a teleoperator.
The method 1000 may begin at block 1002 where the processing logic may receive a request to obtain a first view associated with a system. In some embodiments, the first view may include a front view, left view, right view, rear view, and/or other view from a driverless vehicle or other system. In some embodiments, the first view may be associated with a first distortion key of multiple distortion keys.
The method 1000 may continue at block 1004 where the processing logic may obtain video sensor data from multiple video sensors that may be associated with the system. Obtaining the video sensor data from multiple video sensors may include stitching two or more different sets of video sensor data (e.g., two or more video feeds) together to generate wide-angle video sensor data. Adjacent video sensors may have FOVs that partially overlap such that the video sensor data of adjacent video sensors (hereinafter “adjacent video sensor data”) may have some overlap as well. Accordingly, stitching the two or more different sets of video sensor data together may include removing overlapping video sensor data.
The method 1000 may continue at block 1006 where the processing logic may apply a first distortion key to the video sensor data to generate distorted video sensor data. Applying the first distortion key to the video sensor data may include, e.g., linearizing a corresponding UV map, warping the UV map to expand one or more regions associated with the first view and to compress one or more other regions, or the like or any combination thereof. Warping the UV map to expand one or more regions and to compress one or more other regions may include vertically expanding a central portion of the UV map and vertically compressing upper and/or lower portions of the UV map. This may serve to expand a desired FOV in the vertical direction within the video data to generate warped or distorted video data (e.g., after painting a sequence of images of the video data onto the warped UV map to generate a sequence of warped 2D texture maps and outputting the sequence of warped 2D texture maps as the warped or distorted video data). Alternatively or additionally, warping the UV map to expand one or more regions and to compress one or more other regions may include horizontally expanding a central portion of the UV map and horizontally compressing lateral left and/or lateral right portions of the UV map. This may serve to expand a desired FOV (e.g., front view, left view, right view, rear view) in the horizontal direction within the video data to generate warped or distorted video data. In some embodiments, the first distortion key may be associated with the first view.
The method 1000 may continue at block 1008 where the processing logic may obtain additional sensor data from one or more additional sensors. For example, the additional sensor data may include path routing data, GPS data, radar data, vehicle speed data, vehicle directional data, objects in motion data relative to the vehicle, vehicle trajectory data, or the like or any combination thereof.
The method 1000 may continue at block 1010 where the processing logic may apply the first distortion key to the additional sensor data to generate warped or distorted additional sensor data. Applying the first distortion key to the additional sensor data may include formatting, arranging, or otherwise processing some or all of the additional sensor data for combination with the warped or distorted video sensor data generated at block 1006.
The method 1000 may continue at block 1012 where the processing logic may combine the warped or distorted video sensor data and the warped or distorted additional sensor data to generate combined warped or distorted video data.
The method 1000 may continue at block 1014 where the processing logic may transmit the combined warped or distorted video data. Transmitting the combined warped or distorted video data at block 1014 may include transmitting it to a teleoperator workstation or other receiving device where it may be rendered and displayed in a teleoperator view, such as the teleoperator views of
Modifications, additions, or omissions may be made to the method 1000 without departing from the scope of the present disclosure. For example, in some embodiments, the method 1000 may include any number of other blocks that may not be explicitly illustrated or described. Alternatively, or additionally, one or more blocks included in the flowchart may be performed sequentially, or in parallel, as applicable. For example, blocks 1004 and 1006 may be performed before blocks 1008 and 1010. Alternatively, block 1004 and block 1008 may be performed at substantially the same time.
In some embodiments, the method 1000 may include an additional block where the processing logic may transmit a request to the system. In some embodiments, the request to the system may include a request seeking assistance with an operation associated with the system. For example, in instances in which the system includes a driverless vehicle, the request for assistance may include a confirmation of an action related to the driverless vehicle, such as a turn operation. In some embodiments, the additional block may be configured to occur before block 1002. As another example, the method 1000 may include receiving a command (e.g., from a teleoperator) for the driverless vehicle to perform a desired operation and then controlling the driverless vehicle to perform the desired operation.
In general, the processor 1102 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules and may be configured to execute instructions stored on any applicable computer-readable storage media. For example, the processor 1102 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), hardware encoders and/or decoders, a graphics processing unit (GPU), hardware accelerators, functionally dedicated system, and/or any other digital or analog circuitry configured to interpret and/or to execute program instructions and/or to process data. Although illustrated as a single processor in
In some embodiments, the processor 1102 may be configured to interpret and/or execute program instructions and/or process data stored in the memory 1104, the data storage 1106, or the memory 1104 and the data storage 1106. In some embodiments, the processor 1102 may fetch program instructions from the data storage 1106 and load the program instructions in the memory 1104. After the program instructions are loaded into memory 1104, the processor 1102 may execute the program instructions.
For example, in some embodiments, one or more aspects of the dynamic virtual sensor mapping may be included in the data storage 1106 as program instructions. The processor 1102 may fetch the program instructions of a corresponding module from the data storage 1106 and may load the program instructions of the corresponding module in the memory. After the program instructions of the corresponding module are loaded into memory, the processor 1102 may execute the program instructions such that the computing system 1100 may implement the operations associated with the corresponding module as directed by the instructions.
The memory 1104 and the data storage 1106 may include computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable storage media may include any available media that may be accessed by a general-purpose or special-purpose computer, such as the processor 1102. By way of example, and not limitation, such computer-readable storage media may include tangible or non-transitory computer-readable storage media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store particular program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media. Computer-executable instructions may include, for example, instructions and data configured to cause the processor 1102 to perform or control performance of a certain operation or group of operations.
Modifications, additions, or omissions may be made to the computing system without departing from the scope of the present disclosure. For example, in some embodiments, the computing system 1100 may include any number of other components that may not be explicitly illustrated or described.
Terms used in the present disclosure and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including, but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes, but is not limited to,” etc.).
Additionally, if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations.
In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” or “one or more of A, B, and C, etc.” is used, in general such a construction is intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc.
Further, any disjunctive word or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” should be understood to include the possibilities of “A” or “B” or “A and B.” This interpretation of the phrase “A or B” is still applicable even though the term “A and/or B” may be used at times to include the possibilities of “A” or “B” or “A and B.”
All examples and conditional language recited in the present disclosure are intended for pedagogical objects to aid the reader in understanding the present disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the present disclosure.
This application claims the benefit of and priority to U.S. Provisional App. No. 63/364,521 filed May 11, 2022, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63364521 | May 2022 | US |