การสร้างอิมเมจ DockerHub | เวิร์กโฟลว์การทดสอบหน่วย | คุณภาพรหัสโซนาร์ |
---|---|---|
CARMA SM พัฒนาการวิจัยและพัฒนาเพื่อเร่งความพร้อมของตลาดและการใช้งานระบบขับขี่อัตโนมัติแบบร่วมมือ ขณะเดียวกันก็พัฒนาเทคโนโลยีการขับขี่อัตโนมัติด้านความปลอดภัย การรักษาความปลอดภัย ข้อมูล และปัญญาประดิษฐ์ โดยส่งเสริมการทำงานร่วมกันและการมีส่วนร่วมของชุมชนวิศวกรและนักวิจัยเพื่อพัฒนาความเข้าใจเกี่ยวกับระบบอัตโนมัติในการขับขี่แบบร่วมมือโดยใช้ซอฟต์แวร์โอเพ่นซอร์ส (OSS) และแนวปฏิบัติการจัดการโครงการที่คล่องตัว
CARMA เป็นแพลตฟอร์มที่ใช้ซ้ำได้และขยายได้สำหรับการควบคุมยานพาหนะอัตโนมัติ (AV) ที่เชื่อมต่อด้วย SAE ระดับ 2 โดยให้ API ทั่วไปที่สมบูรณ์สำหรับปลั๊กอินของบุคคลที่สามที่ใช้อัลกอริธึมการแนะนำยานพาหนะเพื่อวางแผนวิถีของยานพาหนะ เขียนด้วยภาษา C++ และทำงานในสภาพแวดล้อมระบบปฏิบัติการหุ่นยนต์ (ROS) บน Ubuntu แท่นดังกล่าวสามารถนำมาใช้ซ้ำได้กับยานพาหนะที่มีอุปกรณ์ครบครันหลากหลายประเภท การโยกย้ายได้เริ่มต้นจากกรอบงาน ROS 1 ไปยัง ROS 2
Readme นี้อัปเดต: 23 ตุลาคม 2020
การจัดการการเคลื่อนไหวของยานพาหนะแบบอัตโนมัติเกี่ยวข้องกับสามด้าน ประการแรกคือ การนำทางหรือที่เรียกว่า การแปลเป็นภาษาท้องถิ่น ซึ่งเป็นการกำหนดว่ายานพาหนะอยู่ที่ไหนในปัจจุบันโดยคำนึงถึงโลกและด้วยความเคารพต่อเส้นทางการเดินทางที่ต้องการ (เส้นทางที่วางแผนไว้) ประการที่สองคือ คำแนะนำหรือที่เรียกว่าการวางแผนวิถี ซึ่งรวมถึงกระบวนการพิจารณาว่ายานพาหนะจะเคลื่อนที่จากตำแหน่งปัจจุบันไปยังจุดหมายปลายทางอย่างไร จุดหมายปลายทางและเส้นทางจะถูกส่งไปยังอัลกอริธึมการนำทาง จากนั้นจะกำหนดวิธีปรับเปลี่ยนการเคลื่อนไหวของยานพาหนะได้ตลอดเวลาเพื่อให้เป็นไปตามเส้นทาง ด้านที่สามของการเคลื่อนที่ของยานพาหนะอัตโนมัติคือ การควบคุม ซึ่งครอบคลุมการสั่งงานอุปกรณ์ทางกายภาพของยานพาหนะเพื่อกระตุ้นให้เกิดการเปลี่ยนแปลงในการเคลื่อนที่ (สำหรับยานพาหนะทางบก โดยทั่วไปสิ่งเหล่านี้จะทำให้ล้อหมุนเร็วขึ้นหรือช้าลงและหมุนพวงมาลัย) ดังนั้นโซลูชันการนำทางจึงกลายเป็นอินพุตของฟังก์ชันการนำทาง และระบบการนำทางจึงกลายเป็นอินพุตของฟังก์ชันควบคุม ขณะที่ยานพาหนะเคลื่อนที่ ตำแหน่งของยานพาหนะจะเปลี่ยนไปอย่างเห็นได้ชัด ทำให้ฟังก์ชันการนำทางจำเป็นต้องอัปเดตโซลูชันอย่างต่อเนื่อง และวงจรจะวนซ้ำอย่างรวดเร็วเท่าที่จำเป็นเพื่อสร้างการเคลื่อนที่ของยานพาหนะที่ราบรื่นและแม่นยำ อัตราการวนซ้ำส่วนใหญ่จะถูกกำหนดโดยความเร็วที่คาดหวังของยานพาหนะ
CARMA Platform มอบฟังก์ชันการนำทางและคำแนะนำสำหรับยานพาหนะหลัก รวมถึงฟังก์ชันการควบคุมบางอย่าง ขึ้นอยู่กับฮาร์ดแวร์ตัวควบคุมระดับต่ำเพื่อให้ฟังก์ชันการควบคุมที่เหลือ เวอร์ชันปัจจุบันของแพลตฟอร์ม CARMA ให้อิสระ SAE ระดับ 3+ พร้อมทั้งการควบคุมความเร็วและพวงมาลัย
เอกสารประกอบการตั้งค่า การทำงาน และการออกแบบแพลตฟอร์ม CARMA สามารถดูได้ที่หน้า Confluence ของโครงการ สามารถดูเอกสารเพิ่มเติมได้ในหน้าเอกสารประกอบซอร์สโค้ดของ Doxygen
เวอร์ชันปัจจุบันและประวัติการเผยแพร่ของแพลตฟอร์มซอฟต์แวร์ CARMA: บันทึกประจำรุ่น CARMA
หมายเหตุโครงสร้าง Repo: ต้นแบบและพัฒนาสาขาของ repo นี้ (และ repos อื่น ๆ ทั้งหมดในองค์กร usdot-fhwa-stol GitHub) ตอนนี้สะท้อนถึงโค้ดและเอกสารประกอบ CARMA รุ่นที่สามที่เรียกว่า CARMA3 ใช้ Autoware เพื่อมอบความสามารถอัตโนมัติระดับ SAE 2 และ 3 รหัส CARMA2 เดิมยังคงได้รับการสนับสนุน FHWA ใช้กันอย่างแพร่หลายในระหว่างปี 2018 สำหรับการทดลอง SAE ระดับ 1 หากต้องการทำงานกับฐานโค้ดนั้น โปรดตรวจสอบสาขาการรวม CARMA2 และทำการร้องขอการดึงข้อมูล (โดยใช้กระบวนการสนับสนุนที่อธิบายไว้ด้านล่าง)
หมายเหตุเวอร์ชัน ROS: รุ่น 3.11 เป็นเวอร์ชันสุดท้ายของแพลตฟอร์ม CARMA ที่มีโค้ด ROS1 เท่านั้น สาขาที่กำลังพัฒนาและเวอร์ชันในอนาคตจะมีโค้ด ROS1 และ ROS2 ผสมกันในระบบผสมจนกว่าโค้ดทั้งหมดจะได้รับการพอร์ตไปยัง ROS2 โดยสมบูรณ์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับระบบนี้และความพยายามในการโยกย้าย ROS2 ในการบรรจบกันได้ที่นี่: เอกสาร ROS2 ของแพลตฟอร์ม CARMA
สามารถดูทิศทางการพัฒนาระบบนิเวศของ CARMA ในปัจจุบันและแผนการเผยแพร่ได้ที่นี่: แผนงานของ CARMA
ระบบแพลตฟอร์ม CARMA ปัจจุบันทำงานเป็นลูกผสมของส่วนประกอบ ROS 1 Noetic และ ROS 2 Foxy แม้ว่าส่วนประกอบเกือบทั้งหมดได้รับการอัปเกรดเป็น ROS 2 Foxy แล้ว แต่เนื้อหา ROS 1 Noetic จำนวนเล็กน้อยยังคงมีอยู่ในระบบ รวมถึงแพ็คเกจบางส่วนในพื้นที่เก็บข้อมูลนี้ สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารที่เกี่ยวข้องในพื้นที่เก็บข้อมูล carma-config
เอกสารประกอบจะอธิบายสถาปัตยกรรมซอฟต์แวร์ภายในรถยนต์ CARMA คันเดียว อาจมียานพาหนะหลายคันที่ปฏิบัติการพร้อมกัน โดยสื่อสารกันผ่าน DSRC หรือวิธีเซลลูล่าร์ พวกเขายังสามารถสื่อสารกับโครงสร้างพื้นฐานริมถนนโดยใช้ DSRC หรือเซลลูลาร์ อย่างไรก็ตาม การสื่อสารระหว่างส่วนประกอบซอฟต์แวร์ภายในยานพาหนะคันเดียว ส่วนใหญ่จะกระทำผ่านกรอบระบบปฏิบัติการหุ่นยนต์ (ROS) ไม่มีการสื่อสาร ROS ระหว่างยานพาหนะใกล้เคียง สถาปัตยกรรมระบบ CARMA3
สำหรับข้อมูลเกี่ยวกับสถาปัตยกรรม CARMA2 โปรดดูสถาปัตยกรรมระบบ CARMA2
โปรดดูหน้าเอกสารการออกแบบรายละเอียดสำหรับข้อกำหนดการออกแบบโดยละเอียดสำหรับ CARMA และข้อมูลเพิ่มเติมอื่น ๆ หน้ารายละเอียดการออกแบบ
เอกสารการพัฒนาที่เป็นประโยชน์และคำแนะนำสำหรับการตั้งค่าสภาพแวดล้อมการพัฒนาสำหรับแพลตฟอร์ม CARMA สามารถดูได้ที่หน้าต่อไปนี้:
คู่มือนักพัฒนาปลั๊กอินสำหรับ CARMA3 จะมาในเร็วๆ นี้
สำหรับคำอธิบายแนวทางการพัฒนาปลั๊กอินสำหรับ CARMA2 โปรดดูคู่มือนักพัฒนา CARMA 2.7
คู่มือผู้ใช้สำหรับ CARMA3 จะมาในเร็วๆ นี้
สำหรับคำอธิบายฟังก์ชันเฉพาะของ CARMA2 บน Cadillac SRX โปรดดูคู่มือผู้ใช้ CARMA
คู่มือผู้ดูแลระบบสำหรับ CARMA3 จะมาในเร็วๆ นี้
สำหรับข้อมูลการดูแลระบบบน CARMA2 รวมถึงการกำหนดค่าพีซีของยานพาหนะและนักพัฒนา การสร้าง การปรับใช้ และการทดสอบที่จำเป็นในการติดตั้งและรันแพลตฟอร์ม CARMA โปรดดูคู่มือผู้ดูแลระบบ
CARMA Platform SM เป็นแพลตฟอร์มซอฟต์แวร์โอเพ่นซอร์ส (OSS) ที่ดาวน์โหลดได้ ซึ่งออกแบบมาให้ขยายและนำกลับมาใช้ใหม่ได้เพื่อวัตถุประสงค์ในการวิจัยที่หลากหลายเพื่อพัฒนานวัตกรรมสำหรับระบบอัตโนมัติในการขับขี่แบบร่วมมือกัน ช่วยให้สามารถสื่อสารระหว่างยานพาหนะ ผู้ใช้ถนน เช่น คนเดินเท้า นักปั่นจักรยาน และสกู๊ตเตอร์ และอุปกรณ์โครงสร้างพื้นฐานที่สามารถสื่อสารได้ โดยส่งเสริมการทำงานร่วมกันระหว่างชุมชนวิศวกรและนักวิจัยเพื่อเร่งการพัฒนา การทดสอบ และการประเมินระบบขับขี่อัตโนมัติแบบร่วมมือ ในขณะเดียวกันก็พัฒนาความปลอดภัย การรักษาความปลอดภัย ข้อมูล และการใช้ปัญญาประดิษฐ์ในเทคโนโลยีการขับขี่แบบอัตโนมัติ
แพลตฟอร์ม CARMA ได้รับการแจกจ่ายเป็นชุดของแพ็คเกจอิสระหลายชุดที่โฮสต์ในที่เก็บ Github ที่แยกจากกัน แพ็คเกจเหล่านี้อำนวยความสะดวกในการทำงานของแพลตฟอร์ม CARMA ด้วยการกำหนดค่าฮาร์ดแวร์ที่แตกต่างกันหรืออนุญาตให้รองรับโหมดการทำงานที่แตกต่างกัน หากต้องการรวมหนึ่งในแพ็คเกจเหล่านี้ไว้ในบิลด์ของระบบแพลตฟอร์ม CARMA ของคุณ โปรดโคลนพื้นที่เก็บข้อมูล Github ลงในโฟลเดอร์ src/
พื้นที่ทำงาน Catkin เดียวกันกับที่เก็บข้อมูลนี้ ระบบ Catkin build จะตรวจสอบว่าการขึ้นต่อกันได้รับการแก้ไขอย่างเหมาะสม และสร้างแพ็คเกจที่รวมใหม่เมื่อคุณรัน catkin_make
ครั้งถัดไป รายการแพ็คเกจที่พร้อมใช้งานสำหรับ CARMA3 ที่ไม่สมบูรณ์ประกอบด้วย:
สามารถดูรายการแพ็คเกจทั้งหมดได้ที่องค์กร USDOT FHWA STOL Github
CARMA Cloud SM คือบริการซอฟต์แวร์โอเพ่นซอร์สบนคลาวด์ (OSS) ที่สามารถดาวน์โหลดได้ ซึ่งให้ข้อมูลเพื่อสนับสนุนและเปิดใช้งานระบบอัตโนมัติในการขับขี่แบบร่วมมือกัน ช่วยให้สามารถสื่อสารกับบริการคลาวด์และยานพาหนะ ผู้ใช้ถนน เช่น คนเดินเท้า นักปั่นจักรยาน และสกู๊ตเตอร์ และอุปกรณ์โครงสร้างพื้นฐานที่สามารถสื่อสารได้ โดยส่งเสริมการทำงานร่วมกันระหว่างชุมชนวิศวกรและนักวิจัยเพื่อเร่งการพัฒนา การทดสอบ และการประเมินระบบขับขี่อัตโนมัติแบบร่วมมือ ในขณะเดียวกันก็พัฒนาความปลอดภัย การรักษาความปลอดภัย ข้อมูล และการใช้ปัญญาประดิษฐ์ในเทคโนโลยีการขับขี่แบบอัตโนมัติ ซอร์สโค้ดสำหรับ CARMA Cloud สามารถพบได้ที่นี่บน GitHub
ยินดีต้อนรับสู่คู่มือการมีส่วนร่วมของ CARMA โปรดอ่านคู่มือนี้เพื่อเรียนรู้เกี่ยวกับกระบวนการพัฒนาของเรา วิธีเสนอคำขอดึงและการปรับปรุง และวิธีการสร้างและทดสอบการเปลี่ยนแปลงของคุณกับโปรเจ็กต์นี้ คู่มือการมีส่วนร่วมของ CARMA
โปรดอ่านจรรยาบรรณของ CARMA ซึ่งสรุปความคาดหวังของเราสำหรับผู้เข้าร่วมในชุมชน CARMA รวมถึงขั้นตอนในการรายงานพฤติกรรมที่ยอมรับไม่ได้ เรามุ่งมั่นที่จะมอบชุมชนที่เป็นมิตรและสร้างแรงบันดาลใจให้กับทุกคน และคาดหวังให้ปฏิบัติตามจรรยาบรรณของเรา ใครก็ตามที่ละเมิดจรรยาบรรณนี้อาจถูกแบนจากชุมชน
ทีมพัฒนาขอขอบคุณผู้ที่มีส่วนร่วมโดยตรงต่อการออกแบบและโค้ดในพื้นที่เก็บข้อมูลนี้ การระบุแหล่งที่มาของ CARMA
ด้วยการบริจาคให้กับ Federal Highway Administration (FHWA) Connected Automated Research Mobility Applications (CARMA) คุณยอมรับว่าการบริจาคของคุณจะได้รับใบอนุญาตภายใต้ใบอนุญาต Apache License 2.0 ใบอนุญาตคาร์มา
เอเจนซี่: DOT
คำอธิบายโดยย่อ: แอปพลิเคชันการเคลื่อนที่เพื่อการวิจัยระบบอัตโนมัติแบบร่วมมือ (CARMA) เป็นแพลตฟอร์มซอฟต์แวร์โอเพ่นซอร์ส (OSS) ที่ทำงานบนคอมพิวเตอร์ภายในยานพาหนะ และคอมพิวเตอร์โต้ตอบกับอุปกรณ์ของยานพาหนะเพื่อให้สามารถวิจัย พัฒนา และทดสอบยานพาหนะอัตโนมัติแบบร่วมมือกันได้ จากนั้นคอมพิวเตอร์จะให้ข้อมูลที่จำเป็นแก่ยานพาหนะเพื่อโต้ตอบและร่วมมือกับโครงสร้างพื้นฐานและยานพาหนะอื่นๆ ระยะที่ 1 ของโครงการนี้ได้ริเริ่มกองเรือ CARMA รุ่นต่อไปโดยการพัฒนาโครงสร้างพื้นฐานแพลตฟอร์มทั่วไปที่จะสนับสนุนวิสัยทัศน์เชิงกลยุทธ์ของ FHWA สำหรับ Cooperative Automated ระบบการขับขี่ (CADS) ระยะที่ 1 ยังได้พัฒนา Integrated Highway Prototype (IHP) โดยการผสานรวมแอปพลิเคชันที่มีอยู่และยานพาหนะประเภทใหม่ นั่นคือรถบรรทุกหนัก เข้ากับกองยานพาหนะ CARMA แอปพลิเคชันห้ารายการต่อไปนี้เป็นสาขาการวิจัยที่สำคัญ: (1) หมวดยานพาหนะ (2) แนวทางและการออกเดินทางทางแยกที่มีสัญญาณ (3) การปรับประสานความเร็วตามโครงสร้างพื้นฐาน และ (4) การเปลี่ยนเลนแบบร่วมมือ และ (5) Cooperative Ramp Merge.Phase II ของโครงการนี้จะพัฒนา CADS ซึ่งได้รับการพัฒนาบนแพลตฟอร์มการวิจัย CARMA ของ FHWA เพื่อให้สามารถทดสอบกลยุทธ์อนุญาโตตุลาการและการเจรจาต่อรองได้ ท้ายที่สุดแล้ว โครงการนี้จะเพิ่มประสิทธิภาพโครงสร้างพื้นฐานและลดปัญหาการจราจรติดขัด หนึ่งในเป้าหมายของโครงการนี้คือการเร่งการถ่ายทอดเทคโนโลยีและการปรับใช้แอปพลิเคชันยานพาหนะที่ให้ความร่วมมือผ่านการทำงานร่วมกันแบบโอเพ่นซอร์สกับอุตสาหกรรมและผู้มีส่วนได้ส่วนเสีย โครงการนี้จะช่วยให้สมาคมวิศวกร (SAE) ระดับ 2 และระดับ 3 (L2/3) มีความสามารถในการทดสอบยานพาหนะขนาดเล็ก และพัฒนากองยานพาหนะหนัก SAE L2/3 จำนวน 4 คัน โครงการนี้ยังจะพัฒนาแนวคิดระดับสูงสำหรับการจัดการและปฏิบัติการระบบขนส่ง (TSMO) เกี่ยวกับการใช้เทคโนโลยีการขับขี่แบบอัตโนมัติ นอกจากนี้ โครงการนี้จะระบุสถานการณ์การจัดการเหตุการณ์การจราจร (TIM) ที่ให้การปรับปรุงกลยุทธ์และกลยุทธ์ใหม่สำหรับกรณีการใช้งานการเผชิญเหตุครั้งแรกที่โต้ตอบกับโฆษณาและการใช้โฆษณา ฝูงบิน FHWA ใหม่จะถูกใช้เพื่อสร้างต้นแบบสถานการณ์สำหรับแต่ละประเภทกรณีการใช้งานต่อไปนี้: (1) การเดินทางขั้นพื้นฐาน (2) โซนทำงาน (3) การจัดการเหตุการณ์การจราจร และ (4) สภาพอากาศ การทดสอบเหล่านี้จะให้ข้อมูลที่เป็นประโยชน์เพื่อแจ้งผู้มีส่วนได้ส่วนเสียเกี่ยวกับผลกระทบของ ADS และกลยุทธ์ที่เป็นไปได้ในการใช้ ADS เพื่อปรับปรุงการดำเนินงาน
สถานะ: เบต้า
Tags: การขนส่ง, การขับขี่อัตโนมัติแบบร่วมมือ, ยานพาหนะที่เชื่อมต่อ, ระบบการขนส่งอัจฉริยะ, C++, java, python, นักเทียบท่า
ชั่วโมงการทำงาน: 200
ชื่อผู้ติดต่อ: เจมส์ หลิว
โทรศัพท์ติดต่อ: (202) 366-3000
โปรดคลิกที่โลโก้ CARMA ด้านล่างเพื่อเยี่ยมชมเว็บไซต์ Federal Highway Adminstration (FHWA) CARMA สำหรับข้อมูลเพิ่มเติม โปรดติดต่อ [email protected]
สำหรับการสนับสนุนทางเทคนิคจากทีม CARMA โปรดติดต่อฝ่ายช่วยเหลือของ CARMA ที่ [email protected]