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

sunbingfeng on August 14, 2018

markdown guide


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.


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).


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.


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.


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


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.


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 :)


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.


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!


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


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!


Hey Man,

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


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.


What all open source projects do you use extensively?


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


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!


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


Hi, that depends.

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


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


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


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.


Hi sunbingfeng!

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

Thanks, and Best Regards


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


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


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


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


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



An autonomous car can move only in the front and reverse. There are two walls, one in df meter front of the car and the other dr meter back of the car. The car has forward speed sf m/sec and backward speed sr m/sec. The car moves forward and backward alternatively in each second.

At the start if the signal sg = 0, car starts moving in forward direction, otherwise if sg = 1, car starts moving in backward direction. Given the inputs df, dr, sf, sr and sg, out put following

(A) Whether car will collide with any of the wall

(B) Which wall?

(B) After how many seconds



I have a question. I’m searching a good book about coding and programming an autonomous vehicle in C++. Do u have any recommendations?


code of conduct - report abuse