System and method for calibrating a motion estimation algorithm using a vehicle camera
By integrating sensors and cameras in the driver assistance system, using motion estimation algorithms and feature recognition technology, the precise calibration of vehicle motion parameters is solved, and the problem of difficult path accuracy when traction vehicles are connected to the trailer is solved, achieving a more automated and efficient driving experience.
Patent Information
- Application Number
- CN201980059340.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-10
- Filing Date
- 2019-07-11
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2039-07-11
AI Technical Summary
Towing vehicle drivers face challenges when connecting vehicles to trailers, requiring multiple people to collaborate to ensure path accuracy, and prior art is difficult to provide efficient driver assistance systems.
By integrating sensors and cameras in the driver assistance system, using motion estimation algorithms and feature recognition technology, accurate calibration of vehicle motion parameters is achieved, thereby providing automated connection assistance functions.
The system can improve the connection accuracy and safety of the tow vehicle and trailer while reducing the dependence on the driver, providing a more automated and efficient driving experience.
Smart Images

Figure CN112638668B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to motor vehicles and, more particularly, to a driver assistance system for a motor vehicle to assist in coupling the vehicle to a trailer. Background Art
[0002] A trailer is typically an unpowered vehicle towed by a powered towing vehicle. Among other things, a trailer may also be a multi-purpose trailer, a pop-up camper, a travel trailer, a livestock trailer, a flatbed trailer, an enclosed dispatcher, and a boat trailer. The towing 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 be attached to the trailer and tow the trailer. A trailer coupler may be used to attach the trailer to the powered vehicle. The recipient coupler is mounted on the towing vehicle and connected to the trailer coupler to form a connection. The trailer coupler may be a ball and socket coupler, a fifth wheel gooseneck coupler, or a trailer top. 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 towing vehicle. Like this, the electrical connection allows the trailer to obtain feedback from the rear light circuit of the powered vehicle, allowing the trailer to have taillights, turn signals, and brake lights that are synchronized with the lights of the powered vehicle.
[0003] Some challenges faced by towing vehicle drivers are connecting the towing vehicle to the trailer because more than one person is required. For example, one person (e.g., the driver) drives the vehicle, and another person or persons need to view the towing vehicle and trailer and provide the driver with directions on the path the towing vehicle must take to align with the hitch. If the person providing directions to the driver is not accustomed to coupling the towing vehicle to the trailer, then they may have difficulty providing efficient instructions for directing the path of the towing vehicle. Other methods that differ from this involve the driver repeatedly leaving the vehicle to check the relative position of the hitch and coupler and then returning to the vehicle and repeating until the hitch is under the coupler or using a vehicle rearview camera.
[0004] Recent advances in sensor technology have led to improved safety systems for vehicles. Arrangements and methods for detecting and avoiding collisions are becoming available. Such driver assistance systems use sensors located on the vehicle to detect a collision that is occurring. In some examples, the system can warn the driver of one or more driving situations to prevent or minimize a collision. Additionally, sensors and cameras can also be used to warn the driver of possible obstacles when the vehicle is traveling in a forward direction. Therefore, it is desirable to provide a system including sensors to overcome the challenges faced by the driver of a towing vehicle.
[0005] Additionally, vehicles with driver assistance features sometimes utilize motion estimation algorithms. Such motion estimation algorithms utilize a vehicle model and sensor inputs (such as wheel encoder values and steering wheel angles) to estimate the relative position and velocity of the vehicle over time. The terms "odometry" and "dead reckoning" are often used for such schemes.
[0006] For example, an automated function for backing a truck to a trailer may require an accurate motion estimation algorithm so that the truck can reach the trailer according to the path selected by the user. Such a motion estimation algorithm will utilize several vehicle kinematic parameters, such as steering ratio, steering offset, tire diameter, wheelbase, track width, etc. While some parameters such as wheelbase may be accurately known, tire diameter, steering ratio and steering offset may not be known with sufficient precision / accuracy for good motion estimation. For the case of backing a truck to a trailer coupling, accuracy on the order of centimeters over several meters of motion is required. This requires very good knowledge of the kinematic parameters of the truck.
[0007] One method of determining the parameters involves careful direct measurement of all unknown parameters. However, this is often inconvenient and inaccurate.
[0008] Another approach involves performing some test maneuvers while monitoring the vehicle sensor inputs. For example, the tire diameter can be determined by driving the vehicle straight over a certain calibration distance (e.g., 20 meters) and monitoring the wheel encoder values. Similarly, the steering ratio can be determined by driving the vehicle forward or backward with the steering wheel fixed at a specific angle (which can be read from the steering wheel angle sensor) and measuring the radius of the resulting actual vehicle path.
[0009] Another method of determining parameters is similar, but rather than marking out a calibration distance (such as the 20 meters mentioned above) or measuring the vehicle path radius, a reference differential GPS system is used to measure vehicle motion. Summary of the invention
[0010] A general aspect includes a method for calibrating a driver assistance system, the method including: entering a calibration mode for a driver assistance system. The calibration method also includes moving a vehicle to a first position and orientation. The calibration method also includes recording, using a controller for the driver assistance system, a current estimated position and orientation of the vehicle at the first position. The calibration method also includes displaying a first image from at least one camera facing outward from the vehicle. The calibration method also includes selecting at least one feature in the first image using an input mechanism and recording, using the controller for the driver assistance system, at least one selected feature data at the first position and orientation. The calibration method also includes moving the vehicle to at least a second position and orientation. The calibration method also includes determining, using the controller for the driver assistance system, a current estimated position and orientation of the vehicle at at least the second position. The calibration method also includes displaying a second image from at least one camera. The calibration method also includes selecting at least one feature in the second image using an input mechanism and recording, using the controller for the driver assistance system, at least one selected feature data at the second position and orientation, wherein the at least one selected feature is the same feature as the previous at least one selected feature. The calibration method also includes calculating, using the controller, a new vehicle motion parameter value based on the first estimated position and orientation, the second estimated position and orientation, the first recorded at least one feature data, and the second recorded at least one feature data.
[0011] Implementations may include one or more of the following features: In the method, the vehicle motion parameter values include at least one of the following: wheelbase, track width, tire diameter, steering offset, and steering ratio, and moving the vehicle includes steering, braking, and acceleration.
[0012] In the method, the driver assistance system is a hitch assist system and the at least one feature is at least a hitch recipient on the trailer.
[0013] In the method, a motion calibration method is performed when the driver assistance system is used for the first time.
[0014] In the method, the motion calibration method is updated at periodic intervals or at the discretion of the user.
[0015] In the method, the input mechanism is at least one of the following: a touch screen, a knob control, a mouse, a joystick, a slide bar.
[0016] The method further includes performing at least one driver assistance function of the driver assistance system using the new vehicle motion parameter value.
[0017] Determining in the method a current estimated position and orientation of the vehicle at the second location further includes calculating the position and orientation based on wheel travel sensor data and steering angle sensor data detected by the sensor system over time as the vehicle moves from the first location to the second location.
[0018] A general aspect includes a method for calibrating a driver assistance system, the method including: entering a calibration mode for the driver assistance system. The calibration method also includes determining, using a controller for the driver assistance system, a first estimated position and orientation of a vehicle at a first position. The calibration method also includes capturing an image from at least one camera facing outward from the vehicle and selecting at least one feature in the image. The calibration method also includes moving the vehicle to at least a second position and orientation and determining a second estimated position and orientation of the vehicle. The calibration method also includes capturing a second image from at least one camera facing outward from the vehicle and selecting at least one feature in the second image, wherein at least one selected feature in the second image is the same feature as at least one selected feature in the first image. The calibration method also includes calculating, using the controller, a new vehicle motion parameter value based on the first estimated position and orientation, the second estimated position and orientation, the first recorded at least one feature data, and the second recorded at least one feature data.
[0019] Implementations may include one or more of the following features: In the method, the vehicle motion parameter values include at least one of the following: wheelbase, track width, tire diameter, steering offset, and steering ratio, and moving the vehicle includes steering, braking, and acceleration.
[0020] In the method, the driver assistance system is a hitch assist system and the at least one feature is at least a hitch recipient on the trailer.
[0021] In the method, a motion calibration method is performed when the driver assistance system is used for the first time.
[0022] In the method, the motion calibration method is updated at periodic intervals or at the discretion of the user.
[0023] The method further includes selecting at least one feature using an input mechanism.
[0024] In the method, the input mechanism is at least one of the following: a touch screen, a knob control, a mouse, a joystick, a slide bar.
[0025] The method further includes performing at least one driver assistance function of the driver assistance system using the new vehicle motion parameter value.
[0026] Determining in the method a current estimated position and orientation of the vehicle at the second location further includes calculating the position and orientation based on wheel travel sensor data and steering angle sensor data detected by the sensor system over time as the vehicle moves from the first location to the second location.
[0027] A general aspect includes a driver assistance system, comprising: a controller having instructions for calibrating vehicle motion parameter values for the driver assistance system, the instructions comprising: determining, using the controller for the driver assistance system, a first estimated position and orientation of a vehicle at a first location; capturing an image from at least one camera facing outward from the vehicle and selecting at least one feature in the image; determining a second estimated position and orientation of the vehicle after the vehicle has been moved to a second location; capturing a second image from at least one camera facing outward from the vehicle and selecting at least one feature in the second image, wherein at least one selected feature in the second image is the same feature as at least one selected feature in the first image; and calculating, using the controller, a new vehicle motion parameter value based on the first estimated position and orientation, the second estimated position and orientation, the first recorded at least one feature data, and the second recorded at least one feature data.
[0028] Implementations may include one or more of the following features: In a system, vehicle motion parameter values include at least one of the following: wheelbase, track width, tire diameter, steering offset, and steering ratio, and moving the vehicle includes steering, braking, and acceleration.
[0029] In the system, the driver assistance system is a hitch assist system and the at least one feature is at least a hitch recipient on the trailer.
[0030] In the system, the controller calibrates the vehicle motion parameter values when the driver assistance system is used for the first time, and the motion calibration method is updated at periodic intervals or at the user's discretion.
[0031] The system further includes an input mechanism to select at least one feature, wherein the input mechanism is at least one of: a touch screen, a knob control, a mouse, a joystick, a slide bar.
[0032] In the system, a current estimated position and orientation of the vehicle at the second location is determined by calculating the position and orientation based on wheel travel sensor data and steering angle sensor data detected by the sensor system over time as the vehicle moves from the first location to the second location.
[0033] Other objects, features, and characteristics of the present invention, as well as the functions of the related elements of operation methods and structure, the combination of parts, and the economy of manufacturing will become more apparent when the following detailed description and the appended claims are considered with reference to the accompanying drawings, which form a part of this specification in their entirety. It should be understood that the detailed description and specific examples, while indicating preferred embodiments of the present disclosure, are intended for illustration purposes only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The present disclosure will become more fully understood from the detailed description and accompanying drawings, in which:
[0035] Figure 1A is a schematic diagram of an exemplary towing vehicle and a trailer behind the towing vehicle;
[0036] Figure 1B is a schematic diagram of an exemplary user interface for detecting a trailer hitch recipient position for a vehicle in a first position.
[0037] Figure 1C is a schematic diagram of an exemplary user interface for detecting a trailer hitch recipient position for a vehicle in a second position.
[0038] Figure 2 is a perspective view of an exemplary towing vehicle.
[0039] Figure 3 is a flow chart for an exemplary vehicle motion calibration attached to a trailer.
[0040] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION
[0041] A towing vehicle, such as, but not limited to, a car, a crossover, a truck, a van, a sport utility vehicle (SUV), and a recreational vehicle (RV), may be configured to tow a trailer. The towing vehicle is connected to the trailer via a trailer hitch. It would be desirable to have a towing vehicle that is capable of having a more automated system and method for maneuvering toward and attaching to the trailer, thus reducing the need for the driver to steer the towing vehicle in a rearward direction while another person or persons provide guidance to the driver regarding the path the towing vehicle has to take to align with the trailer and ultimately with the hitch of the trailer. As such, a towing vehicle with an assist device for rearward driving provides a safer and faster experience for the driver when coupling the towing vehicle to the trailer.
[0042] Reference Figures 1A to 2In some implementations, the driver of the tractor vehicle 100 wants to tow the trailer 200. The tractor vehicle 100 may be configured with a vehicle controller 300 to provide guidance to the driver to drive toward the selected trailer 200. The tractor vehicle 100 may include a driving system 110 that steers the tractor vehicle 100 across the road surface based on a driving command having a final x, y position and also a final orientation. Alternatively, the driving command may have, for example, a radius component, a speed component, and a direction component. As shown, the driving system 110 includes a right front wheel 112a, a left front wheel 112b, a right rear wheel 112c, and a left rear wheel 112d. The driving system 110 may also include other wheel configurations. The driving system 110 may also include: a braking system 120, which includes a brake associated with each wheel 112a-d; and an acceleration system 130, which is configured to adjust the speed and direction of the tractor vehicle 100. In addition, the driving system 110 may include a suspension system 132, which includes tires, tire air, springs, shock absorbers, and linkages associated with each wheel 112a-d, which connect the tractor vehicle 100 to its wheels 112a-d and allow relative movement between the tractor vehicle 100 and the wheels 112a-d. The suspension system 132 improves the road handling of the tractor vehicle 100 and provides better ride quality by isolating road noise, bumps, and vibrations. In addition, the suspension system 132 is configured to adjust the height of the tractor vehicle 100 to allow the tractor vehicle coupler 160 to align with the trailer coupler 210, which facilitates the connection between the tractor vehicle 100 and the trailer 200.
[0043] The tractor vehicle 100 can move across the road surface by various combinations of motions relative to three mutually perpendicular axes defined by the tractor vehicle 100 (a lateral axis X, a front-to-rear axis Y, and a central vertical axis Z). The lateral axis X extends between the right side R and the left side of the tractor vehicle 100. The forward driving direction along the front-to-rear axis Y is designated as F, which is also referred to as forward motion. In addition, the rearward or backward driving direction along the front-to-rear direction Y is designated as R, which is also referred to as rearward motion. When the suspension system 132 adjusts the suspension of the tractor vehicle 100, the tractor vehicle 100 can tilt about the X-axis and or the Y-axis, or move along the central vertical axis Z.
[0044] The driver assistance system 310 may include a user interface 140. The user interface 140 may be a display incorporated into the vehicle, or may be provided on a separate device such as a personal wireless device. The user interface 140 receives one or more user commands from the driver and / or displays one or more notifications to the driver via one or more input mechanisms 142 such as a control knob or a touch screen display. The user interface 140 communicates with the vehicle controller 300, which in turn communicates with the sensor system 400 and the driving system 110. In some examples, the user interface 140 displays an image of the environment of the traction vehicle 100, resulting in one or more commands being received by the user interface 140 (from the driver) to initiate the execution of one or more behaviors. The vehicle controller 300 includes a computing device (or processor) 302 (e.g., a central processing unit having one or more computing processors) in communication with a non-transitory memory 304 (e.g., a hard disk, flash memory, random access memory) capable of storing instructions executable on (one or more) computing processors.
[0045] The vehicle controller 300 executes the driver assistance system 310, which in turn includes a path following subsystem 320. The path following subsystem 320 receives the planned path 552 from the path planning system 550 and performs actions 322-330 of sending commands 301 to the driving system 110, causing the towing vehicle 100 to autonomously drive about the planned path 552 in the rearward direction R.
[0046] The path following subsystem 320 includes, for example, braking behavior 322, speed behavior 324, steering behavior 326, and possible additional behaviors, such as hitch connection behavior and suspension adjustment behavior. Each behavior 322-326 causes the tractor vehicle 100 to take an action, such as driving backward, turning at a specific angle, accelerating, decelerating, among others. The vehicle controller 300 can manipulate the tractor vehicle 100 across the road surface in any direction by controlling the driving system 110, more specifically by issuing a command 301 to the driving system 110. For example, the vehicle controller 300 can manipulate the tractor vehicle 100 from an initial position to a final position. In the final position, the hitch ball 162 of the tractor vehicle 100 is aligned with the hitch coupler 212 of the trailer 200 to connect the tractor vehicle 100 and the selected trailer 200.
[0047] The tractor vehicle 100 may include a sensor system 400 to provide reliable and robust autonomous driving. The sensor system 400 may include different types of sensors that may be used separately or together with each other to create a sense of the tractor vehicle's environment that is used for the tractor vehicle 100 to autonomously drive and make intelligent decisions based on objects and obstacles detected by the sensor system 400. The sensors may include, but are not limited to, one or more imaging devices such as cameras 410 and sensors 420 such as, but not limited to, radar, sonar, LIDAR (light detection and ranging, which may involve measuring properties of scattered light to find out the distance and / or other information of distant objects), LADAR (laser detection and ranging), etc. In addition, the camera(s) 410 and the sensor(s) 420 may be used to warn the driver of possible obstacles through audible warnings and / or visible warnings via the user interface 140 when the tractor vehicle 100 is traveling in the forward direction F or the rearward direction R. Thus, the sensor system 400 is particularly useful for increasing safety in a towing vehicle 100 operating in a semi-autonomous or autonomous condition.
[0048] The sensor system 400 sends sensor system data 402 to the driver assistance system 310. The sensor system data 402 includes images 412 from cameras 410, 410a-d and sensor data 422 from sensors 420, 420a-d.
[0049] In some implementations, the towing vehicle 100 includes a rear camera 410, 410a mounted to provide a view of a rearward driving path for the towing vehicle 100. Additionally, in some examples, the towing vehicle 100 includes a front camera 410, 410b to provide a view of a forward driving path for the towing vehicle 100, a right camera 410, 410c positioned on the right side of the towing vehicle 100, and a left camera 410, 410d positioned on the left side of the towing vehicle 100. The left camera 410, 410d and the right camera 410c, 410d provide additional side views of the towing vehicle 100. In this case, the towing vehicle 100 may detect objects and obstacles located on either side of the towing vehicle 100 in addition to objects and obstacles detected along the forward driving path and the rearward driving path. The camera(s) 410, 410a-d may be a monocular camera, a binocular camera, or another type of sensing device capable of providing a view of the rearward travel path of the towing vehicle 100. Likewise, the sensors 420a-d may be located at various locations around the exterior of the towing vehicle 100.
[0050] Return to reference Figures 1A to 2Once the path planning system 550 has planned a path, the path following subsystem 320 is configured to execute behaviors that cause the driving system 110 to autonomously follow the planned path 552. Thus, the path following subsystem 320 includes one or more behaviors 322-330 that, once executed, allow the towing vehicle 100 to be autonomously driven along the planned path 552. The behaviors 322-330 may include, but are not limited to, braking behaviors 322, speed behaviors 324, steering behaviors 326, coupler connection behaviors 328, and suspension adjustment behaviors 330.
[0051] In this embodiment, the path planning system 550 receives information via the user interface 140 and the user input mechanism 142. For example, the user interface 140 and the input mechanism can be one or a combination of a screen, a touch screen, a personal device, a control knob, a joystick, a slider knob, or other input mechanisms. In the example shown, the user interface 140 is a touch screen and the input mechanism 142 is a control knob.
[0052] The planned path 552 of the vehicle hitch sphere 162 may be displayed as an overlay on the user interface 140 (in Figure 1B ). The initially planned planned path 552 coverage may be based on the current steering behavior 326 of the towing vehicle 100. Using the input mechanism 142, the user may adjust the planned length and trajectory of the planned path 552 until the planned path 552 is aligned with the trailer hitch recipient location 212. Once the user has selected the desired planned path 552 length and trajectory (in Figure 1B ), the path planning system 550 can determine the braking behavior 322, speed behavior 324, and steering behavior 326 necessary to follow the planned path 552. This information can be sent to the path following subsystem 320 to be executed.
[0053] Alternatively, the user interface 140 and input mechanism 142 may be used to input a vehicle trajectory, and the system user may control the speed and braking of the towing vehicle 100 .
[0054] Braking action 322 may be performed to stop or slow down tractor vehicle 100 based on planned path 552. Braking action 322 sends a signal or command 301 to driving system 110 (eg, braking system 120) to stop tractor vehicle 100 or slow down tractor vehicle 100.
[0055] Speed behavior 324 may be executed to change the speed of towing vehicle 100 by accelerating or decelerating based on planned path 552. Speed behavior 324 sends a signal or command 301 to braking system 120 for deceleration or to acceleration system 130 for acceleration.
[0056] A steering action 326 may be executed to change the direction of the towing vehicle 100 based on the planned path. As such, the steering action 326 sends a signal or command 301 to the acceleration system 130 indicating a steering angle that causes the driving system 110 to change direction.
[0057] In addition to the user interface 140 and input mechanism 142, the path planning system 550 also uses information from the sensor system 44 to align the input selections from the user with the physical positions of the towing vehicle 100 and trailer 200 recorded by the sensors 420 and cameras 410. That is, the path planning system 550 must determine a path based on the user input based on the camera 410, 410a-d images and the physical positions of the towing vehicle 100 and trailer 220 measured by the sensor system 400. Therefore, the motion calibration system 600 may be used to calibrate the alignment between the sensor system 400 and the path following subsystem 320.
[0058] Reference Figure 1A and Figures 2 to 3 , the motion calibration system 600 utilizes a motion estimation algorithm that accurately outputs relative vehicle position and velocity. The motion estimation algorithm will be several vehicle parameters (such as steering ratio, steering offset, wheelbase, track width, etc.). For standard vehicle driving functions, these parameters may not be known accurately enough for good motion estimation necessary for a driver assistance system that provides automatic coupling assistance. The motion calibration system 600 provides an algorithm and method 610 for more accurately determining these values. In the example application (trailer coupling assistance), the method does not require any special equipment other than that already on the towing vehicle 100.
[0059] The method 610 uses the user interface 140 that displays images from the cameras 410, 410a-d and the input mechanism 142 for "pointing to" features to provide the user with the ability to "point to" the same fixed feature from different viewpoints. That is, the user selects at least one static object or feature displayed on the user interface 140 using the input mechanism to identify the selected feature or object. The feature or object may be a hitch ball receiver, and may include additional objects or features related to the trailer, such as trailer corners, decals, identification markings, wheels, etc.
[0060] The vehicle is then driven to a new location where the camera 410, 410a still has a view of the trailer 200 and the user reselects the feature location(s) using the user interface 140. An optimization routine (e.g., quasi-Newtonian) adjusts the vehicle kinematic parameters to achieve the minimum error for the point selected by the user.
[0061] There is a need for an absolute reference to compare the motion estimation algorithm output to. Therefore, we propose an alternative absolute reference that utilizes some input mechanism on the vehicle cameras 410, 410a-d and the user interface 140. In this embodiment, the input mechanism can be a touch screen or the same control knob or some combination thereof, which allows the user to select one or more features on the displayed image 412.
[0062] One embodiment of the motion calibration system 600 provides for activating the motion estimation algorithm when the driver assistance system is activated. A motion "calibration mode" may be selectively entered or automatically entered when the system is first used, which is shown at 602. Alternatively, another embodiment provides for a user (e.g., an end user or factory end-of-line calibration technician) to activate a special calibration mode. A first position and heading of the towing vehicle 100 is recorded. The first position may be set to (X, Y) = (0, 0) and Heading = 0.
[0063] In order to record the current estimated position and orientation at the second location, some significant vehicle movement may need to occur, which is shown at 604. The user may drive the vehicle a certain distance (say 10 meters) while also turning the steering wheel, so that the vehicle movement is not perfectly straight. During this movement, the sensor system 400 detects at least the wheel sensor data and the steering wheel angle sensor data. After this movement, the current estimated position and orientation of the vehicle can be determined, which is shown at 606. That is, the vehicle controller 300 can use the wheel ticks and the steering wheel angle as a function of time during the movement from one location to another to calculate the second position and orientation. Alternatively, the second position and orientation can be compared to the vehicle controller 300 at 606. Figure 1B The first camera image shown in FIG. Figure 1C Image analysis of the second camera image shown in FIG. 4 is used to calculate the new position and orientation.
[0064] After this, the user will view the vehicle's rearward camera monitor (or front camera monitor or side camera monitor) through the user interface 140 and use an input device such as a pointing device (touch screen, knob, mouse, etc.) to pick out a specific static world feature displayed on the image 412, which is shown at 608. The feature can be a trailer coupling (such as in the case of a truck hitch assist system), but it can also be any other fixed point that is easy for the user to identify and point to using a pointing device using the camera monitor. This process can then be repeated one or more times additionally with new maneuvers and the user pointing to the same feature at a new location, which is shown at 614.
[0065] Alternatively, the captured images may be analyzed by the vehicle controller 300 to select features in the first image and features in the second image and use feature recognition. Feature recognition may include defining a plurality of feature recognition points associated with the first feature and a plurality of feature recognition points associated with the first feature. When features from the first image and the second image have a sufficient number of matching recognition points, it is determined that the first feature and the second feature are the same object.
[0066] Continuing, after collecting estimated position and orientation information and corresponding trailer characteristics from multiple vehicle positions and wheel motion as a function of time and steering wheel angle, the motion calibration system can calculate a new set of motion parameters based on the collected data and store the information, which is shown at 616. These steps provide a set of equations that can be simulated, i.e., integrated (in numerical form) to involve vehicle parameters that are not accurately known. The errors in the integrated equations can be minimized (numerically) to improve the existing parameters and obtain more accurate parameters. The problem can be solved using a nonlinear least squares solution method, such as a quasi-Newton method (e.g., BFGS). The new motion calibration data can be used to more accurately determine and predict the towing vehicle 100. The motion is based on the sensor system data 401 and the path planning system 550. Therefore, the vehicle towing 100 can exit the calibration mode, which is shown at 618.
[0067] More specifically, we propose to optimize a function whose input is a set of imperfectly known parameters (wheelbase, track width, tire diameter, steering ratio / steering offset, etc.) and the wheel motion and steering wheel angle as a function of time, and whose output is some measure of the error with respect to a fixed point in the image (from different viewpoints).
[0068] As mentioned previously, this process needs to be repeated a number of times, depending on the number of parameters to be estimated. Each iteration provides two equations (associated with the two image point coordinates), and there are 3+N unknowns, where N is the number of parameters to be determined. The "3" in "3+N" comes from the unknown world coordinates of the fixed points. Therefore, we have 2M equations and 3+N unknowns, and therefore 2M must be at least 3+N (to have as many equations as unknown parameters). The number of iterations is therefore given by M in the following inequality:
[0069] M≥(3+N) / 2.
[0070] For the case of optimizing one unknown parameter (e.g. steering offset), we must perform at least two iterations: (3+1) / 2. For five unknown parameters (e.g. wheelbase, track width, tire diameter, steering ratio, steering offset), we must perform at least four iterations: (3+5) / 2.
[0071] The motion calibration system may be used the first time the driver assistance system 310 is used, and may also be updated at periodic intervals (e.g., every 50 or 100 uses) as suggested by the driver assistance system 310. Alternatively, it may be desirable to perform calibration at the user's discretion, such as when a new trailer is used with hitch assist or when the driver notices a change in the accuracy of the performance performed by the towing vehicle 100.
[0072] Various implementations of the systems and techniques described herein can be implemented 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 implementations in one or more computer programs executable and / or interpretable on a programmable system, the programmable system comprising at least one programmable processor, which can be special purpose or general purpose, coupled to receive data and instructions from a storage system and to transmit data and instructions to the storage system.
[0073] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages and / or in assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) 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.
[0074] The subject matter and the implementation of the functional operation described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them. In addition, the subject matter described in this specification may 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 being executed by a data processing device or controlling the operation of the data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of materials that implement machine-readable propagation signals, or a combination of one or more of them. The terms "data processing device", "computing device" and "computing processor" cover all devices, devices and machines for processing data, including programmable processors, computers, or multiple processors or computers by way of example. In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, protocol stacks, database management systems, operating systems, or a combination of one or more of them. A propagation signal is an artificially generated signal, such as a machine-generated electrical signal, optical signal, or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device.
[0075] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring such operations to be performed in the particular order shown or in a sequential order or requiring all illustrated operations to be performed to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. In addition, 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 be generally integrated together in a single software product or encapsulated in multiple software products.
[0076] Many implementations have been described. However, it will be appreciated that various modifications may be made without departing from the spirit and scope of the present disclosure. Therefore, other implementations are within the scope of the following claims.
Claims
1. A method for calibrating a driver assistance system, the method comprising: Enter calibration mode for driver assistance systems; determining, with a controller for a driver assistance system, a first estimated position and orientation of the vehicle at a first location; capturing an image from at least one camera facing outward from the vehicle and selecting at least one feature in the image; moving the vehicle to at least a second position and orientation and determining a second estimated position and orientation of the vehicle; capturing a second image from at least one camera facing outward from the vehicle and selecting at least one feature in the second image, wherein the at least one selected feature in the second image is the same feature as the at least one selected feature in the first image; as well as A new vehicle motion parameter value is calculated using a controller based on the first estimated position and orientation, the second estimated position and orientation, the first recorded at least one feature data, and the second recorded at least one feature data.
2. The method according to claim 1, wherein the vehicle motion parameter value comprises at least one of the following: wheelbase, track width, tire diameter, steering offset and steering ratio, and moving the vehicle comprises steering, braking and acceleration. 3 . The method of claim 1 , wherein the driver assistance system is a hitch assist system and the at least one feature is at least a hitch recipient on the trailer.
4. The method of claim 1 , wherein the motion calibration method is performed when the driver assistance system is used for the first time.
5. The method of claim 4, wherein the motion calibration method is updated at periodic intervals or at the discretion of a user.
6. The method of claim 1, further comprising selecting the at least one feature using an input mechanism, and wherein the input mechanism is at least one of: a touch screen, a knob control, a mouse, a joystick, a slide bar. 7 . The method of claim 1 , further comprising using the new vehicle motion parameter value to perform at least one driver assistance function of a driver assistance system.
8. The method of claim 1 , wherein determining the current estimated position and orientation of the vehicle at the second location further comprises calculating the position and orientation based on wheel travel sensor data and steering angle sensor data detected by the sensor system over time as the vehicle moves from the first location to the second location.
9. A driver assistance system comprising: A controller having instructions for calibrating a vehicle motion parameter value for a driver assistance system, the instructions comprising; determining, with a controller for a driver assistance system, a first estimated position and orientation of the vehicle at a first location; capturing an image from at least one camera facing outward from the vehicle and selecting at least one feature in the image; determining a second estimated position and orientation of the vehicle after having moved the vehicle to the second location; capturing a second image from at least one camera facing outward from the vehicle and selecting at least one feature in the second image, wherein the at least one selected feature in the second image is the same feature as the at least one selected feature in the first image; as well as A new vehicle motion parameter value is calculated using a controller based on the first estimated position and orientation, the second estimated position and orientation, the first recorded at least one feature data, and the second recorded at least one feature data.
10. The system of claim 9, wherein the vehicle motion parameter values include at least one of: wheelbase, track width, tire diameter, steering offset, and steering ratio, and moving the vehicle includes steering, braking, and acceleration.
11. The system of claim 9, wherein the driver assistance system is a hitch assist system and the at least one feature is at least a hitch recipient on the trailer.
12. The system of claim 9, wherein the controller calibrates the vehicle motion parameter values when the driver assistance system is used for the first time, and the motion calibration method is updated at periodic intervals or at the discretion of the user.
13. The system of claim 9, further comprising an input mechanism to select the at least one feature, wherein the input mechanism is at least one of: a touch screen, a knob control, a mouse, a joystick, a slide bar.
14. The system of claim 9, wherein the current estimated position and orientation of the vehicle at the second location is determined by calculating the position and orientation based on wheel travel sensor data and steering angle sensor data detected by the sensor system over time as the vehicle moves from the first location to the second location.
Citation Information
Patent Citations
Vehicle backing assist apparatus and vehicle backing assist method
US20050074143A1
Vehicle vision system with targetless camera calibration
US9563951B2