Hardware units for faster execution of path-planning or navigation algorithms

A hardware accelerator for path planning and navigation algorithms addresses computational inefficiencies by performing parallel calculations of intersection points and distances, enhancing speed and efficiency for complex geometries and large datasets.

WO2026114790A2PCT designated stage Publication Date: 2026-06-04ZF FRIEDRICHSHAFEN AG

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ZF FRIEDRICHSHAFEN AG
Filing Date
2025-11-24
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing methods for calculating intersection points between orthogonal lines and polylines in path planning and navigation algorithms are computationally inefficient, especially when dealing with complex geometries or large datasets, leading to performance issues in applications such as autonomous vehicles, robotics, and geographic information systems.

Method used

A hardware accelerator unit is designed to perform parallel calculations of intersection points and distances between orthogonal lines and polyline segments, utilizing specialized hardware blocks for efficient execution of path planning and navigation algorithms, including input and output interfaces, and employing trigonometric function lookup tables for rapid computation.

Benefits of technology

The hardware accelerator significantly increases execution speed and energy efficiency, enabling real-time applications by orders of magnitude compared to traditional CPU/GPU methods, particularly in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF000003_0001
    Figure IMGF000003_0001
  • Figure IMGF000003_0002
    Figure IMGF000003_0002
  • Figure IMGF000004_0001
    Figure IMGF000004_0001
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0002] Hardware units for accelerated execution of path planning or navigation algorithms

[0003] The invention relates to hardware units for the accelerated execution of path planning or navigation algorithms.

[0004] The following definitions, descriptions and explanations retain their respective meaning for and apply to the entire disclosed subject matter of the invention.

[0005] EP 3832420 B1 discloses a control unit for an agent within a group of agents: a temporal deep network designed to compute a desired trajectory for the agent. A processor can be implemented as a dedicated hardware unit, e.g., a CPU or GPU.

[0006] US Patent 11 835958 B2 discloses methods and systems for training a motion planner for an autonomous vehicle. A motion planner's trajectory evaluation agent receives state data defining the current state of the autonomous vehicle and its environment at a given time step. Based on this current state, a trajectory is selected. A reward is calculated based on the performance of the selected trajectory in the current state. One or more processors may include a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a neural processing unit (NPU), a digital signal processor, or another computational element.

[0007] Calculating the intersection point between the normal (also called the orthogonal) of a pose and a polyline in a two-dimensional space can be computationally intensive. Traditional methods often struggle with efficiency, especially when processing complex geometries or large datasets. This problem involves determining the precise points where the pose normal intersects the polyline, which is important for various applications in fields such as autonomous vehicles, robotics, geographic information systems, and surveying. (ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25)

[0008] and mapping, etc., is crucial. These algorithms are typically implemented on traditional CPUs and / or GPUs, which offer advantages in terms of flexibility, but at the cost of efficiency and performance.

[0009] In this technical context, an object of the invention was to provide a hardware accelerator that eliminates computational inefficiencies of existing techniques, particularly in the implementation of an efficient intersection finder in path planning and / or navigation algorithms.

[0010] The subject matter of the independent claims each solves this problem. Advantageous embodiments of the invention will become apparent from the definitions, the dependent claims, the drawings, and the description of preferred embodiments.

[0011] In one respect, the invention provides a hardware unit for the accelerated execution of path planning or navigation algorithms.

[0012] In the context of the present invention, a hardware unit is a specialized acceleration hardware, also called a hardware accelerator, which serves for the efficient implementation of computationally intensive algorithms and is optimized to efficiently execute highly parallel and / or dedicated calculations. The hardware unit disclosed herein is characterized by the fact that it significantly increases the execution speed and energy efficiency compared to purely software-based or general-purpose computing units and is suitable for real-time applications.

[0013] A path planning algorithm is an algorithm used in computer science, robotics, and related fields to calculate an optimal or practical route with a start and / or end point—that is, the path—for an object or system, such as a vehicle, drone, or robot, that is to move through an environment, for example, along a lane or flight path. In the case of a robot, the path can also be the movement of a robotic arm. The algorithm can take obstacles in the environment into account and plan the path in such a way as to avoid collisions. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0014] A navigation algorithm is an algorithm that guides a system or object, such as a vehicle, drone, or robot, from a starting point to a destination point within a given environment. This involves not only calculating a suitable path, as with a path planning algorithm, but also the actual control and decision-making process for how the object can safely and efficiently traverse this path, taking into account the environment and its movement characteristics.

[0015] The hardware unit is designed to calculate the intersection points of orthogonal lines to reference poses with connecting sections, also called segments, of a polyline.

[0016] The reference pose defines the position and orientation of an object, for example, a vehicle. The definition is relative to a coordinate system, such as a two-dimensional Cartesian XY coordinate system. For example, the position is given by xy coordinates, and the orientation, based on an orientation angle i (for example, the direction of travel of a vehicle), is given by the unit vector w = (cosip). r ., sini / j r .^ defined. The orthogonal,

[0017]

[0018] The orthogonal, also called the normal, is the line perpendicular to the orientation of the reference pose. In the previously chosen coordinate system, the direction of the orthogonal is then given by the unit vector wl =

[0019]

[0020] (sin i / 7 > cos i / 7). A polyline is a line defined by an ordered set of points. The points on the polyline can be equidistant or have different distances between them. A connecting segment is bounded by two consecutive points on the polyline. An intersection point is the point where the orthogonal to the reference pose intersects a segment of the polyline. Each intersection point lies on its respective orthogonal and connecting segment. Each orthogonal is defined by the position and orientation of its respective reference pose. The intersection point represents a spatial reference point that can be used for planning or navigation algorithms, such as distance measurement or path correction. The intersection point can mark the point at which a planned driving maneuver, such as a turn or lane change, begins.Furthermore, the intersection point can be used ZF Friedrichshafen AG file 306344 Friedrichshafen 2024-11-25.

[0021] Intersections are used to detect obstacles or target points along a robot's planned path, for example, along the planned path of a robot's gripper arm. In the context of geographic information systems, the intersection helps in the analysis of paths or networks, such as road intersections.

[0022] The hardware unit includes an input interface for reading in the reference poses and points of the polyline. This input interface is a technical component that transfers input data to the hardware unit. For each reference pose, the respective position coordinates and orientation angle are read in. After each aspect is processed, the input interface transfers, or prepares, the reference poses and points of the polyline in an organized data structure, for example, as a table, in which the reference poses are recorded row by row and the points of the polyline are recorded column by column for each row. After each aspect is processed, future points of the polyline are read in real time.

[0023] The hardware unit comprises initial hardware blocks for calculating projections of the polyline points onto each of the reference poses. These projections are then applied to the orientation w = (cosip).r .,sinip r .^ the reference-

[0024]

[0025] The pose is calculated, meaning the distances of the points on the polyline to the orthogonal are obtained. For example, if the vector r specifies the position of the reference pose and the vector p specifies the position of a point p on the polyline, then the projection is proj p of point p the scalar product proj p = (p - r) ■ w = v ■ w. Where v is the vector from the position of the reference pose to the point of the polyline.

[0026] A hardware block is a unit within a hardware system that performs a specific task or function. Examples of hardware blocks include arithmetic blocks, also called arithmetic logic units, for addition, subtraction, multiplication, or division; for example, digital signal processing blocks; memory blocks, such as registers; communication blocks; and logic blocks. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0027] The number of first hardware blocks is equal to the product of the number of points in the polyline and the number of reference poses.

[0028] For example, if the polyline comprises 10,000 points and there are 3,000 reference poses, then 10,000 projections are calculated for each of the 3,000 reference poses, for a total of 3 x 10 7 Projections. Each of these projections is calculated in one of the first hardware blocks; that is, the hardware unit in this example comprises 3 x 10 7First hardware blocks. The calculations of the individual projections are performed in parallel within the respective first hardware blocks, instead of serially, i.e., sequentially, as in a central processor unit. This increases the computing speed and efficiency of the hardware unit disclosed here by orders of magnitude compared to known serial data processing. Each of the first hardware blocks can be manufactured, for example, as a 7 nm, 6 nm, 5 nm, 4 nm, 3 nm, 2 nm, or 1.4 nm chip, for example, from silicon. The manufacturing process generation and methods for these technology nodes are known and available. The statements regarding the number of first hardware blocks, the parallel processing of the projections, and the associated advantages apply accordingly to the second hardware blocks with respect to the calculations of the distances of the polyline points to the reference poses.

[0029] The hardware unit includes an output interface for outputting the intersection point. The output interface is a technical device.

[0030] In the hardware unit, when calculating the projections of the points of the polyline for each of the reference poses over all points of the polyline, the calculation of each of these projections takes place in one of the respective first hardware blocks.

[0031] In the event that the projection of a given point and the projection of the following point have different signs, the connecting segment of the polyline is intersected by the orthogonal to the given reference position. The signs of the projections can be determined, for example, using the ZF Friedrichshafen AG file 306344, Friedrichshafen, 2024-11-25.

[0032] The sign function sign(x) is determined, meaning an intersection point exists when sign(proj) is used. p ) ≠ sign(proj p). If this condition is met, interpolation is advantageous.

[0033] Known algorithms for determining intersection points in a space of positions and orthogonal lines rely on brute-force calculations of Euclidean geometry. In contrast, the hardware unit disclosed here implements an alternative approach based on projection calculations and subsequent analysis to determine which segment was actually intersected. The projection calculations can be performed in parallel by the hardware unit's architecture disclosed here. Each projection is computed by a separate first hardware block of the unit.

[0034] Parallel data processing in the hardware unit, through parallel processing of the first hardware blocks, reduces the computing time required to execute path planning or navigation algorithms.

[0035] In another respect, the hardware unit calculates the intersection point of the orthogonal lines along the connecting segment by linear interpolation between the respective point and the next point, based on the projections. For example, the hardware unit calculates the intersection point p. int as a weighted sum of the endpoints p t and p i+1 of the corresponding connecting section as \proj I

[0036] Pint = Pt + a- ( p i+1 - Pi) with interpolation factor a =

[0037]

[0038] According to another aspect, each of the first hardware blocks comprises a first subtraction block, a second subtraction block, a first angle block, a second angle block, a first multiplication block, a second multiplication block, and an addition block. The blocks can be comparators and adders, configurable logic tables, digital signal processing blocks, and / or arithmetic logic units. For example, the subtraction blocks work with the representation of negative numbers in two's complement, thus enabling efficient integration of subtraction into standard arithmetic. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0039] To calculate the projections of the polyline points onto each of the reference poses for each of the reference poses across all points of the polyline, the first subtraction block in each of the first hardware blocks outputs the difference between the first coordinate of the respective polyline point and the first coordinate of the reference pose. The first coordinate refers, for example, to the x-coordinate.

[0040] The second subtraction block in each set of operations outputs the difference between the second coordinate of the respective point on the polyline and the second coordinate of the reference position. The second coordinate, for example, refers to the y-coordinate.

[0041] That is, the first and second subtraction blocks are used to determine the difference (p - r) when calculating the projection proj. p= (p - r) ■ w is used. In the case of a three-dimensional coordinate system, the first hardware blocks comprise corresponding third subtraction blocks, for example for the z-coordinate.

[0042] The first angle block in the first hardware blocks outputs the value of a first trigonometric function for the orientation angle of the reference pose. In the coordinate system chosen in the exemplary embodiments, the first angle block outputs, for example, the cosine of the orientation angle.

[0043] The second angle block in the first hardware blocks outputs the value of a second trigonometric function for the orientation angle of the reference pose. In the coordinate system chosen in the exemplary embodiments, the second angle block outputs, for example, the sine of the orientation angle.

[0044] That is, the first and second angle blocks are used to determine the orientation w = (cosip r ., sin i / jr The reference pose is used. In the case of a three-dimensional

[0045]

[0046] In the sional coordinate system, the first hardware blocks comprise the corresponding third angle blocks. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0047] The first multiplication block in each of the first hardware blocks outputs the product of the difference between the first subtraction block and the value of the first angle block. That is, the first multiplication blocks are used to determine the x-coordinate part of the scalar product proj. p = (p - r) ■ w inserted.

[0048] The second multiplication block in each of the first hardware blocks outputs the product of the difference between the second subtraction block and the value of the second angle block. That is, the second multiplication blocks are used to determine the y-coordinate component of the scalar product proj.p = (p - r) ■ w inserted.

[0049] In the case of a three-dimensional coordinate system, the first hardware blocks comprise corresponding third multiplication blocks.

[0050] Each addition block in the first hardware blocks outputs the sum of the product of the respective first multiplication block and the product of the respective second multiplication block. This sum is the projection of the respective point of the polyline onto the given reference position.

[0051] According to a further aspect, the invention provides an additional hardware unit for the accelerated execution of path planning or navigation algorithms, designed to calculate the intersection points of orthogonals to reference poses with connecting segments of a polyline, comprising an input interface and an output interface as disclosed above. This hardware unit includes second hardware blocks for calculating the distances of the points of the polyline to each of the reference poses. The distances of the points to the reference pose in the direction of the orthogonals are calculated as wl = (-sin ψ). r , cos ψ r ) calculated.

[0052]

[0053] The distance is p The scalar product of point p to the reference position r is dist. p = v ■ wl, where v = (p - r) is the vector from the position of the reference pose to the point of the polyline. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0054] The number of second hardware blocks is equal to the product of the number of points in the polyline and the number of reference poses. The corresponding preceding disclosure regarding the number of first hardware blocks applies with respect to the number of second hardware blocks.

[0055] In the hardware unit, when calculating the distances between the points of the polyline for each of the reference poses across all points of the polyline, each of these distances is calculated individually in one of the second hardware blocks. The calculations of the individual distances are performed in parallel in the respective second hardware blocks, instead of being executed serially, i.e., sequentially, as in a central processor unit. This increases the computing speed and efficiency of the hardware unit disclosed here by orders of magnitude compared to known serial data processing.

[0056] In another respect, the hardware unit calculates the distance of the intersection of the orthogonal lines to the given reference pose by linear interpolation between the distance of the respective point and the distance of the next point, based on the projections. The output interface displays the distance of the intersection of the orthogonal lines to the given reference pose.

[0057] According to another aspect, each of the second hardware blocks comprises a first subtraction block, a second subtraction block, a first angle block, a second angle block, a first multiplication block, a second multiplication block, and an addition block. The corresponding disclosures regarding the individual blocks of the first hardware blocks apply in this respect.

[0058] To calculate the distances of the polyline points to each of the reference poses for each of the reference poses across all points of the polyline, the respective first subtraction block in the respective second hardware blocks outputs the difference between the first coordinate of the respective polyline point and the first coordinate of the reference pose. The first coordinate refers, for example, to the x-coordinate. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0059] The second subtraction block in each set of operations outputs the difference between the second coordinate of the respective point on the polyline and the second coordinate of the reference position. The second coordinate, for example, refers to the y-coordinate.

[0060] This means that the first and second subtraction blocks of the respective second hardware blocks are used to determine the difference (p - r) when calculating the distance dist p= v ■ wl is used. In the case of a three-dimensional coordinate system, the second hardware blocks comprise corresponding third subtraction blocks, for example for the z-coordinate.

[0061] The first angle block in the second hardware blocks outputs the value of a first trigonometric function for the orientation angle of the reference pose. In the coordinate system chosen in the exemplary embodiments, the first angle block outputs, for example, the negative sine of the orientation angle.

[0062] The second angle block in the second hardware blocks outputs the value of a second trigonometric function for the orientation angle of the reference pose. In the coordinate system chosen in the exemplary embodiments, the second angle block outputs, for example, the cosine of the orientation angle.

[0063] This means that the first and second angle blocks are used to determine the orthogonal angle (-sin 7 > cos ,) of the reference pose. In the case of a three-dimensional coordinate system, the second hardware blocks correspondingly comprise third angle blocks.

[0064] The first multiplication block in each of the second hardware blocks outputs the product of the difference between the first subtraction block and the value of the first angle block. That is, the first multiplication blocks are used to determine the x-coordinate part of the scalar product. p = v ■ wl inserted.

[0065] The respective second multiplication block in the second hardware blocks outputs the product of the difference between the respective second subtraction block and the value of the second angle block. That is, the second multiplication blocks are ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0066] to determine the y-coordinate component of the scalar product dist p = v ■ wl inserted.

[0067] In the case of a three-dimensional coordinate system, the second hardware blocks comprise corresponding third multiplication blocks.

[0068] The respective addition block in the second hardware blocks outputs the sum of the product of the respective first multiplication block and the product of the respective second multiplication block. This sum is the distance of the respective point on the polyline from the given reference position.

[0069] According to another aspect, the invention presents a hardware unit for the accelerated execution of path planning or navigation algorithms, designed to calculate the intersection points of orthogonals to reference poses with connecting segments of a polyline. The hardware unit comprises an input interface for reading the reference poses and the points of the polyline, wherein the respective position coordinates and orientation angles are read for each of the reference poses, and an output interface for outputting the intersection point. The hardware unit includes the first hardware blocks and the second hardware blocks disclosed above. That is to say, a hardware unit is provided that calculates the projections and the distances.The function of the previously disclosed hardware unit comprising only the first hardware blocks, and the function of the previously disclosed hardware unit comprising only the second hardware blocks, are performed by the single hardware unit comprising both the first and second hardware blocks. The calculations of the individual projections and distances are performed in parallel within this single hardware unit.

[0070] Another aspect is that pre-calculated values ​​of trigonometric functions for angles, such as sine and cosine, are stored in lookup tables in the first and / or second angle blocks of the first and / or second hardware blocks. The hardware unit retrieves the corresponding value for the orientation angle of the reference pose directly from the relevant lookup table. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0071] This enables very fast determination, as no arithmetic calculations are required. Lookup tables are easy to implement, for example in FPGAs or ASICs, and are resource-efficient for small table sizes.

[0072] According to another aspect, the hardware unit comprises one, several, or a combination of the technologies Graphics Processing Unit, Field Programmable Gate Array, Application-Specific Integrated Circuit, Tensor Processing Unit.

[0073] For example, Graphic Processing Units utilize compute nodes, such as shader cores, designed for parallel arithmetic operations. Subtraction, for instance, is performed by the arithmetic logic units of the Graphic Processing Unit.

[0074] Field Programmable Gate Arrays (FGAs) are reconfigurable integrated circuits consisting of numerous logic devices interconnected via a programmable network. These devices can be reprogrammed after manufacturing and even multiple times during their use to perform specific logic functions, making them highly flexible and adaptable. Mathematical operations such as subtraction, multiplication, and addition are performed using digital signal processing (DSP) blocks within the FGA. The FGA is programmed using a configuration bitstream, a file containing the desired circuit data. This bitstream can be used, for example, to program the first and second hardware blocks of the device.

[0075] An application-specific integrated circuit (AIC) is a hard-wired integrated circuit designed for a specific application. Unlike field-programmable gate arrays (FGAs), an AIC cannot be modified after production. Each function, for example, is directly implemented in silicon. The logic functions are built directly as a physical circuit on a chip, which increases efficiency. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0076] Tensor Processing Units are optimized for matrix operations, where subtractions are often part of difference calculations. Subtraction blocks are heavily pipelined and optimized to quickly compute element-level differences in matrices.

[0077] From one perspective, the hardware unit is a Field Programmable Gate Array. If the first and second hardware blocks comprise the same logical or arithmetic blocks—for example, the first subtraction block, the second subtraction block, the first angle block, the second angle block, the first multiplication block, the second multiplication block, and the addition block—then the first and second hardware blocks can have the same hardware design or architecture. Only the first and second angle blocks need to be configured differently in the first and second hardware blocks, which can be done via the configuration bitstream of the Field Programmable Gate Array.

[0078] From one perspective, the hardware unit is an Application-Specific Integrated Circuit.

[0079] In one aspect, the hardware unit executes a path planning or navigation algorithm. The intersection of the orthogonal lines along the connecting segment marks a point where a planned maneuver of a vehicle or robot begins. A drone is a vehicle.

[0080] The hardware unit is integrated, for example, into the vehicle's electronic control unit (ECU). The ECU can be integrated into the vehicle's bus system and is responsible for specific functions. In this context, the ECU is also called a domain ECU or zone ECU. For example, the ECU might be an ADAS or AD domain ECU, meaning a control unit for advanced driver assistance systems or autonomous driving. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0081] In another respect, the hardware unit executes a path planning or navigation algorithm. The intersection of the orthogonal lines along the connecting segment marks an obstacle or a target point along a planned path, for example, for a vehicle or a robot. A drone is a vehicle. The hardware unit is integrated, for example, into the vehicle's electronic control unit (ECU). The ECU can be integrated into the vehicle's bus system and is responsible for certain functions. In this context, the ECU is also called a domain ECU or zone ECU. For example, the ECU might be an ADAS or AD domain ECU, meaning a control unit for advanced driver assistance systems or autonomous driving.

[0082] The invention is illustrated in the following exemplary embodiments. They show:

[0083] Fig. 1 shows an embodiment of a hardware unit,

[0084] Fig. 2 shows an embodiment of another hardware unit,

[0085] Fig. 3 shows an embodiment of another hardware unit,

[0086] Fig. 4 shows an embodiment of a first hardware block,

[0087] Fig. 5 shows an embodiment of a second hardware block,

[0088] Fig. 6 shows a geometric representation and

[0089] Fig. 7 shows another geometric representation.

[0090] In the figures, identical reference symbols denote identical or functionally similar reference parts. For clarity, only the relevant reference parts are highlighted in each figure. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0091] Fig. 1 shows the hardware unit 100 for the accelerated execution of path planning or navigation algorithms. The hardware unit 100 calculates intersection points p. int of orthogonals wl = -sinVv7> cosi / v7) zu Reference poses r =

[0092]

[0093] (x r .,y r .,ilj rj ^,j = 1,...,m with connecting sections Pi> Pi +1 ; Pi = =

[0094]

[0095]

[0096] 1,...,n of a polyline P, see example in Fig. 7. The hardware unit 100 comprises an input interface 101 for reading the data points and an output interface 102 for outputting the intersection points p. int The hardware unit 100 comprises the first hardware blocks 10 for calculating projections proj. p. r . of the points p t on each of the reference poses r. Based on the projections proj p. r The intersection points p will be determined.int determined. Each of these projections is calculated in one of the first 100 hardware blocks. The calculations of the individual projections are performed in parallel in their respective first 100 hardware blocks.

[0097] Fig. 2 shows the hardware unit 200 for the accelerated execution of path planning or navigation algorithms. The hardware unit 200 comprises an input interface 201 for reading the data points and an output interface 202 for outputting the intersection points p. int The hardware unit 200 comprises second hardware blocks 20 for calculating distances dist p. r . of the points p t to each of the reference positions r. The calculation of each of these distances dist p . r . occurs simultaneously in one of the respective second hardware blocks 20.

[0098] Fig. 3 shows the hardware unit 300 comprising an input interface 301 for reading the data points and an output interface 302 for outputting the intersection points p int Hardware unit 300 comprises the first hardware blocks 10 and the second hardware blocks 20. Hardware unit 300 calculates the projections proj in parallel over time. p.r and the distances are p. r ..

[0099] Fig. 4 shows one of the first hardware blocks 10. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0100] The first subtraction block 11 calculates and outputs the difference x p . - x r the first coordinate x Pi , i = 1,, n of the respective point p t = (x p ., y Pi ),i = 1,..., n and the first coordinate x r The reference position r is shown. The respective second subtraction block 12 calculates and outputs the difference y. p . - y r the second coordinate yp .,i = 1,...,n of the respective point p t = x Pi ,y Pj ),i = 1,...,n and the second coordinate y r the reference pose TJ.

[0101] The first angle block 13 in the first hardware blocks 10 outputs the value cos i. r . the cosine function for the orientation angle i r The reference pose zy. The second angle block 14 in the first hardware blocks 10 outputs the value sini / y, the sine function for the orientation angle i. r . the reference pose zy

[0102] The first multiplication block 15 in the first hardware blocks 10 outputs the product (x p . - x r )- cos i r . from the difference x p . - x r of the respective first subtraction block 11 and the value cos i r . of the first angle block 13. The second multiplication block 16 in the first hardware blocks 10 outputs the product (y p . - y r)- sirn / j from the difference y p -y r of the respective second subtraction block 12 and the value sim r of the second angle block 14.

[0103] The addition block 17 in the first hardware blocks 10 outputs the sum (x p -x r .)- cosip r . + (y p . — y r ~) ■ sinip r . from the product (x p -x r )- cosip r . of the respective first multiplication block 15 and from the product (y p -y r . sim. of the respective second multiplication block 16. This sum is the projection proj p. r . = (x p -x r ,~) ■ cosip r , + (y p . — y r ) ■ s mp r . of the respective point p t = (% P[ ,y P[ ), i = 1,...,n to the given reference position zy

[0104] In summary, the following projection matrix equation results for the reference position z- with matrix multiplication. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0105] project P1 , r .\ / r(x,y) P1 - (x,y) r . cos ip r .'

[0106] *

[0107] P r °jp n ,r } / \ [(x, y)p„ - (X, y) r . sini / v-

[0108]

[0109] For each of the reference poses r = x r .,y r .,'i r If .,j = 1,...,m, one of these projection matrix equations results. In total, n ■ m projection matrix equations are obtained. Each of these projection matrix equations is calculated in one of the first 10 hardware blocks, for example, in hardware unit 100.

[0110] Fig. 5 shows one of the second hardware blocks 20.

[0111] The first subtraction block 21 calculates and outputs the difference x p . - x r the first coordinate x p ., i = 1, n of the respective point p t = (x p ., y Pi ),i = 1,..., n and the first coordinate x r The reference position r is shown. The respective second subtraction block 22 calculates and outputs the difference y. p . - y r the second coordinate y p .,i = 1,...,n of the respective point p t = x Pi ,y Pj ),i = 1,...,n and the second coordinate y r the reference pose zy

[0112] The first angle block 23 in the second hardware blocks 20 outputs the value -sini / 7 of the sine function for the orientation angle i. r . the reference poser } The second angle block 24 in the second hardware blocks 20 outputs the value cos i. r . the cosine function for the orientation angle i r . the reference pose zy

[0113] The first multiplication block 25 in the second hardware blocks 20 outputs the product (x p . - x r )- -sin i r . from the difference x p . - x r of the respective first subtraction block 21 and the value

[0114]

[0115] of the first angle block 23. The second multiplication block 26 in the second hardware blocks 20 outputs the product (y p . - y r )■ cos i r . from the difference y p . - y r of the respective second subtraction block 22 and the value cosi r . of the second angle block 24. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0116] The addition block 27 in the second hardware blocks 20 outputs the sum (x p . — x r .)- —simp r . + (y p . — y r ) ■ costp r . from the product (x p . — x r)• — sini / . des je

[0117]

[0118] the first multiplication block 25 and from the product (y p -y r .)- cos i r . of the respective second multiplication block 26. This sum is the distance dist p . r . = (x p . - x r .) • —sini r , + (y p . - y r .) • cos ip r . of the respective point p t = (x p .,y p .), i = 1,...,n to the given reference position rj.

[0119] In summary, the following distance matrix equation results for the reference position 7} using matrix multiplication.

[0120]

[0121] (x,y) P1 — (x, y) r J\,

[0122]

[0123] (*. y>r„ - ​​(*■ yy. / ■ cos ^ r> -

[0124] For each of the reference poses r = x r .,yr .,i r If .,j = 1,...,m, one of these distance matrix equations results. In total, n ■ m distance matrix equations are obtained. Each of these distance matrix equations is calculated in one of the second hardware blocks 20, for example, in hardware unit 200.

[0125] The hardware unit 300 calculates, for example, the following composite matrix equation system for each of the reference poses r = x using the first hardware blocks 10 and the second hardware blocks. r .,y r .,ilj rj ^,j = 1,

[0126]

[0127] project Plir .

[0128] cos ip r . — sin ip r .

[0129] sini / v- COS lp r .

[0130] P r °jp n ,r }

[0131]

[0132] Fig. 6 shows the geometric context in which the calculations of the projections proj are performed. p.r the distances dist p . r ., the intersection points p int and the distances are int the intersection points p int to be carried out. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0133] The vector r } is a vector from a coordinate origin U to the reference position r = (x r .,y r .,ip r .yw]* = (cosi(j r ., sim / v,) is the orientation of the reference pose rj. w]_ =

[0134]

[0135] sin ip r The cosine function is perpendicular to the orientation of the reference pose r7 and defines the direction of the orthogonal vectors.

[0136]

[0137] and wl are each unit vectors with magnitude one.

[0138] Pt is, for example, a starting point of a connecting segment of the polyline P. p i+1 For example, this is an endpoint of the connecting segment. This connecting segment is intersected by the orthogonal wl = -sini / 7, cosi / 7). The hardware units 100, 200, 300 calculate the corresponding p. int and its distance is int With respect to the reference position r7, the point p t defined by the vector = p. With respect to the reference position r7, the point p is i+1 defined by the vector i+iv j = p rj t+-t-7i-7 j

[0139] The projection proj p. r . is the distance of point p. t to the orthogonal, i.e. to the one through wl = -siml> r .,cosxl> rj ^ defined direction. The projection proj Pi+i r . is the

[0140]

[0141] Distance of point p i+1 to the orthogonal, i.e. to the one through wl =

[0142]

[0143] sin ip r ., cos ip r ^ defined direction. The intersection point p int is achieved through linear interpolation between the projections proj p.r . and project Pi+i>r calculated, see the disclosure above in the description.

[0144] The distance dist^.r is the distance of point n,- to the line in the direction defined by wj* = cos7,sin7. The distance dist Pi+i r . is the distance of point p. i+1 to the straight line through

[0145]

[0146] = cos^,, sin 7) defined direction. The distance is int of the intersection point p int is calculated by linear interpolation between the distances dist p.r . and dist Pi+i r . calculated based on the projections proj p. r . and project Pi+irFor example, linear interpolation is performed as follows: ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0147] Project i ,r ) -(project i+1 ,r..-proj p. / r .) project i+1 ,r ) -(project i+1 , r ..-project i ,r ) d-int LS ■ | p r "

[0148]

[0149] P r °jp i+1 ,ry-P ro jp i ,r ] - Pi ' r} P r °jpi +1 ,ry-P r °jpi,r ] -

[0150] Fig. 7 shows a vehicle F in the geometric context of Fig. 6 with polyline P. For example, the connecting sections are

[0151]

[0152] and (pi,p i+1 ) of the polyline P is shown. For example, the orthogonal to the connecting segment

[0153]

[0154] p int Shown with intersection point. ZF Friedrichshafen AG File 306344

[0155] Friedrichshafen 2024-11-25

[0156] Reference sign

[0157] 100 hardware units

[0158] 101 Input interface

[0159] 102 Output interface

[0160] 200 hardware units

[0161] 201 Input interface

[0162] 202 Output interface

[0163] 300 hardware units

[0164] 301 Input interface

[0165] 302 Output interface

[0166] 10 first hardware block

[0167] 11 first subtraction block

[0168] 12 second subtraction block

[0169] 13 first angle block

[0170] 14 second angle block

[0171] 15 first multiplication block

[0172] 16 second multiplication block

[0173] 17 Addition block

[0174] 20 second hardware block

[0175] 21 first subtraction block

[0176] 22 second subtraction block

[0177] 23 first angle block

[0178] 24 second angle block

[0179] 25 first multiplication block

[0180] 26 second multiplication block

[0181] 27 Addition block

[0182] r j Reference pose

[0183] x r ,y r Coordinates Reference Pose

[0184] i r Orientation angle Reference pose

[0185] r j = (x r ,y r ,ψ r ) Reference pose

[0186] w⃗ j = (cos ψ r , sin ψ r )

[0187]

[0188] Orientation Reference Pose ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25

[0189] w⃗⊥ = (-sin ψ r , cos ψ r ) Orthogonal to orientation reference pose r⃗ j Vector from a coordinate origin to the reference pose

[0190] U origin of coordinates

[0191] P polyline

[0192] Point point on polyline

[0193] x p .,y p Coordinates Point Polyline

[0194] v⃗ p,r Vector from the position of the reference pose to the point of the polyline proj p,r projection

[0195] dist p,r Distance

[0196] p int intersection

[0197] dist int Distance of the intersection point p int

[0198] F vehicle

Claims

1. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 2. Patent claims 1. Hardware unit (100) for accelerated execution of path planning or navigation algorithms, executed to calculate intersection points (p int ) of orthogonals (wl = sini / v ; , COST / ,)) 5.

6. ZU Reference poses (r7= x r .,y r .,ip r .^,j = 1, with connecting sections (pi,p i+1 ;pi = 7.

8. (x Pi ,y Pi ),i = 1, ->n) of a polyline (P) encompassing the hardware unit (100):

9. • an input interface (101) for reading in the reference poses (r = (xrj.yrj.ir^ >j = 10.

11. -,m) and the points (p f = (% Pi ,y Pi ), i = 1,...,n) of the polyline (P), where for each of the reference poses ( 12.

13. ry = (xr .,y r .,ilj rj ^,j = 1, the respective position coordinates ( 14.

15. (x r .,y r ^) and the respective orientation angle (i / 7) can be read in; 16. • First hardware blocks (10) for calculating projections (proj) p.r .) of the points (pt = (x Pi ,y Pi ),i = 1,...,n) to each of the reference poses (r7= ( 17.

18. xrj.yrj.ipr^ >j = ->m), where the number of first hardware blocks (10) is equal to the product (n ■ m) of the number (n) of points (p f = (x Pi ,y Pj > i = 1, and number (m) of reference poses (r7= ( 19.

20. x r .,y r .,ilj r ^,j = 1, is; 21. • an output interface (102) for outputting the intersection point 22.

23. wherein in the hardware unit (100) during the calculations of the projections (proj p . r .) of the points (p f = ( 24.

25. x Pi ,y Pi ), i = 1,...,n) for each of the reference poses (r = (x r j,yrj,^ rj ^ = 26.

27. -,m) over all points (p f = (% Pi ,y Pi ), i = 1, 28.

29. the calculation of each of these projections (proj p. r .) in one of the first hardware blocks (10) 30. whereupon the projection (proj) p.r .) of the respective point (p f = (% Pi ,y Pi ), i = 1,...,n) and the projection (proj p.+i>r ) of the following point (p i+1 = (%p i+1 ,y Pi+1 ), i = 1, 1) have different signs, the connecting segment (Pi, Pi + i) from the orthogonal ( 31.

32. w^j = (- sini / Vy cosi(j r ,^) to the given R 33.

34. Reference pose (TJ) is cut. ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 2. Hardware unit (100) according to claim 1, wherein the hardware unit (100) defines the intersection point (p int ) of the orthogonals (wjj = ^~sinilj r .,cosilj 36.

37. r .^) along the connecting section (pi,p i+1 ) by linear interpolation between the respective point Pt = (x Pi ,y Pi ),i = 1,...,n) and the following point (p i+1 = ( 38. 39% Pi+1 ,y Pi+1 ), i = 1,...,n - 1) based on the projections (proj p. r ., project Pi+i>r ) calculated.

3. Hardware unit (100) according to any one of the preceding claims, wherein each of the first hardware blocks (10) comprises a first subtraction block (11), a second subtraction block (12), a first angle block (13), a second angle block (14), a first multiplication block (15), a second multiplication block (16) and an addition block (17); wherein in the respective first hardware blocks (10) for calculating the projections (proj p. r .) of the points (p f = ( 41.

42. x Pi ,y Pi ), i = 1, for each of the reference poses ( 43.

44. r7- = (x r .,y r .,ilj r ^,j = 1, over all points ( 45.

46. ​​Pi = y p ^,i = l,...,n) of the polyline (P) 47. • the respective first subtraction block (11 ) the difference (x p . - x r ) the first coordinate (x p .,i = 1, 48. 49th of the respective point (p f = (x p .,y Pi ),i = 1, 50.

51. and the first coordinate (x r ) the reference pose (r outputs; 52. • the respective second subtraction block (12) the difference (y p . - y r ) the second coordinate (y p .,i = 1,...,n) of the respective point (p f = ( 53.

54. x p .,y p .),i = 1, and the second coordinate (y r ) the reference pose ( 55.

56. TJ) issues; 57. • the first angle block (13) in the first hardware blocks (10) the value (cos i r .) outputs a first trigonometric function (cos) for the orientation angle (i r.) of the reference pose (TJ); 58.• the second angle block (14) in the first hardware blocks (10) outputs the value (sin7) of a second trigonometric function (sin) for the orientation angle (i / 7) of the reference pose (TJ); 59. • the respective first multiplication block (15) in the first hardware blocks (10) the product ((x p . - x r )- cos i r .) from the difference (x p . - x r ) of ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 60.respective first subtraction block (11) and the value (cos i r .) of the first angle block (13); 61.• the respective second multiplication block (16) in the first hardware blocks (10) the product ((y p . - y r .)- sini r ) from the difference (y p . - y r .) of the respective second subtraction block (12) and the value (sinip 63.

64. r} ) of the second angle block (14); 65.• the respective addition block (17) in the first hardware blocks (10) the sum ((x p . — x r .y cosip r . + (y p . — y r ) ■ sinip r .) from the product ((x p . — x r )- 66. 68.cosi r .) of the respective first multiplication block (15) and from the product ((y p . - y r . outputs sin p of the respective second multiplication block (16), where this sum ((x p . — x r cosip r . + (y p . — y r ) ■ sinip r .) the projection (proj p. r . = (x p . — x r p ■ cosily. + (y Pi — J^P ' sin vp of the respective point (Pi = 69.

70. ( x Pi >y Pi )3 = -> n ) aLJ f the given reference pose (r is; 4. Hardware unit (200) for accelerated execution of path planning or navigation algorithms, executed for calculating intersection points (p int ) of orthogonals (wl = -sin7,cosi / 7) to reference poses (r7= (x r .,y r .,tp r .^,j = 72.

73. 1, with connecting sections (pi,p i+1 ;pi = 74.

75. (x Pi ,y Pi ),i = 1, ->n) of a polyline (P) encompassing the hardware unit (100):

76. • an input interface (201) for reading in the reference poses (r = (x rj ,y rj ,i rj ^ >j = 77.

78. -,m) and the points (p f = (% Pi ,y Pi ), i = 1,...,n) of the polyline (P), where for each of the reference poses (r = (x r .,y r .,ip rj ^,j = 1, the 79.

80. respective position coordinates ((xr .,y r ^) and the respective orientation- 81.

83. Angle (ip) r ) be read in; 84. • Second hardware blocks (20) for calculating distances (dist) p. r .) of the points (pt = (x Pi ,y Pi ),i = 1,...,n) to each of the reference poses (r7= (x rj ,y r .,lp r ^,j = 1,...,77l); 86.

88. • an output interface (202) for outputting the intersection point (p int ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 89.where the number of second hardware blocks (20) is equal to the product (n ■ m) of the number (n) of points (p f = (x Pi ,y Pi )> i = 1, ->n) and number (m) of reference poses (rj = (x r .,y r ^,j = 1, is, and where in the hardware unit (200) at the Be 90.

92. Calculations of distances (dist) p. r) of the points (p f = (x Pi ,y Pi ), i = 1,...,n) for each of the reference poses (r7- = (x r .,y r .,ilj r ^,j = 1, over all points (p f = 94. 96.( 97. 98% Pi ,y Pi ), i = 1, the calculation of each of these distances (dist p. r .) in one of the respective second hardware blocks (20).

5. Hardware unit (200) according to claim 4, wherein the hardware unit (200) determines the distance (dist int ) of the intersection point (p int ) of the orthogonal = ^-sinilj r "cosilj r ,^) 100.

101. to the given reference pose ( 102.

103. TJ) by linear interpolation between the distance (dist p.r .) of the respective point (p f = ( 104. 105% Pi ,yPi ), i = 1,...,n) and the distance (dist Pi+i r .) of the following point (p i+1 = (% Pi+1 ,y Pi+1 ), i = 1, 106.

107. 1) based on the projections (proj p. r ., project Pi+i>r ) calculated and the output interface the distance (dist int ) of the intersection point (p int ) of the orthogonal = ^-sinilj r "cosilj r ,^) 108.

109. to the given reference pose ( 110.

111. TJ).

6. Hardware unit (200) according to one of claims 4 or 5, wherein each of the second hardware blocks (20) comprises a first subtraction block (21), a second subtraction block (22), a first angle block (23), a second angle block (24), a first multiplication block (25), a second multiplication block (26) and an addition block (27); 113.• the respective first subtraction block (21 ) the difference (x p . - x r ) the first coordinate (x p .,i = 1, 114. 115th of the respective point (p f = (x p .,y Pi ),i = 1, 116.

117. and the first coordinate (x r ) the reference pose (r outputs; 118.• the respective second subtraction block (22) the difference (y p . - y r ) the second coordinate (y p .,i = 1,...,n) of the respective point (p f = (x p .,y p .),i 119.

120. = 1, and the second coordinate (y r ) the reference pose ( 121.

122. TJ) issues; ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 123.• the first angle block (23) in the second hardware blocks (20) the value (-sin^ ra first trigonometric function (-sin) for the orientation angle (i / 7) of the reference pose (r) outputs; 124.• the second angle block (24) in the second hardware blocks (20) the value (cos i r .) a second trigonometric function (cos) for the orientation angle (i / 7) of the reference pose (r) outputs; 125.• the respective first multiplication block (25) in the second hardware blocks (20) the product ((x p . - x r )- (-sin i r .)) from the difference (x p . - x r outputs the value (— sini ^ ) of the respective first subtraction block (21) and the value (— sini ^ ) of the first angle block (23); 126.• the respective second multiplication block (26) in the second hardware blocks (20) the product ((y p . - y r )- cos i r .) from the difference (y p . - y r ) of the respective second subtraction block (22) and the value (cosi r.) of the second angle block (24); 127.• the respective addition block (27) in the second hardware blocks (20) the sum ( 128.

129. (x p . — x r ,)- (— sin ip r .) + (y p . — y r ) ■ cosip r .) from the product ((x p . — x r .)- (-sirn / ) of the respective first multiplication block (25) and from the product ((y p . - y r )- cosi r .) of the respective second multiplication block (26), where this sum ((x p . — x r ,)- (— sin ip r .) + (y p . — y r ,~) ■ cosip r .) the distance (dist p. r , = ( 130.

131. x p . — x r ,~) ■ (— sin ip r .) + (y p . — y r ,~) ■ cosip r .) of the respective point (p f = ( 132.

133. x Pi ,y Pi ), i = 1,...,n) to the given reference pose (rp is.

7. Hardware unit (300) for accelerated execution of path planning or navigation algorithms, executed for calculating intersection points (p int ) of orthogonals (wl = sini / v ; , COST / ,)) 136.

137. ZU Reference poses (r7= x r .,y r .,ip r .^,j = 1, with connecting sections (pi,p i+1 ;pi = 138.

139. (x Pi ,y Pi ),i = 1, ->n) of a polyline (P), the hardware unit (100) comprising an input interface (301) for reading the reference poses (r7= ( 140.

141. x r .,y r .,ip rj ^,j = 1, and the points (p f = ( 142. 143% Pi ,y Pi), i = 1, of the polyline (P), where for each of the reference poses (r7= ZF Friedrichshafen AG File 306344 Friedrichshafen 2024-11-25 144.\x r .,y r .,ip r . J,j = T -,rn) the respective position coordinates {\x r .,y r . ) and each 145.

147. variable orientation angles (i / > r .) be read in; an output interface (302) for outputting the intersection point 148.

149. First hardware blocks (10) according to any one of claims 1 to 3; second hardware blocks (20) according to any one of claims 4 to 6.

8. Hardware unit (100, 200, 300) according to one of the preceding claims, wherein pre-calculated values ​​of the trigonometric functions for angles are stored in lookup tables in the first and / or second angle blocks (13, 14, 23, 24) of the first and / or second hardware blocks (10, 20) and for the orientation angle (i / 7) of the reference pose (r) the hardware unit (100) retrieves the corresponding value directly from the corresponding lookup table.

9. Hardware unit (100, 200, 300) according to any of the preceding claims, wherein the hardware unit (100, 200, 300) is a Field Programmable Gate Array or an Application-Specific Integrated Circuit.

10. Hardware unit (100, 200, 300) according to one of the preceding claims, wherein the hardware unit (100, 200, 300) executes a path planning or navigation algorithm and the intersection point (p int ) of the orthogonal (wj = 153.^- sin ilj r ., cos ilj r.^) along the connecting section (pi,p i+1 ) marked a point, 154.

156. at which a planned maneuver of a vehicle (F) or a robot begins, or the intersection point (p int ) of the orthogonal = ^- sinilj r ,, cos ilj r ,^) along the 157.

158. Connection section (pi,p i+1 ) marks an obstacle or a target point along a planned path.