CARLA 시뮬레이터에서 Simulink와 CARLA ROS Bridge를 사용한 에고 차량 비상 제동
이 예제에서는 ROS Toolbox™를 사용하여 CARLA 시뮬레이터에서 에고 차량을 설정하고, 연결하고, 제어하는 방법을 보여줍니다.
개요
Simulink® 소프트웨어를 사용해 이동체 제어 publisher에 조향 신호, 제동 신호, 스로틀 제어 신호를 전송하여 CARLA 에고 차량을 제어합니다. 모델은 에고 차량의 전방 카메라, 주행 기록계, 라이다 센서로부터 포인트 클라우드 데이터를 읽어옵니다. 포인트 클라우드 프로세서는 지면 반사를 제거하고 에고 차량 앞에 있는 객체의 평균 거리를 계산합니다. 모델은 계산된 거리를 비상 제동 장치로 전송하여 거리가 10미터 미만으로 떨어지면 제동 명령을 내립니다.
설정
호스트 컴퓨터에 최신 CARLA 시뮬레이터를 설치합니다. 이 예제에서는 이진 방식으로 설치된 CARLA 시뮬레이터 버전 0.9.13을 사용합니다.
ROS 가상 머신을 다운로드하고 설치합니다. 이 가상 머신은 Ubuntu® Linux® 운영 체제를 기반으로 하며 ROS Toolbox™의 예제를 지원하도록 사전 구성되어 있습니다.
MATLAB®에서 NVIDIA Isaac Sim®을 설정하고 시작하려면 Set Up and Connect to CARLA Simulator 항목을 참조하십시오.
다음은 이 예제의 설정을 보여주는 다이어그램입니다.

CARLA에서 Simulink를 사용하여 에고 차량 제어하기
VM Ware에서 실행 중인 ROS master에 Simulink를 연결합니다.
rosinit('http://172.18.226.233:11311')Initializing global node /matlab_global_node_37271 with NodeURI http://172.18.226.60:60619/ and MasterURI http://172.18.226.233:11311.
다음 내부 검사 명령을 실행하여 CARLA 시뮬레이터와 관련된 ROS 토픽에 액세스할 수 있는지 확인합니다.
rostopic list/carla/ego_vehicle/collision /carla/ego_vehicle/control/set_transform /carla/ego_vehicle/enable_autopilot /carla/ego_vehicle/gnss /carla/ego_vehicle/lane_invasion /carla/ego_vehicle/odometry /carla/ego_vehicle/rgb_view/image /carla/ego_vehicle/vehicle_control_cmd_manual /carla/ego_vehicle/vehicle_control_manual_override /carla/ego_vehicle/vehicle_info /carla/ego_vehicle/vehicle_status /carla/status /clock /initialpose /rosout /rosout_agg /tf
Simulink 모델을 엽니다.
open_system('EmergencybrakingofCarlaEgoVehicle');이 모델은 이동체가 장애물과의 거리를 측정하는 데 사용하는 라이다 센서의 포인트 클라우드 데이터를 보여줍니다. 거리가 10미터 미만이면 비상 제동 시스템이 이동체에 제동 명령을 보냅니다.

Simulink 모델을 실행합니다. 에고 차량은 주유소에서 앞 차량과 10미터 떨어진 위치에 자동으로 정지합니다. CARLA ROS 수동 제어 터미널은 브레이크가 걸린 정지 상태의 이동체를 보여줍니다.

ROS 네트워크를 종료합니다.
rosshutdown
Shutting down global node /matlab_global_node_37271 with NodeURI http://172.18.226.60:60619/ and MasterURI http://172.18.226.233:11311.
참고 항목
rosinit | rosshutdown | rostopic | Subscribe