Serious Autonomous Vehicles


  • Home

  • Archives

  • Tags

  • Search

what happens in automotive softwares

Posted on 2018-05-07 |

Backgroud:

Due to 6-year school experince in mechanics, I was native to jump into CAE position. But I have few willing with CAD, which is very fundemental to be a qualified Product-Design side engineer. so I am not.

So I am in a CAE tools support team, where I don’t directly design, mainly in enhancement, deployment etc, where understandthe old code, and write new function code, track bugs, system configure is enough.

even in the big CAE vendors companies(Altair, Dassult System), the new methodlogy invest is very possibly less than product integration and customer consultings.

what’s changing:

the trend of CAE tools in OEMs demenstrates less investment, not because CAE tools are less used, but the CAE methodlodgy/process is really mature; new trends are arising, e.g. connected vehicles(CV), smart city, autonomous vehicles(AV), all of which require different knowledge and mindset(from mechanical to EE/CS).

In 2017 Sep, I enrolled Udacity self-driving car, which gave some knowledge(openCV, deep learning, data fusion, object detect, plan algorithm), and the problems in AV. This field is so hot that openings around everywhere, basically California companies are high-demand, looking for a strong guy, AI expert, or senior automotive
engineer; while Michigan companies are old fasion, more on system integration level, and the required skills are random.

if it’s a turning point

while Udacity didn’t work for me and AV is too young to all-in invest.For a while I am actually back to CAE, tried to enjoy it. But bad news keep coming, less projects funded, and frustrated office environment, so I move on.

this time, IoT(connected vehicles) come to mind. it is really an old topic, since 2008 at college, IBM throw the big vision: smart earth to connect everything. Decades passed, finally the infrastructure, the application levels(transport, home, offices) are prepared-well.

Good for me, I track AGL, GENIVI open source projects for around a year already and had 8-months experience in mobile developement(RESTful, server-client model), all bring me some fresh idea in connected vehicles.

To study the automotive embedded software system, I tracked freeRTOS first, cause it’s easy since knowldege in Linux; about applications based on RTOS, however, I have no idea, e.g. vehicle dynamics, body/engine/
powertrain control components, sensors, algorithms. While they are new but not difficult, hopefully can be familar in short period.

softwares in connected vehicles

There are two sections: the vehicle development, including traditional control components, which requires professional knowledge in vehicle dynamics, ECU; Vehicle Infotainment(IVI)components, which is like mobile developement. this section already has standard architecture, e.g. AutoSar

secondly the vehicle to surroundings, either cloud device, peronsal mobile devices, or other vehicles. which requires: cloud infrastructures, communication protocol, security vendors, Android/IOS mobile apps, and IoT hardware vendors.

it’s a clear big market, also it presents more valuable to do business than to be an engineer in each small field. the reasons come to mind, 1)architecture is done, no big mind/theory updated ; 2) so all should be about products, the integration components to market products is virtual.

on-going

CAE softwares is heavy-math/numerical algorithms demanding; on the other side, embedded softwares is like enterprise Java, more on logic flow. As the population of mobile frameworks, and standarlization in automotive embedded system, the threshold suppose become lower. On the other hand, the dependence on suppliers’ libs and the test/release on hardwares may draw the life cycle of embedded software development longer.

To explore embedded softwares may not the right career path, but no doubt it’s good to know what’s happening there.

Finally, Either embrace the changing or wait it come to you, I mean, both are good stragies, maybe!

open source car control

Posted on 2017-09-05 |

OSCC Intro

github

it’s a modular using software to interface with a vehicle’s communication network and control systems.

functions: to send control commands to the vehicle, read control messages from the vehicle’s OBD-II CAN network,f and forward reports for current vehicle control state (e.g. steering angle, wheel speed)

sensors: steerng wheel torque sensor, throttle position sensor, brake position sensor

issues: not safe for spoofing CAN message, or hacking

firmware & hardware

application layer (API)

cs231 -- CNN in computer vision

Posted on 2017-07-24 |

what happend in high dimensional space?

Pixel-based distance on high-dimensional data can be very unintuitive.

Linear Classification

1) define a score function from image pixels to class scores. benefits, no need to store all data

2) SVM and Softmax

3) a loss function, measure the quality of a paricular set of parameters based on how well the induced scores agreed with the ground truth labels

optimization (SGD)

the loss function as a hihg-dimeonsional optimization landscape, in which trying to reach the bottom

BP

Rectified linear unit (ReLU)

Neural Networks

train a small network, the final loss are relatively few local minima, and easy to converge, but they are high loss; if train large network, there may many different solutions, but the variance in final loss is much smaller. –> all solutions are equally as good, rely less on the random initialization

in practice, use regularization tech to control overfit on large train network

Data Preprocessing

1) mean subtraction

2) normalization

3) PCA & whitening

4) weight initialization

5) regularization

5.1) L-norm regularization

5.2) Dropout

Hyperparamter optimization

1) initial learning rate

2) learning rate decay schedule

3) regularization strength (L2 penalty)

tips: decay learning rate over the period of training; search for good hyperparameters with random search

CNN

layers used to build ConvNet architectures:

1) Convolutional layer

2) ReLU layer

3) Pooling layer

4) Fully-connected layer

case study:

LeNet    
AlexNet
ZF Net
GoogleNet
VGGNet
ResNet

Visulization CNN

Transfer learning

1…1920
David Z.J. Lee

David Z.J. Lee

what I don't know

193 posts
51 tags
GitHub LinkedIn
© 2020 David Z.J. Lee
Powered by Hexo
Theme - NexT.Muse