blackcoffeerobotics/bcr_bot

A mobile robot simulation with differential drive, depth camera, IMU and 2D LiDAR that supports ROS, ROS2, Gazebo, Ignition, Mujoco, and ISAAC Sim

BCR Bot – 다중 ROS/Gazebo 로봇 시뮬레이션

무엇인가요 – 차동 구동 로봇을 위한 즉시 실행 가능한 시뮬레이션 패키지로, IMU, 깊이 카메라, 스테레오 쌍, 2D LiDAR를 탑재하고 있습니다. 이 저장소는 여러 일반적인 ROS/Gazebo 스택 NVIDIA Isaac Sim을 위한 로봇 설명, 월드 파일, ROS 실행 파일을 제공합니다.

왜 중요한가요 – 로봇 연구 및 교육은 ROS 1(Noetic)과 ROS 2(Humble) 모두에서 작동하며, 다양한 Gazebo 릴리스(Classic 11, Fortress, Harmonic) 및 새로운 Isaac Sim에서도 안정적으로 작동하는 시뮬레이션 플랫폼이 필요합니다. BCR Bot은 이러한 요구를 정확히 충족시키며, 단지 실행 파일/브랜치만 변경하면 기반 시뮬레이터를 쉽게 전환할 수 있게 해줍니다.

주요 기능 (README에 설명된 내용)

  • 다섯 가지 ROS-시뮬레이터 조합을 지원:
    1. ROS Noetic + Gazebo Classic 11
    2. ROS 2 Humble + Gazebo Classic 11
    3. ROS 2 Humble + Gazebo Fortress
    4. ROS 2 Humble + Gazebo Harmonic
    5. ROS 2 Humble + Isaac Sim
  • 센서: IMU, 깊이 카메라, 스테레오 카메라, 2D LiDAR.
  • 실행 파일은 많은 매개변수를 노출합니다 (카메라 on/off, 라이다 on/off, 초기 자세, 월드 파일, 네임스페이스, 오도메트리 소스 등).
  • 준비된 월드 파일(small_warehouse.world/.sdf)과 Isaac Sim용 USD 장면(warehouse_scene.usd, scene.usd, bcr_bot.usd)을 제공합니다.
  • SLAM Toolbox 매핑 및 Nav2 내비게이션을 위한 예제 파이프라인을 포함하며, 지원되는 모든 시뮬레이터에서 사용 가능합니다.
  • ROS 1 및 ROS 2 배포판 모두에서 apt를 통해 바이너리 패키지를 사용할 수 있습니다 (예: sudo apt-get install ros-humble-bcr-bot).
  • 빌드 지침은 표준 ROS 도구를 사용합니다 (catkin build는 ROS 1용, colcon build는 ROS 2용).

일반적인 워크플로우

  1. 해당하는 ROS 배포판과 원하는 Gazebo/Isaac Sim 버전을 설치합니다.
  2. 필요 시 ROS-Gazebo 브리지 패키지를 설치합니다 (예: ros-humble-ros-gz-sim).
  3. rosdep로 남은 종속성을 해결합니다.
  4. 워크스페이스를 빌드합니다 (catkin build 또는 colcon build).
  5. 시뮬레이터에서 로봇을 실행합니다 (roslaunch … 또는 ros2 launch …).
  6. 선택적으로 매핑 (ros2 launch bcr_bot mapping.launch.py) 또는 내비게이션 (ros2 launch bcr_bot nav2.launch.py)을 실행합니다.

누가 사용할까요 – ROS 1 → ROS 2 전환과 함께 진화하는 Gazebo 생태계를 아우르는 플러그 앤 플레이 로봇 모델이 필요하거나, URDF/실행 파일을 다시 작성하지 않고도 Isaac Sim에서 알고리즘을 프로토타이핑하고 싶은 학생, 연구자, 개발자입니다.

README에 기재된 제한 사항

  • Harmonic 지원은 아직 바이너리 패키지로 제공되지 않았습니다.
  • gz-harmonic 명령어는 고전적 Gazebo의 gz 명령어와 충돌하므로, 동시에 설치할 수 없습니다.
  • Isaac Sim 사용을 위해서는 별도의 NVIDIA 설치와 ROS 2 확장이 필요합니다.

위 정보는 저장소의 README에서 직접 인용되었으며, 추가 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트