https://share.summari.com/infrastructure-enabled-autonomymd-github?utm_source=Chrome
The Infrastructure Enabled Autonomy system (IEA) uses less hardware, bandwidth, energy, and money to maintain a controlled environment for a vehicle to operate when in highly congested environments
The solution lies in the removal of sensing and high computational tasks from the vehicles, allowing static ground stations with multi sensorsensing packs (MSSPs) to sense the surrounding environment and direct the vehicles from start to goal.
This approach allows for a distribution or computational power, and offloaded expensive hardware from each individual vehicle to a static set of MSSPs on a connected network that provides the vehicles in the environments with the wireless commands to achieve safe transportation.
In order to construct a DAQ unit capable of capturing and processing all the required streams of data, a large processing unit is necessary
The Multi-Sensor Sensing Pack contains a computer, Visual Spectrum Camera, Thermal Camera, LIDAR, GPS, and battery
A drive-by-wire system required for operation with the IEA system is an identical architecture on both the small scale RC car, and the full sized car
Within each MSSP, many vision processing functionalities are being developed in order for the MSSP to be able to detect objects
One avenue of detection algorithms is based on change detection of a background environment
Once detected, the objects need to be classified as vehicles or as obstacles
The Multi-sensor Sesing Unit or MSSP is the unit that brings the IEA system to life
It has two sections: internal power distribution and computing in the bottom, rectagular portion of the MSSP, and form fitting sensor mounts on the top half
This unit consists of visual, LIDAR and thermal sensors along with GPS, IMU and an embedded computer
To meet the power requirements, a 12V bus from a 50000mAh battery powers the various components, as well as the CPU outputs providing direct power to its cameras and sensors via USB and ETH connections
Because the IEA system utilized the infrastructure for all autonomy components, the only required aspects of the vehicle are the components for wireless connectivity to the ROS network and the drive by wire components.
Due to this simplicity, the testing was performed by a 1/12 scale electric vehicle. A view of this vehicle with the body removed is shown below.
The software development within each MSSP can be segmented into Computer Vision, Map Generation, Path Planning, Path Tracking, Odometry, Confidence, and the MSSP Selector.
The computer vision section begins with the initialization process of the IEA system, the detection, tracking and classification methods used, and the outputs sent to other various nodes throughout the system.
Initialization
A predetermined calibration file is generated to determine the distortion due to the camera lens
Each MSSP performs these initialization processes individually
Now that each MSSP's image feed is transformed to the desired perspective, The detection and tracking computer vision methods need to be initialized
The transformation within the computer vision node to a top-down view is just the first step in the process to fuse each MSSP system
An affine transformation is a linear mapping method that preserves points, straight lines, and planes
Sets of parallel lines remain parallel after an affine transformation
Used to correct for geometric distortions or deformations that occur with non-ideal camera angles
Collected from the remote GUI, and inputted by the operator, the vehicle's goal is sent to the planner
The A* path planning algorithm is a search algorithm that optimizes a path from point A to B
It is superior to other path planners because it not only uses the distance to the goal, but also the distance from the start, and in this way, can output the optimal path
For each instance along the path, the algorithms look at each neighboring node, and computes a cost based on the distances mentioned above
Cost is minimized in an effort to find the most efficient path to take
Utilizing the output vector of waypoints from the planner, the path tracker ensures the vehicle can follow along these waypoints with minimal error
An algorithm called pure pursuit was implemented
Pursuit utilized a look ahead radius, determined by the turning radius of the vehicle, to find the radius' intersection with the path
The outcome is the vehicle operating as if it were chasing a carrot along the path
Uses the data from the MSSPs, in particular, the pose pixel data to determine the real world position and the corresponding velocities.
Similar to the map generation, the odometry node needs to transform each vehicle position coordinates into the fused reference frame, which consists of subscribing to each MSSP's transformation matrix, and then extract the homography between the two transformed corner sets from the checkerboard.
The final task is to output the quaternion, which combines all the pose data into a single message unit.
A series of tracking metrics determine which MSSP should take over control of the vehicle
Metric: tracked area resolution, ratio of tracked area to the area initially detected, and the number of consecutive frames the vehicle has been tracked
Confidence: three confidence metrics fused by complementary filter and normalized to the initially detected confidence
The first stage was to demonstrate the operation of the IEA system.
Single-Unit
The first milestone in development was the operation of a single MSSP unit
Focused on the implementation of many of the algorithms residing within the MSSP
Testing these in a single unit system gave a platform in which debugging was faster and variables could be isolated more simply
Next milestone is to implement a second MSSP to work cohesively with the first
Multi-Unit
The two main areas of focus for the development of the multi-unit system are the architecture for data transfer and a reliable and fast hand off protocol.
Two trials were performed
Straight path along the axis of overlapping between the two MSSPs
Horizontal travel trial was to test the loop time of vehicle commands, and its variance
Vertical travel was to quantify the level of cross track error along a straight path
Once the multi-unit system was tested to be operational, the accuracy metrics were declared such that the success of the IEA system could be quantified.
Pixel Error Quantification and Propagation
To test and quantify the error, multiple line markings at known distances from the MSSP unit crossed through the edges of the overlapping area.
At this intersection, a simple thresholding produced a binary representation of these levels. At this point, each edge of the overlap area could be compared and found to be pixel error.
Time Delay and MSSP Selector Analysis
Variation in loop time can affect the vehicle’s real-time control capability.
The dynamic trial was ran to determine if actively switching MSSP units slowed the loop time or not, and the results showed identical average loop times.
Cross-track Error Analysis
Cross track error at each sample is defined as the orthogonal distance to the desired path (straight or otherwise) from the vehicle's current location.
Using a straight path, cross track error can quantify the sufficiency of both vehicle controller and MSSP fusion.
The average cross track error for the segmented dataset was less than 12 centimeters for the straight path.
During the progression towards reaching the research requirements, simply stated as an operational IEA system with non-detrimental levels of error, certain specifics within the project stood out as notable achievements of operation
The implementation of a simple, drive-by-wire vehicle being controlled wirelessly through a distributed network of statically mounted sensors and computation proved to operate with consistent and reliable commands, with a loop time standard deviation less than 8 percent
A single, simple identifier, in this case a checkerboard, enabled fused perceptions that accurately tracked, and in turn, controlled an autonomous vehicle with a small cross track error (+/## 0.12m CTE).
Efficiency of the implemented A* algorithm enabled use of realtime processing for control applications with obstacle avoidance and path planning
Confidence algorithms were successfully developed for effective detection hierarchy and used in a series of selector logic for shared control
The main objective of this research was to develop an infrastructure based platform, which enabled autonomous cars to safely navigate an environment
Conclusion
The successful implementation and testing of the horizontal and vertical configurations produces the outputs to look deeper at the outcome of this IEA system's ability to control a vehicle within its environment.
In highly congested areas of autonomous vehicles, using less hardware, bandwidth, energy, and money to maintain a controlled environment for a vehicle to operate in
Wireless commands can sufficiently operate a vehicle in a limited agent environment, and do not bottleneck the system
A simple drive by wire vehicle could be controlled in the absence of expensive and power hungry computing and sensing
Continuing the development has its advantages
Adding a local planner could offload computation time from the A* algorithm by only being called when the path is obstructed
Planning for particular turning radius' could increase the path tracking for curved paths, and increase reaction time for obstacle avoidance
Moving out of the current testing environment, full scale, outdoor testing would give further insights on the deployability of system
Further sensor fusion increases detection, tracking, and classification redundancy and reliability
In order to maintain high standards of safty in the autonomitive industry, it is imperative the engineer continue to pursue noval, new approaches.
Embodying this can be done through continued research, development, testing, and a general pursuit of learning.