ros2-rust 움직여 보았다

ros2-rust를 움직여 본 보고와 이해할 수 없는 부분의 정리입니다.

(스스로도 커밋할 수 있을까 생각했는데, 이해하지 못한 부분이 많아서 앞으로 나아가지 않는다...)

환경


  • OS Ubuntu 20.04
  • ROS FoxyFitzroy (Dashing에서 헤더를 찾을 수 없으며 빌드 오류)
  • rustc 1.46.0
  • cargo 1.46.0

  • 준비



    Rust 설치



    다음 명령으로 설치할 수 있습니다.
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    설치시 다음 화면이 나오지만 1을 선택하십시오.
    1) Proceed with installation (default)
    2) Customize installation
    3) Cancel installation
    >
    

    스크립트가 PATH를 마음대로 통과시켜줍니다만, 일단 로그아웃하지 않으면 적용되지 않으므로, 로그아웃&로그인해 주세요.

    사용 도구 설치



    vcstool 기타 필요한 도구를 설치합니다.
    sudo apt install python3-vcstool libclang-dev clang git
    

    소스 코드 가져오기



    (2020/10/29 수정 wget만으로는 가져올 수 없게 되어 있었다)
    mkdir -p ~/ros2_rust_ws/src/ros2-rust
    cd ~/ros2_rust_ws/src/ros2-rust
    git clone https://github.com/ros2-rust/ros2_rust.git
    cd ../../
    vcs import src < src/ros2-rust/ros2_rust/ros2_rust.repos
    

    빌드



    그리고는 언제나처럼 ros2 빌드를 하면 된다.
    source /opt/ros/foxy/setup.sh
    colcon build
    

    실행



    Publisher 터미널
    source ./install/setup.sh
    ros2 run rclrs_examples rclrs_publisher
    

    Subscriber 터미널
    source ./install/setup.sh
    ros2 run rclrs_examples rclrs_subscriber
    

    실행 결과는 이런 느낌.



    이 변분에서



    샘플 움직여 보았을 뿐이므로, 아직 제대로 읽지 않습니다만, 이하의 부분 이해하고 있지 않거나, 지식 부족입니다. .

    알고 계시다면 알려주세요. . . .
  • ros2/common_interfaces, ros2/rcl_interfaces, ros2/rosidl_defaults의 3개의 리포지토리의 역할
  • 아마도 idl의 생성이나 rcl을 자전으로 만드는데 필요한 리포지토리 같다. 나중에 조사하십시오
  • 이 근처의 자료를 아는 사람이 있으면, 코멘트를 받을 수 있으면 기쁩니다.

  • rcls_examples의 Cargo.toml에 rclrs에 대한 설명이 없다 (왜?)
  • 아마 amment나 colcon의 사정으로 이렇게 되고 있을 것인데. . 확실히 보 부자연. .


  • 참고



    ros2-rust의 저장소 htps : // 기주 b. 코 m/로 s2-루 st/로 s2_루 st

    좋은 웹페이지 즐겨찾기