Parking a truck-and-trailer combination can be challenging even for an experienced driver. Guiding a trailer into a loading dock frequently takes several maneuvers. The challenge is compounded when the driver is navigating narrow city streets crowded with pedestrians (Figure 1).
To help drivers park truck-trailer vehicles, our team at Ford Otosan has developed a proof-of-concept prototype of an autonomous parking system. The prototype uses two trajectory planning algorithms: an artificial potential field algorithm, developed in collaboration with the University of Surrey as part of the EU TrustVehicle program, and an RRT* algorithm (a variant of the rapidly exploring random tree, or RRT), developed by our own in-house team. After modeling and simulating the algorithms in Simulink®, we verified them via hardware-in-the-loop (HIL) tests. We then tested them in a real truck, where we showed that the prototype system was capable of parking with fewer maneuvers and in half the time required by drivers with years of experience.
Modeling the Truck-Trailer Combination and the Trajectory Algorithms
Our team had experience in developing automated driving systems and robotic control systems for passenger cars and robots, but we had never before worked with vehicles as large as the truck-and-trailer combination. In addition, the truck and trailer are articulated, which complicates control design. Because we were using Model-Based Design, we were able to model and visualize the dynamics of the truck and take these dynamics into account as we developed and refined the trajectory planning and control algorithms (Figure 2).
We create a simplified model of the vehicle based on a 3DOF bicycle model that represents longitudinal, lateral, and yaw motion. We configured this model using measured parameter values such as the mass of the truck wheels.
We partitioned the control design into separate Simulink components that different teams could work on independently. One team, for example, worked on the trajectory planning component (implementing either the RRT* or the artificial potential field algorithms). Another worked on the trajectory control component, which computes the steering angle, braking torque, and acceleration torque needed to produce the desired yaw rate, deceleration, and acceleration supplied by the trajectory planning component. That team initially implemented the trajectory control component as a pure pursuit controller, but later re-implemented it as a model predictive controller to accommodate higher speeds.
One component implemented the interface to our perception subsystem, which uses lidar and radar to locate obstacles and structures near the vehicle. Other components implemented interfaces to a monitoring app running on an Android™ tablet, the truck’s CAN bus, and our software-in-the-loop (SIL) and HIL testing environment (Figure 3).
SIL, HIL, and In-Vehicle Testing
After running initial verification simulations in Simulink, we performed more extensive tests in our SIL and HIL environment. We generated code from our trajectory planning and trajectory control models with Simulink Coder™ and ran SIL tests that incorporated simulated sensor inputs, a dynamic model of the truck and trailer, and a model of the environment.
In HIL tests, we deployed the trajectory planning and control algorithms to dSPACE® target hardware. These HIL tests enabled us to verify the real-time performance of our design, including live communications via CAN and UDP, before testing on the truck itself.
In-vehicle tests were conducted at the Ford Otosan Inönü test track in Eskişehir, Turkey. We installed the dSPACE system (running code generated from our Simulink models) in the truck (Figure 4). During the first few tests, we discovered that our physical model of the truck included inaccurate values for certain parameters, including cornering stiffness.
Once we had updated these values with more accurate measurements and retuned the controllers, the simulated and measured results matched closely, and the overall performance of the system improved dramatically (Figure 5).
In fact, the truck parked itself with a single maneuver in situations that we had assumed would require at least two or three maneuvers. Although the simulations had shown that this was possible, we were nevertheless amazed to see our algorithms guiding the truck more efficiently than drivers with 15 to 20 years of experience.
By developing efficient trajectory planning and control algorithms and verifying them on a real truck, we fulfilled all the objectives and key performance indicators for the project. We now have the in-house expertise to park an articulated vehicle in autonomous drive mode. Several other initiatives are underway at Ford Otosan that will make use of this parking capability, including one focused on facilities management and another focused on the remote control of trucks. We expect to integrate our autonomous parking system into these larger production systems.