DEV Community

I am c++ coder in autonomous vehicle developing, Ask Me Anything!

sunbingfeng on August 14, 2018

Collapse
 
kostassar profile image
Kostas Sar

Hello!

Is car to car communication included in your work? (Not referring to driver to driver, but machine to machine)

Do you think cars should be connected on the same grid to communicate with each other about position, speed, route, junction priority, etc? And not only rely to external sensors for the immediate surroundings.

Collapse
 
igormp profile image
Igor Moura

As someone who works in the area, I can tell you that there's a lot of work going on into inter-vehicle communication, but one of the biggest problems is getting into a consensus between the many standards inside each manufacturer (which are also covered into tons and tons of NDAs).

Collapse
 
sunbingfeng profile image
sunbingfeng

Yeah, indeed many standards exist yet, and many manufacturers push their own standard only for business profit.

But I think maybe in 5 or more years, these all will merge to one.

Collapse
 
shayd16 profile image
Shayne Darren

I always thought this would be useful, not only in autonomous situations, but when manually driving as well. Maybe an alert when 2 vehicles are approaching a blind bend around the same time.

Collapse
 
igormp profile image
Igor Moura

I hope I'm not late to the party, I've got some questions for you :)

1- How do you communicate with the vehicle itself? Through OBD? Straight into CAN? Are you using open/easily available stuff or relying on manufacturers' manuals that are under NDA?

2- What kind of hardware are you using to do the communication between your computing device and the car itself?

3- Is your solution generic for any vehicle, or it's tightly coupled to a specif car/brand? (gotta love them Fords in that area)

4- What kind of hardware are you doing to do the work in loco? A raspberry, a regular x86 machine or one of those fancy Nvidia boards?

5- Software-wise, are you using something out of the shelf like OpenCV or something made in-house?

6- Have you faced any legal problems?

7- How do you like the work the guys at Comma.ai have come up with up to now? Is it helpful to you in anyway?

8- Mind telling us your company and about it's business model? How do you guys plan on getting revenue with that, or are you just some kind of R&D firm?

Wew, now that I look at it, it's almost an interview lol

Collapse
 
sunbingfeng profile image
sunbingfeng

Haha, thanks for your great interest, but a little sorry for that.

You asked me many about company things, and I can't tell you any more.

But what I can say is that:

  • Usually we use CAN bus to communicate with vehicle and hardware nodes.
  • We used OpenCV to handle some vision problems, it's useful.
  • Comma.ai used lidar solution. It's a general solution, but expensive, thus is different with ours.

Finally, hope you will pass the interview, good luck.

Collapse
 
igormp profile image
Igor Moura

Don't worry, I expected that you'd answer that, I know very well the usual secrecy around that market, but it was worth a shot anyway heh.

But thanks for your answers nonetheless :)

Collapse
 
maxdepas profile image
maxdepas

Hi, I want to learn more about this field and work as Engineer. What kind of method or algorithm I must learn in C++? and where can I learn to program in C++ for autonomous vehicle?
thanks for yr help

Collapse
 
sunbingfeng profile image
sunbingfeng

Hi, first you must choose one sub-field in autonomous vehicle engineering, such as perception, localization, plan & control etc, according to your interest.

To master C++ well, you should have a solid foundation in computer science, such as data structures and algorithms. These are general knowledges and not specified only to C++.

Effective C++ series are recommended for you, Scott Meyers Effective C++.

And refer to cpp reference whenever you have any syntax issues.

May it help!

Collapse
 
presto412 profile image
Priyansh Jain

Hey, what is the best resource for learning modern c++? I want to be able to read the production code written in C++. I know older c++ well, pointers and like, classes, none of the new stl libraries and templates though.

Collapse
 
sunbingfeng profile image
sunbingfeng

Hello, I recommend you to search C++ reference manual usually whenever you have trouble about some class or templates. It always provides example codes for use, and I think it's the most effective tool for C++ programmers.

Also there's a official tech blog where you could find many useful modern C++ tricks.

Finally, codeproject also has many valuable posts worthy to have a look.

I hope it will help you somehow!

Collapse
 
aswathm78 profile image
Aswath KNM

Hey Man,

Tesla uses only cameras' for vision. What do you think about that ? Someone else does it ?

Collapse
 
sunbingfeng profile image
sunbingfeng

Hi Aswath,

Tesla uses computer vision and some other sensors to do autopilot, such as sonar and millimeter-wave radar.

I think this solution is price competitive, and much more possible to launch than lidar ones.

Collapse
 
aswathm78 profile image
Aswath KNM

Thanks man!!!

Collapse
 
andy profile image
Andy Zhao (he/him) • Edited

What are your thoughts on autonomous vehicles capable of being hacked, or other security concerns that the general public has?

Collapse
 
sunbingfeng profile image
sunbingfeng

This is a quite important thing to concern, and I do not think any new famous startup companies have ever tried to make any effort to fix it, and it will become a high-level topic in the near future.

It's worthy to work with the highest concern!

Collapse
 
derast profile image
derast • Edited

What are the top 4 technology to know to be autonomous vehicle programmer?
e.g c++, opencv...

Collapse
 
sunbingfeng profile image
sunbingfeng

Hi, that depends.

If you work on computer vision, you should know opencv, eigen, ceres-solver etc.

Collapse
 
bertilmuth profile image
Bertil Muth

How much are you confronted with legal or ethical issues, and safety concerns?

Collapse
 
andrewlucker profile image
Andrew Lucker

Do you have dependencies forcing you to use C++, or did you choose that language?

Collapse
 
sunbingfeng profile image
sunbingfeng

Library dependency is not the main reason.

But indeed, many sensor manufactures only provide C++ interface to access it, and it's more reasonable to choose C++ as the main language.

Collapse
 
zmujahid profile image
zmujahid

Hi sunbingfeng!

I wanted to make an eye tracking system for autonomous vehicles, what are your ideas about it?

Thanks, and Best Regards

Collapse
 
tux0r profile image
tux0r

Why do you use C++ instead of more compact languages?

Collapse
 
sunbingfeng profile image
sunbingfeng

In my opinion, the main requirements to choose a language in this era are high performance and low latency, and C++ performs well.

Collapse
 
watch_your_mom profile image
Shell lee

你好 我现在的毕业项目是有关orb slam2的 但是我无法在mac上run起来😭😭 不知道能否获得你的email或者其他联系方式以便讨论?谢谢🙏!!

Collapse
 
sunbingfeng profile image
sunbingfeng

Hello,我去年在mac上编译orb slam2,可以run起来,我把我的修改放到我的个人github repo了,你参考下。

github.com/sunbingfeng/ORB-SLAM2-MAC

另外,这一年,orb slam2更新了很多内容,我后面就没有跟进了。

不知道能不能解决你的问题,希望对你有用吧。