内容简介:Learn Autonomous Robots by:love_letter: Every day, you’ll receive an email with exclusive content on autonomous systems & artificial intelligence.:fast_forward: Get in the list
Self-Driving Cars — Managing a Project
Apr 18 ·7min read
Building a self-driving car is an intense activity. Most of the time, it’s not something a company does alone. In particular, I noted 3 different profiles we often communicate with during the development of a project.
Although I never had the title of “Project Manager”, I worked closely with 3 project managers, maintained and developed a relationship with two external providers, and managed a team of 7 interns in Perception.
It gave me a good understanding of project management, and I got to do the job myself.
If you’re considering becoming a self-driving car project manager, maybe you don’t know what to expect.
What does a self-driving car project manager do on a daily basis?
Given that there are now a lot of project management techniques (Agile, Scrum, …), I will only discuss the tasks and not the methods or tools used .
Also, as I worked in a startup environment, I will tell my story from this perspective.
Learn Autonomous Robots by joining the private mailing list .
:love_letter: Every day, you’ll receive an email with exclusive content on autonomous systems & artificial intelligence.
:fast_forward: Get in the list here .
or :fast_forward: Visit Online Courses here .
The project manager has a lot to do.
Here, I will identify every task and contact that role involves.
Developers
In a self-driving car, we rarely create a vehicle that can drive anywhere.
There is always a well-defined objective like “highway driving” or “food delivery in city centers”.
This objective has repercussions on the development of the vehicle.
The algorithms needed will depend on the vehicle’s tasks.
If a car drives in the city, it will need a traffic-light detection system.
It’s not the case on a highway.
The first role of the project manager is to be aware of that difference.
When we create a dating app and want to deploy it in a new city, there is not that much difference.
In a self-driving car, scaling is harder as it involves numerous new applications.
A self-driving car in Australia must develop a Kangaroo detection model.
A self-driving car in Canada must detect and segment snow regions.
The project manager must identify all these necessary tasks and communicate with the developers to make sure everything will be developed and tested in time.
It involves understanding the complete architecture of a self-driving car and elaborating on a schedule for every task.
In a self-driving car, a schedule is the hardest thing to define!
If you need a testing track, you might rent it for 2 days starting next month.
If the algorithm is 7 days behind schedule, everything else is at risk.
If the robotization is not completed in time, the localization cannot be tested or even developed.
Some modules involve being on the test track.
It is the case for localization as the developers must know exaclty how is the GPS doing around, what are the landmarks, …
For that, the developers need to be on the test track, and record scenarios.
Planning every task means you can anticipate problems. If the car has a battery problem during the tests, it must be fixed within 2–3 days. Otherwise, the developers will lose their time.
There is a need to understand technical challenges, and the manager will be even better if he does.
However, I have seen project managers who didn’t have a clue about algorithms and trusted the engineers.
It didn’t impact the projects that much in my experience.
I wouldn’t advise a manager not to know how a LiDAR works, or why we can’t update the car to the new Ubuntu release.
I would tell you the opposite.
Be very close to technical challenges as your way of communicating with the developers might help them rethink the situation and help you be better at estimating time.
When people have their nose to the grindstone, it’s good to have someone with an overview who can help.
- Having a 15–30 min chat every day with every developer will help solve these challenges faster and get you closer to reality.
More elaborated project management methods have been invented, I suggest you look into this .
On a larger scope, the project manager also works with various service providers, clients, and prospects.
Providers
Let’s take a startup whose mission is to develop an autonomous shuttle.If the startup doesn’t handle one aspect of the development, like robotization, it will need to outsource it.
The role of the project manager is to identify the provider, negotiate the price, and be sure that the hardware architecture will correspond to the algorithms.
If you’re a Computer Vision Engineer, you might know that the position of the camera is important for 3D rendering. If a camera has a certain lense, it will change the distance perception.
Everything matters.
From the type of sensors bought, to the position of each sensor.
The cooling system… Next to the heating computers and GPUs…
Mastering every aspect of a self-driving car robotization process is a difficult task that requires experience.
The providers you might have to deal with are:
- Robotization and Car Manufacturers :oncoming_automobile:
- Sensor providers :camera:
- Algorithms providers :computer:
When purchasing a sensor, you must be sure that the engineers know how to use it.
Let’s get into the reality of a startup that can’t afford to hire 50 engineers for each task. If your company already hires Engineers, the development will be influenced by their skills and wishes.
When purchasing algorithms, you must work closely with the team.
If your startup doesn’t have Computer Vision Engineers, and you need a lane line perception system, it’s a new project.
The startup can pay for developers, or pay for a solution.
Anyway, a lane line detection system is dependant on the type of environment it will drive, like almost everything else.
It means that the team will need to use the track to test their software too
It’s a time slot where you won’t be able to use the vehicle for any other task
As I said, making a schedule is a very difficult task, it requires a very good understanding of the technical challenges, as well as a good ability to anticipate problems.
Clients
The final type of contacts managers have are the clients.
A client gives the company money in exchange for a service or a product.
If the manager is in charge of the relationship with a client, he must be very aware of everything going on.
The relationship with the client is for a lot the hardest to take care of.
Clients can change their minds a lot.
They can suddenly want a feature they didn’t need the day before.
They can need to speed up deadlines to match a specific press event you didn’t know. The manager must be flexible enough so that a one day shift will not destroy everything.
Often, the deadline is set by the clients.
If the deadline is too short, the whole project might be very hard to plan.
Sometimes, the clients might need you to do things you don’t understand.
The trust the client has in the manager is essential.
If the client doesn’t feel safe with anyone else, he might ask the manager to be on the field every day…
It’s often not needed and can jeopardize the project.
Even if it’s not needed, it’s the client’s condition.
If the manager accepts it, it becomes a new problem to deal with.
The manager must:
- Satisfy the client
- But be sure that it doesn’t impact the project itself
Some additional tasks like negotiation might be needed, but in a startup, it’s often negotiated with the CEO directly.
Project Management is an essential task.A lot of companies think they don’t need a project manager because the developers can handle it. It’s simply impossible in a self-driving car startup. The jobs are all very different.
The final contact the project manager has is with his supervisors.Let’s not dive into details.
The manager must be able to keep up with the deadline and the schedule. The clients, providers, and developers are the 3 main people we can find.
Jeremy Cohen.
:love_letter: Subscribe to the private mailing list and learn autonomous robots every day!
:trolleybus: If you’d like to learn more about Self-Driving Cars, you can take my class SELF-DRIVING CARS: The guide to learn cutting-edge technologies that will change our lives !
:rocket: Or visit other courses here.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web开发权威指南
[美] Chris Aquino,、[美] Todd Gandee / 奇舞团 / 人民邮电出版社 / 2017-9 / 99.00元
本书在知名培训机构Big Nerd Ranch 培训教材的基础上编写而成,囊括了JavaScript、HTML5、CSS3等现代前端开发人员急需的技术关键点,包括响应式UI、访问远程Web 服务、用Ember.js 构建应用,等等。此外,还会介绍如何使用前沿开发工具来调试和测试代码,并且充分利用Node.js 和各种开源的npm 模块的强大功能来进行开发。 全书分四部分,每部分独立完成一个项......一起来看看 《Web开发权威指南》 这本书的介绍吧!