Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TRAINED TRAILER PARKING SYSTEM AND METHOD
Document Type and Number:
WIPO Patent Application WO/2022/087561
Kind Code:
A1
Abstract:
A method and system for parking a vehicle-trailer system is disclosed, including, during a training phase, receiving from a user interface, instructions from a driver to initiate a training phase of a trained trailer parking function; transmitting to the user interface instructions to inform the driver to execute one or more training vehicle maneuvers; receiving vehicle sensor data while the driver is executing the one or more training vehicle maneuvers; determining at least one of a desired parking spot or a desired path based on the sensor system data; and storing the at least one of the desired parking spot or the desired path in memory hardware in communication with the data processing hardware. During an execution phase, the method includes receiving driver instructions for initiating parking maneuvers causing the vehicle-trailer system to maneuver towards the desired parking spot or maneuver along the desired path.

Inventors:
CHRISTENSEN MARCUS (US)
Application Number:
PCT/US2021/071806
Publication Date:
April 28, 2022
Filing Date:
October 09, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE SYSTEMS INC (US)
International Classes:
B62D15/02; B62D1/02; B62D13/06; G01C21/16; G08G1/14
Foreign References:
EP3284650A12018-02-21
DE102016211180A12017-03-09
US20140358417A12014-12-04
Attorney, Agent or Firm:
ESSER, William, F et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method for parking a trailer, the method comprising: during a training phase: receiving, at data processing hardware from a user interface, instructions from a driver to initiate a training phase of a trained trailer parking function; transmitting, from the data processing hardware to the user interface, instructions to inform the driver to execute one or more training vehicle maneuvers; receiving, at the data processing hardware, sensor system data from one or more sensors supported by the vehicle-trailer system while the driver is executing the one or more training vehicle maneuvers; determining, at the data processing hardware, at least one of a desired parking spot or a desired path based on driver input and the sensor system data, and storing the at least one of the desired parking spot or the desired path in memory hardware in communication with the data processing hardware; during an execution phase: receiving, at the data processing hardware, driver instructions via the user interface, the driver instructions for initiating parking maneuvers causing the vehicletrailer system to at least one of maneuver towards the desired parking spot or maneuver along the desired path; and transmitting, from the data processing hardware to a drive system of the vehicle, instructions for causing the vehicle-trailer system to autonomously drive to the desired parking spot or to autonomously drive along the desired path based on the driver instructions.

2. The method of claim 1, wherein the desired parking spot is determined and stored in the memory hardware during the training phase, and the method further comprises: during the training phase, determining at the data processing hardware a map of an environment based on the received sensor system data and storing the map in the memory hardware; and during the execution phase, determining by the data processing hardware a path from a current location of the vehicle-trailer system to the desired parking spot based upon the map and the desired parking spot, wherein the driver instructions are instructions for causing the vehicle-trailer system to autonomously drive to the desired parking spot along the determined path from the current location to the desired parking spot.

3. The method of claim 2, wherein the driver instructions include a selection of the desired parking spot and an orientation of a trailer of the vehicle-trailer system relative to the desired parking spot, and the path from the current location to the desired parking spot is determined based in part upon the orientation.

4. The method of claim 2, further comprising: receiving, at the data processing hardware, second driver instructions via the user interface, the second driver instructions for initiating parking maneuvers to cause the vehicle-trailer system to maneuver from a second current location of the vehicle-trailer system to a second desired parking spot, a representation of the second desired parking spot relative to the map being identified in the second driver instructions, and storing the second desired parking spot in the memory hardware; determining, by the data processing hardware, a second path from the second current location of the vehicle-trailer system to the second desired parking spot; and transmitting, from the data processing hardware to the drive system of the vehicle, instructions for causing the vehicle-trailer system to autonomously drive the vehicletrailer system to the second desired parking spot from the second current location along the second path.

5. The method of claim 1, further comprising, during the training phase, determining at the data processing hardware a map of an environment based on the received sensor system data and storing the map in the memory hardware; and during the execution phase, transmitting, from the data processing hardware to the user interface, instructions to display the map with the user interface, and the driver instructions indicate a driver selection of a representation of the desired parking spot or a representation corresponding to the desired path appearing on the map.

6. The method of claim 5, wherein the driver selection includes data corresponding to an icon of a trailer of the vehicle-trailer system appearing in the representation of the desired parking spot or on a location of the map representing of an ending location of the desired path on the map displayed.

7. The method of claim 1, wherein the driver input identifies as the desired parking spot a location of the trailer of the vehicle-trailer system at a beginning or at a conclusion of the one or more training vehicle maneuvers.

8. The method of claim 1, wherein the at least one of the desired parking spot or the desired path is the desired path, the instructions transmitted to the drive system comprises instructions to drive the vehicle-trailer system along the desired path, an end of the desired path corresponds to a beginning of the one or more training vehicle maneuvers and a beginning of the desired path corresponds to an end of the one or more training vehicle maneuvers.

9. The method of claim 8, further comprising, during the execution phase, adjusting the desired path so that a beginning of the adjusted desired path corresponds to a current position of the vehicle-trailer system, and the instructions transmitted to the drive systems are instructions for causing the vehicle-trailer system to autonomously drive along the adjusted desired path from the current position of the vehicle-trailer system.

10. The method of claim 1, wherein a vehicle of the vehicle-trailer system operates in a forward direction during the training vehicle maneuvers and autonomously operates in a reverse direction during the execution phase.

11. A parking system for parking a trailer, the system comprising: data processing hardware; and non-transitory memory hardware communicatively coupled to the data processing hardware, the memory storing program instructions which, when executed by the data processing hardware, configures the data processing hardware to: during a training phase: receive from a user interface, instructions from a driver to initiate a training phase of a trained trailer parking function; transmit to the user interface instructions to inform the driver to execute one or more training vehicle maneuvers; receive sensor system data from one or more sensors supported by the vehicle-trailer system while the driver is executing the one or more training vehicle maneuvers; determine at least one of a desired parking spot or a desired path based on driver input and the sensor system data, and store the at least one of the desired parking spot or the desired path in memory hardware in communication with the data processing hardware; during an execution phase: receive driver instructions via the user interface, the driver instructions for initiating parking maneuvers for causing the vehicle-trailer system to at least one of maneuver towards the desired parking spot or along the desired path; and transmit to a drive system of the vehicle instructions for causing the vehicle-trailer system to autonomously drive to the desired parking spot or to autonomously drive along the desired path based on the driver instructions.

12. The parking system of claim 11, wherein the desired parking spot is determined and stored in the memory hardware during the training phase, and the executed program instructions further configure the data processing hardware to: during the training phase, determine a map of an environment based on the received sensor system data and store the map in the memory hardware; and

22 during the execution phase, determine a path from a current location of the vehicle-trailer system to the desired parking spot based upon the map and the desired parking spot, wherein the driver instructions are instructions for causing the vehicletrailer system to autonomously drive to the desired parking spot along the determined path from the current location to the desired parking spot.

13. The method of claim 12, wherein the driver instructions include a selection of the desired parking spot and an orientation of a trailer of the vehicle-trailer system relative to the desired parking spot, and the path from the current location to the desired parking spot is determined based in part upon the orientation.

14. The method of claim 12, wherein the program instructions further configure the data processing hardware to: receive second driver instructions via the user interface, the second driver instructions for initiating parking maneuvers to cause the vehicle-trailer system to maneuver from a second current location of the vehicle-trailer system to a second desired parking spot, a representation of the second desired parking spot relative to the map being identified in the second driver instructions, and store the second desired parking spot in the memory hardware; during a second execution phase, determine a second path from the second current location of the vehicle-trailer system to the second desired parking spot; and during the second execution phase, transmit to the drive system of the vehicle instructions for causing the vehicle-trailer system to autonomously drive to the second desired parking spot from the second current location along the second path.

15. The method of claim 11, wherein the program instructions further configure the data processing hardware to during the training phase, determine at the data processing hardware a map of an environment based on the received sensor system data and storing the map in the memory hardware; and

23 during the execution phase, transmit, to the user interface, instructions to display the map with the user interface, and the driver instructions indicate a driver selection of a representation of the desired parking spot or a representation corresponding to the desired path appearing on the map.

16. The method of claim 15, wherein the driver selection includes data corresponding to an icon of a trailer of the vehicle-trailer system appearing in the representation of the desired parking spot or on a location of the map representing of an ending location of the desired path.

17. The method of claim 11, wherein the driver input identifies as the desired parking spot a location of the trailer of the vehicle-trailer system at a beginning or at a conclusion of the one or more training vehicle maneuvers.

18. The method of claim 11, wherein the at least one of the desired parking spot or the desired path is the desired path, the instructions transmitted to the drive system comprises instructions to drive the vehicle-trailer system along the desired path, an end of the desired path corresponds to a beginning of the one or more training vehicle maneuvers and a beginning of the desired path corresponds to an end of the one or more training vehicle maneuvers.

19. The method of claim 18, wherein the program instructions further configure the data processing hardware to, during the execution phase, adjust the desired path so that the beginning of the adjusted desired path corresponds to a current position of the vehicle-trailer system, and the instructions transmitted to the drive systems are instructions for causing the vehicle-trailer system to autonomously drive along the adjusted desired path from the current position of the vehicle-trailer system.

20. The method of claim 11, wherein a vehicle of the vehicle-trailer system operates in a forward direction during the training vehicle maneuvers and autonomously operates in a reverse direction during the execution phase.

24

Description:
Trained Trailer Parking System and Method

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to US provisional patent application no. 63/104,403, filed October 22, 2020, which is incorporated by reference herein.

TECHNICAL FIELD

[0001] This disclosure relates to a trained trailer parking system and particularly to a parking system for autonomously parking a trailer connected to a tow vehicle using a saved parking spot or saved path to a parking spot.

BACKGROUND

[0002] Trailers are usually unpowered vehicles that are pulled by a powered tow vehicle. A trailer may be a utility trailer, a popup camper, a travel trailer, livestock trailer, flatbed trailer, enclosed car hauler, and boat trailer, among others. The tow vehicle may be a car, a crossover, a truck, a van, a sports-utility -vehicle (SUV), a recreational vehicle (RV), or any other vehicle configured to attach to the trailer and pull the trailer. The trailer may be attached to a powered vehicle using a trailer hitch. A receiver hitch mounts on the tow vehicle and connects to the trailer hitch to form a connection. The trailer hitch may be a ball and socket, a fifth wheel and gooseneck, or a trailer jack. Other attachment mechanisms may also be used. In addition to the mechanical connection between the trailer and the powered vehicle, in some examples, the trailer is electrically connected to the tow vehicle. As such, the electrical connection allows the trailer to take the feed from the powered vehicle’s rear light circuit, allowing the trailer to have taillights, turn signals, and brake lights that are in sync with the powered vehicle’s lights.

[0003] Some of the challenges that face tow vehicle drivers is parking the trailer. For example, parking the connected trailer may be especially difficult when complicated maneuvers are needed to get to the desired parking space, and/or if the path to the desired parking space has low light conditions. In some instances, the driver of the vehicle has little or no experience backing up the vehicle-trailer system making it difficult to perform tow vehicle maneuvers while the trailer is attached to the tow vehicle. In some examples, more than one person may sometimes be used to maneuver the tow vehicle towards the specific trailer parking location.

SUMMARY

[0004] Example embodiments are directed to a method for parking a trailer. The method includes operations during a training phase and an execution phase. During the training phase, the method includes receiving, at data processing hardware from a user interface, instructions from a driver to initiate a training phase of a trained trailer parking function, and transmitting, from the data processing hardware to the user interface, instructions to inform the driver to execute one or more training vehicle maneuvers. The training phase further includes receiving, at the data processing hardware, sensor system data from one or more sensors supported by the vehicle-trailer system while the driver is executing the one or more training vehicle maneuvers. The data processing hardware determines at least one of a desired parking spot or a desired path based on driver input and the sensor system data, and stores the at least one of the desired parking spot or the desired path in memory hardware in communication with the data processing hardware. During the execution phase, the method includes receiving, at the data processing hardware, driver instructions via the user interface, the driver instructions for initiating parking maneuvers causing the vehicle-trailer system to at least one of maneuver towards the desired parking spot or maneuver along the desired path. The execution phase further includes transmitting, from the data processing hardware to a drive system of the vehicle, instructions for causing the vehicle-trailer system to autonomously drive to the desired parking spot or to autonomously drive along the desired path based on the driver instructions.

[0005] In one aspect, the desired parking spot is determined and stored in the memory hardware during the training phase, and the method further comprises, during the training phase, determining at the data processing hardware a map of an environment based on the received sensor system data and storing the map in the memory hardware. During the execution phase, the method includes determining by the data processing hardware a path from a current location of the vehicle-trailer system to the desired parking spot based upon the map and the desired parking spot, wherein the driver instructions are instructions for causing the vehicle-trailer system to autonomously drive to the desired parking spot along the determined path from the current location to the desired parking spot.

[0006] The driver instructions may further include a selection of the desired parking spot and an orientation of a trailer of the vehicle-trailer system relative to the desired parking spot, and the path from the current location to the desired parking spot is determined based in part upon the orientation.

[0007] The method may further include receiving, at the data processing hardware, second driver instructions via the user interface, the second driver instructions for initiating parking maneuvers to cause the vehicle-trailer system to maneuver from a second current location of the vehicle-trailer system to a second desired parking spot. A representation of the second desired parking spot relative to the map is identified in the second driver instructions, and the second desired parking spot are stored in the memory hardware. The method further includes determining, by the data processing hardware, a second path from the second current location of the vehicle-trailer system to the second desired parking spot; and transmitting, from the data processing hardware to the drive system of the vehicle, instructions for causing the vehicle-trailer system to autonomously drive the vehicle-trailer system to the second desired parking spot from the second current location along the second path.

[0008] The method may further include, during the training phase, determining at the data processing hardware a map of an environment based on the received sensor system data and storing the map in the memory hardware. During the execution phase, the method transmits, from the data processing hardware to the user interface, instructions to display the map with the user interface, and the driver instructions indicate a driver selection of a representation of the desired parking spot or a representation corresponding to the desired path appearing on the map. The driver selection may include data corresponding to an icon of a trailer of the vehicle-trailer system appearing in the representation of the desired parking spot or on a location of the map representing of an ending location of the desired path on the map displayed. [0009] In one aspect, the driver input identifies as the desired parking spot a location of the trailer of the vehicle-trailer system at a beginning or at a conclusion of the one or more training vehicle maneuvers.

[0010] In another aspect, the at least one of the desired parking spot or the desired path is the desired path, and the instructions transmitted to the drive system includes instructions to drive the vehicle-trailer system along the desired path. An end of the desired path corresponds to a beginning of the one or more training vehicle maneuvers and a beginning of the desired path corresponds to an end of the one or more training vehicle maneuvers. In this aspect, during the execution phase, the method includes adjusting the desired path so that a beginning of the adjusted desired path corresponds to a current position of the vehicle-trailer system, and the instructions transmitted to the drive systems are instructions for causing the vehicle-trailer system to autonomously drive along the adjusted desired path from the current position of the vehicle-trailer system.

[0011] In some aspects, the vehicle of the vehicle-trailer system operates in a forward direction during the training vehicle maneuvers and autonomously operates in a reverse direction during the execution phase.

[0012] Another example embodiment is directed to a parking system for parking a trailer, including data processing hardware; and non-transitory memory hardware communicatively coupled to the data processing hardware. The memory stores program instructions which, when executed by the data processing hardware, configures the data processing hardware to perform a method as described hereinabove.

DESCRIPTION OF DRAWINGS

[0013] FIG. lAis a schematic view of an example tow vehicle according to an example embodiment hitched to a trailer.

[0014] FIG. IB is a schematic view of the example tow vehicle hitched to a trailer at an oblique angle.

[0015] FIG. 2 is a schematic view of the example tow vehicle having a trailer parking system according to an example embodiment. [0016] FIGS. 3 and 4 are examples of the example of maneuvering by a tow vehicle hitched to the trailer within a parking area according to first and second example embodiments, respectively.

[0017] FIGS. 5A and 5B are flowcharts describing an operation of a trailer parking system according to an example embodiment during a training phase and an execution phase, respectively.

[0018] FIGS. 6A and 6B are flowcharts describing an operation of a trailer parking system according to another example embodiment during a training phase and an execution phase, respectively.

[0019] Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

[0020] A tow vehicle, such as, but not limited to a car, a crossover, a truck, a van, a sports-utility -vehicle (SUV), and a recreational vehicle (RV) may be configured to tow a trailer. The tow vehicle connects to the trailer by way of a vehicle coupler attached to a trailer hitch, e.g., a vehicle tow ball attached to a trailer hitch coupler. It is desirable for a tow vehicle to include a trained trailer parking system that eases the difficulty in parking the trailer in the same location repeatedly by autonomously driving the vehicletrailer system to a pre-identified parking spot for the trailer.

[0021] Referring to FIGS. 1 A-1B and 2, in some implementations, a vehicle-trailer system 100 includes a tow vehicle 102 hitched to a trailer 104. The tow vehicle includes a vehicle tow ball attached to a trailer hitch coupler 106 supported by a trailer hitch bar 108 of the trailer 104. The tow vehicle 102 includes a drive system 110 associated with the tow vehicle 102 that maneuvers the tow vehicle 102 and thus moves the vehicletrailer system 100 across a road surface based on drive maneuvers or commands having x, y, and z components, for example. The drive system 110 includes a front right wheel 112, 112a, a front left wheel 112, 112b, a rear right wheel 112, 112c, and a rear left wheel 112, 112d. In addition, the drive system 110 may include wheels (not shown) associated with the trailer 104. The drive system 110 may include other wheel configurations as well. The drive system 110 may include a motor or an engine that converts one form of energy into mechanical energy allowing the vehicle 102 to move. The drive system 110 includes other components (not shown) that are in communication with and connected to the wheels 112 and engine and that allow the vehicle 102 to move, thus moving the trailer 104 as well. The drive system 110 may also include a brake system (not shown) that includes brakes associated with each wheel 112, 112a-d, where each brake is associated with a wheel 112a-d and is configured to slow down or stop the wheel 112a-n from rotating. In some examples, the brake system is connected to one or more brakes supported by the trailer 104. The drive system 110 may also include an acceleration system (not shown) that is configured to adjust a speed of the tow vehicle 102 and thus the vehicle-trailer system 100, and a steering system (not shown) that is configured to adjust a direction of the tow vehicle 102 and thus the vehicle-trailer system 100. The vehicle-trailer system 100 may include other systems as well.

[0022] The tow vehicle 102 may move across the road surface by various combinations of movements relative to three mutually perpendicular axes defined by the tow vehicle 102: a transverse axis Xv, a fore-aft axis Yv, and a central vertical axis Zv. The transverse axis Xv extends between a right side R and a left side of the tow vehicle 102. A forward drive direction along the fore-aft axis Yv is designated as Fv, also referred to as a forward motion. In addition, an aft or rearward drive direction along the fore-aft direction Yv is designated as Rv, also referred to as rearward motion. In some examples, the tow vehicle 102 includes a suspension system (not shown), which when adjusted causes the tow vehicle 102 to tilt about the Xv axis and or the Yv axis, or move along the central vertical axis Zv. As the tow vehicle 102 moves, the trailer 104 follows along a path of the tow vehicle 102. Therefore, when the tow vehicle 102 makes a turn as it moves in the forward direction Fv, then the trailer 104 follows along. While turning, the tow vehicle 102 and the trailer 104 form a trailer angle a.

[0023] Moreover, the trailer 104 follows the tow vehicle 102 across the road surface by various combinations of movements relative to three mutually perpendicular axes defined by the trailer 104: a trailer transverse axis XT, a trailer fore-aft axis YT, and a trailer central vertical axis ZT. The trailer transverse axis XT extends between a right side and a left side of the trailer 104 along a trailer turning axle 105. In some examples, the trailer 104 includes a front axle (not shown) and rear axle 105. In this case, the trailer transverse axis XT extends between a right side and a left side of the trailer 104 along a midpoint of the front and rear axle (i.e., a virtual turning axle). A forward drive direction along the trailer fore-aft axis Yr is designated as FT, also referred to as a forward motion. In addition, a trailer aft or rearward drive direction along the fore-aft direction YT is designated as RT, also referred to as rearward motion. Therefore, movement of the vehicle-trailer system 100 includes movement of the tow vehicle 102 along its transverse axis Xv, fore-aft axis Yv, and central vertical axis Zv, and movement of the trailer 104 along its trailer transverse axis XT, trailer fore-aft axis YT, and trailer central vertical axis ZT. Therefore, when the tow vehicle 102 makes a turn as it moves in the forward direction Fv, then the trailer 104 follows along. While turning, the tow vehicle 102 and the trailer 104 form the trailer angle a being an angle between the vehicle fore-aft axis Yv and the trailer fore-aft axis YT.

[0024] In some implementations, the vehicle 102 includes a sensor system 130 to provide sensor system data 136 that may be used to determine one or more measurements, such as, a trailer angle a. In some examples, the vehicle 102 is autonomous or semi-autonomous, therefore, the sensor system 130 provides reliable and robust autonomous driving. The sensor system 130 provides sensor system data 136 and may include different types of sensors 132, 134 that may be used separately or with one another to create a perception of the tow vehicle’s environment or a portion thereof that is used by the vehicle-trailer system 100 to identify object(s) in its environment and/or in some examples autonomously drive and make intelligent decisions based on objects and obstacles detected by the sensor system 130. In some examples, the sensor system 130 includes one or more sensors 132, 134 supported by a rear portion of the tow vehicle 102 which provide sensor system data 136 associated with object(s) positioned behind the tow vehicle 102. The tow vehicle 102 may support the sensor system 130; while in other examples, the sensor system 130 is supported by the vehicle 102 and the trailer 104, with some sensors 132, 134 being mounted to the trailer 104.

[0025] In an example embodiment, the sensors 132, 134 include one or more cameras 132 that provide camera data 133. The one or more cameras 132 may include monocameras where each position on an image shows a different amount of light, but not a different hue. In some examples, the camera(s) 132 may include a fisheye lens that includes an ultra wide-angle lens that produces strong visual distortion intended to create a wide panoramic or hemispherical image 133. Fisheye cameras capture images 133 having an extremely wide angle of view. Other types of cameras may also be used to capture images 133 of the vehicle and trailer environment. The camera data 133 may include additional data 133 such as intrinsic parameters (e.g., focal length, image sensor format, and principal point) and extrinsic parameters (e.g., the coordinate system transformations from 3D world coordinates to 3D camera coordinates, in other words, the extrinsic parameters define the position of the camera center and the heading of the camera in world coordinates). In addition, the camera data 133 may include minimum/maximum/average height of each camera 132 with respect to ground (e.g., when the vehicle is loaded and unloaded), and a longitudinal distance between the camera

132 and the tow vehicle hitch ball.

[0026] The sensors 134 may include, but is not limited to, radar, sonar, LIDAR (Light Detection and Ranging, which can entail optical remote sensing that measures properties of scattered light to find range and/or other information of a distant target), LADAR (Laser Detection and Ranging), ultrasonic, thermal camera, GPS, etc. The sensor system 130 provides sensor system data 136 that includes one or both of images

133 from the one or more cameras 132 and sensor information 135 from the one or more other sensors 134. Therefore, the sensor system 130 is especially useful for receiving information of the environment or portion of the environment of the vehicle and for increasing safety in the vehicle-trailer system 100 which may operate by the driver or under semi-autonomous or autonomous conditions. In some implementations, first and second cameras 132b and 132c are positioned on each side of the vehicle 102. Additionally, a rear facing third camera 132a may be mounted at the rear of the vehicle 102, and a front facing camera 132d may be mounted at the front of the vehicle.

[0027] The tow vehicle 102 may include a user interface 140. In some examples, the user interface includes a display 142. The user interface 140 is configured to display information to the tow vehicle driver and to receive one or more user commands and/or data from the driver via one or more input mechanisms or a touch screen display and/or displays. In some examples, the display 142 is a touch screen display. In other examples, the display 142 is not a touchscreen and the user interface includes a device, such as, but not limited to, a rotary knob, keyboard, keypad and/or mouse (not shown) to provide user input. In some examples, the display 142 is not supported by the tow vehicle 102 and is instead part of a handheld device, such as a cellular telephone or a tablet.

[0028] The user interface 140 is in communication with a vehicle controller 150 that includes a computing device (or data processing hardware) 152 (e.g., central processing unit having one or more computing processors) in communication with non-transitory memory or memory hardware 154 (e.g., a hard disk, flash memory, random-access memory) capable of storing instructions executable on the computing processor(s)). In some examples, the non-transitory memory 154 stores instructions that when executed on the data processing hardware 152 cause the vehicle controller 150 perform operations supporting a trailer parking function. As shown, the vehicle controller 150 is supported by the tow vehicle 102; however, the vehicle controller 150 may be separate from the tow vehicle 102 and in communication with the tow vehicle 102 via a network (not shown). In addition, the vehicle controller 150 is in communication with the sensor system 130 and receives sensor system data 136 from the sensor system 130. In some examples, the vehicle controller 150 is configured to process sensor system data 136 received from the sensor system 130.

[0029] In example embodiments, the vehicle controller 150 includes a parking system 160. In general terms, the parking system 160 provides an autonomous trailer parking function to a saved parking spot or using a saved path to a parking spot. The parking system 160 may have a learning or training phase and an execution phase. In one example embodiment, during the training phase, the parking system 160 creates a map 162 and identifies a location of a desired parking spot 166, which is saved in the memory hardware 154. During the execution phase, the parking system 160 receives a user selection of the desired parking spot 166, determines a path 164 from a current location to the desired spot 166 and instructs the drive system 110 to maneuver the vehicle-trailer system 100 (i.e., the tow vehicle 102 and the attached trailer 104) along the path 164 to the spot 166.

[0030] In the example embodiment, the parking system 160 receives sensor system data 136 from the sensor system 130 (supported by the vehicle 102 and/or the trailer 104) as the tow vehicle 102 and connected trailer 104 travel under driver control towards the desired parking spot 166 in the training phase. The received sensor system data 136 includes image data 133 from cameras 132 and sensor output data 135 from sensors 134 (which, as discussed, may include LIDAR data, ultrasonic data, GPS data, etc.). Based upon the received sensor system data 136, the parking system 160 generates the map 162 of the environment in which the vehicle-trailer system 100 travels for parking the trailer 104 in the desired parking spot 166.

[0031] The desired parking spot 166 is trained by the trailer 104 being parked in the desired position and/or orientation in the spot. The desired position is stored as a relatively high precision parking spot 166. Alternatively, the desired parking spot 166 is trained by placing and/or identifying a parking location and orientation on the map 162, such as the map 162 displayed on display 142, which spot 166 is stored as a relatively lower precision parking spot for the trailer 104. It is understood that more than one parking spot 166 may be trained and saved in the memory hardware 154 by the parking system 160 by either parking the trailer 104 so that its location and orientation are saved (as higher precision parking spots) or identifying the location and orientation of a parking spot on the map 162 (as a lower precision parking spot).

[0032] In an execution phase, the stored map 162 and a selected one of the stored, desired parking spots 166 are used to generate a path from a current location of the vehicle-trailer system 100 at the beginning of the execution phase to the selected parking spot. The parking system 160 then autonomously controls the tow vehicle 102 for moving the trailer 104 along the path to selected, desired parking spot. In some instances, the tow vehicle 102 is operated in reverse while moving the trailer 104 along the generated path to the selected parking spot 166.

[0033] The operation of the parking system 160 to park the trailer 104 will be described with reference to FIGS. 3 and 5A-5B, according to an example embodiment. A training phase begins at 502 with vehicle controller 150 receiving a request from a driver of the tow vehicle 102 to train the parking system 160. The request may be received via the user interface 140. The request may be entered by the driver or other user associated with the tow vehicle 102 by, for example, entering the request via the touch screen display 142. Responsive to receipt of the driver request, the controller 150 sends instructions at 504 to the user interface 140 to instruct the driver on the display 142 to manually maneuver the trailer 104 to the desired location.

[0034] As the tow vehicle 102 is manually operated by the driver to move the trailer 104 to the desired location, the controller 150 receives at 506 sensor system data from sensors 132, 134 supported by the tow vehicle 102 and the trailer 104. Depending upon the particular sensors 132, 134 supported by the vehicle-trailer system 100, the sensor data may be images captured by cameras 132, GPS data, radar data, LIDAR data, ultrasonic data, etc. The sensor system data is collected by the controller 150 throughout the time the vehicle-trailer system 100 is manually driven towards the desired location. As shown in FIG. 3, the tow vehicle 102 is maneuvered in reverse as the tow vehicle 102 and the trailer 104 move towards the desired location, from an initial position A, to intermediate position B a part of the way towards the desired location, to final position C at which the trailer 104 reaches the desired trailer location. Following the trailer 104 being placed in the desired location, the controller 150 receives at 508 via the user interface 140 that the trailer 104 is parked in a desired parking spot 166. The controller 150 then determines at 510 the map 162 based upon the sensor system data received during the manual maneuvering by the tow vehicle 102. The map 162 is a local map of the environment as captured by the sensor system data and includes representations of objects detected during the maneuvering of the vehicle-trailer system 100, such as trees, fences, buildings, pavement, etc. In addition, the controller 150 determines the parking spot 166 based upon the current location and orientation of the trailer 104. The map 162 and the parking spot 166 are saved in the memory hardware 154 at 512 which ends the training phase.

[0035] The creation of the map 162 and the identification of the parking space 166 are described during the training phase above by manually operating the tow vehicle 102 in reverse (i.e., a reverse direction) which moves the trailer 104 from an initial position (e.g., position A in FIG. 3) to the final position corresponding to the desired parking spot 166 (position C). Alternatively, the trailer 104 may be manually operated in a forward direction by the trailer 104 starting in an initial position corresponding to the desired parking spot 166 (position C) and ending at another location, such as at the end of a driveway or the like (position A). In this alternative training phase procedure, the driver identifies the desired parking space prior to manual maneuvering of the tow vehicle 102 as the trailer 104 is parked in the desired parking spot 166.

[0036] Referring now to FIG. 5B, following the creation and storage of the map 162 and the parking spot 166, the execution phase of the parking system 160 may be initiated by the controller 150 receiving, via the user interface 140, a driver request at 520. The driver request is initiated by the driver/user of the tow vehicle 102 when it is desired to autonomously park the trailer 104. In response to receiving the driver request, the controller 150 sends instructions at 522 to the user interface 140 to display, on the display 142, the map 162, including the representation of any parking space 166 saved in the memory hardware 154 during the training phase (FIG. 5 A). At 524, the controller 150 receives, via the user interface 140, a driver selection of a saved parking spot 166.

Noting that multiple parking spots 166 may have been saved during the training phase, this selection may be made by the tow vehicle driver/user, for example, touching the touch screen of the display 142 on a representation of a saved parking spot appearing on the display of the map 162. In another implementation, the driver/user drags and drops a trailer icon onto the representation of the saved parking spot appearing on the display of the map 162. It is understood that the driver selection may be a location on the map 162 which does not correspond to any parking spot previously saved during a training phase, thereby causing the controller 150 to define a new (lower precision) parking spot that may be saved in the memory hardware 154 during the current execution phase and in any future execution phase. In response to receiving the driver selection, the controller 150 determines at 526 the current position and orientation of the tow vehicle 102 and the trailer 104 using the sensor system data obtained by the sensors 132, 134. The position/orientation of the vehicle-trailer system 150 may utilize any of a number of methods, including triangulation. Referring again to FIG. 3, which also illustrates the execution phase of FIG. 5B, the current position/orientation of the vehicle-trailer system 100 is depicted as position A.

[0037] Based on the determined current position of the vehicle-trailer system 150, the map 162 and the selected parking spot 166, the controller 150 determines at 528 a path 164 from the current position/orientation of the vehicle-trailer system 150 to the selected parking spot 166. In the event the driver selection of the parking spot includes an icon of a trailer placed in a representation of a saved parking spot, the controller 150 determines the orientation of the trailer icon relative to the saved parking spot representation and uses the determined trailer orientation in determining the path 164. The path determining may utilize any of a number of known or future path planning techniques. With the path 164 to the selected parking spot 166 determined, the controller 150 sends at 530 to the drive system 110 instructions to autonomously maneuver the tow vehicle 102 with the connected trailer 104 along the determined path. Referring again to FIG. 3, the vehicletrailer system 100 is autonomously driven along the path 164 from position A to position B and then to position C at which the trailer 104 is positioned within the selected parking spot 166.

[0038] During the autonomous maneuvering of the vehicle-trailer system 100, the controller 150 receives sensor system data from sensors 132, 134 supported by the vehicle-trailer system, detects objects in the data and prevents the vehicle-trailer system 150 from colliding with the detected objects. The dimensions and location of the detected objects are determined from the sensor system data, and the detected objects may be classified using known or future object recognition techniques. The controller 150 also determines whether the position of the detected object is changing, indicating that the object is moving.

[0039] With an object’s dimensions, location/movement and object classification determined, the controller 150 determines whether a collision may occur as the vehicletrailer system 150 is autonomously driven along the determined path 164, and takes action upon an affirmative determination that a collision may occur. The action taken may include stopping the vehicle-trailer system 150 momentarily until the detected object is moved from or otherwise leaves the determined path 164, whereupon autonomously driving the vehicle-trailer system 100 may continue when the detected object is determined by the controller 150 to no longer be in the determined path 164 and/or will not collide with the vehicle-trailer system. In addition or in the alternative, the controller 150 may modify the determined path 164 to avoid collision with the detected object.

[0040] Using the sensor system data from sensors 132, 134 received during the time the vehicle-trailer system 150 is autonomously maneuvered, the controller 150 updates at 534 the map 162. This insures that the map 162, which is subsequently saved after the update, accurately depicts the current environment associated with parking the trailer 104 in a parking spot 166.

[0041] Upon the trailer 104 reaching the selected parking spot 166 at the end of the determined path 164, the controller 150 ends the current execution phase of the parking system 160.

[0042] The operation of the parking system 160 to park the trailer 104 will be described with reference to FIGS. 4 and 6A-6B, according to another example embodiment. A training phase begins at 602 with vehicle controller 150 receiving a request from a driver of the tow vehicle 102 to train the parking system 160. The request may be received via the user interface 140. The request may be entered by the driver or other user associated with the tow vehicle 102 by, for example, entering the request via the touch screen display 142. Responsive to receipt of the driver request, the controller 150 sends instructions at 604 to the user interface 140 to instruct the driver on the display 142 to manually maneuver the trailer 104.

[0043] As the tow vehicle 102 is manually operated by the driver to move the trailer to the desired location, the controller 150 receives at 606 sensor system data from sensors 132, 134 supported by the tow vehicle 102 and the trailer 104. Depending upon the particular sensors 132, 134 supported by the vehicle-trailer system 100, the sensor data may be images captured by cameras 132, GPS data, radar data, LIDAR data, ultrasonic data, etc. The sensor system data is collected by the controller 150 throughout the time the vehicle-trailer system 100 is manually driven. In one implementation shown in FIG. 4, the tow vehicle 102 is maneuvered in a forward direction from the trailer 104 being initially in a desired parking spot 166’ as the tow vehicle 102 and the trailer 104 move towards a region from which future autonomous parking operations during an execution phase may start. As illustrated, the tow vehicle 102 and trailer 104 are manually moved from an initial point C to intermediate point B and then to point A in a region from which future autonomous parking operations in the execution phase may be initiated. Following the vehicle-trailer system 100 reaching point A, the controller 150 receives at 608 via the user interface 140 an indication from the driver that the manual maneuvering is complete. The controller 150 then optionally determines at 610 the map 162 based upon the sensor system data received during the manual maneuvering by the tow vehicle, with the map being generated as described above. In addition, the controller 150 records and/or saves the path 165 traversed by the vehicle-trailer system 100 during the manual maneuvering. The map 162 and the path 165 are saved in the memory hardware 154 at 612 which ends the training phase. In this example embodiment, the end point of the saved path 167 is the path 165 manually traveled but having the opposite direction, with the ending location of the saved path 167 being the starting point (position C in FIG. 4) of the trailer 104 at the onset of the manual maneuvering. This advantageously allows for the path creation to be more easily defined due to the tow vehicle 102 moving under driver control in the forward direction.

[0044] Referring now to FIG. 6B, following the creation and storage of the path 167, the execution phase of the parking system 160 may be initiated by the controller 150 receiving, via the user interface 140, a driver request at 620. The driver request is initiated by the driver/user of the tow vehicle 102 when it is desired to autonomously park the trailer 104. In response to receiving the driver request, the controller 150 sends instructions at 622 to the user interface 140 to display, on the display 142, the map 162, including the representation of any path saved in the memory hardware 154 during the training phase (FIG. 6A). At 624, the controller 150 receives, via the user interface 140, a driver selection of a saved path 167. Noting that multiple paths 167 may have been saved during the training phase(s), this selection may be made by the tow vehicle driver/user, for example, touching the touch screen of the display 142 on a representation of a saved path 167 appearing on the display of the map 162. In addition or in the alternative, the instructions sent to the user interface 140 are to display the map 162 and a representation of the ending location of each saved path 167 on the map 162, with each ending location corresponding to the representation of a parking spot. In this case, the driver selection received is a driver selection of the desired path ending location/parking spot. From the selected path ending location/parking spot, the controller 150 identifies the corresponding saved path 167 to be used for maneuvering the tow vehicle 102 and trailer 104 to the selected path ending location.

[0045] It is understood that the driver selection may be a location on the map 162 which does not correspond to an ending location of any path 167 saved during a previous training phase, thereby causing the controller 150 to define a new, lower precision path 167 that may be saved in the memory hardware 154 for use in the current execution phase as well as any future execution phases.

[0046] In response to receiving the driver selection, the controller 150 determines at 626 the current position and orientation of the tow vehicle 102 and the trailer 104 using the sensor system data obtained by the sensors 132, 134. The position/orientation of the vehicle-trailer system 150 may utilize any of a number of methods, including triangulation. Referring again to FIG. 4, which also illustrates the execution phase of FIG. 6B, the current position/orientation of the vehicle-trailer system 100 is depicted as position A.

[0047] Based on the determined current positions of the vehicle-trailer system 150, the map 162 and the selected saved path 167, the controller 150 adjusts or extends at 628 the selected, saved path 167 so that an adjusted path extends to the current position of the vehicle-trailer system 150. This accounts for the fact that the execution phase for autonomously parking the trailer 104 will be initiated at different locations relative to the saved path 167 selected. The path determining may utilize any of a number of known or future path planning techniques. With the adjusted path determined and extending to the current location of the vehicle 102 and the trailer 104, the controller 150 sends at 630 to the drive system 110 instructions to autonomously maneuver the tow vehicle 102 with the connected trailer 104 along the adjusted path. Referring again to FIG. 4, the vehicletrailer system 100 is autonomously driven/maneuvered along the adjusted path from position A to intermediate position B and then to position C at which point the trailer 104 is positioned within the desired parking spot.

[0048] During the autonomous maneuvering of the vehicle-trailer system 100, the controller 150 at 632 receives sensor system data from sensors 132, 134 supported by the vehicle-trailer system, detects objects in the data and prevents the vehicle-trailer system 150 from colliding with the detected objects, as discussed hereinabove with respect to block 532 of FIG. 5B.

[0049] Using the sensor system data from sensors 132, 134 received during the time the vehicle-trailer system 150 is autonomously maneuvered, the controller 150 updates at 634 the map 162. This insures that the map 162, which is subsequently saved after the update, accurately depicts the current environment. [0050] Upon the trailer 104 reaching the end of the adjusted path, the controller 150 ends the current execution phase of the parking system 160.

[0051] It is understood that following a training phase in which a desired parking spot and/or a desired path has been stored along with the map 164, the execution phase may be performed any time in which the driver/user of the tow vehicle 102 wishes to have the parking system 160 autonomously park the trailer 104 in a trained parking spot and/or using a trained parking path 167.

[0052] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. [0053] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, model-based design with auto-code generation, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

[0054] Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Moreover, subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The terms “data processing apparatus”, “computing device” and “computing processor” encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus. [0055] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multi-tasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0056] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.