ROS 강좌 100 Moveit에서 샘플 이동

3531 단어 C++MoveIt!로봇ROS

환경



이 기사는 다음 환경에서 작동합니다.


품목



CPU
Core i5-8250U

우분투
16.04

ROS
키네틱


설치에 대한 자세한 내용은 ROS 강좌02 설치을 참조하십시오.
또한이 기사의 프로그램은 github에 업로드되었습니다. ROS 강좌 11 git 저장소을 참조하십시오.

개요



암 로봇 (다관절 로봇)의 주요 작업으로 암의 팁을 특정 자세로 만드는 작업이 있습니다. 이를 위해서는 IK(역운동학)와 궤도 계획의 두 가지 작업을 수행해야 합니다. 그러나 이들은 고급 수학적 지식이 필요하기 때문에 구현이 매우 번거롭습니다. ROS에서는 이러한 처리는 Moveit라는 라이브러리가 담당하고 있습니다.
이번에는 crane_plus라고 하는 암용의 ros 패키지를 clone 해 sim상에서 움직여 봅니다.

암 제어란?



여기서 암을 제어하는 ​​목적은 목표 지점의 pose를 지정하여 암의 끝을 ​​그 위치로 이동시키는 것입니다. 분해하면 이것은 두 가지 작업으로 나뉩니다.
  • 목적의 pose가 되기 위한 각 관절의 각도를 구하는 작업(IK:역운동학)
  • 현재의 관절 각도에서 상기에서 구한 각도로 변화하기 위한 각도의 변화시키는 방법을 계산하는 작업(기동 생성)

  • 이번 목적



    crane+라는 turtlebot2용 암(현재는 더 이상 팔고 있지 않습니까?)의 컨트롤용 패키지인 crane_plus_arm을 사용하여 moveit에 의한 암의 제어를 체험해 보겠습니다.

    install



    moveit 관련 패키지를 설치합니다.

    설치
    sudo apt install ros-kinetic-moveit
    sudo apt install ros-kinetic-moveit-ros-visualization 
    

    샘플 실행



    다운로드 및 컴파일


    cd ~/catkin_ws/src/
    git clone https://github.com/gbiggs/crane_plus_arm.git
    cd ~/catkin_ws/
    catkin_make
    

    실행 1



    moveit 자체만 움직이는 데모 launch를 시작합니다.
    roslaunch crane_plus_moveit_config demo.launch 
    

    인터랙티브 마커를 드래그하면 팁을 그 위치로 가져오기 위한 자세가 계산됩니다.


    Plan and Execute를 누르면 시작점에서 목표점으로 이동하는 궤적이 계산됩니다.
    (표시가 시끄럽기 때문에 rviz 왼쪽 상단의 디스플레이 패널에서 MotionPlanning->Planning Path->Loop Animation을 끄는 것이 좋습니다.)


    실행 2



    보다 실제 기계에 가까운 상태로 움직입니다. 실제 기계 대신 gazebo의 팔을 moveit로 조작합니다. 터미널 3개를 엽니다.

    gazebo 시뮬레이터 시작
    roslaunch crane_plus_simulation simulation.launch
    

    moveit 본체 시작
    roslaunch crane_plus_moveit_config move_group.launch
    

    moveit GUI (rviz 플러그인) 시작
    roslaunch crane_plus_moveit_config moveit_rviz.launch config:=true
    

    위의 실행 1과 마찬가지로 조작을 할 수 있습니다.


    참고



    crane+리포지토리
    moveit 사용법

    목차 페이지 링크



    ROS 강좌의 목차에의 링크

    좋은 웹페이지 즐겨찾기