[초보자용] ROS에서 Azure Kinect 사용

Azure Kinect + ROS


리얼센스보다는 조금 크지만, 2021년 3월까지는 RGB-D 카메라의 최강각 중 하나다.
이 글에서 우리는 ROS 노드를 구축하여 Rviz에 Point Cloud2 메시지를 표시하는 것을 실현했다.
이번 환경은 여기↓
- Ubuntu 18.04
- ROS Melodic
(첫 투고니까 용서해 주세요. 댓글이 있으면 업데이트됩니다.)

카탈로그

  • SDK 설치(appt)
  • ROS 노드 구축
  • 실행
  • 1단계 SDK 설치


    SDK를 사용하면 Ubuntu에서 AzureKinect(기타 항목)를 인식합니다.
    세부 사항은 잠시 내버려두고 먼저 종착역에서 순서대로 다음 명령을 집행합시다.curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod sudo apt update sudo apt install k4a-tools libk4a1.4-dev이때 Azure Kinect가 일시적으로 시작될 수 있습니다.올바르게 설치되었는지 확인하는 것을 포함하여 다음 명령을 시도해 보십시오.sudo k4aviewer
    왼쪽 상단의 하단에 숫자열이 있으면 성공한다.
    ([No Devices]라면 카메라의 USB 연결을 의심한다. lsusb 명령에 Microsoft가 제조한 장치가 표시되었는지, USB 연결이 3.0인지 전력 공급이 충분한지 등이 의심스럽다.제대로 연결되면 lsusb 명령에 Microsoft에서 제조한 5개의 장치가 나타납니다.
    녹색 Open Device 키를 누릅니다.

    작은 설정을 조절할 수 있어요.해상도를 높이면 고화질의 RGB 이미지를 얻을 수 있지만 부하도 증가한다.
    어쨌든 지금 이대로 초록색 스타트 버튼을 눌러주세요.

    카메라가 위처럼 일어서다.View Mode를 3D로 만들면 점군이 입체적으로 보여져서 재밌는데...

    sudo 권한이 없으면 시작하지 않습니다


    이것은 ROS 주변에서 많은 번거로움을 겪을 수 있으므로 sudo를 사용하지 않아도 작동할 수 있도록 개조해야 한다.
    구체적으로 말하면'udev 규칙의 변경'을 진행해야 한다.
    우선 SDK의 코드를 적당한 곳에서 다운로드하세요.
    (결국 소스를 빼면 처음부터 소스를 만들었으면 좋았을 텐데, 초보자라서 앱에 애교를 부렸다)mkdir src/camera_drivers cd src/camera_drivers git clone https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git이렇게 하면git의 원본 코드를 다운로드할 수 있다.
    이어서 scripts 폴더의 99-k4a.rules 파일을 자신의 터미널에서 참조한 실행 규칙에 복사합니다.sudo cp Azure-Kinect-Sensor-SDK/scripts/99-k4a.rules /etc/udev/rules.d/이렇게 하면 sudo AzureKinect를 사용하지 않아도 열 수 있을 것이다.
    규칙이 바뀌었으니 컴퓨터를 다시 시작하자.
    (다음 명령을 통해 다시 불러올 수도 있지만 잘 안 돼서 일찌감치 포기하고 다시 시작했어요.sudo udevadm control --reload-rules sudo udevadm trigger )
    이제 sudo 없이도 AzureKinect를 사용할 수 있습니다!해봐.k4aviewer움직였어.
    움직이지 않는 사람은 연구실 강 선배에게 울며불며 하소연하거나 게시판에 가세요.
    그런 다음 ROS를 주제로 비디오와 3D 점 그룹이 재생됩니다.

    2단계 ROS 노드 구축


    ROS 노드(공식)를 사용하면 ROS의 화제 통신을 통해 아까 점조를 6D 물체 식별과 SLAM 등에 직접 사용할 수 있다.
    (ROS를 접해 본 적이 없군요! 이런 분들은 일단 AzureKinect에 두고 ROS를 먼저 알아보고 튜토리얼을 접해 보는 게 좋을 것 같아요. 댓글에 요구가 많으면 유치한 문재인 제가 ROS를 평범하게 쓸지도 몰라요.)
    먼저 원하는 catkin workspace로 이동한 다음 src 디렉토리로 바로 내려가십시오.cd catkin_my_ws/src git clone https://github.com/microsoft/Azure_Kinect_ROS_Driver cd ..
    이렇게 되면 원본 코드를 다운로드하고 구축해야 한다.catkin build azure_kinect_ros_driver초보자들에게 여기서 오류가 발생하면 의존성 포장이 부족할 수 있다.
    잘못된 사람은 다음 명령을 시도해 보십시오.rosdep install -i -y -r --from-paths src(내가 ROS 첫해에 이 마법의 지령에 몇 번이나 구해졌는지 모르겠다.)
    모든 의존 패키지를 자동으로 설치해야 하기 때문에 아까 실패한 사람은 아까 catkin build azure_kinect_ros_driver를 다시 시도해 보세요.
    이렇게 실패하면 연구실 막강한 선배에게 울며불며 하소연하거나 게시판에 가주세요.
    그렇다면 새로운 포장을 장착했기 때문에 마지막으로 환경 변수를 갱신하세요.source devel/setup.bash이렇게 모든 준비가 다 되었다.

    단계 3: 실행


    이걸로 ↓.roslaunch azure_kinect_ros_driver driver.launch그래서 시각화되지는 않았지만 뒷면의 ROS 화제에서 Point Cloud2가 흐르기 시작했다.
    확인해봐.다른 터미널을 열고 rviz 명령을 사용하여 Rviz를 시작합니다.

    빈 Rviz가 상승합니다.
    왼쪽 아래에 있는 Add 버튼을 사용하여 표시할 항목을 선택합니다.
    Bytopic 태그에서/ponts2 Point Cloud2 를 선택하고 OK 를 누릅니다.

    좌표계가 다르기 때문에 아직 아무것도 보이지 않는다.
    글로벌옵션 map 프로젝트를 하단에서 camera_base 로 변경합시다.

    색상이 있는 점 그룹이 표시됩니다.축하합니다!
    그 다음은 평면 검측, 물체 검측입니다. PCL+pcl-Ros를 자유롭게 사용하세요.

    선전하다.


    색상 정보 기반의 6D 물체 식별.
    https://www.youtube.com/watch?v=agjsPMJshy0
    (로봇 연구의 일부로 제작되어 논문이 통과되어 방치되어 상당히 스팸 코드다.)
    RANSAC과 특징량 검사를 자주 사용하기 때문에 PCL의 쓰기 샘플이 되면...
    만약 평론란에 많은 요구가 있다면 잘 다시 쓸 수 있을 것이다.
    실제로 이쪽 물체인식 모듈을 사용하는 스테로이드 로봇이 여기서 ↓
    https://www.youtube.com/watch?v=2rr84jnez4k

    좋은 웹페이지 즐겨찾기