[ROS] PointCloud2의 영역을 자르기
소개
ROS의 PointCloud2를 잘라내는 방법이 없는지 생각해 보았습니다.
jsk-pcl-ros라는 패키지의 attention_clipper를 사용하면 지정된 box 내의 점 구름을 잘라내는 것을 알았습니다.
다음 방법을 설명합니다.
환경
ubuntu18.04
ROS:melodic
실행 절차
install
sudo apt-get install -y ros-melodic-jsk-pcl-ros
sudo apt-get install -y ros-melodic-jsk-visualization
다음과 같이 lauch를 만듭니다. input topic name, size 및 frame id는 자신의 환경에 맞게 수정합니다.
launch
<launch>
<arg name="gui" default="false" />
<arg name="input_cloud" value="/camera/depth/color/points" />
<node name="attention_clipper"
pkg="nodelet" type="nodelet"
args="standalone jsk_pcl/AttentionClipper">
<remap from="~input/points" to="$(arg input_cloud)" />
<rosparam>
initial_pos: [0, 0, 0]
initial_rot: [0, 0, 0]
dimension_x: 0.2
dimension_y: 0.2
dimension_z: 2
frame_id: camera_depth_optical_frame
</rosparam>
</node>
<node name="extract_indices"
pkg="jsk_pcl_ros" type="extract_indices">
<remap from="~input" to="$(arg input_cloud)" />
<remap from="~indices" to="attention_clipper/output/point_indices" />
</node>
</launch>
이렇게하면 다음 사진과 같이 지정된 상자에서 점 구름을 잘라낼 수 있습니다.
추가: 샘플
다음 패키지에서 attention_clipper를 쉽게 시도 할 수 있습니다.
사용법은 다음과 같습니다.
installsudo 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 attention_clipper.launch
attention_clipper의 BoundingBox는 topic으로 이동하거나 확장 할 수 있습니다.
예를 들면 다음과 같습니다.
BoundingBox 이동rostopic pub /attention_clipper/input/pose geometry_msgs/PoseStamped "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: 'base_link'
pose:
position:
x: 0.0
y: 0.1
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0"
BoundingBox 확대rostopic pub /attention_clipper/input/box jsk_recognition_msgs/BoundingBox "header:
seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: 'base_link'
pose:
position: {x: 0.0, y: 0.1, z: 0.0}
orientation: {x: 0.0, y: 0.0, z: 0.0, w: 0.0}
dimensions: {x: 0.2, y: 0.2, z: 0.2}
value: 0.0
label: 0"
또한 여러 BoundingBox를 지정할 수 있습니다.
샘플을 시작하는 방법은 다음과 같습니다.
샘플 시작 방법 (BoundingBox 다중)roslaunch jsk_pcl_ros_samples attention_clipper_multi.launch
이상입니다, 꼭보십시오!
또한 작동하지 않거나 수정 사항이 있으면 언제든지 문의하십시오.
Reference
이 문제에 관하여([ROS] PointCloud2의 영역을 자르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hoshianaaa/items/d48a4eb08a4442d6289d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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 attention_clipper.launch
rostopic pub /attention_clipper/input/pose geometry_msgs/PoseStamped "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: 'base_link'
pose:
position:
x: 0.0
y: 0.1
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0"
rostopic pub /attention_clipper/input/box jsk_recognition_msgs/BoundingBox "header:
seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: 'base_link'
pose:
position: {x: 0.0, y: 0.1, z: 0.0}
orientation: {x: 0.0, y: 0.0, z: 0.0, w: 0.0}
dimensions: {x: 0.2, y: 0.2, z: 0.2}
value: 0.0
label: 0"
roslaunch jsk_pcl_ros_samples attention_clipper_multi.launch
Reference
이 문제에 관하여([ROS] PointCloud2의 영역을 자르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hoshianaaa/items/d48a4eb08a4442d6289d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)