# Reducing Onboard Processing Time for Path Planning in Dynamically Evolving
Polygonal Maps

Aditya Shirwatkar1 Aman Singh1 Jana Ravi Kiran2 This work is done as a project
for the course CP:230 Motion Planning and Autonomous Navigation1A. Shirwatkar
(email: adityasr@iisc.ac.in), A. Singh (email: saman@iisc.ac.in), are with the
Robert Bosch Center for Cyber Physical Systems, Indian Institute of Science,
Bengaluru.2J. Kiran (email<EMAIL_ADDRESS>is with the Department of
Aerospace Engineering, Indian Institute of Science, Bengaluru.

###### Abstract

Autonomous agents face the challenge of coordinating multiple tasks
(perception, motion planning, controller) which are computationally expensive
on a single onboard computer. To utilize the onboard processing capacity
optimally, it is imperative to arrive at computationally efficient algorithms
for global path planning. In this work, it is attempted to reduce the
processing time for global path planning in dynamically evolving polygonal
maps. In dynamic environments, maps may not remain valid for long. Hence it is
of utmost importance to obtain the shortest path quickly in an ever-changing
environment. To address this, an existing rapid path-finding algorithm, the
Minimal Construct was used. This algorithm discovers only a necessary portion
of the Visibility Graph around obstacles and computes collision tests only for
lines that seem heuristically promising. Simulations show that this algorithm
finds shortest paths faster than traditional grid-based A* searches in most
cases, resulting in smoother and shorter paths even in dynamic environments.

Keywords: Path Planning, Navigation, Mobile Robots

##  I Introduction

Autonomous agents, such as drones and self-driving cars, have revolutionized
many industries, from transportation to agriculture. However, these agents
face the challenge of coordinating multiple tasks on a single onboard
computer. These tasks include perception, motion planning, and control, which
can be accomplished using software components available in the ROS framework
[1]. But all of these tasks are are computationally expensive, hence it is
critical for mobile robots which operate in dynamic and unpredictable
environments to require quick and accurate decision-making capabilities.

One of these essential tasks for autonomous agents is global path planning,
which involves finding an optimal path from a start location to a goal
location while avoiding obstacles. Traditional path planning methods rely on a
rectangular grid-based occupancy map, where each cell represents a small
spatial unit that can be blocked, free, or unknown. The map is then searched
cell-by-cell to find the shortest path using different versions of A* or
Dijkstra’s algorithms. These can be inefficient for large-scale environments.
Moreover, these algorithms require discretization of the environment, leading
to sub-optimal paths and limited robot motion. Despite this, most of the
current state-of-the-art navigation software still uses these methods [2].

Polygonal maps offer several advantages over grids, which make them a
promising alternative for mobile robot navigation in dynamic environments.
Unlike grids, geometric arrangements have a compact memory footprint and are
well-suited to represent moving obstacles. Additionally, they are not
susceptible to the problems of discretization. Most significantly, polygonal
maps give rise to the Visibility Graph [3], which comprises edges of the
polygons in the scene and additional edges that connect pairs of polygon
corners that can "see" each other. The shortest paths can be found in this
graph, and once it is constructed, the A* algorithm can quickly find smooth
paths of optimal length with a minimal number of line segments. This is in
stark contrast to the jagged and sub-optimal paths that emerge from a grid-
based approach. A visual representation is provided in Figure. 1

Figure 1: The figure shows the obstacle-avoiding shortest paths in a polygonal
map. The black polygonal areas represent the walls expanded by the robot’s
size. The minimal construct algorithm explores only a small fraction of the
visibility graph of the map, as shown by the thin grey lines. In comparison,
the jagged path found by A* search (shown in blue) in an equivalent grid is
sub-optimal in length. On the other hand, the visibility graph-based minimal
construct algorithm (shown in red) provides an optimal path with minimal
complexity of only four line segments.

Although the search itself is relatively fast, constructing the Visibility
Graph requires significantly more computation time. The most efficient
algorithms known today require $O(n^{2})$ operations, where $n$ is the number
of polygon edges. Therefore, the time required to construct the graph is
highly dependent on the complexity of the map. Additionally, the frequent
changes in the environment, such as moving objects, people, or exploration of
uncharted areas, can make the graph obsolete. In such cases, the graph needs
to be reconstructed or repaired, which slows down the process of finding the
shortest path.

Figure 2: Overview of the approach

The Minimal Construct algorithm [3] addresses this problem by only computing
the required portion of the Visibility Graph during an A* search, rather than
pre-computing it. The algorithm always begins with the smallest possible
graph, which is a straight line from the start to the destination. In case
this line intersects with an obstacle, only then it goes on to update the
graph. This approach reduces the computational expense of the algorithm by
limiting the number of line intersection tests to only those lines that appear
promising based on heuristics. The features described above make the Minimal
Construct algorithm one of the best choices to reduce the computation time for
path planning in dynamically evolving polygonal maps.

Thus, the goal of this work is to propose a pipeline that employs a fast
global path planner to reduce the time required for map re-computation as the
map changes. We do this because shorter computation durations reduce the load
on a single onboard CPU while simultaneously shortening reaction times. We use
Minimal Construct as a global planner in dynamic environments. To track the
given global plan, we use the Pure Pursuit Controller [4] as the local
planner. And we perform re-computation of the global path, only when there is
a change in the environment (eg. obstacle disappeared, appeared, or moved) or
the current path collides with any obstacle. The overview of the approach is
given in Fig 2. We compare results of or method with the Gird-based A*
algorithm for the path planning, in one static environment case and four
dynamically evolving environment cases. We found out that the Grid-based A*
algorithm give a sub-optimal path from the source to the target. On the other
hand, the proposed method gives an optimal route. We also found that the map
re-computation time was significantly lesser in the proposed method as
compared to the Grid-based A*.

##  II Methodology

###  II-A Global Planner

####  II-A1 Preliminaries

The Visibility Graph can be built using an $O(n^{3})$ algorithm, which
examines all $O(n^{2})$ pairs of vertices and checks if the edges between them
cross with any of the $n$ lines in the picture. However, this method
necessitates a large number of line intersection computations.

Figure 3: a) An edge $(v_{i},v_{j})$ is considered tangential at vertex
$v_{j}$ if the adjacent corners of the polygon, $v_{j-1}$ and $v_{j+1}$, are
positioned on the same side of the edge. If the edge $(v_{i},v_{j})$ is not
tangential (b), or if vertex $v_{j}$ is concave (c), then the triangle
$\delta(v_{i},v_{j-1},v_{j+1})$ is entirely visible from vertex vi.
Consequently, the edge $(v_{i},v_{j})$ cannot be included in the shortest
path. Algorithm 1 Minimal Construct

Input: Set of polygons S, Start vertex s, Target vertex t

Output: Path P

1:Priority $\mathbf{q}$ $\triangleright$ Initialize Priority Queue

2:Graph G = (V , E) $\triangleright$ Initialize an Empty Graph

3:$V\leftarrow V\cup{s,t}$ $\triangleright$ Add Source($s$) and Target
Node($t$)

4:$E\leftarrow E\cup{(s,t)}$ $\triangleright$ Add $t$ and $s$ as a neighbours
of each other

5:SETPARENT(s, t) $\triangleright$ set $s$ as a parent of $t$

6:CLOSE(s) $\triangleright$ Mark $s$ as close

7:PUSH(t, q) $\triangleright$ Push $t$ in the priority queue i.e. Mark it open

8:while q is not empty do

9: $v\leftarrow POP(q)$ $\triangleright$ Pop the vertex $v$ with lowest
priority ($f$)

10: $u\leftarrow PARENTOF(v)$ $\triangleright$ Find the parent of $v$

11: Polygon p $\leftarrow$ LINEINTERSECTIONTEST(S,(u, v))

12: if (p == nil) then $\triangleright$ If no Intersection then

13: if (v = t) then $\triangleright$ If target reached

14: $P\leftarrow EXTRACTPATH(v)$ $\triangleright$ Backtrack parents

15: return P $\triangleright$ Finished!

16: end if

17: CLOSE(v) $\triangleright$ close $v$

18: for all $(vi,(vi,v)\in E)$ do $\triangleright$ For all neighbours of $v$

19: if (!ISCLOSED(vi)) then $\triangleright$ If $v_{i}$ is closed

20: if (!ISOPEN(vi) or g(v) + $|v-vi|$ $<$ g(vi)) then

21: SETPARENT$(v,vi)$ $\triangleright$ set $v_{i}$ as parent of $v$

22: $g(vi)\leftarrow g(v)+|v-vi|$ $\triangleright$ Update cost $g$

23: $h(vi)\leftarrow|vi-t|$ $\triangleright$ Update heuristics $h$

24: $f(vi)\leftarrow g(vi)+h(vi)$ $\triangleright$ Update priority $f$

25: PUSH(vi, q) $\triangleright$ Push $v_{i}$ in priority queue

26: end if

27: end if

28: end for

29: else$\triangleright$ If polygon $\mathbf{p}$ has intersected

30: $E\leftarrow E\setminus(v,u)$ $\triangleright$ $v$ no longer parent of $u$

31: REMOVEPARENT(v) $\triangleright$ Remove parent of $v$

32: FINDPARENT(v) $\triangleright$ Algorithm 2

33: if (!ISCLOSED(p)) then $\triangleright$ If polygon $\mathbf{p}$ is not
closed

34: CONNECTOBSTACLE(p) $\triangleright$ Algorithm 3

35: CLOSE(p) $\triangleright$ Close the intersected polygon

36: end if

37: end if

38:end while

39:return P $\triangleright$ Search failed. Return empty path!

In contrast, the Minimal Construct technique does not seek to compute the
whole Visibility Graph. Rather, it only explores a small piece of the graph.
To avoid running collision checks on line segments that do not contribute to
the shortest path, the algorithm delays computing line intersection tests
until they are required.

The algorithm also makes use of the fact that concave corners and edges that
are not tangential at both ends cannot be included in the shortest path. An
edge $(v_{i},v_{j})$ is considered tangential at vertex $v_{j}$ if both
adjacent polygon corners, $v_{j-1}$ and $v_{j+1}$, lie on the same side of the
edge $(v_{i},v_{j})$. A visual example of this is shown in Figure 3. Whenever
concave corners or non-tangential edges are discovered, they are immediately
discarded.

####  II-A2 Minimal Construct Algorithm

Figure 4: An example to showcase the working of Minimal Construct Algorithm

Consider a scenario where the environment consists of a set of non-convex
polygons which are disjoint and intersect only at endpoints. Let’s represent
this set of polygons with $\mathbf{S}$. The minimal construct algorithm
discovers a graph $\mathbf{G}=(\mathbf{V},\mathbf{E})$ during its search,
where $\mathbf{V}$ is the set of nodes (points) in the graph and $\mathbf{E}$
is the set of edges (line segment) connecting these nodes. The set of nodes in
$\mathbf{G}$ i.e. set $\mathbf{V}$ is a subset of the vertices of the polygons
in the $\mathbf{S}$. The Minimal construct algorithm connects pairs of
vertices in $\mathbf{V}$ with edges $\mathbf{E}$. Please note the start node
$s$, and the target node, $t$, are considered as two additional points in the
graph.

All the nodes connected to a node $P$ through an edge are said to be in
$neighbourhood$ of $P$. As the algorithm explores the graph, all the nodes
that it has explored are called $closed$ $nodes$ and all the nodes that can be
explored in the next iteration step are called $open$ $nodes$. Please note
that for a node to be open it should have at least one closed node in its
neighbourhood. The closest, closed node in the neighborhood of a node $P$ is
said to be the $parent$ of the node $P$.

All the vertices of the polygons which form an external angle greater than
180° are called $Convex$ $vertices$. An edge $(v_{i},v_{j})$ is considered
$tangential$ at vertex $v_{j}$ if the adjacent corners of the polygon,
$v_{j-1}$ and $v_{j+1}$, are positioned on the same side of the edge.

Minimal Construct algorithm uses A* algorithm as the basis. In order to use
it, the minimal construct algorithm defines a parent of a node, as described
previously. After the search is finished, we use the unidirectional parent
relationship to extract the shortest path by following the path from the
target parent to the parent to the start. Algorithm 1 uses the functions
$\text{PARENTOF}(v_{i})$, $\text{SETPARENT}(v_{i},v_{j})$, and
$\text{REMOVEPARENT}(v_{i})$ to set and remove parent associations between
vertices. $\text{SETPARENT}(v_{i},v_{j})$ makes vertex $v_{i}$ as the parent
of $v_{j}$, whereas $\text{REMOVEPARENT}(v_{i})$ cancels the parent of
$v_{i}$.

The A* algorithm employs the functions $\text{ISOPEN}(v_{i})$,
$\text{CLOSE}(v_{i})$, and $\text{ISCLOSED}(v_{i})$ to keep track of the
vertices that have been opened or closed during the search. Vertices are
opened when they are pushed into the priority queue and closed when they are
removed. During the search, we can use these functions to query and manipulate
the open and closed states of vertices.

Here, the pseudo-code of the Minimal Construct Algorithm, as shown in
Algorithm 1 is explained. To start the search, the Minimal construct algorithm
forms a graph with only two nodes, the start and the target node. It connects
the two nodes with a straight edge, making them each other’s neighbours. It
also marks the start node as closed and sets the start node as the parent of
the target node. It then selects the target node as an open node by sending it
to the priority queue. Please note, that the algorithm sets the start node as
closed in the starting itself, as the start node is considered explored in the
start, and it remains closed throughout. After this, the algorithm enters a
loop where in each iteration it removes the vertex $v$ with lowest priority
from the priority queue. Here priority represents the heuristic of the vertex,
i.e. the sum of the distance from the start node, as travelled through the
graph, and the straight line distance to the target node. After removing the
vertex it finds its parent, $u$ and the edge $(u,v)$ is tested for Line
Intersection test. It is a computationally intensive task, and is discussed
separately in following section.

If the line intersection test on the edge $(u,v)$ resulted in no intersection
with polygon, the Algorithm goes ahead with the A* expansion. The algorithm
checks if the popped vertex $v$ is the target vertex. If $v$ is the target
vertex, then the algorithm extracts the path by following the parent pointers
back to the start vertex, and returns the path as the output of the algorithm.
If $v$ is not the target vertex, it closes it, meaning that it will not be
expanded again during the search. It then expand the neighbors of the popped
vertex $v$. For each neighbor that has not yet been closed, the algorithm
checks if it is already in the priority queue. If the neighbor is not in the
priority queue, or if its estimated path cost from the start vertex is lower
than its current estimated path cost, the algorithm updates its parent, path
cost, and priority, and adds it to the priority queue. It updates the path
cost $g$ of the neighbor as the sum of the path cost of the popped vertex and
the distance between the two vertices. It then calculates the heuristic
estimate $h$ of the distance from the neighbor to the target vertex, and
finally calculates the priority $f$ of the neighbor as the sum of its path
cost $g$ and its heuristic estimate $h$. It then pushes the neighbor into the
priority queue.

Algorithm 2 Find Parent

Input: Vertex $v$

1:$minPathCost\leftarrow\infty$ $\triangleright$ Init the min path cost with
infinity

2:$u\leftarrow\text{nil}$ $\triangleright$ Init the new parent with nil

3:for all neighbors $(vi,(vi,v)\in E)$ do $\triangleright$ For all neighbors
of $v$

4: if ISCLOSED($vi$) then

5: if ($g(vi)+|vi-v|<minPathCost$) then

6: $minPathCost\leftarrow g(vi)+|v-vi|$

7: $\triangleright$ Updtae min cost

8: $u\leftarrow vi$ $\triangleright$ Remember $v_{i}$ as new parent

9: end if

10: end if

11:end for

12:if ($u\neq\text{nil}$) then

13: SETPARENT($u$, $v$) $\triangleright$ Set $u$ as new parent of $v$

14: $g(v)\leftarrow g(u)+|v-u|$ $\triangleright$ Update path cost $g$

15: $f(v)\leftarrow g(v)+h(v)$ $\triangleright$ Update priority $f$

16: PUSH($v$, $q$) $\triangleright$ Push $v$ into the priority queue

17:end ifreturn

Algorithm 3 Connect Obstacle

Polygon $p$

1:for all $v_{i}$ in $p$ do $\triangleright$ For all corners $v_{i}$ of
$\mathbf{p}$

2: if isConvex($v_{i}$) then $\triangleright$ If the corner $v_{i}$ is convex

3: $V\leftarrow V\cup{v_{i}}$ $\triangleright$ Add the corner $v_{i}$ to the
graph

4: for all $v_{j}$ in $V$, $j\neq i$ do $\triangleright$ For all known
vertices $v_{j}$

5: if isTangential($v_{i}$, $v_{j}$) then

6: $E\leftarrow E\cup{(v_{i},v_{j})}$ $\triangleright$ Make $v_{i}$ a neighbor
of $v_{j}$

7: end if

8: end for

9: FINDPARENT($v_{i}$)

10: end if

11:end forreturn

If the line intersection test on the edge between the parent $u$ and popped
vertex $v$ returns intersection, meaning that the edge intersects a polygon,
the algorithm proceeds to handle the intersected polygon $\mathbf{p}$. First,
it removes the edge between $v$ and its parent $u$ from the graph by deleting
the corresponding entry from the set of edges $\mathbf{E}$. Then, it removes
the parent of $v$ by setting it to nil. The algorithm then calls the
$\text{FINDPARENT}(v)$ function, as shown in Algorithm 2, to find a new parent
for $v$.If such a parent is discovered, $v$’s priority $f(v)$ and path cost
$g(v)$ are modified, and it is reinserted into the queue. This re-parenting
and reinsertion of $v$ ensures that the A* search remains complete and returns
the graph to the condition it would have been in if the invalid edge $(u,v)$
had not been there. It is important to note that $v$ may remain without a
parent until it is revisited at a later stage.

For each corner $v_{i}$ in the set of vertices of the polygon p, the algorithm
checks if the corner is convex or not. If the corner $v_{i}$ is convex, the
algorithm adds it to the set of vertices $\mathbf{V}$. For each known vertex
$v_{j}$ in the set $\mathbf{V}$, the algorithm checks if $v_{i}$ and $v_{j}$
are tangential using the $\textbf{isTangential}(vi,vj)$ function. If $v_{i}$
and $v_{j}$ are tangential, the algorithm adds an edge $(vi,vj)$ to the set
$\mathbf{E}$ of edges in the graph $\mathbf{G}$, indicating that the corners
$v_{i}$ and $v_{j}$ are connected. The algorithm then calls the
$\textbf{FINDPARENT}(v_{i})$ function for the corner vi, which searches for
the parent of $v_{i}$. Finally, the algorithm repeats this process for each
corner of the polygon until all corners have been processed. The algorithm
then returns the updated graph $\mathbf{G}$. The polygon is then closed, so
that it is not added to graph multiple times. The process is repeated until
either a solution is identified or the entire graph has been investigated and
no solution is found.

####  II-A3 Line Intersection Test

The Minimal Construct Algorithm uses a Line Intersection test function to
determine whether an edge between the popped vertex $v$ and its parent $u$ is
intersecting any polygon or not. If it intersects, the algorithm makes the
graph around the intersecting polygon. Checking line intersection is a
computationally intensive task, and its algorithm is discussed as follows.

The Line intersection algorithm finds all intersection points of the line
segment with the polygon. It then divides the line segment into sub-line
segments using the intersection points. For each sub-line segment, it checks
if the midpoint of the sub-line segment lies inside the polygon. If the
midpoint is inside the polygon, then the line is intersecting the polygon. The
algorithm stops there. If the midpoint is not inside the polygon, algorithm
moves to the next sub-line segment. It repeats these steps for all sub-line
segments. If none of the midpoints are inside the polygon, then the line
segment does not intersect the polygon.

(a) Case 1: One obstacle disappears in the middle of the environment

(b) Case 2: Three obstacles disappear from the environment

(c) Case 3: One obstacle near the start location disappears from the
environment

(d) Case 4: One obstacle appears in the middle of the environment

Figure 5: In each subfigure, the two leftmost figures show the global path
with grid-based A* algorithm before and after the map changed. Similarly, the
two rightmost two figures show the global path with the Minimal Construct
algorithm before and after the change in the map

###  II-B Local Planner

After generating the global plan using the Minimal Construct algorithm, the
next step is to track the plan using a local planner. For this task, Pure
Pursuit controller [4] was chosen. The Pure Pursuit controller is a popular
choice for mobile robots due to its simplicity and effectiveness in tracking a
reference path.

The Pure Pursuit controller is a type of proportional control that tries to
steer a vehicle toward a reference path by adjusting the steering angle. The
controller calculates the desired steering angle based on the current position
of the vehicle and the desired point i.e. the lookahead point on the reference
path. This point is calculated by finding the point on the path that is a
certain distance ahead of the vehicle and aligns with the vehicle’s current
heading. This approach is simple and effective when the path is smooth and has
gentle curves.

However, when the path contains sharp turns, the pure pursuit controller can
deviate from the reference path, which can lead to collisions with static
obstacles. This is because the controller assumes that the path is continuous
and smooth, but in reality, sharp turns require the vehicle to slow down and
turn more sharply to follow the path. If the controller continues to follow
the reference path without adjusting for the sharp turn, the vehicle may
overshoot the turn and collide with obstacles.

One way to mitigate this issue is to add safety measures. These can include
adding obstacle detection and avoidance capabilities to the system, reducing
the speed of the vehicle when sharp turns are detected, and adding a safety
margin to the distance between the vehicle and obstacles. These measures can
help prevent collisions and improve the safety of of the system.

Another pitfall is that too small a lookahead distance may cause the robot to
oscillate or overshoot the path, while too large a lookahead distance may
cause the robot to cut corners and deviate from the path. A possible solution
to this is to set the lookahead distance based on the velocity of the robot
and the curvature of the path.

###  II-C Recomputation of Global Path

Finally, while tracking the given global path using the said local planner, we
keep checking whether there has been a change in the environment or whether
the current path intersects any of the obstacles. If any of the conditions
yields true, we generate the global path again.

Figure 6: Figure comparing the global path generated by Minimal Construct algorithm (in red) and Grid-based A* algorithm (in blue) | Minimal Construct | Grid based A*
---|---|---
Case 1 | $0.72,0.70$ | $2.86,2.46$
Case 2 | $0.72,0.38$ | $3.42,1.72$
Case 3 | $0.66,0.37$ | $2.94,1.98$
Case 4 | $0.59,0.27$ | $2.83,1.40$
TABLE I: Recomputation Time (sec) when Global Planner is called two times
Figure 7: The figure shows the total time taken to reach the goal from the
same start point for all the cases.

##  III Results

The proposed approach was implemented in MATLAB and can be accessed through
open-source code on github. The simulations were performed in two artificially
generated maps of different natures i.e static and dynamic.

In the case of Figure 6 which is a static map, the path generated by the
Minimal Construct is significantly shorter than the grid-based A*. And the
graph explored is also minimal. Thereby motivating us to implement it in
dynamic environments as well.

The simulations in the dynamically evolving map can be seen in Figure 5. It is
assumed that the agent knows the changes in the environment. It can be seen
that when the map changes the Grid based A* and Minimal Construct recompute
the path. The time taken by Grid-based A* to recompute the new path is around
4 times more than the time taken by the Minimal Construct. A compilation of
this recomputation time for different cases can be found in Table I. This
reduction in computation time will help in reducing the reaction time for the
agent and also optimal utilization of onboard processing capacity. Also, the
total time taken by the agent to reach a target in each case was plotted in
figure 7. Clearly, Minimal Construct outperforms the grid-based A*.

##  IV Conclusion

It was shown that the path search algorithm based on the Visibility Graph
approach offers a significant reduction in computation time for finding the
shortest path in polygonal maps. By adopting the philosophy of constructing
only the required portion of the Visibility Graph, the Minimal Construct
algorithm can efficiently calculate the shortest paths in cluttered and indoor
environments.

Polygonal planning and modeling provides an advantage of a non-discrete action
set and a continuous representation of the world, resulting in smoother and
optimal shortest paths with minimal path segments. Also preliminary results
that leverage this polygonal representation where the map evolved dynamically
were shown.

##  V Future Work

The following extensions can be attempted as a part of future work.

$1)$ Incorporating a robust local planner like DWB [6] or TEB-MPC [7] [8] for
obstacle avoidance, as it can help improve the safety and efficiency of the
system.

$2)$ Code-level optimizations in C++ can also help improve the performance of
the system and reduce the computational load, which can be particularly
important for real-time applications.

$3)$ Implementing the approach in different real-world scenarios can help
evaluate the robustness and adaptability of the algorithm, and testing it with
maps generated by state-of-the-art mapping algorithms can help validate its
effectiveness in practical settings.

$4)$ Predicting potential collision points using mathematical expressions can
also be a valuable addition to the system, especially for dynamically evolving
maps [9]. This can help ensure that the path planner can respond quickly to
changes in the environment and avoid collisions with moving obstacles.

$5)$ Lastly, extending the algorithm to 3D polytopes can open up new
applications for path planning, such as for UAVs. This can involve additional
challenges such as dealing with complex terrain and varying altitude, but can
also lead to exciting new possibilities for autonomous flight.

## References

  * [1] M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, et al., "ROS: an open-source robot operating system", ICRA Workshop on Open Source Robotics, 2009.
  * [2] E. Marder-Eppstein, E. Berger, T. Foote, B. P. Gerkey and K. Konolige, "The office marathon: Robust navigation in an indoor office environment", Proc. of the IEEE Int. Conf on Robotics & Automation (ICRA), 2010.
  * [3] Lozano-Pérez, Tomás, and Michael A. Wesley. "An algorithm for planning collision-free paths among polyhedral obstacles." Communications of the ACM 22, no. 10 (1979): 560-570.
  * [4] M. Missura, D. D. Lee and M. Bennewitz, "Minimal Construct: Efficient Shortest Path Finding for Mobile Robots in Polygonal Maps," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 2018, pp. 7918-7923, doi: 10.1109/IROS.2018.8594124.
  * [5] R. Craig Coulter (1992). Implementation of the Pure Pursuit Path Tracking Algorithm [White paper]. Carnegie Mellon University.
  * [6] Fox, Dieter, Wolfram Burgard and Sebastian Thrun. “The dynamic window approach to collision avoidance.” IEEE Robotics Autom. Mag. 4 (1997): 23-33.
  * [7] Rösmann, Christoph, Frank Hoffmann, and Torsten Bertram. “Integrated Online Trajectory Planning and Optimization in Distinctive Topologies.” Robotics and Autonomous Systems. Elsevier BV, February 2017. doi:10.1016/j.robot.2016.11.007.
  * [8] C. Roesmann, W. Feiten, T. Woesch, F. Hoffmann, and T. Bertram, “Trajectory modification considering dynamic constraints of autonomous robots,” in ROBOTIK 2012; 7th German Conference on Robotics, pp. 1–6
  * [9] Thontepu, Phani, Bhavya Giri Goswami, Neelaksh Singh, Shyamsundar P I, Shyam Sundar M. G, Suresh Sundaram, Vaibhav Katewa, and Shishir Kolathaya. 2023. “Control Barrier Functions in UGVs for Kinematic Obstacle Avoidance: A Collision Cone Approach.” ArXiv:2209.11524 [Cs, Math], March. https://arxiv.org/abs/2209.11524.


#  Scattering of relativistic electrons and analogies with optical phenomena:
A study of longitudinal and transverse shifts at step potentials

Yue Ban<EMAIL_ADDRESS>TECNALIA, Basque Research and Technology Alliance
(BRTA), 48160 Derio, Spain  Xi Chen<EMAIL_ADDRESS>Department of Physical
Chemistry, University of the Basque Country UPV/EHU, Apartado 644, 48080
Bilbao, Spain  EHU Quantum Center, University of the Basque Country UPV/EHU,
Barrio Sarriena, s/n, 48940 Leioa, Spain

###### Abstract

We investigate the behavior of relativistic electrons encountering a potential
step through analogies with optical phenomena. By accounting for the
conservation of Dirac current, we elucidate that the Goos-Hänchen shift can be
understood as a combination of two components: one arising from the current
entering the transmission region and the other originating from the
interference between the incident and reflected beams. This result has been
proven to be consistent with findings obtained utilizing the stationary phase
method. Moreover, we explore the transverse Imbert-Fedorov shift, by applying
both current conservation and total angular momentum conservation, revealing
intriguing parallel to the spin Hall effect. Beyond enriching our
comprehension of fundamental quantum phenomena, our findings have potential
applications for designing and characterizing devices using Dirac and
topological materials.

††preprint: APS/123-QED

##  I Introduction

The Goos-Hänchen (GH) effect, first described by Isaac Newton [1] in his
pioneering work on optics and later named after Goos and Hänchen in 1947 [2,
3], stands as a notable optical phenomenon. Newton’s observations laid the
groundwork for understanding this effect, which was further substantiated by
the theoretical and experimental contributions of Goos and Hänchen. Their
studies revealed that when a light beam undergoes total internal reflection at
the interface between two different refractive media, it undergoes a slight
lateral shift from the position predicted by geometrical optics. Initially
explained within the framework of classical wave optics, the GH effect
revealed the intricate behavior of light at interfaces [4, 5]. Another
remarkable phenomenon, known as the Imbert-Fedorov (IF) effect, was
independently discovered by C. Imbert [6] and V. Fedorov [7]. The IF effect
pertains to the transverse shift experienced by a totally reflected beam in
the plane perpendicular to the incidence plane. This shift arises due to a
polarization-dependent phase shift between the electric and magnetic field
components of the reflected beam [8, 9]. Unlike the GH effect, the IF effect
shares similarities with the spin Hall effect of light, both of which emerge
from the complex interplay between the polarization properties and the
reflection behavior of light [10, 11, 12]. These two optical phenomena, the GH
and the IF effects, have been explored in diverse optical systems and
materials [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], including plasmonic
structures, photonic crystals, and metamaterials. The understanding and
control of these effects have facilitated significant advancements in the
field of nanophotonics, optical communications, and sensing technologies.

Following the idea of changing the perspective, the exploration of analogies
between quantum mechanics and classical optics has provided a fruitful avenue
for understanding and analyzing quantum systems [24]. It has allowed us to
leverage insights and techniques from optics to gain new perspectives on
quantum phenomena, driving advancements in our knowledge and applications of
quantum mechanics [25]. Within the framework of quantum mechanics, the
behavior of scattering particles, including Dirac particles and neutrons, has
attracted significant attention. Researchers have actively sought to
transplant concepts originally observed in classical optics, such as the GH
effect [4, 26, 27] and the IF effect [28, 29, 30], into the context of quantum
particle scattering.

With the advent of mesoscopic transport in condensed matter physics, the study
of GH and IF effects has expanded to encompass various quantum systems,
including semiconductors, graphene, and topological insulators, as reviewed in
[31, 32]. In the realm of semiconductors, the GH effect for ballistic
electrons has been integrated into the analysis of crucial processes such as
reflection, transmission, and tunneling, playing a vital role in the design
and optimization of electronic devices such as transistors, diodes, and
integrated circuits [33]. Furthermore, the GH shifts can be dynamically tuned
by external magnetic or electric fields, allowing for the manipulation of
electron beams and control of electron transport in semiconductor-based
devices [34, 35]. Similarly, the GH shifts and their tunability have been
investigated in graphene-based systems, offering a wide range of applications
[36, 37, 38]. Remarkably, the GH shfits and IF shifts as well become
particularly interesting in the presence of crossed Andreev reflection at a
metal/superconductor interface when combined with graphene [39, 40]. In recent
times, their connection with phenomena such as anomalous Hall effect, Berry
curvature [41], screw scattering, and side jump [42, 43], has garnered
considerable attention in Weyl semimetals [44, 45, 46, 47, 48, 49]. These
phenomena are closely linked to the unique electronic and topological
properties, thus leading to potential applications in spintronics and
topological phenomena. Therefore, gaining fundamental insight into their
physical mechanics from different perspectives is essential.

In this article, we present a comprehensive investigation into the GH and IF
shifts exhibited by relativistic electrons as they scatter by step potentials.
The motivation to focus on relativistic electrons, govern by the Dirac
equation, stems from the intriguing possibility of unveiling fruitful
phenomena resulting from the unique coupling of spin and orbital angular
momentum [50, 51, 52, 53, 54, 55], particularly the complex dynamics at the
intersection of relativistic quantum mechanics and the distinctive properties
of electron vortices. Building upon the foundation of the Dirac equation, we
analyze the scattering of relativistic electrons. Due to the absence of spin
flip in the transmission through the potential barrier [56], our study delves
into two-dimensional Dirac diffusion at a single scattering interface.
Exploiting the explicit spin-dependent amplitudes and phases of reflection and
transmission, we address the analytical aspects of the GH shift in term of
conservation of Dirac current, and compare the results obtained from the
stationary phase method (SPM) [57]. Also we connect the IF shift obtained from
the current conservation to spin Hall effect, in terms of spin-to-orbital
angular momentum conversion. Our results will not only provide the physical
insight of the GH and IF shifts, and the potential applications of these
shifts in Dirac materials and topological systems, which share a fundamental
similarity with Dirac particles.

##  II Preliminary results

Figure 1: (a) Schematic diagram of relativistic electrons encountering a step
potential, depicting spin-flip reflection and transmission. Projection in the
$yoz$ plane (b) and in the $xoz$ plane (c), showcasing the GH ($S_{y}$) and IF
($S_{x}$) shifts, respectively, along with the corresponding currents.

Our objective is to investigate the longitudinal GH shift and the transverse
IF shift of relativistic electrons as they encounter a step potential, as
illustrated in Fig. 1. The step potential is defined by

$\displaystyle\ V\left(z\right)=\left\\{\begin{array}[]{ll}0&~{}~{}(z<0){,}\\\
V_{0}&~{}~{}(z>0){.}\end{array}\right.$

where $V_{0}>0$. In general, the relativistic electron satisfies the
stationary Dirac equation, $H\psi=E\psi$, with the Hamilton [58, 59],

$H=\vec{\alpha}\cdot\vec{p}+\beta m^{2},$ (3)

where $m$ is the mass, $E$ is the energy, and with a convenient choice based
on the Pauli spin matrices,

$\displaystyle\alpha_{i}=\left(\begin{array}[]{cc}0&\sigma_{i}\\\
\sigma_{i}&0\end{array}\right),~{}~{}\beta=\left(\begin{array}[]{cc}I&0\\\
0&-I\end{array}\right).$ (8)

Here $\vec{\alpha}$ presents the Dirac matrices $\alpha_{i}$ ($i=x,y,z$)
corresponding to the $z$, $y$ $z$ directions with Pauli matrices $\sigma_{i}$,
respectively, and $I$ is identity matrix. For simplicity, we choose natural
units with $\hbar=c=1$ and the time-dependent factor $e^{-iEt}$ is suppressed.
We consider this investigation for two-dimensional scattering arbitrary with
an incidence angle $\theta$, taking into account the central plane wave of an
relativistic electron beam with finite width. The wave function of the plane
wave under the consideration along the $z$ direction is assumed to be

$\displaystyle\psi_{\textrm{in}}(z)=\left(\begin{array}[]{cccc}1\\\ 0\\\
\frac{p_{z}}{E+m}\\\ \frac{ip_{y}}{E+m}\end{array}\right)e^{ip_{z}z},$ (13)

where $p_{x}=0$, $p_{z}$ and $p_{y}$ are momentum components along the $z$ and
$y$ directions, respectively. This wave function is the free particle
solutions to the Dirac equation, i.e. [59]

$-i\alpha_{z}\psi^{\prime}(z)+\alpha_{y}p_{y}\psi(z)+\beta m\psi(z)=E\psi(z).$
(14)

The incident plane wave has the polarization in the $z$ direction, denoted as
spinor “$|\uparrow\rangle$”, up to an overall normalization factor
$1/\sqrt{\mathcal{N}}$ (see appendix A). The dispersion relation is given by
$E=\sqrt{p_{y}^{2}+p_{z}^{2}+m^{2}}$, and the incidence angle satisfies
$\tan\theta=p_{y}/p_{z}$. Upon encountering the step potential, the reflected
plane wave consists of a coexistence of the spin-up and spin-down components,
as shown in Fig. 1(a). Similarly, the reflected wave can be expressed as

$\displaystyle\psi_{\textrm{r}}(z)=r\left(\begin{array}[]{cccc}1\\\ 0\\\
\frac{-p_{z}}{E+m}\\\
\frac{ip_{y}}{E+m}\end{array}\right)e^{-ip_{z}z}+r^{\prime}\left(\begin{array}[]{cccc}0\\\
1\\\ \frac{-ip_{y}}{E+m}\\\ \frac{p_{z}}{E+m}\end{array}\right)e^{-ip_{z}z},$
(23)

where $r$ and $r^{\prime}$ represent the amplitudes of the spin-up
$|\uparrow\rangle$ and spin-down $|\downarrow\rangle$ components,
respectively.

Figure 2: Separation of the various energy zones by fixing respectively the
incident angle $\theta$ and the potential $V_{0}$, where $V_{0}=5m$. Two blue
solid lines are the critical angles of the existence of tunneling, and orange
dotted line presents $E=2.5m$, corresponding to $\theta_{c}=\pi/2$, solved
from Eq. (37).

In the region $z>0$, the wave function in the $z$ component can be written as

$\displaystyle\psi_{\textrm{t}}(z)=t\left(\begin{array}[]{cccc}1\\\ 0\\\
\frac{q_{z}}{E-V_{0}+m}\\\
\frac{iq_{y}}{E-V_{0}+m}\end{array}\right)e^{iq_{z}z}+t^{\prime}\left(\begin{array}[]{cccc}0\\\
1\\\ \frac{-iq_{y}}{E-V_{0}+m}\\\
\frac{-q_{z}}{E-V_{0}+m}\end{array}\right)e^{iq_{z}z},~{}~{}~{}$ (32)

where $t$ and $t^{\prime}$ represent the amplitudes of the spin-up
$|\uparrow\rangle$ and spin-down $|\downarrow\rangle$ components,
respectively. Here, $q_{y}=p_{y}$, and
$q_{z}=\sqrt{(E-V_{0})^{2}-q_{y}^{2}-m^{2}}$ in the region of potential.

To facilitate the analysis, we introduce an effective mass
$m^{*}=\sqrt{p_{y}^{2}+m^{2}}$. The energy zones can then be divided into
three regions:

$\displaystyle\left\\{\begin{array}[]{lll}&\textit{D}:&E>V_{0}+m^{*},\\\
&\textit{T}:&V_{0}-m^{*}<E<V_{0}+m^{*},\\\
&\textit{K}:&V_{0}-m^{*}>E.\end{array}\right.$ (36)

as depicted in Fig. 2, the diffusion, tunneling, and Klein regions [58],
respectively, which is determined based on the relations between $E$ and
$\sin\theta$ with a fixed value of $V_{0}=5m$.

The boundaries between the tunneling region and the other two regions
determine the conditions for generating evanescent waves in the transmission
region. From an optical analogy, since the $y$-component of the wave vector is
continuous, the critical angle for total reflection can be defined as

$\theta_{c}=\arcsin\left(\sqrt{\frac{(E-V_{0})^{2}-m^{2}}{E^{2}-m^{2}}}\right).$
(37)

The critical angle depends on the incident energy and coincides with the
boundaries of the tunneling region. For example, Eq. (37) determines the
critical angles for total reflection $\theta_{c}=0.408638\simeq 23.4^{\circ}$
with the given parameters $E=8.5m$, $V=5m$. In the diffusion and Klein cases
oscillatory solutions exist everywhere, thus we concentrate on the tunneling
case for studying GH and IF shifts, characterized by real exponential
solutions in the potential region.

Considering the continuity of the wave function at the interface, e.g.,
$\psi_{\textrm{in}}(0^{-})+\psi_{\textrm{r}}(0^{-})=\psi_{\textrm{t}}(0^{+})$,
the scattering coefficients can be derived as follows:

$\displaystyle r$
$\displaystyle=\frac{(p_{y}^{2}+m^{2}+mE)V_{0}}{(E+m)(p_{z}^{2}+p_{z}q_{z}-V_{0}E)},$
(38) $\displaystyle t$
$\displaystyle=\frac{p_{z}^{2}(E-V_{0}+m)+p_{z}q_{z}(E+m)}{(E+m)(p_{z}^{2}+p_{z}q_{z}-V_{0}E)},$
(39) $\displaystyle r^{\prime}$
$\displaystyle=\frac{ip_{y}p_{z}V_{0}}{(E+m)(p_{z}^{2}+p_{z}q_{z}-V_{0}E)},$
(40) $\displaystyle t^{\prime}$ $\displaystyle=r^{\prime},$ (41)

where $q_{z}=i\kappa$ for $\theta>\theta_{c}$. In the diffusion region,
$\theta<\theta_{c}$, the conservation of current along the $z$ direction leads
to the following relation among the scattering coefficients:

$|r|^{2}+|r^{\prime}|^{2}+\frac{q_{z}(E+m)}{p_{z}(E-V_{0}+m)}(|t|^{2}+|t^{\prime}|^{2})=1.$
(42)

For $\theta>\theta_{c}$, the transmitted waves exhibit an evanescent behavior,
which corresponds to the tunneling region where total reflection occurs,
characterized by

$|r|^{2}+|r^{\prime}|^{2}=1.$

Indeed, the intriguing phenomenon arises when relativistic electrons encounter
a potential step with oblique incidence, where $q_{y}\neq 0$. This scenario,
as evidenced by the coefficient $r^{\prime}$ in Eqs. (40), highlights the
crucial role played by spin flip in the presence of $q_{y}\neq 0$. The spin
flip effect stands out as a distinct feature of relativistic Dirac particles
experiencing oblique incidence, which profoundly impacts their scattering
behavior, particularly the IF shift as discussed later.

##  III longitudinal GH shift

In the subsequent section, we will utilize the energy flux method [4, 60] to
provide a comprehensive explanation of these unique phenomena from the
perspective of Dirac current analysis. Drawing on the energy flux model in
optical fashion [60, 61, 62, 63], we discern that the longitudinal GH shift
can be attributed to two distinct components. The first component originates
from the current within the evanescent wave present in the transmission
region, while the second component arises from the interference between the
incident and reflected beams. To begin, we will perform calculations to
determine the GH shift resulted from the current within the evanescent wave.

Figure 3: Dependence of the longitudinal GH shift
$S_{y}=S_{y}^{\textrm{e}}+S_{y}^{\textrm{ir}}$ on the incidence angle
$\theta$, provided by $E_{0}=8.5m$, $V_{0}=5m$ and $m=1$ for simplicity, where
the shifts contributed from $S_{y}^{\textrm{e}}$ (dashed, red), and
$S_{y}^{\textrm{ir}}$ (dot-dashed, black) are compared to the one obtained
from stationary phase method $S_{y}^{p}=S_{y}$ (solid, blue). Orange dotted
line denotes the GH shift around critical angle $\theta_{c}$ for the eye.

In general, the Dirac current is defined as
$\vec{j}=\psi^{{\dagger}}\vec{\alpha}\psi$, where $\psi$ is the wave function
and $\vec{\alpha}$ is the Dirac matrix as described above. To calculate the GH
shift resulting from the current within the evanescent wave
($\theta>\theta_{c}$), we can first use Renard’s model [4]. As a result, the
GH shift is given by

$S_{y}^{\textrm{e}}=\frac{P}{j^{\textrm{r}}_{z}}=\frac{\int_{0}^{\infty}j_{y}^{\textrm{t}}dz}{j^{\textrm{r}}_{z}}.$
(43)

Here as shown in Fig. 1(b), $P$ is the total current inside the transmission
region in the $y$ direction,
$j_{y}^{\textrm{t}}=\psi^{\dagger}_{t}\alpha_{y}\psi_{t}$ is the $y$ component
of the $z$-dependent current in the evanescent field, and
$j^{\textrm{r}}_{z}=\psi^{\dagger}_{\textrm{r}}\alpha_{z}\psi_{\textrm{r}}$ is
the $z$ component of the reflected current. It is assumed that the incident
beam has finite width in the incidence plane. When total reflection occurs,
the current enters the transmission part, experiences displacement, and
returns to the $z<0$ region. Due to this, the shift of the reflected beam
calculated by Renard’s energy flux method [4] is given by

$S_{y}^{\textrm{e}}=\frac{(E+m)}{2(E-V_{0}+m)}\left(\frac{|t|^{2}+|t^{\prime}|^{2}}{\kappa}-\frac{t^{*}t^{\prime}+t^{\prime}t^{*}}{p_{y}}\right),$
(44)

Additionally, the current presented here along the $y$ direction is also
attributed to the interference between the incident beam and the reflected
beam,

$\displaystyle j_{\textrm{ir}}$ $\displaystyle=$
$\displaystyle\frac{1}{2}\textrm{Re}\left[\psi^{\dagger}_{\textrm{in}}\alpha_{y}\psi_{\textrm{r}}+\psi^{\dagger}_{\textrm{r}}\alpha_{y}\psi_{\textrm{in}}\right].$
(45)

We can integrate $j_{\textrm{ir}}$ over $z$ from some distance point $-l$ to
obtain the total particle flux:

$\displaystyle P_{\textrm{ir}}$ $\displaystyle=$
$\displaystyle\int_{-l}^{0}j_{\textrm{ir}}dz,$ (46)

where $j_{\textrm{ir}}$ can be directly calculated from Eq. (45),

$j_{\textrm{ir}}=\frac{4}{E+m}\left[p_{y}|r|\cos(2p_{z}z-\varphi_{r})-p_{z}|r^{\prime}|\sin(2p_{z}z-\varphi_{r^{\prime}})\right],$

with $\varphi_{r}$ and $\varphi_{r^{\prime}}$ being the phase of coefficients
in reflection for different spinors, see Eqs. (38) and (40). As
$P_{\textrm{ir}}$ contains trigonometric terms, to obtain the average flux and
eliminate rapid oscillation, we divide it by the length scale of order
$\lambda_{z}=2\pi/p_{z}$:

$\langle
P_{\textrm{ir}}\rangle=\frac{\int_{0}^{\lambda_{z}}P_{\textrm{ir}}dl}{\lambda_{z}}=\frac{2|r^{\prime}|}{E+m}\cos\varphi_{r^{\prime}}-\frac{2p_{y}|r|}{p_{z}(E+m)}\sin\varphi_{r},$
(47)

Therefore, the shift part induced by the interference is given by

$S_{y}^{\textrm{ir}}=\frac{\langle
P_{\textrm{ir}}\rangle}{j^{\textrm{in}}_{x}}=-\frac{p_{y}}{p_{z}}\textrm{Im}[r]+\frac{1}{p_{z}}\textrm{Re}[r^{\prime}].$
(48)

From the perspective that the shift comes from the current along the
interface, the whole shift due to total reflection is
$S_{y}=S_{y}^{\textrm{e}}+S_{y}^{\textrm{ir}}$. As a matter of fact, one can
also calculate the GH shift from the point $y=0$ by using the SPM [57], which
is defined as $S^{p}_{y}=-\partial\varphi/\partial p_{y}$ [57], with $\varphi$
being $\varphi_{r}$ and $\varphi_{r^{\prime}}$, the phase shifts of reflected
electrons with spin-up and spin-down polarizations, respectively. From Eqs.
(38) and (40), we have

$\varphi_{r}=\tan^{-1}\left(\frac{\kappa
p_{z}}{p^{2}_{z}-V_{0}E}\right),~{}~{}\varphi_{r}=\varphi_{r^{\prime}}+\pi/2,$
(49)

thus these two GH shifts are identical, yielding

$S_{y}^{p}\\!=\frac{(E^{2}-m^{2})(V_{0}E-p_{z}^{2})\sin
2\theta}{2\kappa[(p_{z}^{2}-V_{0}E)^{2}+p_{z}^{2}\kappa^{2}]}\\!-\frac{\kappa(p_{z}p_{y}+V_{0}E\tan\theta)}{(p_{z}^{2}-V_{0}E)^{2}+p_{z}^{2}\kappa^{2}}.$
(50)

It is evident from the longitudinal GH shift derived from the SPM,
$S^{p}_{y}$, see Eq. (50), is exactly the same as $S_{y}$ from the current
conservation, as illustrated in Fig. 3. When the incidence angle approaches
$\theta_{c}$, the self-interference shift vanishes, while near grazing
incidence it plays a dominant role.

##  IV transverse IF shift

Next, we shall turn to the characteristics of the reflected beam in the $yox$
plane, by considering transverse IF shift. Similar to the previous analysis in
the $yoz$ plane, with some width in the $yox$ plane, the reflected beam
undergoes a displacement caused by the current in the transmission region
along the $x$ direction, given that $\theta>\theta_{c}$. This transverse IF
shift is expressed as

$\displaystyle
S_{x}=\frac{\int_{0}^{\infty}j_{x}^{\textrm{t}}dz}{j_{z}^{\textrm{r}}}=\frac{i(E+m)}{2p_{y}(E-V_{0}+m)}(t^{*}t^{\prime}-t^{\prime*}t),$
(51)

where
$j_{x}^{\textrm{t}}=\psi_{\textrm{t}}^{\dagger}\alpha_{x}\psi_{\textrm{t}}$
represents the Dirac current along the $x$ direction originating from the
transmission region, as indicated in Fig. 1(c).

As the reflected beam is parallel to the incident beam in the $yox$ plane, the
interference between the reflected beam and the incident beam does not
contribute to the IF shift. Also, it is worth noting that the IF shift is much
smaller than the GH shift in the tunneling case. The IF shift reaches its
maximum but remains a finite value for an incidence angle very near the
critical angle in the evanescent case. Moreover, the IF shift occurs for
incidences below the critical angle of incidence and even at larger angles,
which is not depicted here. In contrast, the GH shift goes to infinity as the
incidence angle approaches the critical angle. The incident beams, with
opposite polarizations represented by the spinors “$|\uparrow\rangle$” and
“$|\downarrow\rangle$”, have corresponding eigenvalues $\sigma_{z}=\pm 1$,
respectively. As illustrated in Fig. 4, the IF shift, as derived from Eq.
(51), exhibits the same magnitude but opposite direction for different
polarizations. This intriguing behavior bears resemblance to the IF shift
observed in the context of right- and left-circularly polarized light beams
during total reflection [29, 30, 9]. Moreover, in our case, the initial
polarization can be described as the eigenstates of helicity, e.g.,
$\vec{\sigma}\cdot\vec{p}=\pm 1$, which is the superposition
$\cos(\theta/2)|\uparrow\rangle\pm i\sin(\theta/2)|\downarrow\rangle$. As a
result, the IF shifts, corresponding to the eigenstates of helicity, become
$S^{\prime}_{x}=S_{x}\cos\theta$. This further implies the possibility of
controlling the IF shifts by varying the polarization of the incident beam.

Figure 4: Dependence of the transverse IF shift $S_{x}$ on the incidence angle
$\theta$, where blue solid and red dashed lines correspond to spin-up and
spin-down polarizations of incidence. For comparison, the shifts $\delta
S_{x}$ calculated from Eq. (52) are also denoted by purple dotted and black
dotted-dash line with two different polarizations, respectively. All
parameters are the same as those in Fig. 3.

Besides, the IF shift can be derived by considering the conservation of total
angular momentum (TAM). In principle, the total angular momentum operator for
the relativistic Dirac particle can be expressed as
$\vec{J}=\vec{L}+\vec{\Sigma}$, where $\vec{L}$ is the orbital angular
momentum operator, and $\vec{\Sigma}$ is the spin operator. In our scenario,
the $z$ component of the TAM, $J_{z}=L_{z}+\Sigma_{z}$, is conserved, i.e.,
$\langle J_{z}^{\textrm{in}}\rangle=\langle J^{\textrm{r}}_{z}\rangle$. Since
$p_{x}=0$, we have $L_{z}=xp_{y}$ and obtain, see appendix (A),

$\delta S_{x}=\langle x^{\textrm{r}}_{0}\rangle-\langle
x^{\textrm{in}}_{0}\rangle=\frac{\mathcal{N}}{2p_{y}}\left[1-(|r|^{2}-|r^{\prime}|^{2})\right].$
(52)

Noting that if the angle of incidence is $\theta$, the angle of the reflected
particle $\pi-\theta$ is then used here. As shown in Appendix A, we have used
unitary Foldy-Wouthuysen (FW) transformation to separate the positive and
negative energy sub-spaces to show the relativistic effect, and simplify the
calculation.

In Fig. 4, we illustrate how this formula (52) provides an alternative
calculation of the IF shift for relativistic electrons reflected from a
potential step, considering the conservation of TAM and the angles of
incidence and reflection. Notably, the results obtained from Eq. (52) are
consistent with those from Eq. (51), as demonstrated in Fig. 4. Therefore, the
transverse IF shift is a direct manifestation of the spin Hall effect. The
fact that the IF shift depends on the polarization of the incident particle
suggests a strong connection between the transverse IF shift and coupled spin
and orbit angular momentum involved in the spin properties of relativistic
Dirac electrons.

Typically, the spin Hall effect is a phenomenon in which a spin-polarized
current separates into two transverse components with opposite spin
orientations. This effect arises in materials with spin-orbit coupling, where
the spin of the charge carriers becomes coupled with their motion. The
connection we observe between the transverse displacement and spin properties
is reminiscent of the spin Hall effect. The transverse spin separation is
driven by the intrinsic spin-orbit coupling involved in the Dirac equation,
where the spin-to-orbital angular momentum conversion plays a crucial role in
this process [53]. In addition, the side jump effect refers to the lateral
displacement experienced by a charge carrier when it undergoes scattering at
an interface or in a non-uniform magnetic field [43, 42]. It is a consequence
of the Lorentz force acting on the charge carriers due to the presence of an
electric field or a magnetic field gradient. The transverse IF shift shares
the similarity with the side jump effect in terms of the pesudo spin-orbit
coupling (see the term $\propto p_{y}\Sigma_{z}$ in Appendix A), which can be
viewed as creating an effective magnetic field, and in turn related to the
force.

##  V Discussion and Conclusion

Summarizing, we have investigated the GH and IF shifts of relativistic
electrons interacting with a step potential. Starting with the GH shift in
Sec. III, which arises from the longitudinal displacement of the beam upon
reflection, we have derived its expression using the Dirac current
conservation and have showed its direct relation to the current within the
evanescent wave in the transmission region. The GH shift diverges as the
incidence angle approaches the critical angle, indicating its sensitivity to
the proximity of total reflection and beam distortion. Importantly, we have
observed that the GH shift remains the same for both spin-up and spin-down
polarization along the $z$ direction.

In Sec. IV, we have focused on the transverse IF shift, representing the
displacement of the reflected beam in the $yox$ plane. Unlike the GH shift,
the IF shift is much smaller in magnitude and reaches its maximum value for an
incidence angle close to the critical angle during total reflection. The IF
shift can also occur and become significant in presence of partial reflection.
We have clarified that the IF shift arises from the current within the
transmission region along the $x$ direction. Furthermore, we demonstrated the
equivalence of the IF shift to the spin Hall effect, based on spin-to-orbital
angular momentum conservation and relativistic effect. Remarkably, the IF
shift displays a dependence on the spin polarization of the incident beam. In
particular, opposite polarizations lead to shifts of equal magnitude but in
opposite directions. In contrast, the side-jump mechanism describes the
displacement of electrons during scattering, which is contingent on their spin
orientation. As a result, the behavior of the IF shift implies a resemblance
to the transverse shifts observed in the side jump effect, hinting at
potential connections between these phenomena.

However, there are several important avenues for future exploration. Our
current analysis primarily focused on realistic electrons described by the
Dirac equation, with eigenstates of spin polarization or helicity. However,
considering arbitrary polarization (helicity) states would be valuable, as it
allows us to explore the effects of different polarization states on the
observed shifts. By incorporating this additional freedom [64], we can achieve
a more comprehensive understanding of the scattering behavior of relativistic
electron beams and how their polarization properties influence the GH and IF
shifts. Another noteworthy consideration is that, thus far, our assumptions
have centered on plane waves in the spectrum having uniform polarization.
Furthermore, investigating non-uniform polarization distributions, such as
non-diffraction Bessel beams [65] and Bessel-Gaussian vortex beams [50, 54],
presents intriguing possibilities for future study. Additionally, our analysis
is conducted within the relativistic electron’s scattering from a step
potential. Future investigations can be dedicated to the effects of different
potential profiles and incorporate additional factors, such as external
fields, which could introduce supplementary contributions to the shifts.

Last but not least, it is worth highlighting the recent experimental strides
in electron vortex beams, which carry orbital angular momentum [66, 67, 68].
These achievements have not only offered diverse practical applications in
microscopy, quantum information processing, and material characterization
[69], but have also ignited a renewed interest in wave-packet dynamics of
relativistic electrons [50, 51, 54, 52], such as the realistic Hall effect and
relativistic electron vortices. This experimental progress now serves as a
platform for testing the these shifts. Hence, our findings emphasize the vital
role of accounting for current conservation, interference effect, and spin-to-
orbital angular momentum conversion in comprehending and manipulating these
lateral shifts. Moreover, the polarization-dependent traits we observed
present exciting prospects for innovating novel devices and applications in
the devices using Dirac and topological materials.

###### Acknowledgements.

This work was financially supported by the Basque Government through Grant No.
IT1470-22, the Project Grant No. PID2021-126273NB-I00 funded by
MCIN/AEI/10.13039/501100011033 and by “ERDF A way of making Europe” and “ERDF
Invest in your Future,” Nanoscale NMR and complex systems (Grant No. PID2021-
126694NB-C21), EU FET Open Grant EPIQUS (No. 899368), the ELKARTEK Program by
the Basque Government under Grant KK-2022/00041, BRTA QUANTUM Hacia una
especialización armonizada en tecnologías cuálnticas en BRTA. X.C.
acknowledges ayudas para contratos Ramón y Cajal–2015-2020 (Grant No.
RYC-2017-22482).

##  Appendix A Expectation values of spin and angular momentum and transverse
IF shift

In this appendix, our objective is to derive the IF shift from the
conservation of TAM. To achieve this, we start by calculating the expectation
values of spin and angular momentum for the incident and reflected Dirac
particle beams. In general, the total angular momentum is expressed as
$\vec{J}=\vec{L}+\vec{\Sigma}$, where $\vec{L}$ is the orbital angular
momentum operator, and the spin operator $\vec{\Sigma}$ has the three
components,

$\Sigma_{i}=\frac{1}{2}\left(\begin{matrix}\sigma_{i}&0\\\
0&\sigma_{i}\end{matrix}\right),$ (53)

with $i=x,y,z$. In our scenario, the $z$ component of the total angular
momentum, $\langle J_{z}\rangle=\langle
L_{z}\rangle+\langle\Sigma_{z}\rangle$, is conserved, leading to $\langle
J_{z}^{\textrm{in}}\rangle=\langle J^{\textrm{r}}_{z}\rangle$.

To perform the calculations, we utilize the FW transformation, given by:

$U=\cos\left(\frac{\alpha}{2}\right)\mathds{1}+\frac{\beta(\vec{\alpha}\cdot\vec{p})}{|p|}\sin\left(\frac{\alpha}{2}\right),$
(54)

where $\alpha=\arctan(p/m)$. This unitary transformation is employed to
diagonalize the Dirac Hamiltonian and obtain a more convenient representation
where the positive and negative energy states are separated [58]. It
simplifies the calculations and allows for a clearer separation of different
physical phenomena in the Dirac equation. Using this transformation, we can
express the expectation value of $\Sigma_{z}$ for the incident particle as:

$\displaystyle\langle\Sigma_{z}^{\textrm{in}}\rangle=\langle\Psi_{\textrm{in}}|\Sigma_{z}|\Psi_{\textrm{in}}\rangle=\langle\Psi_{\textrm{in}}|U^{{\dagger}}U\Sigma_{z}U^{{\dagger}}U|\Psi_{\textrm{in}}\rangle.$
(55)

By substituting the wave function (13), we can calculate the expectation value
of $\Sigma_{z}$ for the incident relativistic electron as:

$\displaystyle\langle\Sigma_{z}^{\textrm{in}}\rangle=\frac{\mathcal{N}}{2}\left(1-\Delta\right),$
(56)

where $\Delta=(1-m/E)\sin^{2}\theta$ is a spin-orbit interaction parameter
involving the incidence angle $\theta$, and
$\mathcal{N}=\langle\Psi_{\textrm{in}}|\Psi_{\textrm{in}}\rangle=\sec^{2}\left(\alpha/2\right)=2E/(E+m)$.
In the non-relativistic limit, as $\alpha$ and $\Delta$ approach 0 due to
$E\simeq m$, we have $\langle\Sigma_{z}^{\textrm{in}}\rangle=1/2$, which
corresponds to the exact eigenvalue of the initially spin-up state,
$|\uparrow\rangle$, in the Schrödinger frame. Similarly, we can apply the FW
transformation to the operators:

$\displaystyle Ux^{\textrm{in}}U^{{\dagger}}$ $\displaystyle=$ $\displaystyle
x^{\textrm{in}}_{0}+\frac{p_{y}\Sigma_{z}}{E(E+m)},$ (57) $\displaystyle
Up_{y}U^{{\dagger}}$ $\displaystyle=$ $\displaystyle p_{y}.$ (58)

In Eq. (57), we have used $p_{x}=0$ and retained only the terms contributing
to the expectation values with respect to our initial state for brevity. More
detailed calculation and formulas can be found in Ref. [58]. By doing so, we
obtain $\langle
L_{z}^{\textrm{in}}\rangle=\langle\Psi_{\textrm{in}}|x^{\textrm{in}}p_{y}|\Psi_{\textrm{in}}\rangle=\langle\Psi_{\textrm{in}}|U^{{\dagger}}Ux^{\textrm{in}}U^{{\dagger}}Up_{y}U^{{\dagger}}U|\Psi_{\textrm{in}}\rangle$,
yielding

$\langle L_{z}^{\textrm{in}}\rangle=\frac{\mathcal{N}}{2}\Delta+\langle
x^{\textrm{in}}_{0}\rangle p_{y}.$ (59)

As a consequence, we find, by using Eqs. (56) and (59), that:

$\langle J_{z}^{\textrm{in}}\rangle=\langle
L_{z}^{\textrm{in}}\rangle+\langle\Sigma_{z}^{\textrm{in}}\rangle=\frac{\mathcal{N}}{2}+\langle
x^{\textrm{in}}_{0}\rangle p_{y}.$ (60)

Here we highlight the presence of spin-orbit interaction ($\propto
p_{y}\Sigma_{z}$) in the second term of Eq. (57), also known as spin-to-
orbital angular momentum conservation [53]. It plays the significant role in
the scattering behavior of relativistic electrons and contributes to the
fascinating phenomena, such as IF shift and spin Hall effect, observed in our
study.

For the reflected case, we also find that the expectation value of the $z$
component of the total angular momentum is given by:

$\langle J_{z}^{\textrm{r}}\rangle=\langle
L_{z}^{\textrm{r}}\rangle+\langle\Sigma_{z}^{\textrm{r}}\rangle=\frac{\mathcal{N}}{2}(|r|^{2}-|r^{\prime}|^{2})+\langle
x^{\textrm{r}}_{0}\rangle p_{y},$ (61)

where the terms are respectively calculated as follows:

$\displaystyle\langle\Sigma_{z}^{\textrm{r}}\rangle$ $\displaystyle=$
$\displaystyle\frac{\mathcal{N}}{2}\left(1-\Delta\right)(|r|^{2}-|r^{\prime}|^{2}),$
(62) $\displaystyle\langle L_{z}^{\textrm{r}}\rangle$ $\displaystyle=$
$\displaystyle\frac{\mathcal{N}}{2}\Delta(|r|^{2}-|r^{\prime}|^{2})+\langle
x^{\textrm{r}}_{0}\rangle p_{y}.$ (63)

By further applying $\langle J_{z}^{\textrm{in}}\rangle=\langle
J^{\textrm{r}}_{z}\rangle$, we finally end up with the transverse IF shift,
expressed as:

$\delta S_{x}=\langle x^{\textrm{r}}_{0}\rangle-\langle
x^{\textrm{in}}_{0}\rangle=\frac{\mathcal{N}}{2p_{y}}\left[1-(|r|^{2}-|r^{\prime}|^{2})\right].$
(64)

This observation bears a resemblance to the Hall effect of light [12]. In
addition, the whole calculations are also similar to the ones for Weyl
semimetals [46, 48] and topological systems [47]. However, the relativistic
effects, specifically the intrinsic spin-orbit interaction, lead to the spin-
dependence of the orbital angular momentum (and other observable orbital
characteristics). This indicates intriguing phenomena and different
characteristics in the scattering behavior of relativistic electron, or other
Dirac spin-1/2 particles.

## References

  * Newton [2003] I. Newton,  _Opticks, or, A Treatise of the Reflections, Refractions, Inflections and Colours of Light, 4th ed. Prometheus Books_ (New York, 2003) p. 370–374.
  * Goos and Hänchen [1947] F. Goos and H. Hänchen, Ein neuer und fundamentaler versuch zur totalreflexion, Annalen der Physik 436, 333 (1947).
  * Goos and Hänchen [1949] F. Goos and H. Hänchen, Neumessung des strahlversetzungseffektes bei totalreflexion, Annalen der Physik 440, 251 (1949).
  * Renard [1964] R. H. Renard, Total reflection: A new evaluation of the goos-hänchen shift, J. Opt. Soc. Am. 54, 1190 (1964).
  * Lotsch [1968] H. K. V. Lotsch, Reflection and refraction of a beam of light at a plane interface, J. Opt. Soc. Am. 58, 551 (1968).
  * Imbert [1968] C. Imbert, Calculation of goos and hanchen displacement by poynting vector. prediction of a transverse shift if incident wave is elliptically polarized, COMPTES RENDUS HEBDOMADAIRES DES SEANCES DE L ACADEMIE DES SCIENCES SERIE B 267, 1401 (1968).
  * Rabinovich  _et al._ [1955] I. Rabinovich, V. Fedorov, N. Paskhin, M. Avdesnyak, and N. Y. Pimenov, Isotopic effects on mutual solubility of liquid deuterium compounds, in  _Doklady Akad. Nauk SSSR_ , Vol. 105 (Gor’kii State Inst. of Chem., 1955).
  * Schilling [1965] H. Schilling, Die strahlversetzung bei der reflexion linear oder elliptisch polarisierter ebener wellen an der trennebene zwischen absorbierenden medien, Annalen der Physik 471, 122 (1965).
  * Imbert [1972] C. Imbert, Calculation and experimental proof of the transverse shift induced by total internal reflection of a circularly polarized light beam, Phys. Rev. D 5, 787 (1972).
  * Ashby and Miller [1973] N. Ashby and S. C. Miller, Shifts of light beams due to total internal reflection, Phys. Rev. D 7, 2383 (1973).
  * de Beauregard and Imbert [1973] O. C. de Beauregard and C. Imbert, Quantized longitudinal and transverse shifts associated with total internal reflection, Phys. Rev. D 7, 3555 (1973).
  * Onoda  _et al._ [2004] M. Onoda, S. Murakami, and N. Nagaosa, Hall effect of light, Phys. Rev. Lett. 93, 083901 (2004).
  * Pillon  _et al._ [2005] F. Pillon, H. Gilles, S. Girard, M. Laroche, R. Kaiser, and A. Gazibegovic, Goos-hänchen and imbert-fedorov shifts for leaky guided modes, J. Opt. Soc. Am. B 22, 1290 (2005).
  * Aiello and Woerdman [2008] A. Aiello and J. P. Woerdman, Role of beam propagation in goos–hänchen and imbert–fedorov shifts, Opt. Lett. 33, 1437 (2008).
  * Xiao  _et al._ [2012] Z. Xiao, H. Luo, and S. Wen, Goos-hänchen and imbert-fedorov shifts of vortex beams at air–left-handed-material interfaces, Phys. Rev. A 85, 053822 (2012).
  * Asiri  _et al._ [2016] S. Asiri, J. Xu, M. Al-Amri, and M. S. Zubairy, Controlling the goos-hänchen and imbert-fedorov shifts via pump and driving fields, Phys. Rev. A 93, 013821 (2016).
  * Bliokh and Aiello [2013] K. Y. Bliokh and A. Aiello, Goos–hänchen and imbert–fedorov beam shifts: an overview, Journal of Optics 15, 014001 (2013).
  * Töppel  _et al._ [2013] F. Töppel, M. Ornigotti, and A. Aiello, Goos–hänchen and imbert–fedorov shifts from a quantum-mechanical perspective, New Journal of Physics 15, 113059 (2013).
  * Goswami  _et al._ [2016] S. Goswami, S. Dhara, M. Pal, A. Nandi, P. K. Panigrahi, and N. Ghosh, Optimized weak measurements of goos-hänchen and imbert-fedorov shifts in partial reflection, Opt. Express 24, 6041 (2016).
  * Ornigotti [2018] M. Ornigotti, Goos-hänchen and imbert-fedorov shifts for airy beams, Opt. Lett. 43, 1411 (2018).
  * Ye  _et al._ [2019] G. Ye, W. Zhang, W. Wu, S. Chen, W. Shu, H. Luo, and S. Wen, Goos-hänchen and imbert-fedorov effects in weyl semimetals, Phys. Rev. A 99, 023807 (2019).
  * Kong  _et al._ [2019] Q. Kong, H.-Y. Shi, J.-L. Shi, and X. Chen, Goos-hänchen and imbert-fedorov shifts at gradient metasurfaces, Opt. Express 27, 11902 (2019).
  * Jiao  _et al._ [2019] X. Jiao, Z. Qiao, W. Gao, and S. Shen, Tunable goos–hänchen and imbert–fedorov shifts, Optics Communications 436, 239 (2019).
  * Dragoman and Dragoman [2004] D. Dragoman and M. Dragoman,  _Quantum-classical analogies_ , Vol. 92 (Springer, 2004).
  * Dragoman and Dragoman [1999] D. Dragoman and M. Dragoman, Optical analogue structures to mesoscopic devices, Progress in Quantum Electronics 23, 131 (1999).
  * Carter and Hora [1971] J. L. Carter and H. Hora, Total reflection of matter waves: The goos–haenchen effect for grazing incidence$\ast$, J. Opt. Soc. Am. 61, 1640 (1971).
  * de Haan  _et al._ [2010] V.-O. de Haan, J. Plomp, T. M. Rekveldt, W. H. Kraan, A. A. van Well, R. M. Dalgliesh, and S. Langridge, Observation of the goos-hänchen shift with neutrons, Phys. Rev. Lett. 104, 010401 (2010).
  * Miller and Ashby [1972] S. C. Miller and N. Ashby, Shifts of electron beam position due to total reflection at a barrier, Phys. Rev. Lett. 29, 740 (1972).
  * Fradkin and Kashuba [1974a] D. M. Fradkin and R. J. Kashuba, Spatial displacement of electrons due to multiple total reflections, Phys. Rev. D 9, 2775 (1974a).
  * Fradkin and Kashuba [1974b] D. M. Fradkin and R. J. Kashuba, Position-operator method for evaluating the shift of a totally reflected electron, Phys. Rev. D 10, 1137 (1974b).
  * Chen  _et al._ [2013] X. Chen, X.-J. Lu, Y. Ban, and C.-F. Li, Electronic analogy of the goos–hänchen effect: a review, Journal of Optics 15, 033001 (2013).
  * Yu  _et al._ [2019] Z.-M. Yu, Y. Liu, and S. A. Yang, Anomalous spatial shifts in interface electronic scattering, Frontiers of Physics 14, 1 (2019).
  * Wilson  _et al._ [1993] D. Wilson, E. Glytsis, and T. Gaylord, Electron waveguiding characteristics and ballistic current capacity of semiconductor quantum slabs, IEEE Journal of Quantum Electronics 29, 1364 (1993).
  * Chen  _et al._ [2008] X. Chen, C.-F. Li, and Y. Ban, Tunable lateral displacement and spin beam splitter for ballistic electrons in two-dimensional magnetic-electric nanostructures, Phys. Rev. B 77, 073307 (2008).
  * Chen  _et al._ [2011] X. Chen, X.-J. Lu, Y. Wang, and C.-F. Li, Controllable goos-hänchen shifts and spin beam splitter for ballistic electrons in a parabolic quantum well under a uniform magnetic field, Phys. Rev. B 83, 195409 (2011).
  * Beenakker  _et al._ [2009] C. W. J. Beenakker, R. A. Sepkhanov, A. R. Akhmerov, and J. Tworzydło, Quantum goos-hänchen effect in graphene, Phys. Rev. Lett. 102, 146804 (2009).
  * Wu  _et al._ [2011] Z. Wu, F. Zhai, F. M. Peeters, H. Q. Xu, and K. Chang, Valley-dependent brewster angles and goos-hänchen effect in strained graphene, Phys. Rev. Lett. 106, 176802 (2011).
  * Zhao and Yelin [2010] L. Zhao and S. F. Yelin, Proposal for graphene-based coherent buffers and memories, Phys. Rev. B 81, 115441 (2010).
  * Liu  _et al._ [2018a] Y. Liu, Z.-M. Yu, H. Jiang, and S. A. Yang, Goos-hänchen-like shifts at a metal/superconductor interface, Phys. Rev. B 98, 075151 (2018a).
  * Liu  _et al._ [2018b] Y. Liu, Z.-M. Yu, J. Liu, H. Jiang, and S. A. Yang, Transverse shift in crossed andreev reflection, Phys. Rev. B 98, 195141 (2018b).
  * Sinitsyn  _et al._ [2005] N. A. Sinitsyn, Q. Niu, J. Sinova, and K. Nomura, Disorder effects in the anomalous hall effect induced by berry curvature, Phys. Rev. B 72, 045346 (2005).
  * Vignale [2010] G. Vignale, Ten years of spin hall effect, Journal of superconductivity and novel magnetism 23, 3 (2010).
  * Glazov and Golub [2020] M. M. Glazov and L. E. Golub, Skew scattering and side jump drive exciton valley hall effect in two-dimensional crystals, Phys. Rev. Lett. 125, 157403 (2020).
  * Liu  _et al._ [2020] Y. Liu, Z.-M. Yu, C. Xiao, and S. A. Yang, Quantized circulation of anomalous shift in interface reflection, Phys. Rev. Lett. 125, 076801 (2020).
  * Jiang  _et al._ [2015] Q.-D. Jiang, H. Jiang, H. Liu, Q.-F. Sun, and X. C. Xie, Topological imbert-fedorov shift in weyl semimetals, Phys. Rev. Lett. 115, 156602 (2015).
  * Yang  _et al._ [2015] S. A. Yang, H. Pan, and F. Zhang, Chirality-dependent hall effect in weyl semimetals, Phys. Rev. Lett. 115, 156603 (2015).
  * Hao  _et al._ [2019] Y.-R. Hao, L. Wang, and D.-X. Yao, Imbert-fedorov shift in $\text{pseudospin}-n/2$ semimetals and nodal-line semimetals, Phys. Rev. B 99, 165406 (2019).
  * Wang and Jian [2017] L. Wang and S.-K. Jian, Imbert-fedorov shift in weyl semimetals: Dependence on monopole charge and intervalley scattering, Phys. Rev. B 96, 115448 (2017).
  * Dongre and Roychowdhury [2022] N. K. Dongre and K. Roychowdhury, Effects of surface potentials on goos-hänchen and imbert-fedorov shifts in weyl semimetals, Phys. Rev. B 106, 075414 (2022).
  * Bliokh  _et al._ [2011] K. Y. Bliokh, M. R. Dennis, and F. Nori, Relativistic electron vortex beams: Angular momentum and spin-orbit interaction, Phys. Rev. Lett. 107, 174802 (2011).
  * Bliokh and Nori [2012] K. Y. Bliokh and F. Nori, Relativistic hall effect, Phys. Rev. Lett. 108, 120403 (2012).
  * Bialynicki-Birula and Bialynicka-Birula [2017] I. Bialynicki-Birula and Z. Bialynicka-Birula, Relativistic electron wave packets carrying angular momentum, Phys. Rev. Lett. 118, 114801 (2017).
  * Bliokh  _et al._ [2017] K. Y. Bliokh, M. R. Dennis, and F. Nori, Position, spin, and orbital angular momentum of a relativistic electron, PHallys. Rev. A 96, 023622 (2017).
  * Barnett [2017] S. M. Barnett, Relativistic electron vortices, Phys. Rev. Lett. 118, 114802 (2017).
  * Zou  _et al._ [2020] L. Zou, P. Zhang, and A. J. Silenko, Position and spin in relativistic quantum mechanics, Phys. Rev. A 101, 032117 (2020).
  * De Leo and Rotelli [2009] S. De Leo and P. Rotelli, Planar dirac diffusion, The European Pysical Journal C 63, 157 (2009).
  * Artmann [1948] K. Artmann, Berechnung der seitenversetzung des totalreflektierten strahles, Annalen der Physik 437, 87 (1948).
  * Greiner  _et al._ [2000] W. Greiner _et al._ ,  _Relativistic quantum mechanics_ , Vol. 2 (Springer, 2000).
  * Thaller [2013] B. Thaller,  _The dirac equation_ (Springer Science & Business Media, 2013).
  * Yasumoto and Oishi [1983] K. Yasumoto and Y. Oishi, A new evaluation of the goos–hänchen shift and associated time delay, Journal of Applied Physics 54, 2170 (1983).
  * Fedoseyev [1986] V. G. Fedoseyev, Energy motion on total internal reflection of an electromagnetic wave packet, J. Opt. Soc. Am. A 3, 826 (1986).
  * Seshadri [1988] S. R. Seshadri, Goos–hänchen beam shift at total internal reflection, J. Opt. Soc. Am. A 5, 583 (1988).
  * Chen  _et al._ [2012] X. Chen, X.-J. Lu, P.-L. Zhao, and Q.-B. Zhu, Energy flux and goos-hänchen shift in frustrated total internal reflection, Opt. Lett. 37, 1526 (2012).
  * Wang and Li [2011] Y. Wang and C.-F. Li, Bessel-gaussian electron beams of cylindrically symmetric spin polarization, Europhysics Letters 95, 44001 (2011).
  * Grillo  _et al._ [2014] V. Grillo, E. Karimi, G. C. Gazzadi, S. Frabboni, M. R. Dennis, and R. W. Boyd, Generation of nondiffracting electron bessel beams, Phys. Rev. X 4, 011013 (2014).
  * Verbeeck  _et al._ [2010] J. Verbeeck, H. Tian, and P. Schattschneider, Production and application of electron vortex beams, Nature 467, 301 (2010).
  * Uchida and Tonomura [2010] M. Uchida and A. Tonomura, Generation of electron beams carrying orbital angular momentum, nature 464, 737 (2010).
  * McMorran  _et al._ [2011] B. J. McMorran, A. Agrawal, I. M. Anderson, A. A. Herzing, H. J. Lezec, J. J. McClelland, and J. Unguris, Electron vortex beams with high quanta of orbital angular momentum, Science 331, 192 (2011).
  * Lloyd  _et al._ [2017] S. M. Lloyd, M. Babiker, G. Thirunavukkarasu, and J. Yuan, Electron vortices: Beams with orbital angular momentum, Rev. Mod. Phys. 89, 035004 (2017).