아무것도 source안했을때 파이썬 버전
3.10.12
아무것도 source안했을때, isaac-sim 내부에서 버전확인
3.11.13
humble을 source했을때 파이썬 버전
isaacsim의 build_ws/humble에서 source했을때
source ~/IsaacSim-ros_workspaces/build_ws/humble/humble_ws/install/local_setup.bash
위의 source는 "python 3.11로 빌드된 최소한의 ROS 2기반 환경"이다.
쉘 자체의 python3는 3.10버전이다.
하지만 source를 해서 import 경로에는 3.11용 ros패키지 경로가 들어갔다.
isaacsim의 build_ws/humble/issac_sim_ros_ws에서 source했을때
source ~/IsaacSim-ros_workspaces/build_ws/humble/isaac_sim_ros_ws/install/local_setup.bash
이거는 build_ws/humble위에 얹어주는 isaac sim ROS workspace overlay이다.
여기에서는 isaac sim 튜토리얼이나 예제에서 사용하는 ROS패키지들 , 런치파일 , 스크립트 , config같은 추가적인 패키지가 들어간다. 문서에는 isaacsim, isaac_tutorials, iw_hub_navigation 같은 패키지가 이 workspace에 포함된다고 나옴.
위의 isaac sim관련 2개를 source한 경우
저렇게 출력될 것
ros가 humble이라고 출력되고 위치도 저렇게 나올거임. 반대로 /opt/ros꺼 source하면 해당 경로꺼 보임.
~/IsaacSim-ros_workspaces에서 build_ws말고 humble_ws를 쓰는 경우
source /opt/ros/humble/setup.bash
source ~/IsaacSim-ros_workspaces/humble_ws/install/local_setup.bash
기존의 build_ws는 isaac sim을 돌리기 위한것이다.
humble_ws는 외부 노드들을 돌리기 위한 것이다.
두개를 같이 source하는것은 비추
isaac sim의 프로세스 내부
python은 3.11이 기준이다.
그래서 internal libs or python 3.11 로 빌드한 ROS workspace만 써야한다.
internal libs란? ==> 시스템에 설치된 ROS전체를 그대로 쓰는것이 아닌, isaac sim 이 ROS 2 bridge 를 돌리기 위해서 자체적으로 포함하고 있는 최소한의 ROS 2 라이브러리 세트 이다.
ubuntu 22.04에서 아무런 ROS library가 source되어 있지 않는다면, isaac sim은 internal ros2 humble libraries를 자동으로 로드함. ( isaac sim과 맞는 ros 라이브러리 )
NVIDIA 문서 기준으로 Isaac sim은 python 3.11 을 요구한다. 하지만 ubuntu 22.04의 기본 python 3.10 과 다르다...
==> 따라서 isaac sim안에서 rclpy 나 custom ROS package 를 사용하려면, python 3.11로 빌드된 ROS2 workspace가 필요하다.