{'fraction_non_alphanumeric': 0.03014303542286647, 'fraction_numerical': 0.01118364212345205, 'mean_word_length': 4.754591907195139, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Predictive Display with Perspective Projection of Surroundings in Vehicle Teleoperation to Account Time-delays

Teleoperation provides human operator sophisticated perceptual and cognitive skills into an over the network control loop. It gives hope of addressing some challenges related to vehicular autonomy which is based on artificial intelligence by providing a backup plan. Variable network time delays in data transmission is the major problem in teleoperating a vehicle. On 4G network, variability of these delays is high. Due to this, both video streaming and driving commands encounter variable time delay. This paper presents an approach of providing the human operator a forecast video stream which replicates future perspective of vehicle field of view accounting the delay present in the network. Regarding the image transformation, perspective projection technique is combined with correction given by smith predictor in the control loop. This image transformation accounts current time delay and tries to address both issues, time delays as well as its variability. For experiment sake, only frontward field of view is forecast. Performance is evaluated by performing online vehicle teleoperation on street edge case maneuvers and later comparing the path deviation with and without perspective projection.

in case of fallback of autonomous vehicles, and valet parking etc. Because of many reasons, the driving experience of the human operator would not be exactly same as compare to driving the vehicle from inside of it. First, human-operator is not able to feel vehicle acceleration while sitting on a seat inside the control station. Second, although display screens try to emulate windshield view, display screens are usually smaller than windshield. Moreover, in cases where camera is mounted outside the vehicle on its roof for better sensing, human operator observes different perspective as compare to perspective from inside of the vehicle. Altogether, visual input to human operator is different than visual input to a real vehicle driver. Third, is the absence of real haptic feedback. Haptic feedback are steering feedback force, pedal press force. Fourth, and most critical aspect in teleoperation, is time-delay or latency. Time-delay is defined as the time passing between the user's input and its displayed response [3]. For human inthe-loop control systems, time-delay has been considered to affect performance factors. The accuracy of control actions deteriorates because of operator's inability to visualize or predict the outcome of his control actions. Humans can adapt to time-delays in control systems [4], however, this adaptation depends on human operator ability to predict the outcome of his control actions [5], and the extent of this adaptation is dependent upon the characteristics of the time-delay (e.g., magnitude and variability) [6].
Studies on human performance in virtual environment show that people are generally able to detect latency as low as 10-20 ms [7]. In a simulated driving task, the driver's vehicle control is found to be significantly degraded with a latency of even 170 ms [8].
Time-delay components in teleoperation are camera frame capture delay (exposure delay), data communication delay, image-processing delay, human-operator response time, and vehicle actuation delay. Camera's capture delay with a general purpose USB3.0 camera for 672x376 image frame is ∼70ms. It can be considered constant for constant illuminance of ambient light. Due to independent treatment of pixels (section II-B-2), image-processing delay is constant for constant image resolution. Human-operator response time is present in both teleoperation and real vehicle drive. Data communication delay is the bottleneck in time-delay cycle. During vehicle teleoperation, vehicle streams images to the control-station in the form of jpeg images and the control-station transmits driving commands to the vehicle as better described in the following. Bandwidth consumption during this data communication is around 1 MBps. Figure 2 shows the round-trip delay observed while performing vehicle teleoperation. Here the data corresponds to 1000 image frames and corresponding 1000 driving commands. This test is performed in typical urban environment with the vehicle is connected to 4G mobile communication and control-station is connected to internet using wired LAN. Lastly, dynamics of vehicle actuation in nonaggressive driving can be considered fast and delay associated to it can be considered constant (∼ 20ms). Several mechanisms have been demonstrated to counter the effects of time-delay including mathematical predictors/filters, predictive displays, command displays, and observer based model. Mathematical filters/predictors are Kalman filter predictors and Smith predictors. Predictive and command displays try to counter the time-delay issue by providing immediate feedback to the operator through model representation. Command displays differ from predictive displays, as they require the remote system to be autonomous [9]. Smith predictor approach [10]- [15] has the potential to mitigate the negative effect of the time delay. But it is highly dependent on the accuracy of the predictor model. T. Teng and P. Grant [16], uses online parameter estimation techniques for the predictor model, to adapt changes in predictor model in real-time.

Round-trip delay for 1MBps
R. Liu, D. Kwak et al. [17], investigated two visual information display arrangement strategies: (i) presenting display frames to a remote driver as soon as the frames arrive, and (ii) smoothing the display by adding additional delay when necessary to the received frame to mitigate the delay variance. They demonstrated that in 2 nd arrangement, mitigates the negative effect of variable delay incurred by LTE networks. In both strategies, operator is responsible to adapt to the delay and take maneuvering decisions by cognitively predicting vehicle position, which induces mental fatigue.
An observer-based framework [18]- [21], in which model free approach is used to estimate the undelayed state of the teleoperator vehicle. Here, the closed-loop dynamics of the observer is based on a sliding surface. A blended prediction of the heading signal is considered by linearly combining the model-free prediction with a steering-model. Y. Zheng et al. [22] found that the blended architecture offers improvement when compared to the purely model-free realization. However, in human in the loop experiments, view at the predicted position is generated directly from the simulation environment and not by the image processing of the delayed image.
Using command displays approach, Michael Fennel [23], proposed an offline path follower where the operator "draws" a desired 2D path by walking in a large-scale haptic interface while a guiding force is exerted, which ensures that the generated path can later be accurately followed by a path tracking controller running offline on a remote robot. However, in this strategy, operator is not actively controlling the task.
Tito Chen [24], proposed a safety concept for teleoperated vehicles, called free corridor, with which the path of an emergency braking of the vehicle is calculated continuously and visualized as augmented reality in the received images at the operator workstation. With this concept, it is the task of the human operator to continuously hold this path free while driving. In case of a communication loss, an emergency brake will be activated and the vehicle will brake along the beforevisualized path. However, in estimating the free corridor, the delay associated to the driving command from control-station to vehicle is not considered. Which may cause slight deviation in the predicted and actually realized vehicle trajectory.
In a previous work [25], the authors briefly introduce Perspective projection technique. Perspective projection (PP) or perspective transformation is a linear projection where three dimensional objects are projected on an image plane [26]. There the authors present post-processing results i.e., data are collected with the vehicle and processed offline to validate the algorithm. The approach was found to be able to generate the new perspective of the forward displaced camera, taking input as the image captured at the previous position of the camera.
In literature [10]- [15], [18]- [22], [24], position of the vehicle is estimated using predictive techniques and then either predicted position is overlayed on the delayed image using coloured markers or field of view (FOV) at the predicted position is generated directly from the simulation environment by placing a virtual camera at predicted position (which is infeasible in reality). This paper utilizes PP to generate the FOV at the predicted position in reality , which provides realistic perspective compare to using markers. The undelayed states are predicted by the Smith-predictor in the controlstation which employs a model of the vehicle. The predicted position corresponds to the position where the vehicle would receive driving commands back, corresponding to the input image it has sent before. For initial performance check of PP in real-life vehicle teleoperation, only front camera is used in experiments.
The core contributions of this paper are as follows: • Perspective Projection approach to augment the delayed image instead of using markers. It provides better realistic perception to the human operator. The technique is detailed in section II-B-2. • To allow 4G transmission of big depth-map data, a logarithmic encoding is used to utilise JPEG compression, which is explained in section II-A-3. 5G would decrease network latency, but latency would still be present in transmitting big data like images as compared to a simple ping. Apart of network latency, net latency consists of other factors such as camera exposure delay, data processing delay and actuator delay (see section II-B-1). Availability of 5G would further enchance performance of proposed approach by reducing network latency.
The paper is organized as follows. In section II, the modified teleoperation control loop employing the smith predictor is described. Then, the deployed architecture is presented with the explanation of its sub-elements. The sub-elements consists of the vehicle, sensing architecture, plant model for the smith predictor and PP. Section III presents the experiment procedure and shows the results of the experiment performing real-life vehicle teleoperation on street edge-cases. Section IV carries discussion on the respective results and discusses the benefits observed by employing PP. Section V concludes this work.

II. METHOD
The system model adopted for this vehicle teleoperation closely resembles to Smith Predictor model [27] as shown in figure 3. In Smith predictor setup, the control input (L 2 ) is passed through a predictor model P ′ of the vehicle, which then passes through a transfer function given by eq. 1.
Where τ is the time delay between output of the controller and the respective feedback it receives from the plant in the control loop. Historically designed for classical control, the purpose of the Smith Predictor is to bypass the time delay in the observation, and transform the system into a pure forward delayed system [16]. This is helpful for human-in-the-loop teleoperation, as it allows the human operator to not to wait for the feedback and provides the sense of controlling the vehicle in real-time.
In vehicle teleoperation, link L 5 in figure 3a corresponds to delayed vehicle states i.e., vehicle pose in the surrounding environment. In particular, link L 5 is the delayed image streaming transmitted by the vehicle and received by the control station. Link L 6 contains the supplement contribution which can be added to link L 5 . This addition complements link L 5 by the vehicle model action took place in the delay time. In short, L 6 is the prediction which could be added to link L 5 , to make it feel like undelayed feedback, link L 7 . To do so, timedelays and vehicle model should be known. Link L 5 is discrete  time delayed image frames which has to be transformed to feel like undelayed discrete time image frames, link L 7 . Link L 6 is the forecasted position relative to the delayed position of the vehicle corresponding to the delays in the system. It can be seen that when the vehicle model is accurate, i.e., P ′ = P , the system behaves like the one shown in figure 3b. Advantage of Smith predictor is that the delay is out of the control loop, which eliminates time delay induced instability and converts the system into just a delayed output system.
In this work, considering low vehicle teleoperation speeds, vehicle model considered is a single track kinematic model which would be discussed later in section II-B-1-b.
The system architecture for vehicle teleoperation is made of a control station that receives the image stream after downlinkdelay (τ 1 ) and subsequently the vehicle receives driving command after uplink-delay (τ 2 ). Instead of showing delayed image to the human-operator a forecasted image is presented. Forecasted image tries to render the exact perspective of what vehicle would see upon reception of driving commands. For example, in case of straight driving at 4m/s and 0.4s of round-trip latency, the forecasting should generate the vehicle perspective at predicted position of 4 x 0.4 = 1.6m forward relative to the delayed image.
A. Teleoperated Vehicle 1) Vehicle: An electric front wheel drive vehicle, ZED One , which is made fully actuated-by-wire system ( [28], [29]) is used for the vehicle teleoperation testing. Table I reports, brief dimensional specification of the vehicle. It is equipped with camera and speed sensor that are necessary to acquire data to be transmitted to the control station. 2) Camera and depth sensor: Stereolabs ZED stereocamera , is used to capture stereo images and it is mounted on the vehicle roof. In normal street driving, driver has to be aware of its surroundings and their motion, to plan his course of action. Since in majority of driving cases, the vehicle moves only in forward direction, awareness of the objects ahead is crucial role in manoeuvring vehicle. This is why for current experiment, one available stereo camera is utilized for capturing frontward FOV.
Depth map is computed by Stereolabs SDK thanks to Nvidia Jetson AGX Xavier installed inside the vehicle, which uses stereo images as input to generate depth-map. And later, Jetson sends depth-map and image frames to the control station.
3) Data compression: Since the images and depth maps are huge data to be sent through 4G network, data compression is necessary. In fact table II, shows the bandwidth required to communicate uncompressed image and depth map of resolution 376x672. The camera resolution is chosen as a trade- off between image quality, which is necessary to perceive the details of surrounding environment, and the computational performance, which degrades as number of pixels increases.
Since the required bandwidth is much higher than the available one with 4G network, data compression is necessary (maximum theoretical upload speed in 4G is 1MB/s). JPEG compression is then utilized for RGB image compression but the same can't be used directly for depth-map which contains floating point data. To avail benefit of JPEG compression, depth-map elements have to be converted into 'uint8' datatype according to the eq. 2.
Here, A = 0.0126194 and C = 364.92737 are obtained to have linear increase in depth resolution with depth ( figure 4). Hence, less resolution is assigned to lower depths to assure more detail for closer objects. Above relation encodes all depths (x: 1-20 meter) in range (y: 0-255) of 'uint8' data type. In control station, inverse of eq. 2 is used to acquire depths in meters back again. Exploiting this technique (eq. 2), JPEG compression can be utilized to further compress the depth map which now contains 'uint8' elements. Table III shows bandwidth required to communicate compressed image and depth map of resolution 376x672. Data compression makes it feasible to use 4G network for wireless data communication.

B. Control-station
Control-station consists of a PC powered by intel i7 processor, 24" display, Logitech G920 steering wheels, and pedals as shown in figure ??. Due to the constrain of live streaming, time available to process each image frame is ∼33ms (for 30fps). For faster processing, CPU parallel computing is utilized to perform the perspective transformation. Due to which processing time for each frame is ∼15ms. The humanoperator sees the transformed image and actuates steering wheel. Human operator can also see current speed, estimated path (based on current steering angle) and observed network latency for situational awareness.
Control-station tasks are predicting forecasted position corresponding to delay in the control loop, performing perspective projection to generate the new perspective and capturing operator commands to transmit it back to the vehicle.
1) Position prediction: Forecasted position is the position, where vehicle would receive driving commands back, respective to the input image frame it sent to the controlstation (see figure 5). Control-station receives image frame, depth frame, vehicle speed, and acceleration. Forecasting timewindow depends on time-delay present in data communication. Taking control-station as reference point, downlink-delay (eq. 4) is considered as the delay associated with image frame. Uplink-delay (eq. 5) is considered as the delay associated with driving commands. It consists of camera capture delay, depthmap computation delay, data communication delay, and PP computation time. These contributions can be lumped, because time point of image capture is used in image timestamp. Uplink-delay consists of network uplink delay, and vehicle actuation control unit delay. It is unknown during image transformation at control-station. Stochastic approach is considered to estimate the uplink-delay. a) Uplink-delay estimation: Since actuation delay(∼ 20ms) is constant, it is combined directly with τ 1 . Here onward only network part of uplink delay is considered as net uplink delay (τ 2 ), which can only be observed by the vehicle. Making reference to figure 6, the uplink-delay measured during a vehicle teleoperation test is reported as occurrence histogram. Analyzing the collected data of 9000 data-points of uplink-delay, it was found that Generalized extreme value (GEV) distribution fits accurately on uplink time-delay data. Also, Y. Zheng et al. [22] found GEV distribution apt for representing The probability distribution of generalized extreme value distribution is defined by eq. 3.
For 1 + ξ τ2−µ σ > 0, ξ the shape parameter, µ the location parameter and σ > 0 the scale parameter. The shape parameter ξ, is found positive. Which means, the distribution has a lower bound µ − σ ξ and heavy tail, based on the extreme value theory. Every second, control-station fits GEV distribution (using MATLAB gevf it) on latest uplink-delay data, computes its 95 th and 99.9 th percentile (using MATLAB gevinv) and send it to control-station.  [30] found that a short variable lag could be more determinantal than a longer fixed one in a human-in-the-loop system. To eliminate the variability factor in the uplink-delay, hold and apply strategy is used. Consequently in the control station, for forecasting vehicle position, instead of considering most probable delay value of the uplink-delay distribution, 95 th percentile of distribution is considered. For instance, if the most probable delay is 30 ms and delay corresponds to 95 th percentile is 60 ms. During forecasting position, uplink-delay considered is 60 ms. The human operator would maneuver according the the forecasted vehicle position and the generated driving commands would correspond to 60 ms uplink-delay. Considering higher percentile instead of most probable value for uplink delay, ensures prior reception of driving commands by vehicle compare to its desired actuation time ( in 95% instances). Besides containing the driving commands, the uplink msg consists of three time-info's. First timeinfo corresponds to the control-station timestamp when the driving command was generated by the human operator. Second and third time-info's consists of 95 th and 99.9 th percentile of delay distribution respectively. The vehicle is programmed to direct the commands to its actuators at the time 'control-station timestamp + 95 th percentile of delay distribution'. Hold and apply strategy narrows the effective variability of uplink-delay. Purpose of computing 99.9 th percentile is to inform the vehicle to activate safety actions, if vehicle doesn't receive any command even waiting till the time corresponds to 99.9 th percentile. In case of weak network condition, distribution fit may get widen. Which may result much higher value for 99.9 th percentile. A max limit of 200 ms is set for 99.9 th percentile. If vehicle doesn't receive any command till max 200 ms from the time-stamp of last command, emergency stop manoeuvre would be activated by the vehicle. Figure 7 shows the trend of 95 th percentile and 99.9 th percentile of uplink-delay over a time window of 90s. Here the distribution fit is performed every second over the 50 uplink-delays observed in each second, as the control-station transmits command at 50 hz. It can be seen that variability of the 95 th percentile (used in hold and apply strategy) has been reduced to ∼ 10ms. Since the 99.9 th percentile is not directly involve in hold and apply strategy, its variability has less impact on the whole operation. b) Trajectory integration to predict vehicle position: Single track kinematic model is used to integrate vehicle trajectory. Feng. Gao et al. [31] found that at low lateral acceleration (< 2m/s 2 ) and at non-small steering angles, kinematic vehicle model is comparable to nonlinear coupled vehicle dynamics model. to t 1 is performed for every image frame received at the control station, see figure 5.
At time instant t 1 , when control-station receives an image frame, steering time-history of control-station (link L 2 in figure 3a) is known. Euler method, Runge-Kutta method or Exact trajectory integration method can be used for forward kinematic integration. Here, exact trajectory integration method is used with steering timehistory of time-window equal to τ . Output of trajectory integration is the pose change of the camera relative to its input pose as shown in figure 8. Intermediate output of trajectory integration is the pose change of rear axle center with respect to its input pose (Input pose of rear axle is always lies on the origin as given in eq 7). Image coordinate system is used to maintain relation between vehicle movement and image captured by camera. Considering initial conditions: Where, τ is given by eq 6. To predict the curved path of the vehicle, the time history of the steering is needed.
Steering time-history is: Here, first column contains the steer angles at front wheel and second column contains respective time intervals for which the steer is effective. Due to constant sampling time of 0.020s, most of the time intervals are constant, except dt 0 and dt n−1 . This is due to absence of synchronicity between steering angle sampling and image streaming frame rate. Equation 10 calculates the velocity of rear axle center at each integration step.
Given the steer, instantaneous radius of curvature (R) and angular velocity (ω) is given by eq 11-12, where L is the vehicle wheelbase.
Equation 13-15 gives the pose of rear axle center after i th integrating step, according to reference frame shown in figure 8, where origin lies at the center of rear axle.
After performing integration over the steering timehistory window, predicted pose (X n , Z n , Ψ n ) of rearaxle center is obtained. Camera pose change (∆Z cam , ∆X cam , ∆Ψ cam ), i.e., relative pose of predicted camera position with respect to input camera position (figure 8) is obtained through eq. 16-18.
Here, C, is horizontal distance between camera and the rear axle center. Camera pose change is required because the link L 5 in figure (3a) is the image captured with camera mounted on the vehicle. Camera pose change is the link L 6 in figure (3a). 2) Perspective Projection: Perspective projection refers to image transformation to obtain the new camera perspective after the camera has traversed. It corresponds to the 3D projection of the world on the image plane of the camera at the predicted position and its topology perceived by the camera at its predicted position as depicted in figure 8. Unlike typical zooming, it resizes each object ahead considering its distance from the camera. It also captures the effect of vehicle yaw motion on the new image formed, as shown in figure  8. Through this technique, human-operator sees a forecasted video stream which tries to replicate future perspective of Object's new perspective depends upon its relative coordinates from the camera. Nearer objects expand more than farther objects. While making a turn, some objects disappear and new objects appear. Object disappearance can be simulated well but appearance of new object can not be simulated. Inpainting technique is used to fill those pixels which correspond to introduction of new objects. Algorithm proposed by Telea [32] is used for inpainting, which considers the color information of available neighbouring pixels. To compute relative position of objects, depth-map is used as input for this transformation. Depth-map, is an image channel that contains information relating to the distance of the surfaces of scene objects from the viewpoint. The output of this projection is the link L 7 in figure (3a). Process flow chart of perspective projection implementation is shown in figure (9). Errors correspond to each block is discussed in Appendix A, where the prime contributor is the Point-cloud transformation block.
Equation 20 computes the Cartesian coordinates (x p ,ŷ p ) of the pixel in meters.
Where, f ovH and f ovV are horizontal and vertical FOV of the depth-map image. Needless to say that z coordinate of the point is already known, as it is given in that particular depth map point. Rotation is performed according to the following rotation matrix (eq 21), Above matrix is based on coordinate system indicated in Figure 8. It means that a rotation is positive while turning right.
The translation vector, D = Previous two operations can be combined in a homogeneous transformation matrix (eq 23), In our case, camera is mounted pointing slightly downward, for better utilization of vertical FOV as shown in figure 10. The transformation matrix T has then to be modified as per eq 24 and eq 25, accounting for the additional rotation about x axis.
The rotation matrix, New transformation matrix, Above obtained (x dN ew ,ŷ dN ew ) coordinates are new pixel location corresponds to the old pixel location (x d ,ŷ d ). Right now it is centered with image center. Re-centering back to the top-left corner is performed as given by eq 29.
x dN ew =x dN ew + (W/2 + 0.5) y dN ew =ŷ dN ew + (H/2 + 0.5) This is necessary because in image pixel coordinate system, origin is at the top-left corner. Although in this example, only one pixel is discussed but the same has to be done for all the pixels. The output of this step is a map which contains information about the new location (x dN ew , y dN ew ) of the old pixel (x d , y d ) in the the image. e) Pixel scaling: Pixel scaling performs re-scaling the objects in image according to their new distance from the camera, i.e., nearer objects would scale-up more compare to farther objects. This scaling is performed at the pixel level. Scale factor for each pixel depends on old and new depth of that pixel. Scale factor for pixel (x dN ew , y dN ew ) is given by eq 30.
As scale factor is different for each pixel, span (or spread) of each pixel in new image would be different. Span of old pixel (x d , y d ) in new image over the rows is given by eq 31.
Span of old pixel (x d , y d ) in new image over the columns is given by eq 32.
f) Mapping RGB values for each pixel: Being known the old location and new location of each pixel, RGB information is carried from old image to the new image.
Psuedo code for carrying RGB information for one old pixel is given by eq 33.
newImage(iRows, iCols, 1 : 3) = oldImage(y d , x d , 1 : 3) (33) Here (x d , y d ) are the inputs used in RHS in eq 19. Mapping of RGB pixels is responsible to place objects in previous FOV to new FOV, i.e., to place RGB pixels (x d , y d ) from figure 11a to (x dN ew , y dN ew ) in figure  11b. To get the full new image, new locations of all the old pixels are calculated. Obviously, the pixels that fall out of frame need to be discarded. Important thing to keep in mind during this iteration is, the order in which pixels need to be processed. As can be imagined, when camera moves forward, nearer objects scale-up and try to blanket farther objects. Therefore, pixels which correspond to farther depths need to be processed before than pixels which correspond to closer depths. It can be noticed that sizes of farther objects didn't change significantly, but sizes of closer objects changed significantly (e.g. the size off-road vehicle in image has scaled-up significantly). Objects in the left part of the image is automatically discarded in the frame because they are no longer belong to the new FOV. Right part of the image (figure 11b) is null because new objects can not be predicted by this approach (black pixels in figure  11b). Obtained output can be compared with effective view shown in figure 11c after vehicle motion. In general good matching is observed.

C. Network communication
To teleoperate the vehicle, a LAN is generated connecting the vehicle with the control station. This is made thanks to Robot Operating System (ROS) network which is set up with university VPN over 4G communication using 'Netgear MR1100' modem. The modem is LTE Category 16 which is compliant with 3GPP Release 12. So, it could avail LTE Advanced technology also, which is a major enhancement of the LTE standard.

D. GPS
To track vehicle trajectory, GPS AgGPS-332 receiver is mounted on vehicle. GPS controller is constantly performing RTK-correction to ensure centimeter level accuracy, to have good trajectory analysis. To compare the trajectories traversed in the following section GPS tracked Geo-coordinates are used.

III. RESULTS
To assess the usefulness of perspective projection technique, some on-street edge case manoeuvres are performed in controlled environment. Manoeuvres considered for this assessment are 7 meter radius 80°left-angled turn (R7-80°), 5 meter radius 120°left-angled turn (R5-120°) and double lane change (as shown in figure 12). Test track is an asphalt rolled road with center-line marked throughout with reflective wide tape. Marked center-line hints the driver about the current deviation while driving and also the rms value of deviation is being used to assess the performance of Perspective projection in teleoperation.

Fig. 12: Track for experiment
In this experiment two people are involved. One person is inside the vehicle acting as a safety driver and other is in the control-station for teleoperation laps. Experiment is performed in 3 different modes: a) Driver in vehicle: The driver inside the vehicle drives on the track at constant speed of 10 km/h to capture GPS coordinates of the track while normal vehicle driving. b) Teleoperation with perspective projection: In controlstation, after performing 20 minutes of drive training on above manoeuvres with perspective projection algorithm, the human operator perform two teleoperation laps with the algorithm at constant speed of 10 km/h. c) Teleoperation without perspective projection: In controlstation, after performing 20 minutes of drive training on above manoeuvres without perspective projection algorithm, the human operator perform two teleoperation laps without the algorithm at constant speed of 10 km/h. Short training time (of only 20 minutes) was considered intentionally to assess the performance benefit of perspective projection algorithm in spontaneous scenarios. Considering longer training times may affect the assessment due the fact that human mind tries to correct, learn and memorize repetitive control actions.
To evaluate the performance benefits, trajectories are monitored with the help of two GPS antennas mounted at the front and rear of the vehicle roof top. With the help of two GPS antennas vehicle heading also can be precisely tracked. While driving at low speeds in this experiment, general tendency of driver is to coincide forward-most point of the car with the center line of road. Forward-most point of the car is found at 0.8 m ahead from the front axle. Geographic coordinates of this forward-most point is estimated through linear extrapolation of the GPS coordinates from the two GPS antenna mounted on the vehicle roof top. RMS deviation -To assess performance improvement, deviation is measured between this foremost point of the vehicle and closest point on center-line of the test track. Tests are performed at only one speed of 10 km/h for all manoeuvres. Constant speed is maintained by a cruise control system installed inside the vehicle. Whereas, steering commands are generated by the human inputs, transmitted from the control-station. During all teleoperation laps, the safety driver didn't intervene. RMS deviation is computed as given by eq 34.
where, deviation -is the minimum distance between forward-most point and the track n GP S -is the number of GPS readings observed in the specific manoeuvre Figure 13 shows the input, output image of the Perspective projection node and ground truth (a snap from Video1 of supplemental files). The ground truth is captured after 330ms of the input image. Here, the 330ms is approximating the round-trip delay considered by the PP node for the frame. Each frame of Video1 validates the performance, by comparing PP output with ground truth. Where, the ground truth is the real image captured after the delay considered in PP. To analyze the role of this projection technique, some interesting areas are marked in the comparison. While performing the left turning manoeuvre, objects start moving right in the FOV. Some objects on the right, starts disappearing form the FOV. E.g. Obj 1 marked is shifted towards right-bottom and Obj 2 has completely disappeared from the FOV. This accurate transformation of the FOV, gives the human operator a feel of delay-free driving. Introduction of new objects on the left side of FOV can not be predicted (in case of just one camera facing forward), inpainting is used to fill the null pixels. Figure 14a shows, trajectories traversed in all driving modes for the first R7-80°. Together with the vehicle trajectory, time delay experienced while driving at that particular Xcoordinate is reported to correlate driving behaviour. This figure is stretched in y-axis to emphasise the cornering region. Deviation (RMSE 0.2 m) is minimum in the case when the driver is inside the vehicle, reason is clear that there is no network delay between the driver and the vehicle. In case of teleoperation without projection, deviation RMSE is ∼ 0.53m. Performance improvement is observed in case of teleoperation with projection, where the deviation RMSE is ∼ 0.4m in both perspective projection (PP) laps. It is apparent in the figure that vehicle starts turning earlier ( at about X = −12m ) in case of perspective projection lap compare to the teleoperation lap without it. This is because projection tries to generate a perspective which the vehicle would observe, after traversing a distance corresponds to time delay in the network communication. It is also apparent that observed latency is consistently more in case of perspective projection. This is because projection algorithm requires RGB image as well as the depth-map. This means more computation, more bandwidth requirement, hence more time delay in data transmission. Interesting aspect is that performance is better even though latency is slightly increased (by ∼ 30ms). Figure 14b shows, trajectories traversed in all driving modes for the second corner R5-120°. Here, time delay experienced while driving at that particular Y-coordinate is reported. This figure is stretched in x-axis to emphasise the cornering region. This is a high curvature region of the test-track. In the first teleoperation lap without PP (purple), the vehicle starts turning after traversing a distance of around 0.5m beyond the corner. To compensate this deviation, human operator steers more, due to which an oscillation is observed after the corner. This oscillation is induced due to the time-delay in the control loop between human and vehicle. In the second teleoperation lap without PP (green), the human operator tried to steer rapidly to be close to the track. But again a small oscillation is observed due to time-delay in the system. In the both laps of teleoperation with PP (red and green), deviations are smaller as it was in laps without PP. And, the trajectories are oscillation free, which is the advantage of smith predictor approach. Figure 14c shows, trajectories traversed for the double lane change manoeuvre. Here, time delay experienced while driving at that particular Y-coordinate is reported. This figure is also stretched in x-axis to emphasise the cornering regions. In the first teleoperation lap with PP (red), the deviation is quite less. In the second teleoperation lap with PP (yellow), the deviations are little greater than previous lap. This is because the latency in network was suddenly increased in that region, as it is apparent in the latency trend of yellow plot (marked with yellow circles between Y-coordinate -5 to 5). Even in increased latency region, deviation is not degraded compare to laps without PP.

IV. DISCUSSION
As seen in the results section, trajectories traversed with teleoperation without perspective projection outcomes a significant deviation and oscillations in narrow turns. This deviation is due to time-delay present in the information flow. Even for low vehicle speed of 10 km/h, deviation of 0.5 meter is found for simple left-angled turn. This deviation may lead to unwanted incidents on street. Perspective projection technique doesn't completely eliminate the deviations, but reduces the deviations and eliminates oscillations in the trajectory. Even the time-delay in the loop is more in case of perspective projection, trajectories found to be stable and close to the reference as compare to that of without the perspective projection.
Limitations: As the vehicle speed increases (> 10 km/h), predictive image becomes blurry because of noise in depthmap. Also, it does not take into account the independent motion of objects in the frame. It considers objects to be still, and just the vehicle in motion. For small motion of objects and for small time-delay, this assumption is reasonable.
Advantages: Performing tele-operation with perspective projection resulted in significant reduction in deviations while maneuvering for corner R7-80°and double lane change. In high curvature manoeuvre of corner R5-120°at 10 km/h, oscillations are eliminated as compared with teleoperation laps without perspective projection.

V. CONCLUSION
To mitigate the detrimental effect of time-delay in vehicle teleoperation, perspective projection technique is used to transform the image streaming. Smith predictor approach is used to estimate the correction which can be added to the inputs (images) given to the human operator. The plant model inside the smith predictor is a single track kinematic vehicle model, which is a reasonable simplification considering low speed in vehicle teleoperation. Perspective projection technique merges the correction given by smith predictor to the streaming images. It is able to generate the transformed image not only in straight driving condition but also during cornering condition. One of its input is the depth-map. In order to transmit depthmap to the control-station, it is first transformed into 8 bit image using a mathematical relation which considers linear increasing resolution for depth measurements. Both, RGB and depth images are transmitted to the control-station in JPEG. For estimation of uplink-delay, stochastic approach is used to estimate 95 th percentile of the latest trend of uplink-delays in the network. The human-operator sees a perspective projected image of the vehicle surrounding. This display tries to emulate vehicle's perspective when the vehicle would receive driving commands. Due to this, human-operator is able to make driving decision bit in advance. Which results, better control in following desired trajectory.
For validation of the approach, vehicle teleoperation is performed on some edge-case scenarios of street driving. Scenarios are cornering and double-lane change at 10 km/h. To exhibit the improvements, results of two laps with and without PP are compared with each other.  Future work: Multi cameras and dynamic vehicle model (for position prediction) which would also require a vehicle state estimator to transmit vehicle states in addition to the images. Further assessment of vehicle teleoperation performance by incorporating trajectory and drive feeling result of more voluntary human operators.