Web Analytics

ackermann-vehicle-gzsim-ros2

⭐ 164 stars Korean by alitekes1

ROS2와 Gazebo Sim Harmonic을 이용한 아커만 조향 차량 시뮬레이션

이 프로젝트는 아커만 조향 기능을 갖춘 맞춤형 차량의 시뮬레이션을 특징으로 하며, ROS2Gazebo Sim Harmonic 환경을 사용하여 개발되었습니다. 이 모델은 자율 운행을 위한 다양한 센서와 내비게이션 도구를 통합하여, 이 시뮬레이션 프레임워크에서 아커만 조향 차량을 구현한 최초 사례 중 하나입니다.

| 3D 라이다 포인트 클라우드 시각화 | 창고 환경 모델 | | ----- | ----- | | 3D Point Cloud | Warehouse Model |

이 프로젝트가 마음에 드신다면, 응원의 표시로 ⭐를 눌러주세요!

목차

특징

1. 아커만 조향

2. ROS2 통신

3. 센서

> 참고: 기본적으로 전방 카메라만 ROS 2에 브리지됩니다. 모든 카메라(좌측, 우측, 후방)를 ROS 2에서 사용하려면 saye_bringup/config/ros_gz_bridge.yaml 파일 내 관련 카메라 섹션 앞의 #를 제거하여 활성화하세요 (예: /camera/left_raw, /camera/right_raw, /camera/rear_raw).

4. 내비게이션

5. 수동 제어 (외부 조이스틱 사용)

6. 시각화

요구 사항

로컬 설치

sudo apt-get install ros-${ROS_DISTRO}-ros-gz
sudo apt-get install ros-humble-ros-gzharmonic (휴믈 버전만 해당)
Gazebo와 ROS 설치에 대한 자세한 내용: 링크 mkdir -p ackermann_sim/src && cd ackermann_sim/src
git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2
cd .. colcon build && source install/setup.bash ``bash # Set environment variables for current session export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ `

영구 설정을 위해: 이러한 환경 변수를 영구적으로 설정하려면, .bashrc 파일에 추가하세요: `bash # Add environment variables to .bashrc echo 'export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc echo 'export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc # Apply changes source ~/.bashrc ` > 참고: /your/path/를 실제 설치 경로로 교체하세요.

Docker 설치

Docker를 사용하여 시뮬레이션을 실행할 수도 있으며, 이는 다양한 시스템에서 일관된 환경을 보장합니다.

사전 요구 사항

  • Docker
  • NVIDIA 컨테이너 툴킷 (GPU 지원용)

Docker로 실행하는 단계

  • 저장소를 클론합니다:
`bash mkdir -p ackermann_sim/src && cd ackermann_sim/src git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2 cd ackermann-vehicle-gzsim-ros2 `
  • Docker 컨테이너 빌드 및 실행:
`bash docker run -it \ --name ackermann_sim \ --hostname ackermann_sim \ --env="DISPLAY=$DISPLAY" \ --env="QT_X11_NO_MITSHM=1" \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ --privileged alitekes1/ackermann_sim:latest `
  • 동일한 컨테이너에 추가 터미널을 원할 경우
`bash docker exec -it ackermann_sim bash `
참고: 컨테이너 내부에서는 시뮬레이션 명령어를 정상적으로 실행할 수 있습니다.

사용법

1. 기본 시뮬레이션 및 수동 제어

  • 시뮬레이션 시작:
`bash ros2 launch saye_bringup saye_spawn.launch.py `
  • 제어차:
`bash ros2 run teleop_twist_keyboard teleop_twist_keyboard `

2. SLAM (동시 위치 추정 및 지도 작성)

  • 매핑을 위해 SLAM Toolbox를 실행하려면 시뮬레이션을 시작한 후 다음을 실행합니다:
`bash ros2 launch saye_bringup slam.launch.py ` SLAM- Youtube

3. Nav2를 이용한 내비게이션

  • Nav2 스택을 사용하여 자율 내비게이션 시뮬레이션을 실행하려면, 시뮬레이션 시작 후 다음 명령을 실행하세요:
`bash ros2 launch saye_bringup navigation_bringup.launch.py `` 자율 주행 네비게이션 - 유튜브

참고: 위 유튜브 동영상은 4배속으로 재생됩니다. 이미지를 클릭하여 동영상에 접근할 수 있습니다.

향후 작업

갤러리

2024-09-23 00-09-48 스크린샷.png

3D LiDAR 포인트 클라우드 & 환경

| 3D LiDAR 포인트 클라우드 시각화 | 창고 환경 모델 | | ----------------------------------------------------------------- | --------------------------------------------------------------- | | 3D 포인트 클라우드 | 창고 모델 |

차량 및 내비게이션

| Gazebo 시뮬레이터 하모닉 | RViz2 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | 2024-09-23 00-13-03 스크린샷.png | 2024-09-23 00-09-04 스크린샷.png | | 2024-09-23 00-12-13 스크린샷.png | 2024-09-23 00-15-04 스크린샷.png | | alt 텍스트 | alt 텍스트 |

TF 트리

TF 트리


스타 이력

별 히스토리 차트

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-13 ---