위치 추정 (jsk pcl ros D e tectGraspable PosesPcabase)

5550 단어 ROSPCLjsk

개시하다


로봇에서 PCL로 식별된 물체를 잡을 때는 반드시 잡는 위치를 확인해야 한다.그때pcl_로스가 포장한 D e tect Graspable PosesPcabase는 사용할 수 있을 것 같아 사용법을 조사했다.

노드 설명


jsk_pcl_ros 포장된 detectgraspable_poses_pcabase.py가 이번에 사용한 프로그램 이름으로 목표 대상의 점 그룹과 PCA 알고리즘을 사용하여 자세를 잡는 후보를 출력합니다.
또한 ROS 인터페이스의 이름과 데이터 유형 등은 다음과 같습니다.
  • Subscribing Topic~inputsensor_msgs/PointCloud2: 입력 포인트 그룹(RGB 필드 필요)
  • Publishing Topic~output/can_grasp_poses(geometry_msgs/PoseArray: 로봇이 잡을 수 있는 자세 목록
  • Parameters~direction(Character,default:x): 이 방향에서 목표를 잡으려고 시도합니다~hand_width[m](Flat,default:0.13): 기계의 손이 열 수 있는 길이~interval_m[m](Flat,default:0.04): 출력 자세의 간격을 늘리고 잡기 자세의 후보를 잡으려면 이 값을 줄인다.
  • 시용하다


    아래의 포장을 사용하시면graspable_poses_pcabase를 간단하게 테스트할 수 있습니다.
    다음 단계에 따라 수행할 수 있습니다.
    setting
    ###インストール
    sudo apt-get install -y ros-melodic-jsk-pcl-ros
    sudo apt-get install -y ros-melodic-jsk-visualization
    git clone https://github.com/hoshianaaa/jsk_pcl_ros_samples.git
    
    ###ビルド
    
    cd ~/catkin_ws/src
    
    catkin build 
    または
    catkin make
    
    source ~/catkin_ws/devel/setup.bash
    
    
    실행
    roslaunch jsk_pcl_ros_samples detect_graspable_poses_pcabase.launch
    
    이번에 만든 런치는 다음 사진입니다.
  • 입력한 Point Cloud2 데이터의 데이터 이름
  • 잡기 방향, 로봇의 손 너비, 잡기 자세 후보의 간격
  • 설정되었습니다.

    detect_graspable_poses_pcabase.launch
    <launch>
    
        <arg name="file_name" value="$(find jsk_pcl_ros_samples)/pcd/bunny.pcd"/>
    
        <!-- rate : if publish at 10 Hz, set 0.1 -->
    
        <arg name="rate" value="0.1"/>
        <node pkg="pcl_ros" type="pcd_to_pointcloud" name="pcd_to_pointcloud" args="$(arg file_name) $(arg rate)" output="screen">
            <remap from="cloud_pcd" to="/points"/>
            <param name="frame_id" value="base_link" />
        </node>
    
      <arg name="INPUT_CLOUD" value="/points" />
    
      <node name="detect_graspable_poses_pcabase"
            pkg="jsk_pcl_ros" type="detect_graspable_poses_pcabase.py">
        <remap from="~input" to="$(arg INPUT_CLOUD)" />
        <rosparam subst_value="true">
          direction: z
          hand_size: 0.20
          interval_m: 0.04
        </rosparam>
    
      </node>
    
        <node name="rviz" pkg="rviz" type="rviz" args="-d $(find jsk_pcl_ros_samples)/rviz/detect_graspable_poses_pcabase.rviz" required="true" />
    
    </launch>
    
    실행하면 버니야.rviz에서 pcd의 점군의 잡기 자세를 확인할 수 있는 후보가 출력된 상황은 다음과 같다.

    참고 자료

  • 설명서
  • 본사 샘플
  • 소스 코드
    https://github.com/jsk-ros-pkg/jsk_recognition/blob/master/jsk_pcl_ros/scripts/detect_graspable_poses_pcabase.py
  • 좋은 웹페이지 즐겨찾기