DockerHub 이미지 빌드 | 단위 테스트 작업흐름 | 소나 코드 품질 |
---|---|---|
CARMA SM은 자율주행 기술 안전, 보안, 데이터 및 인공 지능을 발전시키는 동시에 시장 준비 및 협력 운전 자동화 배포를 가속화하기 위해 연구 개발을 진행합니다. 오픈 소스 소프트웨어(OSS)와 민첩한 프로젝트 관리 방식을 사용하여 협력 운전 자동화에 대한 이해를 높이기 위해 엔지니어와 연구원 커뮤니티의 협업과 참여를 장려합니다.
CARMA는 SAE 레벨 2 연결된 자율주행차(AV)를 제어하기 위한 재사용 가능하고 확장 가능한 플랫폼입니다. 이는 차량 궤도를 계획하기 위해 차량 안내 알고리즘을 구현하는 타사 플러그인을 위한 풍부하고 일반적인 API를 제공합니다. C++로 작성되었으며 Ubuntu의 ROS(로봇 운영 체제) 환경에서 실행됩니다. 플랫폼은 적절하게 장착된 다양한 차량에서 재사용할 수 있습니다. ROS 1 프레임워크에서 ROS 2로 마이그레이션이 시작되었습니다.
이 읽어보기 업데이트 날짜: 2020년 10월 23일
자동화된 차량 동작 관리에는 세 가지 측면이 포함됩니다. 첫 번째는 위치 파악이라고도 알려진 내비게이션 으로, 차량이 지구와 원하는 이동 경로(계획된 경로)를 기준으로 현재 어디에 있는지 결정하는 행위입니다. 두 번째는 궤적 계획이라고도 알려진 지침으로 , 차량이 현재 위치에서 목적지까지 어떻게 이동할지 결정하는 프로세스를 포함합니다. 목적지와 경로는 안내 알고리즘에 전달되며, 경로를 따르기 위해 언제든지 차량의 움직임을 어떻게 조정해야 하는지 결정합니다. 자동화된 차량 모션의 세 번째 측면은 제어 입니다. 이는 모션 변화를 유도하기 위해 차량의 물리적 장치의 작동을 포괄합니다(육상 차량의 경우 일반적으로 휠이 더 빠르게 또는 느리게 회전하고 스티어링 휠을 돌리게 됩니다). 따라서 내비게이션 솔루션은 안내 기능의 입력이 되고, 안내 솔루션은 제어 기능의 입력이 됩니다. 차량이 이동함에 따라 위치가 변경되므로 내비게이션 기능은 지속적으로 솔루션을 업데이트해야 하며, 주기는 부드럽고 정확한 차량 모션을 생성하는 데 필요한 만큼 빠르게 반복됩니다. 반복 속도는 주로 차량의 예상 속도에 따라 결정됩니다.
CARMA 플랫폼은 호스트 차량에 대한 내비게이션 및 안내 기능과 일부 제어 기능을 제공합니다. 나머지 제어 기능을 제공하는 것은 낮은 수준의 컨트롤러 하드웨어에 따라 다릅니다. CARMA 플랫폼의 현재 버전은 속도와 조향 제어를 모두 포함하여 SAE 레벨 3+ 자율성을 제공합니다.
CARMA 플랫폼의 설정, 운영 및 설계에 대한 문서는 프로젝트 Confluence 페이지에서 찾을 수 있습니다. 추가 문서는 Doxygen 소스 코드 문서 페이지에서 찾을 수 있습니다.
CARMA 소프트웨어 플랫폼의 현재 버전 및 릴리스 내역: CARMA 릴리스 노트
저장소 구조 참고: 이 저장소(및 usdot-fhwa-stol GitHub 조직의 다른 모든 저장소)의 마스터 및 개발 분기는 이제 CARMA3이라는 3세대 CARMA 코드 및 문서를 반영합니다. Autoware를 사용하여 SAE 레벨 2 및 3 자동화 기능을 제공합니다. 레거시 CARMA2 코드는 계속 지원됩니다. 이는 2018년에 SAE 레벨 1 실험을 위해 FHWA에서 광범위하게 사용되었습니다. 해당 코드 기반으로 작업하려면 CARMA2 통합 분기를 확인하고 여기에 풀 요청을 하세요(아래 설명된 기여 프로세스 사용).
ROS 버전 참고: 릴리스 3.11은 ROS1 코드만 포함하는 CARMA 플랫폼의 최종 버전이었습니다. 개발 브랜치와 향후 버전에는 모든 코드가 ROS2로 완전히 이식될 때까지 혼합 시스템에 ROS1과 ROS2 코드가 혼합되어 포함될 것입니다. 이 시스템과 Confluence에 대한 ROS2 마이그레이션 노력에 대해 자세히 알아볼 수 있습니다: CARMA Platform ROS2 Docs
현재 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에 대한 사용자 가이드가 곧 제공될 예정입니다.
Cadillac SRX의 CARMA2 관련 기능에 대한 설명은 CARMA 사용 설명서를 참조하세요.
CARMA3에 대한 관리자 가이드가 곧 제공될 예정입니다.
CARMA 플랫폼을 설치하고 실행하는 데 필요한 차량 및 개발자 PC 구성, 빌드, 배포 및 테스트 단계를 포함한 CARMA2에 대한 관리 정보는 관리자 가이드를 참조하세요.
CARMA 플랫폼 SM 은 협력 운전 자동화를 위한 혁신을 진전시키기 위해 다양한 연구 목적으로 확장 및 재사용이 가능하도록 설계된 다운로드 가능한 오픈 소스 소프트웨어(OSS) 플랫폼입니다. 차량, 보행자, 자전거, 스쿠터 등 도로 사용자, 통신이 가능한 인프라 장치 간의 통신을 가능하게 합니다. 이는 자율주행 기술에서 인공 지능의 안전, 보안, 데이터 및 사용을 발전시키는 동시에 협력 운전 자동화의 개발, 테스트 및 평가를 가속화하기 위해 엔지니어와 연구원 커뮤니티 간의 협력을 촉진합니다.
CARMA 플랫폼은 별도의 Github 저장소에서 호스팅되는 여러 독립 패키지 세트로 배포됩니다. 이러한 패키지는 다양한 하드웨어 구성으로 CARMA 플랫폼의 작동을 용이하게 하거나 다양한 작동 모드를 지원할 수 있도록 합니다. CARMA 플랫폼 시스템 빌드에 이러한 패키지 중 하나를 포함하려면 Github 저장소를 이 저장소와 동일한 Catkin 작업 공간 src/
폴더에 복제하십시오. Catkin 빌드 시스템은 종속성이 적절하게 해결되었는지 확인하고 다음에 catkin_make
실행할 때 새로 포함된 패키지를 빌드합니다. CARMA3에 사용 가능한 패키지의 불완전한 목록은 다음과 같습니다.
사용 가능한 패키지의 전체 목록은 USDOT FHWA STOL Github 조직에서 확인할 수 있습니다.
CARMA Cloud SM 은 협력 운전 자동화를 지원하고 활성화하기 위한 정보를 제공하는 다운로드 가능한 클라우드 기반 오픈 소스 소프트웨어(OSS) 서비스입니다. 클라우드 서비스 및 차량, 보행자, 자전거, 스쿠터 등 도로 사용자, 통신이 가능한 인프라 장치와의 통신을 가능하게 합니다. 이는 자율주행 기술에서 인공 지능의 안전, 보안, 데이터 및 사용을 발전시키는 동시에 협력 운전 자동화의 개발, 테스트 및 평가를 가속화하기 위해 엔지니어와 연구원 커뮤니티 간의 협력을 촉진합니다. CARMA Cloud의 소스 코드는 여기 GitHub에서 찾을 수 있습니다.
CARMA 기여 가이드에 오신 것을 환영합니다. 개발 프로세스, 끌어오기 요청 및 개선 제안 방법, 이 프로젝트에 대한 변경 사항을 구축하고 테스트하는 방법에 대해 알아보려면 이 가이드를 읽어보세요. CARMA 기여 가이드
CARMA 커뮤니티 내 참가자에 대한 기대 사항과 용납할 수 없는 행동을 보고하는 단계를 설명하는 CARMA 행동 강령을 읽어 보십시오. 우리는 모두를 환영하고 영감을 주는 커뮤니티를 제공하기 위해 최선을 다하고 있으며 우리의 행동 강령이 존중되기를 기대합니다. 이 행동 강령을 위반하는 사람은 커뮤니티에서 차단될 수 있습니다.
개발팀은 이 저장소의 디자인과 코드에 직접적으로 기여한 사람들에게 감사를 표하고 싶습니다. CARMA 속성
FHWA(Federal Highway Administration) CARMA(Connected Automated Research Mobility Application)에 기여함으로써 귀하는 귀하의 기여가 Apache License 2.0 라이선스에 따라 라이선스가 부여된다는 데 동의합니다. 카르마 라이선스
대행사 : DOT
간략한 설명: CARMA(협동 자동화 연구 모빌리티 애플리케이션)는 차량 내부의 컴퓨터에서 실행되는 OSS(오픈 소스 소프트웨어) 플랫폼으로, 컴퓨터는 차량 장치와 상호 작용하여 협동 자동화 차량 연구, 개발 및 테스트를 가능하게 합니다. 그런 다음 컴퓨터는 인프라 및 기타 차량과 상호 작용하고 협력하는 데 필요한 정보를 차량에 제공합니다. 이 프로젝트의 1단계에서는 협동 자동화에 대한 FHWA의 전략적 비전을 지원할 공통 플랫폼 인프라를 개발하여 차세대 CARMA 차량을 시작했습니다. 운전 시스템(CADS). 또한 1단계에서는 기존 애플리케이션과 새로운 차량 유형인 대형 트럭을 CARMA 차량에 통합하여 통합 고속도로 프로토타입(IHP)을 개발했습니다. 다음 5가지 응용 분야는 주요 연구 분야입니다: (1) 차량 군집 주행, (2) 신호화된 교차로 접근 및 출발, (3) 기반 시설 안내 속도 조화, (4) 협력 차선 변경, (5) 협력 램프 병합.Phase II 이 프로젝트는 중재 및 협상 전략을 테스트할 수 있도록 FHWA의 CARMA 연구 플랫폼에서 개발된 CADS를 발전시킬 것입니다. 궁극적으로 이 프로젝트는 인프라 효율성을 높이고 교통 혼잡을 줄일 것입니다. 이 프로젝트의 목표 중 하나는 업계 및 이해관계자와의 오픈 소스 협업을 통해 협동형 차량 애플리케이션의 기술 이전 및 배포를 가속화하는 것입니다. 이 프로젝트는 SAE(Society of Engineers) 레벨 2 및 레벨 3(L2/3) 경차량 테스트 기능을 활성화하고 4대의 SAE L2/3 대형 차량을 개발할 것입니다. 이 프로젝트는 또한 자율주행 기술 사용을 중심으로 TSMO(교통 시스템 관리 및 운영)에 대한 높은 수준의 개념을 개발할 것입니다. 또한 이 프로젝트에서는 ADS와 상호 작용하고 ADS를 사용하는 최초 대응자 사용 사례에 대한 전략 개선 및 새로운 전략을 제공하는 교통 사고 관리(TIM) 시나리오를 식별합니다. 새로운 FHWA 차량은 (1) 기본 여행, (2) 작업 구역, (3) 교통 사고 관리 및 (4) 날씨 등 각 사용 사례 범주에 대한 시나리오 프로토타입을 작성하는 데 사용됩니다. 이러한 테스트는 ADS의 영향과 운영 개선을 위해 ADS를 사용하는 가능한 전략에 대해 이해관계자에게 알리는 객관적인 데이터를 제공합니다.
상태: 베타
태그: 교통, 협력 운전 자동화, 연결된 차량, 지능형 교통 시스템, C++, java, python, docker
노동 시간: 200
담당자 이름: James Lieu
전화번호: (202) 366-3000
FHWA(Federal Highway Adminstration) CARMA 웹사이트를 방문하려면 아래 CARMA 로고를 클릭하세요. 자세한 내용은 [email protected]에 문의하세요.
CARMA 팀의 기술 지원을 받으려면 [email protected]로 CARMA 헬프 데스크에 문의하세요.