이 프로젝트는 CARLA-Autoware Bridge의 완성을 적는 것이 아니라, 이렇게 만들면 Bridge가 가능하다라는 것을 증명하는 프로젝트임을 알립니다.

해당 코드의 converting 과정
carla_autoware_bridge/getting-started.md at master · Robotics010/carla_autoware_bridge · GitHub
CARLA에서 전송하는 토픽
- Carla의 자동차(ego_vehicle)의 Odometry 정보를 구독하여 /carla/ego_vehicle/velocity_status 토픽으로 발행한다.
- 다음의 topic은 자동차의 속도에 관한 정보를 담고 있습니다.
- Carla의 자동차(ego_vehicle)의 status 정보를 구독하여 /carla/ego_vehicle/steering_status 토픽으로 발행한다
- 다음의 topic은 자동차의 steering에 대한 정보를 담고 있습니다. (조향각? 헨들)
- 자동차의 lidar 정보
- 해당 topic을 autoware에 맞게 가공하는 것인데, 작동하지 않습니다.
Autoware에서 전송하는 토픽
- Carla의 자동차(ego_vehicle)를 움직이는 토픽을 발행합니다. topic의 이름은 /carla/ego_vehicle/vehicle_control_cmd입니다.
들어가기 전
- '1. Autoware와 ROS의 연결, Carla와 ROS의 연결' 에서의 과정을 통해 carla와 autoware의 bridge가 어떻게 만들어져야하는지에 대한 감을 잡았습니다.
- 2.에서는 carla_autoware_bridge/getting-started.md at master · Robotics010/carla_autoware_bridge · GitHub 해당 bridge를 활용하기 위해 bridgews 폴더를 새로만들어서 진행합니다.
Carla_Autoware_Bridge
- Workspace 폴더를 하나 만듭니다. 저는 bridgews라고 이름 지었습니다.

- 폴더 내부에 src폴더를 만듭니다. 그 내부에 3가지 패키지를 다운로드 해야합니다.
git clone https://github.com/autowarefoundation/autoware_msgs
git clone https://github.com/carla-simulator/ros-bridge.git
git clone https://github.com/Robotics010/carla_autoware_bridge.git

Autoware의 경우 추가적으로 세팅을 해주어야합니다.
bridge의 documentation의 지시대로 다음을 따라합니다.
sudo rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- autoware_build:0.2
cd src/universe/autoware.universe/launch/tier4_planning_launch/launch/scenario_planning/
nano lane_driving.launch.xml

cd src/universe/autoware.universe/launch/tier4_control_launch/launch/
nano control.launch.py




실행
- 이제 터미널이 6개 필요합니다.
- 주의 사항으로는 하나하나 로딩이 완료된 후 진행합니다.
Carla실행
터미널 A
cd /opt/carla-simulator
./CarlaUE4.sh
터미널 B
car_ros_bridge
# bashrc에서 지금의 bridge로 경로를 변경하십쇼
ros2 launch carla_autoware_bridge carla_ros_bridge.launch.py
터미널 C
car_ros_bridge
ros2 launch carla_autoware_bridge carla_autoware_ego_vehicle.launch.py
터미널 D
car_ros_bridge
ros2 launch carla_manual_control carla_manual_control.launch.py
터미널 E
car_ros_bridge
ros2 run carla_autoware_bridge carla_autoware_bridge
Autoware실행
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/carla-town01 vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
Rviz(Autoware) 세팅



- LiDAR를 연결합니다. converting과정이 있었는데, 작동을 하지 않습니다. 그래서 carla에서 보내는 lidar 토픽을 구독해보았는데, 생각보다 잘 나옵니다.

- Add를 눌러서 By topic에서 rgb_view의 camera를 추가하면 camera정보를 받아올 수 있으며

radar_front를 추가하면 전방 radar에 대한 값을 받아올 수 있습니다.


- Views에서 Target Frame을 ego_vehicle로 변경합니다.

- 그러면 연결이 완료됩니다. 우선 이상태로 ctrl + S 눌러 저장을 해주고 autoware를 끄고 저장을 합니다.
- Container ID를 알아내야합니다. 새로운 터미널에서

다음으로 저장합니다.
sudo docker commit 1ce72113dec4 autoware_build:0.3
사용방법

- 이 상태에서 2D Pose Estimate로 자동차의 위치를 맵 아무곳에나 지정합니다.


- AUTO 버튼을 누르면 자동차가 이동을 시작합니다.


현재는 수치상의 오류 Github에서 converting 하는 과정에서의 오차가 있는 것으로 보입니다. 속도와 steering은 모두 carla와 autoware에 정상적으로 나타나나 우선은 carla와 autoware의 연결을 증명하고, 이 수치를 조정하는 것은 이 이후에 정밀하게 조정을 하면 될 것으로 보입니다.

또한 라이다는 이상없이 작동하는 것으로 보이나, 육안으로만 확인한 결과이기 때문에 부정확할 수 있습니다. 전방 레이더는 문제없이 작동하는 것으로 보입니다.
'ㅇ 프로젝트 > TEAM_Carla-Autoware-bridge' 카테고리의 다른 글
4. (CARLA Autoware Bridge) 추가적으로 자율주행을 위해 필요한 센서값들 연결하기 (신호등 연결) (0) | 2023.04.30 |
---|---|
2. (CARLA Autoware Bridge) Autoware ROS상에서 Topic 구독, Carla ROS상에서 Topic 구독 (0) | 2023.04.30 |
1. (CARLA Autoware Bridge) Bridge 제작에 필요한 ROS 세팅 (0) | 2023.04.30 |