(Artikel von Forbes aus dem Jahr 2019)
Brad Templeton mit einer frühen Version des Stanford Robocar.Über den Autor: Brad Templeton ist ein Software-Ingenieur, seit 2007 ein Roboterauto-Evangelist, und arbeitete in seinen frühen Jahren bei Google. Gründer von ClariNet , Ehrenvorsitzender der Electronic Frontier Foundation und Direktor des Foresight Institute , Gründer der Fakultät der Singularity University .Es ist schwierig, die Regeln der offenen Entwicklung oder der Erfindungen von Amateuren einzuhalten, wenn Sie einen 1,3 Tonnen schweren Roboter bauen und ihn auf die Straße zwischen Fußgängern schicken. Trotzdem sind Amateur-Innovatoren für jede sich entwickelnde Technologie sehr wichtig. Wie löse ich den Widerspruch?
In letzter Zeit gab es einige interessante Ankündigungen im Bereich der Open Source-Entwicklung.
- Cruise öffnete den Quellcode für Worldview, einen Roboter-Visualisierer . Mit diesen Tools können Sie auf einfache Weise grafische Darstellungen von Sensoren, sensorischen Bereichen und anderen Daten erstellen, um zu verstehen, was Ihre Maschine sieht und tut.
- Uber veröffentlichte auch sein AVS-Toolkit für eine ähnliche Visualisierung.
- Baidu hat vor einiger Zeit das Apollo-Projekt veröffentlicht , das einen vollständigen Satz an Werkzeugen und einen Simulator enthält.
Open-Source-Pakete von UDacity, EB Robinos, Autoware, Nvidia und comma.ai wurden ebenfalls veröffentlicht. Und obwohl wir uns noch nicht auf dem Niveau befinden, auf dem Sie eine Reihe von Tools herunterladen und ein Amateurauto erstellen können, wird diesmal der Fall sein.
Ich habe eine lange Geschichte in der Arbeit mit Open-Source-Tools und ich habe mehrere Open-Source-Softwarepakete unter freien Lizenzen veröffentlicht. Als Vorsitzender der Electronic Frontier Foundation habe ich oft die Rechte solcher Software verteidigt.
Mithilfe dieser Tools können Entwickler schneller arbeiten und gemeinsam die besten autonomen Autos entwickeln. Dies gilt insbesondere für die Tools zur Erstellung von Software für Robotermaschinen, da ein starker Anreiz für die Zusammenarbeit in diesem Bereich besteht. Teams werden nützliche Open-Source-Komponenten in ihre Maschinen integrieren, sofern die Lizenzen dies zulassen. Einige Teams werden sogar in der Lage sein, Fahrzeuge vollständig mit Open Source zu erstellen. Es gibt Beispiele für Open Source-Projekte, die weitaus teurere Geschäftsinitiativen übertreffen. Darüber hinaus gibt es gute Gründe zu argumentieren, dass Open Source-Tools sicherer sein können, da jedes Teil der Kontrolle der ganzen Welt unterliegt. Natürlich sehen Angreifer die Quelle und dies kann ihnen beim Auffinden von Schwachstellen helfen, aber es gibt viel mehr gute Leute, die diesen Code auch sehen und daran arbeiten, ihn zu schützen.
All dies wird erwartet, aber es gibt auch ein Problem für eine Person, die der Star der Open-Source-Entwicklungsmethoden ist - Single-Master. Menschen, die Systeme verbessern, tun dies einfach, weil sie sie selbst verwenden und sie noch besser machen und ihre Erfolge teilen möchten. Diese Personen tragen die Hauptverantwortung für die meisten offenen Tools, die wir verwenden, obwohl einige wichtige und große Projekte natürlich von großen Teams mit professioneller Finanzierung erstellt wurden.
Können Sie Open-Source-Software mitnehmen, auf Ihren Computer herunterladen und beim Fernsehen selbstständig fahren? Können Sie sie ohne Fahrer arbeiten lassen, damit sie Sie abholen kann? Können Sie Änderungen an Ihren Wünschen vornehmen oder andere Modifikationen herunterladen und mit ihnen unterwegs sein? Dies ist eine viel kompliziertere Frage.
Die Leute machen diese Dinge die ganze Zeit in anderen Bereichen der Programmierung. Das Telefon unterscheidet sich jedoch stark vom Auto. Durch eine Sicherheitslücke in Ihrem Telefon können Angreifer auf Ihre persönlichen Daten und sogar auf Rechnungsinformationen zugreifen. Dies ist schwerwiegend. Aber die Verwundbarkeit in einem Auto kann Sie oder andere auf der Straße kosten.
Selbstzertifizierung
Heutzutage verfolgen die Aufsichtsbehörden eine Politik der Nichteinmischung. Und obwohl sie der Zeit voraus sind und Regeln für Technologien schaffen, die es noch nicht gibt, konzentrieren sie sich hauptsächlich auf die Bedingungen der Selbstzertifizierung für Maschinen, die von den Hauptakteuren auf dem Markt hergestellt werden.
Selbstzertifizierung bedeutet, dass das Unternehmen die Maschine testet und erklärt, dass sie die in den Regeln festgelegten Ziele und Sicherheitsanforderungen tatsächlich erfüllt, und dass Dritte oder der Staat dies nicht überprüfen. Wenn sich herausstellt, dass das Unternehmen einen Fehler begangen oder, noch schlimmer, die Einhaltung der Anforderungen gelogen hat, werden sie vor Gericht gefoltert. Idealerweise sollte dies eine Qual sein, die Unternehmen dazu motiviert, Tests noch besser durchzuführen als jeder Dritte oder Staat.
Es ist nicht so schwer. Die Wahrheit ist, dass niemand weiß, wie man ein unabhängiges Testzentrum erstellt, da nicht klar ist, was überprüft wird oder wie es funktionieren wird. Nicht einmal die Regierung selbst hat eine Ahnung. Für gewöhnliche Autos gibt es Tests, die gut verstanden werden, zum Beispiel Crashtests. Auch die Anzahl der Aspekte, die von externen Organisationen geprüft werden, ist von Land zu Land sehr unterschiedlich. Aber in den meisten Fällen wissen Menschen, die Autos oder Komponenten für sie herstellen, viel mehr über Sicherheitsüberprüfungen und -bestätigungen als jeder andere, und es ist eine wirksame Technik, die Hersteller zu Ehrlichkeit zu motivieren.
Bei Robotermaschinen können solche Tests nur durch eine eingehende Untersuchung der Software und ihrer Funktionsweise durchgeführt werden. Sie müssen dies vollständig verstehen, um dies zu tun. Es gibt mehrere universelle Tests, die von unabhängigen Labors durchgeführt werden können und die wirklich nützlich sind. Mit der Zeit werden mehr Tests und mehr Labors für sie auftauchen, aber die Entwickler werden neue Ansätze entwickeln, die nicht in die alten Tests passen. Standards und Regeln können allgemein anerkannte und kurzfristig relevante Techniken definieren und sind in einem sich schnell ändernden Bereich, in dem regelmäßig neue Ansätze erfunden werden, nicht sehr nützlich.
Wert
Obwohl die Selbstzertifizierung anscheinend das einzige System ist, das für einen einzelnen Master funktioniert, erfordern die Grundsätze dieses Systems leider, dass der Zertifizierer über ein ausreichendes Gewicht verfügt, um seine Ansprüche zu bestätigen. Eine Person hat in der Regel nicht die Mittel, um die Qual der fehlenden ordnungsgemäßen Zertifizierung zu vermeiden. Gruppen von Menschen können solche Situationen vermeiden, aber es ist selbst für sie schwierig. Tests sind auch dann teuer, wenn sie von Dritten zertifiziert wurden. All dies bedeutet, dass dies eine seltene Praxis ist, die rational nur für Software ausgeführt werden kann, die Tausende von Autos betreibt.
Auch wenn es ein Softwarepaket gibt, das als sicher zertifiziert ist, was ist, wenn Sie Änderungen daran vornehmen, die für wichtige Teile des Codes relevant sind, die sich auf die Sicherheit auswirken? Kannst du so ein Auto auf der Straße mit vielen Hindernissen herumfahren? Dies ist immer noch eine schwierige Frage.
Lösungen
Eine mögliche Lösung wäre der Abschluss einer Versicherung. Leider hat dies auch seine Schwierigkeiten. Höchstwahrscheinlich ist das Risiko höher als dasjenige, das von einer typischen modernen Versicherung abgedeckt wird. Versicherungsunternehmen haben auch keine Methoden, um festzustellen, wie gut Sie als Programmierer sind und wie sicher Ihre Änderungen sind.
Sie sollten in der Lage sein, Ihre Änderungen vorzunehmen und mit mindestens einer Person und wahrscheinlich zwei Testern, die die neue Software überwachen und bereit sind, bei Problemen die Kontrolle zu übernehmen, im sicheren Fahrmodus auf der Straße zu fahren. So werden Autos heute getestet; So war es auch mit dem Tesla-Autopiloten. Dies funktioniert, aber nur für ernsthafte Entwickler, die bereit sind, viel Zeit und Ressourcen zu investieren, und nicht für Amateure, die einfach nur Änderungen an der Software ihres Autos vornehmen möchten.
Es kann vorkommen, dass der Programmierer nach einer kleinen Überprüfung der Fahrsicherheit seine Änderungen an eine größere Organisation sendet, die diese Änderungen in seine Tests integrieren kann. Sie können Hunderte (nicht zusammenhängende) Änderungen von verschiedenen Entwicklern gleichzeitig testen. Diese Programmierer können die Kosten dafür aufteilen und nicht nur gemeinsam testen, um ihren Code auf das Niveau zu bringen, auf dem eine Zertifizierung möglich ist. Es ist jedoch immer noch teuer.
"Mentor"
Es ist auch möglich, eine Art Software-Mentor zu erstellen. Es kann sich um ein einfaches zertifiziertes Programm handeln, bei dem es sich um einen sicheren, automatisierten Fahrer handelt. Tatsächlich kann dieses Programm dem Kern eines anerkannten, hochzuverlässigen Systems entnommen werden, das über alle Sicherheitszertifikate verfügt. Ihre Maschine arbeitet auf einem eigenen modifizierten System, gleichzeitig überwacht der „Mentor“ ständig seine Arbeit. Wenn Ihr System etwas tut, das der Mentor nicht mag, übernimmt er die Kontrolle über sich selbst und fährt das Auto an einen sicheren Ort oder nach Hause.
Der Mentor wird vorsichtig fahren. Das bedeutet, dass Sie mit dieser Technik nichts Aggressiveres als dieses erstellen können. Wenn der Mentor sagt, dass Sie anhalten müssen, und Ihr Programm sagt, dass Sie gehen müssen, ist Ihr Programm deaktiviert. Human Management hat möglicherweise eine höhere Priorität als ein Mentor. Funktionen, für die mehr Berechtigungen erforderlich sind, als der Mentor vergeben kann, können nicht von einzelnen Mastern auf der Straße entwickelt und getestet werden, obwohl sie weiterhin in Simulatoren bearbeitet werden können.
Tatsächlich sind Simulatoren die Rettung für Hobbyingenieure, insbesondere angesichts der Tatsache, dass Simulatoren immer besser werden. Sie existieren, um schnell Probleme und erfolglose Lösungen in neuen Patches zu finden und um sicherzustellen, dass das Auto vor dem Fahren auf einer virtuellen Laufleistung von vielen Kilometern trainiert wurde.
Höchstwahrscheinlich sollte der Mentor auf einer zertifizierten Version derselben Open Source-Software basieren, die von einem Amateuringenieur modifiziert wurde. Und wenn der Programmierer feststellt, dass die Aktion, die der Mentor verweigert hat, tatsächlich sicher ist, kann er eine Fehlermeldung (und sogar eine Korrektur) senden, und letztendlich (wenn auch nicht sofort) kann der Mentor geschult werden mehr Verhalten in den getesteten Programmen.
Sicherheit ist ein besonderes Anliegen. Geänderte Software kann Sicherheitslücken aufweisen, durch die ein Angreifer die Kontrolle über einen Mentor erlangen kann. Wir brauchen einen Mentor, der effizient arbeitet. Ein weiteres Qualitätsniveau ist jedoch die Fähigkeit des Mentors, ein bösartiges Programm zu erkennen, das versucht, ihn auszutricksen. Jede Verwundbarkeit eines Mentors, die dazu führen könnte, dass er unsichere Aktionen zulässt, könnte ein Problem darstellen.
Das Bedürfnis nach Handwerkern
Wir brauchen diejenigen, die in der Automobilwelt als Handwerker oder in der Computerwelt als Hacker bezeichnet werden (die Verwendung des Wortes „Hacker“ im Sinne eines Computerkriminellen wird hauptsächlich außerhalb der Community von Software-Entwicklern verwendet. Innerhalb der Community hat dieses Wort dies Die gleiche Bedeutung wie der "Handwerksmeister" und der Experte für Computerkriminalität oder Hacking ist eine andere Art von Hacker. Alle großen Automobilunternehmen begannen ihre Reise als Handwerk. In vielen Staaten gibt es sogar Gesetze, die spezielle Ausnahmen von den üblichen Fahrzeugsicherheitsregeln für einzigartige Fahrzeuge vorsehen, die von Handwerkern erstellt wurden, sofern sie die grundlegenden Transportsicherheitsregeln einhalten. Und es funktioniert, vor allem, weil diese Fahrzeuge immer einen Fahrer haben und dies in der Regel ihr Schöpfer ist. In der Software-Welt trugen Hacker (im nicht-kriminellen Sinne) einen großen Anteil an Innovationen bei.
Wir möchten sogar die Idee eines kleinen Autoherstellers unterstützen, der modifizierte Systeme für Robotermaschinen mit einem integrierten Mentor an interessierte Kunden vertreiben oder verkaufen kann. Im Gegensatz zu Kunden in anderen Bereichen gefährden diese nicht nur sich selbst, sondern auch andere Menschen. Innovationen erfordern auch kleine Unternehmen.
Einen Mentor wie den beschriebenen gibt es noch nicht. Aber es sollte in unseren Plänen sein, da die Welt der unbemannten Fahrzeuge ohne Innovationen von Handwerkern und Hackern weniger entwickelt und sicher sein wird als eine Welt, in der nur große Unternehmen einen Beitrag leisten können.

Über ITELMAWir sind ein großes
Automobilzulieferunternehmen . Das Unternehmen beschäftigt rund 2.500 Mitarbeiter, darunter 650 Ingenieure.
Wir sind vielleicht das leistungsstärkste Kompetenzzentrum in Russland für die Entwicklung der Automobilelektronik in Russland. Jetzt sind wir aktiv am Wachsen und haben viele offene Stellen (etwa 30, einschließlich in den Regionen) geöffnet, wie z. B. einen Software-Ingenieur, einen Konstrukteur, einen leitenden Entwicklungsingenieur (DSP-Programmierer) usw.
Wir haben viele interessante Herausforderungen von Autoherstellern und Sorgen, die die Branche antreiben. Wenn Sie als Spezialist wachsen und von den Besten lernen möchten, freuen wir uns, Sie in unserem Team zu sehen. Wir sind auch bereit, Know-how zu teilen, das wichtigste, was in der Automobilindustrie passiert. Stellen Sie uns Fragen, wir werden antworten, wir werden diskutieren.
Lesen Sie weitere nützliche Artikel: