0.9.15
변경 사항
- 디지털 트윈(Digital Twins) 기능 버전 0.1 추가: 이제 OpenStreetMaps를 기반으로 자체 맵을 생성할 수 있습니다.
- NVIDIA Omniverse를 사용하여 SymReady Assets와의 호환성 추가
- 새로운 맵 추가: Town13 (대형 맵) 및 Town15
- 스펙테이터(spectator)의 역할 변경: 큰 맵에서 'ego_vehicle' 또는 'hero' 역할의 액터가 없을 때 타일과 액터를 로드하는 데 사용됩니다. 사용자들이 이 동작을 비활성화할 수 있도록
carla.WorldSettings()
에spectator_as_ego
를 추가했습니다. - TrafficManager Python API 함수에 키워드 인자 추가
- Windows에서 VS2022와 Ninja를 사용한 LibCarla와 osm2odr의 빌드 지원 추가
- 빈 액터 추가
- 감마 값이 2.4에서 2.2로 복원됨
- CarlaExporter 도구 개선: 객체에 박스 콜라이더나 컨벡스 콜라이더가 있으면 이를 내보내고, 없으면 메쉬를 내보냅니다.
- 보행자 AI 및 리플레이어 성능 향상: 약 10배 빠르게 개선되었습니다. 차량과 충돌할 때까지 충돌이 비활성화됩니다.
- 스펙테이터를 재생하지 않도록 하는 API 함수 추가:
Client.set_replayer_ignore_spectator(bool)
start_replaying.py
에서-move-spectator
플래그 사용
- 비 Unity 빌드 모드 노출:
make
에ARGS=--no-unity
를 전달하여 IWYU 유형의 오류를 찾아 수정할 수 있습니다. - 문서에 맵, 차량, 보행자 및 소품 카탈로그 추가
- CollisionSensor에 의해 감지된 충돌이 프레임당 하나 이상의 이벤트를 생성하지 않도록 수정
- 현재 맵과 다른 경우에만 맵을 로드하는 API 함수 추가
- 차선 변경 중 비정상적인 동작을 하던 차량의 TrafficManager 버그 수정
- 특정 상황에서 TM의 unstuck 로직이 차량을 잘못 제거하던 버그 수정
- DirectX 텍스처의 추가 데이터를 수정하여 이미지의 여분 바이트를 제거하기 위해 Windows에서 행별로 복사 필요
- CarlaExporter에서 65k 이상의 버텍스를 가진 큰 메쉬의 버텍스 수정
- 스트림이 준비되었는지 확인하도록 센서 수정 (레이스 컨디션 해결)
- 픽셀 배열이 올바르게 설정되지 않아 충돌하던
FPixelReader::SavePixelsToDisk(PixelData, FilePath)
함수의 버그 수정 - Python 3.10에서 잘못된 GIL 잠금으로 인해 발생하던 Python API의 세그먼트 오류 수정
- 여러
TilesInfo.txt
파일이 있는 경우 다른 파일을 사용할 수 있던 임포트 스크립트 버그 수정
0.9.14
변경 사항
- 간헐적으로 서버 세그먼트 오류를 일으키던 FrictionTrigger의 버그 수정
- 시네마틱 카메라를 위한 "SpringArmGhost" 부착 유형 추가: 충돌 테스트 없이 사용 가능합니다.
- 신호를 도로 밖으로 이동시키는 알고리즘 개선: 원하는 변위 방향을 계산합니다.
TrafficManager.vehicle_lane_offset(actor, offset)
및TrafficManager.global_lane_offset(offset)
메서드 추가- 맵을 빌드할 때 표시되던 일부 경고는 이제 디버깅 시에만 표시됩니다.
- 시맨틱 분할의 ID가 cityscapes와 동일하게 수정되었습니다 (레이블, ID 및 색상)
- 도로의 끝 지점에 있는 교통 신호가 종종 잘못된 웨이포인트를 생성하던 버그 수정
- 보행자 스켈레톤 프레임 수정: 때때로 몸체에서 벗어나 그려지던 문제 해결
- 맵을 가져올 때 데칼 수정: 다른 패키지에 있는 다른
.json
파일을 사용하던 문제 해결 - 멀티 GPU 모드에서 일부 센서는 항상 기본 서버에서 생성되도록 강제됨 (예: 충돌 센서)
- 100, 110 및 120 km/h의 속도 제한 추가
- 센서 소멸 수정: 이제 스트림과 소켓이 성공적으로 소멸됩니다.
Vehicle.get_traffic_light_state()
및Vehicle.is_at_traffic_light()
에서 차량이 녹색으로 변하기 전에 교통 신호로부터 정보를 일시적으로 잃지 않도록 하는 버그 수정- 자동 생성 지점의 높이 변경: 3m에서 0.5m로 변경
- 추가 데이터로 기록기에 보행자 스켈레톤 추가: 정확한 포즈로 재생됩니다.
- 멀티 GPU 기능 추가: 이제 여러 서버(전용 GPU 사용)가 동일한 시뮬레이션에 대한 센서를 렌더링할 수 있습니다.
Vehicle.get_traffic_light_state()
함수가 녹색에서 노란색, 노란색에서 빨간색으로 변할 때 상태 변화를 알리지 않던 버그 수정Vehicle.is_at_traffic_light()
함수가 교통 신호가 녹색일 때 거짓을 반환하던 버그 수정- 큰 맵에서 장면 조명이 잘못된 위치를 반환하던 버그 수정
world.ground_projection()
함수가 큰 맵에서 잘못된 위치를 반환하던 버그 수정- 차량에 실패 상태를 추가:
Vehicle.get_failure_state()
를 사용하여 가져올 수 있습니다. 현재는 롤오버 실패 상태만 지원됩니다. - 물리 엔진이 없는 차량이 이동되었을 때 TM이 시뮬레이션을 차단하던 버그 수정
- 자기 자신을 루프하는 짧은 도로를 이동할 때 TM이 시뮬레이션을 차단하던 버그 수정
- TM의 비신호 교차로 처리 개선: 전반적인 동작이 더욱 원활해졌습니다.
- 교차로 내부에 절차적 트리거 박스를 추가하지 않도록 검사 추가
- Python 에이전트는 이제
carla.Map
및GlobalRoutePlanner
인스턴스를 입력으로 받아 재계산할 필요가 없습니다. - Python 에이전트에 차선 변경 기능 추가
- Python 에이전트는 오프셋으로 인해 침범된 경우 인접 차선의 차량을 감지합니다.
- 주변에 여러 액터가 있을 때 Python 에이전트가 때때로 차단 액터를 감지하지 못하던 버그 수정
- 큰 맵에서 Python 에이전트의 성능 향상
Map.get_topology()
에서 버그 수정: 후속 차선이 없는 차선이 포함되지 않던 문제 해결- 새로운
ConstantVelocityAgent
추가 - TrafficManager에 새로운 매개변수 추가:
set_desired_speed
로 차량의 속도를 설정합니다. - 모든 차량에 4개의 새로운 속성 추가:
base_type
: 차량 분류에 사용됩니다. 가능한 값은car
,truck
,van
,motorcycle
,bicycle
입니다.special_type
: 차량에 대한 추가 정보를 제공합니다. 현재electric
,emergency
,taxi
로 제한되며, 모든 차량이 이 속성을 가진 것은 아닙니다.has_dynamic_doors
: 차량에 API를 사용하여 열 수 있는 문이 있는지 여부 (true
또는false
)has_lights
: 차량에 조명이 있는지 여부 (true
또는false
)
- 네이티브 아커만(Ackermann) 컨트롤러 추가:
apply_ackermann_control
: 차량에 아커만 제어 명령을 적용합니다.get_ackermann_controller_settings
: 마지막으로 적용된 아커만 컨트롤러 설정을 가져옵니다.apply_ackermann_controller_settings
: 새로운 아커만 컨트롤러 설정을 적용합니다.
- 하이브리드 모드 사용 시 Traffic Manager가 결정적이지 않던 버그 수정
NormalsSensor
추가: 노멀 정보가 포함된 새로운 센서- N개의 바퀴를 가진 차량 지원 추가
- 새로운 배치 명령 지원 추가:
ConsoleCommand
,ApplyLocation
(액터에 적용),SetTrafficLightState
- 새로운 API 함수 추가: LightManager에서
set_day_night_cycle
로 시뮬레이션이 낮에서 밤 모드로, 또는 그 반대로 변경될 때 조명의 자동 전환을 활성화/비활성화할 수 있습니다. - RPC
Command
에 대해boost::variant2
로 전환: 20개 이상의 RPC 명령을 허용합니다. - 비, 먼지 날씨에 대한 후처리 효과 추가
- 먼지 폭풍 날씨 매개변수를
bool
에서float
로 데이터 타입 변경 - 빌드 중 설치된 Clang 컴파일러 버전 확인 추가
- 센서의 GBuffer 텍스처에 직접 액세스할 수 있는 API 함수 추가:
listen_to_gbuffer
: 특정 GBuffer 텍스처에 대한 콜백을 설정합니다.
0.9.13
변경 사항
- 새로운 인스턴스 인식 시맨틱 분할 센서 추가:
sensor.camera.instance_segmentation
- 새로운 API 클래스 추가:
MaterialParameter
,TextureColor
,TextureFloatColor
로 텍스처 데이터 및 필드(노멀 맵, 디퓨즈 등)를 인코딩합니다. - 새로운 API 함수 추가:
apply_color_texture_to_object
,apply_float_color_texture_to_object
,apply_textures_to_object
로 런타임에 객체를 페인팅합니다. - Traffic Manager에서 RoadOption 요소를 사용하여 차량에 경로를 설정할 수 있는 옵션 추가
- 캐시에 현재 CARLA 버전과 함께 추가 폴더가 있습니다 (버전별 다른 캐시 사용)
set_percentage_random_left_lanechange
및set_percentage_random_right_lanechange
추가- Traffic Manager에서 매우 높은 속도로 주행할 때 충돌 처리 개선
- 차량 문의 물리적 시뮬레이션 추가: 열고 닫을 수 있습니다.
- 차량 문을 열고 닫는 기능 추가
- 3D 벡터에 API 함수 추가:
squared_length
,length
,make_unit_vector
,dot
,dot_2d
,distance
,distance_2d
,distance_squared
,distance_squared_2d
,get_vector_angle
- 2D 벡터에 API 함수 추가:
squared_length
,length
,make_unit_vector
- 보행자에 대한 시드를 추가하여 재현성 향상
- 새로운 API 함수
set_pedestrians_seed
추가 generate_traffic.py
스크립트에 새로운 매개변수-seedw
추가- 필요한 종속성
libomp5
를Release.Dockerfile
에 추가 - 보행자 뼈대를 다루기 위한 API 함수 추가:
get_bones
/set_bones
: 보행자의 뼈대를 가져오거나 설정합니다.blend_pose
: 사용자 정의 포즈를 현재 애니메이션과 블렌딩합니다.show_pose
/hide_pose
: 사용자 정의 포즈를 표시하거나 숨깁니다.get_pose_from_animation
: 현재 애니메이션 프레임으로 사용자 정의 포즈를 설정합니다.
- 클라이언트 측에서 보행자의 뼈대를 그리는 새로운 스크립트
PythonAPI/examples/draw_skeleton.py
추가 - Python 에이전트의 충돌 감지 개선
- Traffic Manager에
VehicleLightStage
를 추가하여 차량 조명을 동적으로 업데이트합니다. - PythonAPI/util에 두 개의 새로운 예제 추가:
- OpenStreetMaps를 OpenDRIVE 맵으로 변환하는
osm_to_xodr.py
- 맵 스폰 포인트를 추출하는
extract_spawn_points.py
- OpenStreetMaps를 OpenDRIVE 맵으로 변환하는
- 소품 없이 소품을 가져오는 문제 수정
- 차선 표시가 없는 맵을 사용할 때 글로벌 라우트 플래너 크래시 수정
- 기록 모드에서 차량이 환경 객체와 충돌할 때 서버가 세그먼트 오류를 일으키던 버그 수정
- RSSSensor 수정: 클라이언트 측 계산을 스레드화함
keep_right_rule
매개변수 수정
0.9.12
변경 사항
- Unreal Engine 4.26으로 업그레이드
- Windows에서 CARLA는 이제 Visual Studio 2019로 빌드됩니다.
- 옵티컬 플로우 카메라 추가
- Traffic Manager에서 캐시된 맵의 해상도를 0.1에서 5미터로 변경
- 차량 및 보행자에
generation
속성 추가 - CarSim 통합을 위한 Lincoln 2020 차량 치수 추가
- RPC 및 스트림 소켓에
no_delay
옵션 활성화 - CARLA는 이제 최신 RoadRunner 명명법과 호환됩니다.
- *도로(R
OAD_ROAD), 보도(ROAD_SIDEWALK) 등의 특별한 명명법은 자산 이름의 어느 위치에서든 사용할 수 있습니다.**
- 성능 벤치마크 스크립트 개선: 동기화, 맵 및 센서 선택 등
- 성능 향상: 물리학이 비활성화된 차량의 PhysX 상태를 제거했습니다.
- 많은 수의 코어를 가진 시스템에서 레이캐스트 센서의 병렬 처리 개선
manual_control
개선: 이제 카메라 위치가 차량 크기에 따라 설정됩니다.visualize_multiple_sensors
예제 추가check_lidar_bb
유틸 스크립트 추가- 클라이언트의
replay_file()
에replay_sensors
옵션 추가하여 센서의 재생 활성화/비활성화 - 필요한 클라이언트 파일이 서버에서 로컬 캐시로 전송됩니다 (OpenDRIVE, Traffic Manager 등)
make
임포트 프로세스를 확장하여 로드 페인터 재질을 적용합니다 (carla art tool)- 로드 페인터 재질을 적용하기 위한 사용자 지정 JSON 파일 생성 추가
- osm2odr에서 ProjString 구문 분석 오류 수정
- UE4용 익스포터 플러그인 추가로 Recast 계산을 위해 준비된 메쉬를 내보낼 수 있습니다.
- Chrono 라이브러리 추가로 차량 동역학 시뮬레이션 지원:
- JSON 차량 정의 지원
- 충돌 역학은 지원되지 않음
- CARLA에 대형 맵 기능 추가: 맵을 최대 2km x 2km의 정사각형 타일로 나눠서 가져올 수 있습니다. 대형 맵의 일부만 한 번에 로드할 수 있어, 주인공 차량에서 멀리 떨어진 액터들은 슬립 상태로 전환됩니다.
- 성능 벤치마킹 섹션을 문서에 추가
ApplyVehiclePhysicsControl
을 명령에 추가- Sublevel 로딩에서 플러시를 추가하여 Opt 맵에서 CARLA의 결정성을 증가
sumo_integration
모듈을 다른 스크립트에서 가져올 때 오류 수정is_within_distance_ahead
에서 API 변경으로 인한 에이전트 충돌 수정- FBX 이름에
_
가 포함된 경우 맵을 가져올 때의 버그 수정 carla.Transform.get_up_vector()
의 버그 수정- LiDAR 채널 포인트 수 버그 수정
- IMU 센서에서 일부 이상한 경우에
nan
값을 주던 문제 수정 apply_physics_control
및friction trigger
에서 버그 수정- 종횡 방향 및 종방향 강성에 대한 타이어 매개변수를
PhysicsControl
에 노출 - 로컬 플래너에서 글로벌 플랜을 설정할 때 웨이포인트 버퍼의 자동 채우기를 중지하는 것이 선택 사항이 되었습니다.
- 에이전트의 차량 감지를 개선하여 액터 바운딩 박스를 고려합니다.
- Python 에이전트 API 개선: 이전 동작이 개선되고 새로운 동작이 추가되어 에이전트의 기능이 향상되었습니다. 여러 버그도 수정되었습니다.
0.9.11
변경 사항
- HTML 태그를 마크다운 등가물로 변환하여 pandoc 도구에 사용할 수 있도록 문서 개선
- 문서의 FAQ 섹션을 최소한의 HTML을 사용하도록 리팩터링하고 깨진 레이아웃 수정
- 로컬 플래너에 측면 오프셋 추가
- Windows에서 DirectX 12로 업그레이드
- 시뮬레이터를 위한 새로운 코어 파이프라인 추가
- 카를라 설정에 컬링을 제어하는 매개변수 추가
- Traffic Manager에 결정적 모드 추가: 차량 ID별로 정렬하고 경쟁 조건을 피합니다.
- 휠 모양에 대한 충돌을 스위프할 수 있는 옵션 추가: 이를 위해 엔진 패치가 필요합니다.
- 클라이언트에서 물리학 서브스텝핑 옵션을 변경할 수 있는 가능성 추가
- 센서에
noise_seed
추가하여 난수 생성기 초기화 - API 확장:
actor.set_enable_gravity()
함수 추가: 액터에 영향을 미치는 중력을 활성화/비활성화합니다.- 새로운 맵에서 서브레벨링을 지원하는 경우 맵 레이어를 로드하고 언로드하는
load_map_layer
및unload_map_layer
추가 - 레벨에 배치된 모든 객체를 가져오는
get_environment_objects
호출 추가 - 레벨의 객체를 활성화/비활성화하는
enable_environment_objects
호출 추가 - 수평 FOV를 제한할 수 있는 라이다 센서에
horizontal_fov
매개변수 추가 - 월드 설정에
deterministic_ragdolls
추가하여 결정론적 또는 물리 기반 래그돌을 활성화
- RSSSensor Python3 빌드 및 OpenDRIVE 맵 가져오기 수정: ad-rss v4.2.0 및 ad-map-access v2.3.0으로 업데이트
- Python의 종속
ad
모듈의 가져오기가 C++ 인터페이스의 네임스페이스를 반영하고 doxygen 문서를 따릅니다. - IMU 및 카메라 기반 센서에서 센서 변환 및 센서 데이터 변환 불일치 수정
- 고속 프레임 속도에서 동기화 모드의 랜덤 데드락 수정
- Windows에서 태양 반사 아티팩트를 일으키던 버그 수정
waypoint.get_landmarks()
에서 s = 0일 때 일부 랜드마크를 놓치던 버그 수정- 보행자와 차량에 대한
actor.set_simulate_physics()
수정 - 카메라 기반 센서가 데이터 전송을 중지하던 버그 수정
- 레이캐스트 센서의 출력에 대한 결정론 부족 수정
- OpenDRIVE 맵 변환 시 누락된
laneChange
레코드 수정 - 시맨틱 라이다에서 액터의 ID를 반환하던 버그 수정
-config
매개변수를make package
에서 사용할 때 오류 수정- 패키지의 Xerces-c 라이브러리 종속성 수정
- 문서의 시뮬레이션 데이터 섹션에서 사소한 오타 수정
config.py
가.osm
파일을 적절한 utf-8 인코딩으로 읽도록 수정
0.9.10.1
변경 사항
- API 확장:
actor.set_enable_gravity()
함수 추가: 액터에 영향을 미치는 중력을 활성화/비활성화합니다.
- Windows에서 DirectX 12로 업그레이드
- Windows에서 태양 반사 아티팩트를 일으키던 버그 수정
- 보행자와 차량에 대한
actor.set_simulate_physics()
수정 - 카메라 기반 센서가 데이터 전송을 중지하던 버그 수정
- 패키지의 Xerces-c 라이브러리 종속성 수정
0.9.10
주요 내용
- 레벨의 모든 요소에 대한 바운딩 박스 검색 기능 추가
- Traffic Manager에 결정적 모드 추가
- Traffic Manager에서 막다른 길 지원 추가
- CARLA Docker 이미지를 Ubuntu 18.04로 업그레이드
- AD RSS v4.1.0으로 업그레이드하여 비구조화된 장면과 보행자 지원, spdlog를 v1.7.0으로 고정
- 교통 신호의 동결 동작 변경: 이제 모든 교통 신호에 동시에 영향을 미칩니다.
- 새로운 보행자 모델 추가
API 변경 사항
actor.set_velocity()
를actor.set_target_velocity()
로 이름 변경actor.set_angular_velocity()
를actor.set_target_angular_velocity()
로 이름 변경- RGB 카메라의 노출 모드가 이제 기본적으로 히스토그램으로 설정됨
API 확장
carla.Osm2Odr.convert()
함수 및carla.Osm2OdrSettings
클래스 추가: Open Street Maps를 OpenDRIVE로 변환 지원world.freeze_all_traffic_lights()
및traffic_light.reset_group()
추가client.stop_replayer()
추가: 리플레이어를 중지합니다.world.get_vehicles_light_states()
추가: 모든 차량의 라이트 상태를 한 번에 가져옵니다.- 상수 속도 모드 추가:
actor.enable_constant_velocity()
/actor.disable_constant_velocity()
- 모든 액터에 각속도를 추가할 수 있는 함수
actor.add_angular_impulse()
추가 actor.add_force()
및actor.add_torque()
함수 추가transform.get_right_vector()
및transform.get_up_vector()
함수 추가- 여러 차량 라이트 상태를 한 번에 설정하는 명령 추가
- 4x4 행렬 형태의 변환 추가
- 새로운 시맨틱 분할 태그 추가: RailTrack, GuardRail, TrafficLight, Static, Dynamic, Water, Terrain
- 가로등 및 빌딩 라이트에 고정 ID 추가
- 차량 라이트 및 가로등 데이터를 기록기에 추가
- 충돌 및 물리를 모든 차량에 대해 개선
- 이제 모든 센서는 멀티 스트림 지원: 동일한 센서를 다른 클라이언트에서 들을 수 있습니다.
- 새로운 시맨틱 LiDAR 센서 (
lidar.ray_cast_semantic
) 추가 open3D_lidar.py
추가: 더 친숙한 LiDAR 시각화 도구make
명령에 플러그인으로 기여 내용을 다운로드하는 옵션 추가 (make plugins
)SpringArm
이 부착된 액터의 'z' 축에 정확히 있을 때 경고 추가- 레이캐스트 기반 센서의 성능을 병렬화를 통해 개선
- LiDAR 센서의 각 포인트에 대한 강도의 근사치 추가
- 동적 비전 센서(DVS) 카메라 추가: ESIM 시뮬레이션 기반 (http://rpg.ifi.uzh.ch/esim.html)**
- LiDAR 및 레이더를 개선하여 차량의 모양과 더 잘 일치하도록 수정
- 추가 TraCI 클라이언트를 SUMO 코시뮬레이션에 대한 지원 추가
- 클라이언트에서 센서 데이터를 수집하는 것을 동기화하는 스크립트 예제 추가
- OpenDRIVE에서 레인 너비 파라미터가 누락된 차선에 대해 기본값과 경고 메시지 추가
- 독립 실행형 모드에서 보행자 내비게이션을 활성화/비활성화하는 매개변수 추가
- 독립 실행형 모드에서 메쉬 파티션 개선
- Unreal 프로젝트에 Renderdoc 플러그인 추가
- LiDAR 센서에 구성 가능한 노이즈 추가
- 사용되지 않는
platform.dist()
를 권장되는distro.linux_distribution()
으로 대체 - 캡처 센서의 성능 개선
수정 사항
- 차량의 질량 중심 수정
- 여러 OpenDRIVE 파싱 버그 수정
- 차량의 바운딩 박스 수정: 이제 자동입니다.
- Traffic Manager가 동기 모드에서 맵 변경 오류 수정
- Traffic Manager에서 매개변수를 한 번 이상 적용할 때 발생하던 버그 수정
std::numeric_limits::epsilon
오류 수정manual_control.py
스크립트의 메모리 누수 수정: 센서 리스닝이 파괴되기 전에 중지되지 않았습니다.spawn_npc_sumo.py
스크립트에서 특정 차량 클래스에 허용되지 않는 경로를 계산하던 버그 수정get_traffic_light()
가 항상None
을 반환하던 버그 수정- 기록기의 결정론 문제 수정
- 여러 태그가 지정되지 않거나 잘못 태그가 지정된 객체 수정
- 비가 오는 경우 카메라 센서를 스폰할 때 빗방울 스폰 문제 수정
- 자산 임포트 파이프라인에서 시맨틱 태그 수정
- 루트 폴더에 공백이 포함된 경우
Update.sh
실패 문제 수정 - 동적 메쉬가 재생될 때 초기 위치로 이동하지 않던 문제 수정
- 맵을 가져올 때 차선 표시의 색상이 반대로 되었던 문제 수정 (흰색과 노란색)
WheelPhysicsControl.h
파일에서 누락된include
지시문 수정- IMU 센서에서 중력 측정 버그 수정
- LiDAR의 포인트 클라우드 기준 프레임 수정
- 라이트 강도와 카메라 매개변수를 일치시키기 위해 수정
- 히스토그램 노출 모드의 자동 노출 카메라 수정
- Linux에서 동기화 모드에 대한 서버에서 클라이언트로의 TCP 통신 지연 수정
- OpenDRIVE에서 다항식 지오메트리를 로드할 때 큰 RAM 사용량 수정
debug.draw_line()
이 호출될 때 충돌 문제 수정- 자이로스코프 센서가 지역 프레임에서 각속도 판독값을 올바르게 제공하도록 수정
- 문서의 소개 섹션에서 사소한 오타 수정
- 경로를 변경할 때 로컬 플래너에서 버그 수정: 이전 경로의 첫 부분을 유지하던 문제로, 매우 큰 버퍼 크기를 사용할 때만 관련이 있었습니다.
0.9.9
수정 사항
- Ubuntu의 동기 모드에서 성능 개선(약 3배 향상): 네트워크 인터페이스에서 패킷 지연(Nagle 알고리즘)을 비활성화하여 성능을 향상시켰습니다.
- LiDAR 및 레이더 센서 개선: 레이캐스팅의 병렬 구현으로 성능을 향상시켰습니다.
- OpenDRIVE에서 폭(width) 파라미터가 누락된 차선에 대한 기본값과 경고 메시지 추가
0.9.9.3
수정 사항
- Ubuntu에서만 사용할 수 있는 Unreal Engine 4.24의 공식 패치로 새로운 맵 로딩 문제 수정
- OpenDRIVE에서 다항식(polynomial) 지오메트리를 로드할 때 발생하던 큰 RAM 사용량 문제 수정
debug.draw_line
호출 시 발생하던 충돌 문제 수정
주요 내용
get_right_vector
및get_up_vector
API 함수 추가- 독립 실행형 모드에서 보행자 내비게이션을 활성화/비활성화하는 매개변수 추가
- 독립 실행형 모드에서 메쉬 분할 개선
- 한 번에 여러 차량 조명 상태를 설정하는 PythonAPI 명령 추가
- 모든 차량 조명 상태를 한 번에 가져오기 위한
carla.world.get_vehicles_light_states
PythonAPI 함수 추가 - SUMO 코시뮬레이션에서 추가 TraCI 클라이언트 지원 추가
0.9.9.2
수정 사항
- Windows에서 Python API를 통한 새로운 맵 로딩 문제 수정
0.9.9.1
주요 내용
- 모든 액터에 각운동량(angular impulse)을 추가하는
add_angular_impulse()
API 함수 추가 - 카메라 센서를 생성할 때 발생하던 빗방울 생성 문제 수정
- 루트 폴더에 공백이 포함되어 있을 때
Update.sh
가 실패하던 문제 수정 - 맵을 가져올 때 차선 표시의 색상이 반대로 되었던 문제 수정(흰색과 노란색)
WheelPhysicsControl.h
파일에서 누락된include
지시문 추가- IMU 센서에서 중력 측정 버그 수정
- OpenDRIVE 처리 관련 버그 수정
- ESIM 시뮬레이션 기반의 동적 비전 센서(DVS) 카메라 추가: http://rpg.ifi.uzh.ch/esim.html
0.9.9
주요 내용
- Traffic Manager에 하이브리드 모드 도입
- Unreal Engine 4.24로 업그레이드
- 월드의 조명을 클라이언트에 노출하여 실시간으로 변경 가능하도록 함
- Town01, Town04, Town05에 대한 SUMO 코시뮬레이션 예제 추가
- PTV Vissim과 CARLA의 코시뮬레이션 추가
- 복잡한 도로 레이아웃(예: 교차로)을 지원하는 AD RSS v3.0.0으로 업그레이드
- 도로 레벨 차이로 인해 다른 도로를 막는 것을 방지하기 위한 교차로 평활화 알고리즘 추가
- OpenDRIVE 파일에서 교통 신호, 정지 신호, 양보 신호의 자동 생성 추가
- 버그 수정
자세한 내용은 여기에서 계속 읽고 전체 CHANGELOG를 참조하세요.
0.9.8
주요 내용
- CARLA 릴리스 및 ROS 브리지를 위한 DEB 저장소 추가
- SUMO 코시뮬레이션 지원 추가
- 문서가 크게 업데이트되고 개선됨
- OpenDRIVE 데이터를 기반으로 물리적 맵 생성을 허용하는 OpenDRIVE 독립 실행형 모드 추가
Traffic Manager
- 여러 버그 수정 및 개선
- 멀티 클라이언트 및 멀티 TrafficManager 지원
- 동기 모드 지원
주요 API 확장 사항
- 웨이포인트에서 쿼리 가능한 객체로 새로운
carla.Junction
추가 - 새로운 지원되는 OpenDRIVE 지오메트리: 나선형과 3차 다항식
- 웨이포인트의 공간 쿼리 성능 개선
- 새로운 날씨 시스템: 야간, 안개, 빗방울, 그리고 이제 바람이 식물과 비에 영향을 미칩니다(차량 물리 아님)
- 야간 모드 추가: 해질녘에 도시 조명이 사용 가능
- 일부 자동차, 일부 오토바이 및 모든 자전거에 차량 조명 지원 추가
- 새로운 자산: 사이버트럭
- 시각적 품질 향상
0.9.7
패치 0.9.7.4
- Town02의 도로 중앙에 잘못 위치한 나무의 위치 수정
패치 0.9.7.3
- #2386 수정:
is_within_distance_ahead
의 API 변경으로 인해 에이전트가 충돌하던 문제 수정
패치 0.9.7.2
- 마지막 패치 0.9.7.1과 함께 작동하도록 스펙테이터 카메라의 값 수정
패치 0.9.7.1
- 품질 수준을 'Low'로 설정할 때 이미지가 너무 밝아지던 버그 수정
- 원하는 품질 수준 'Epic'을 적용하지 않고 품질 수준이 'Low'로 유지되던 버그 수정
주요 내용
- RSS 센서 및 결과 시각화와 함께 AD RSS 라이브러리 통합을 포함한 빌드 변형 추가
- Docker + 헤드리스 모드에서 OpenGL 및 Vulkan 지원
- 새로운 센서 추가: 관성 측정 장치(IMU)
- 새로운 센서 추가: 레이더
- RGB 카메라 속성 노출: 노출, 심도, 톤 매퍼, 색상 보정, 색수차
- 이제 모든 카메라 기반 센서에 추가로 매개변수화된 렌즈 왜곡 셰이더 제공
- NPC 차량 관리를 위한 TrafficManager 추가로 자동 조종 장치를 대체
- 보행자 내비게이션 개선
- GNSS 센서를 클라이언트에서 서버 측으로 이동
- Recast 계산을 위한 준비된 메쉬를 내보낼 수 있도록 UE4용 익스포터 플러그인 추가
- 'make import' 프로세스가 이제 자산의 이름을 적절히 변경하고 복잡한 충돌을 단순화로 설정
- 새로운 Python API 함수 추가 (
map.get_crosswalks()
): OpenDRIVE 파일에서 횡단보도 영역을 정의하는 모든 포인트의 목록을 반환합니다. - 수동 제어에서 조향 개선
- Jenkins 파이프라인을 통한 자동 업데이트와 함께 온라인으로 Doxygen 문서 추가
0.9.6
주요 내용
- Unreal Engine 4.22로 업그레이드
- Vulkan 지원 추가: 설치된 경우 CARLA는 Vulkan을 사용하며, OpenGL로 실행하려면
opengl
플래그를 사용하세요. - 시뮬레이터가 이제 "Shipping" 모드로 컴파일됨: 더 빠르지만 명령줄 인수를 덜 받습니다.
- 보행자가 다시 추가됨:
- 인도에서 무작위로 돌아다니는 보행자를 스폰합니다.
- 스크립트
spawn_npc.py
는 이제 보행자를 스폰하며,w
플래그로 수를 조정합니다.
- 각 맵에 보행자 내비게이션을 위한 내비게이션 메쉬 추가
- CARLA 블루프린트 라이브러리에 사용자 정의 소품(FBX)을 추가하여 스폰 가능하도록 허용
- 맵 및 사용자 정의 소품을 가져오고 패키징하는 파이프라인 단순화
차량 물리학
- 차량 변속기 세부 정보에 대한 액세스 추가
- 차량 물리학 브레이크 값에 대한 액세스 추가
- 미끄러운 표면을 시뮬레이션하기 위한 타이어 마찰 트리거 박스 추가
manual_control.py
에 명령줄 인수로 카메라 감마 보정 추가- 센서 파이썬 블루프린트에서 RGB 카메라에 대한 모션 블러 설정 기능 추가
- LibCarla를 사용하는 C++ 클라이언트 예제 추가
- PythonAPI 문서 생성기 추가: 모든 Python 참조를 자세히 문서화했습니다.
- 사용자가 명령줄에서 시뮬레이터를 구성할 수 있는 새로운 Python 스크립트
config.py
추가
새로운 기록기 기능
- 기록된 시스템 및 바이너리 파일 문서화
- 기록기 파일에 대한 자세한 정보를 표시하기 위한 선택적 매개변수 추가 (
show_recorder_file_info.py
관련) - 재생기에 재생 속도(슬로우/패스트 모션) 추가
- 기록된 파일을 저장하기 위한 사용자 지정 경로 허용
- 애니메이션을 재생하기 위해 더 많은 데이터가 이제 기록됨:
- 차량의 휠이 애니메이션화됨(조향, 가속, 핸드브레이크), 자전거 및 오토바이도 포함
- 보행자 애니메이션이 시뮬레이션됨(보행자의 속도를 통해)
0.9.5
주요 내용
- 새로운 Town07 추가: 좁은 도로가 있는 시골 환경
- OpenDRIVE 파서와 웨이포인트 API를 재작업
- XODR가 잘못 파싱되던 여러 상황 수정
- 더 많은 정보 노출: 차선 표시, 차선 유형, 차선 섹션 ID, s
- API 변경 사항:
- 웨이포인트의
lane_type
이 이제 열거형carla.LaneType
이 되었습니다. carla.LaneMarking
은 더 이상 열거형이 아니며, 색상, 유형, 차선 변경 및 너비로 확장되었습니다.
- 웨이포인트의
- API 확장:
map.get_waypoint
는 이제 차선 유형을 필터링하기 위한 추가 선택적 플래그 인수lane_type
을 허용합니다.carla.Map
은 이제 XODR 파일에서 오프라인으로 생성될 수 있습니다:carla.Map(town_name, xodr_content)
- 웨이포인트에
id
속성 추가: 최대 0.5cm 정밀도로 웨이포인트를 고유하게 식별합니다.
- API 변경 사항:
- "lane_invasion"을 "lane_detector"로 이름 변경, 다른 클라이언트에서 볼 수 있도록 서버 측 센서도 추가되었습니다.
- API 확장:
- 새로운
carla.command.SpawnActor
로 액터를 배치로 스폰합니다. map.transform_to_geolocation
으로 위치를 GNSS 지리 위치로 변환합니다.SensorData
에 타임스탬프(경과된 시뮬레이션 시간 초)를 추가했습니다.- 명령을 배치로 보내고 서버 응답을 기다리는 메서드
client.apply_batch_sync
추가 world.get_actors
에 선택적 인수 "actor_ids" 추가: 제공된 ID를 가진 액터만 요청합니다.
- 새로운
0.9.4
주요 내용
- 녹화 및 재생 기능 추가
- 동기화 모드 추가: 시뮬레이터는 클라이언트가 "tick" 신호를 보낼 때까지 기다립니다 (
client.tick()
) - 클라이언트 측에서 맵 변경 허용:
client.load_map(name)
,client.reload_map()
,client.get_available_maps()
추가 - .fbx 및 .xodr 파일에서 직접 맵을 시뮬레이터로 가져오는 스크립트 및 도구 추가
- 차량 엔진 및 휠에 대한 최소한의 물리 제어 파라미터 노출
- "배치 모드"에서 여러 액터 제어 허용
- 새로운 Town06 추가: 다음을 포함한 "미시간 레프트" 교차로 특징
- 두 고속도로 사이의 연결 램프
- 다른 출구를 타기 위해 여러 차선을 변경해야 하는 고속도로로의 합류
- 다양한 시나리오를 지원하는 교차로
- 새로운 교통 표지판 자산 추가: 일방통행, 회전 금지, 더 많은 속도 제한, 진입 금지, 화살표 바닥, 미시간 레프트, 차선 종료
- 더 많은 변화를 위한 새로운 보행자 텍스처 추가
- 새로운 도로 PBR(Material) 추가
- 웨이포인트 API를
lane_change
,lane_type
,get_right_lane()
,get_left_lane()
로 확장 - 런타임에 노 렌더링 모드 및 동기화 모드를 변경하기 위한 월드 설정 추가
- 교통 신호의 폴 인덱스 및 그룹 내 모든 교통 신호를 얻는 메서드 추가
- 시뮬레이터의 렌더링 성능을 측정하기 위한 성능 벤치마크 스크립트 추가
- Logitech G29 스티어링 휠(및 기타)로 에이전트를 제어하기 위한
manual_control_steeringwheel.py
추가
0.9.3
주요 내용
- 새로운 Town04 추가 (지금까지 가장 큼): 고속도로, 새로운 다리와 도로 장벽, 높이 맵을 기반으로 한 더 멋진 풍경, 새로운 거리 소품 포함
- 새로운 Town05 추가: 시나리오 러너를 위한 다양한 교차로 추가
- 남녀 캐릭터를 위한 보행자 모델 및 애니메이션(걷기 및 대기) 재설계
- 장애물 감지를 위한 센서 추가 (레이캐스트 기반)
- GNSS(GPS) 센서 추가
- 글로벌 라우터와 통합된 기본 에이전트
- 액터를 관리하기 위한 몇 가지 메서드 추가:
set_velocity
: 선형 속도 설정set_angular_velocity
: 각속도 설정get_angular_velocity
: 각속도 가져오기add_impulse
: 임펄스 적용(월드 축에서)
vehicle.get_vehicle_control()
을vehicle.get_control()
로 이름 변경하여 보행자와 일관성 유지
0.9.2
주요 내용
- CARLA 0.9.X를 위한 ROS 브리지 업데이트 (별도의 리포지토리로 이동)
- Python API "agents" 확장 추가, 포함 내용:
- 웨이포인트 API에 기반한 글로벌 라우트 플래너 (OpenDrive와 호환)
- BasicAgent: 웨이포인트 API와 PID 컨트롤러를 사용하여 맵의 주어진 좌표로 주행할 수 있는 새로운 클라이언트 에이전트, 다른 차량 및 교통 신호에 대응
- RoamingAgent: PID 컨트롤러를 기반으로 웨이포인트를 따라 다양한 속도로 주행할 수 있는 새로운 클라이언트 에이전트, 다른 차량 및 교통 신호에 대응
- LocalPlanner: PID 컨트롤러를 사용하여 웨이포인트를 탐색하는 기능
- LateralControl 및 LongitudinalControl PID
- 수동 기어 변속 지원 추가
- 액터에 "role_name" 속성 추가: "hero" 차량을 쉽게 식별하기 위해
- Town03의 교통 신호를 미국식 스타일로 변경
- 정지 신호만 있는 새로운 교차로 유형 추가
0.9.1
링크
주요 내용
- 더 많은 도로 다양성, 다중 차선, 원형 교차로 등이 포함된 새로운 Town03 추가
- Python API에 많은 추가 사항: 더 많은 정보 제공 및 액터에 대한 더 많은 제어
- 우리의 맵은 이제 OpenDrive 기반의 도로 레이아웃 정보를 포함하며, 웨이포인트를 쿼리하기 위한 API 제공
- LiDAR 이식
- 이미지 처리 메서드 이식
- 클라이언트 측의 성능 향상
- 새로운 날씨 시스템
0.9.0
링크
새로운 기능 / 수정 사항
- Unreal Engine 4.19로 업그레이드
- 네트워킹 아키텍처 재설계
- 동시에 임의의 수의 클라이언트가 연결할 수 있습니다.
- 이제 언제든지 차량이나 카메라를 추가 및 제거할 수 있습니다.
- 이제 어떤 차량이나 카메라도 제어할 수 있습니다.
- 이제 어디든지 카메라를 배치할 수 있습니다.
- 세 개의 포트 대신 두 개의 포트로 줄였습니다.
- 첫 번째 포트는 rpclib 기반의 RPC 프로토콜을 사용합니다.
- 두 번째 포트는 센서 데이터 스트리밍을 위한 것입니다.
- Python API 재설계
- 액터와 센서가 이제 API에 노출되어 독립적으로 제어할 수 있습니다.
- Python 모듈은 C++로 빌드되어 일부 작업에서 상당한 성능 향상을 가져옵니다.
- 많은 기능이 아직 포팅되지 않았으므로 많은 것이 누락되어 있을 수 있습니다.
- 종속성 변경에 맞게 빌드 시스템 재설계
- 이제 모든 것이 Makefile로 처리될 수 있습니다.
- 현재는 Linux만 지원됩니다. 죄송합니다.
- 사용하지 않는 자산 대량 정리
- 차량의 미적 수정 일부