Skip to content

Instantly share code, notes, and snippets.

@edecoux
Last active September 4, 2022 10:52
Show Gist options
  • Select an option

  • Save edecoux/1d7afd2b3468897eea1174a5168f70ae to your computer and use it in GitHub Desktop.

Select an option

Save edecoux/1d7afd2b3468897eea1174a5168f70ae to your computer and use it in GitHub Desktop.
INFRASTRUCTURE ENABLED AUTONOMY.md

Infrastructure Enabled autonomy

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.

Systems Mechanism and Design

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

Multi-Sensor Sensing Unit (MSSP) Design

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

Scaled Electric Vehicle

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.

Software Development

The software development within each MSSP can be segmented into Computer Vision, Map Generation, Path Planning, Path Tracking, Odometry, Confidence, and the MSSP Selector.

Computer Vision

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

Map Generation

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

Planning

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

Path Tracking

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

Odometry

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.

Confidence and MSSP Selection

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

Implementation

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

Accuracy and Error Analysis

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.

Research Outcomes

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

Summary and Conclusions

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

Further Study

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

Closing Remarks

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment