Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toshikinakamura0412/pointcloud_storer_ros
The ROS package for storing pointclouds and poses
https://github.com/toshikinakamura0412/pointcloud_storer_ros
cpp icp mapping matching mit-license pcl pointcloud robotics ros ros-noetic storing-data
Last synced: 18 days ago
JSON representation
The ROS package for storing pointclouds and poses
- Host: GitHub
- URL: https://github.com/toshikinakamura0412/pointcloud_storer_ros
- Owner: ToshikiNakamura0412
- License: mit
- Created: 2024-06-22T10:11:56.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-06-24T09:25:28.000Z (8 months ago)
- Last Synced: 2024-11-20T21:58:45.064Z (3 months ago)
- Topics: cpp, icp, mapping, matching, mit-license, pcl, pointcloud, robotics, ros, ros-noetic, storing-data
- Language: C++
- Homepage:
- Size: 48.8 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pointcloud_storer_ros
![Build Status](https://github.com/ToshikiNakamura0412/pointcloud_storer_ros/workflows/build/badge.svg)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)ROS package for storing pointclouds and poses
The demo assumes that a portion of the scan data has been acquired, so the scan data is extracted with the `pointcloud_angle_filter` node in [amr_navigation_utils_ros](https://github.com/ToshikiNakamura0412/amr_navigation_utils_ros.git) package
![]()
## Environment
- Ubuntu 20.04
- ROS Noetic## Dependencies
- [icp_matching_ros](https://github.com/ToshikiNakamura0412/icp_matching_ros.git)## Install and Build
```
# clone repository
cd /path/to/your/catkin_ws/src
git clone https://github.com/ToshikiNakamura0412/pointcloud_storer_ros.git
git clone https://github.com/ToshikiNakamura0412/icp_matching_ros.git# build
cd /path/to/your/catkin_ws
rosdep install -riy --from-paths src --rosdistro noetic # Install dependencies
catkin build pointcloud_storer_ros -DCMAKE_BUILD_TYPE=Release # Release build is recommended
```## How to use
```
roslaunch pointcloud_storer_ros pointcloud_storer.launch
```## Running the demo
```
# clone repository
cd /path/to/your/catkin_ws/src
git clone https://github.com/ToshikiNakamura0412/emcl_ros.git
git clone https://github.com/ToshikiNakamura0412/scan_to_pcl_ros.git
git clone https://github.com/ToshikiNakamura0412/amr_navigation_utils_ros.git
git clone https://github.com/ToshikiNakamura0412/raycast_mapping_ros.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git# build
cd /path/to/your/catkin_ws
rosdep install -riy --from-paths src --rosdistro noetic
catkin build -DCMAKE_BUILD_TYPE=Release# run demo
## terminal 1
export TURTLEBOT3_MODEL=burger
roslaunch pointcloud_storer_ros test.launch
## terminal 2
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
```## Node I/O
![Node I/O](images/node_io.png)### Runtime requirement
TF (from the frame_id of cloud to the frame_id of robot_pose) is required## Nodes
### pointcloud_storer
#### Published Topics
- ~\/graph/edge (`nav_msgs/Path`)
- Edge of pose graph
- ~\/graph/node (`geometry_msgs/PoseArray`)
- Node of pose graph
- ~\/stored_cloud (`sensor_msgs/PointCloud2`)
- Stored pointcloud#### Subscribed Topics
- /cloud (`sensor_msgs/PointCloud2`)
- Input pointcloud
- /robot_pose (`geometry_msgs/PoseWithCovarianceStamped`)
- Robot pose#### Parameters
- ~\/store_num (int, default: `3`):
The number of pointclouds to store
- ~\/interval (float, default: `0.5` [m]):
The interval between stored pointclouds
- ~\/leaf_size (float, default: `0.05` [m]):
The leaf size of voxel grid filter