Merged pcl_integration branch to trunk
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/ros-pkg@1014 f169173b-cf89-36c8-b27e-44dbe73f0c83
@@ -20,7 +20,7 @@
|
||||
<folderInfo id="0.250647335." name="/" resourcePath="">
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1185920931" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1185920931.1819283928" name=""/>
|
||||
<builder arguments="VERBOSE=true" command="make" id="org.eclipse.cdt.build.core.settings.default.builder.425794023" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<builder arguments="VERBOSE=true" buildPath="${ProjDirPath}/../../build" command="make" id="org.eclipse.cdt.build.core.settings.default.builder.425794023" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1445630059" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1764610277" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1671812416" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
|
||||
@@ -29,6 +29,10 @@
|
||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
||||
<value>make</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
||||
<value>${ProjDirPath}/../../build</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
||||
<value>clean</value>
|
||||
|
||||
@@ -1,51 +1,171 @@
|
||||
cmake_minimum_required(VERSION 2.4.6)
|
||||
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(rtabmap)
|
||||
|
||||
project(rtabmap-pkg)
|
||||
## Find catkin macros and libraries
|
||||
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
|
||||
## is used, also find other catkin packages
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
cv_bridge roscpp rospy sensor_msgs std_msgs std_srvs nav_msgs
|
||||
image_transport tf tf_conversions laser_geometry pcl_conversions
|
||||
pcl_ros nodelet dynamic_reconfigure
|
||||
)
|
||||
|
||||
# Set the build type. Options are:
|
||||
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
|
||||
# Debug : w/ debug symbols, w/o optimization
|
||||
# Release : w/o debug symbols, w/ optimization
|
||||
# RelWithDebInfo : w/ debug symbols, w/ optimization
|
||||
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
|
||||
#set(ROS_BUILD_TYPE RelWithDebInfo)
|
||||
## System dependencies are found with CMake's conventions
|
||||
# find_package(Boost REQUIRED COMPONENTS system)
|
||||
|
||||
rosbuild_init()
|
||||
find_package(RTABMap 0.6 REQUIRED)
|
||||
|
||||
#set the default path for built executables to the "bin" directory
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
|
||||
#set the default path for built libraries to the "lib" directory
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
|
||||
## Uncomment this if the package has a setup.py. This macro ensures
|
||||
## modules and global scripts declared therein get installed
|
||||
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
|
||||
# catkin_python_setup()
|
||||
|
||||
# For CMake 2.6
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
|
||||
#######################################
|
||||
## Declare ROS messages and services ##
|
||||
#######################################
|
||||
|
||||
#uncomment if you have defined messages
|
||||
rosbuild_genmsg()
|
||||
#uncomment if you have defined services
|
||||
rosbuild_gensrv()
|
||||
## Generate messages in the 'msg' folder
|
||||
add_message_files(
|
||||
FILES
|
||||
Info.msg
|
||||
InfoEx.msg
|
||||
KeyPoint.msg
|
||||
MapData.msg
|
||||
Bytes.msg
|
||||
)
|
||||
|
||||
#common commands for building c++ executables and libraries
|
||||
#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
|
||||
#target_link_libraries(${PROJECT_NAME} another_library)
|
||||
#rosbuild_add_boost_directories()
|
||||
#rosbuild_link_boost(${PROJECT_NAME} thread)
|
||||
#rosbuild_add_executable(example examples/example.cpp)
|
||||
#target_link_libraries(example ${PROJECT_NAME})
|
||||
## Generate services in the 'srv' folder
|
||||
# add_service_files(
|
||||
# FILES
|
||||
# Service1.srv
|
||||
# Service2.srv
|
||||
# )
|
||||
|
||||
find_package(OpenCV REQUIRED)
|
||||
## Generate added messages and services with any dependencies listed here
|
||||
generate_messages(
|
||||
DEPENDENCIES
|
||||
std_msgs
|
||||
geometry_msgs
|
||||
)
|
||||
|
||||
rosbuild_add_executable(rtabmap src/CoreNode.cpp src/CoreWrapper.cpp)
|
||||
target_link_libraries(rtabmap ${OpenCV_LIBS})
|
||||
#add dynamic reconfigure api
|
||||
generate_dynamic_reconfigure_options(cfg/Camera.cfg)
|
||||
|
||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui)
|
||||
IF(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND)
|
||||
INCLUDE(${QT_USE_FILE})
|
||||
rosbuild_add_executable(rtabmapviz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp)
|
||||
target_link_libraries(rtabmapviz ${QT_LIBRARIES} ${OpenCV_LIBS} "-lrtabmap_gui")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "[WARNING] Qt4 not found, the GUI node will not be compiled...")
|
||||
ENDIF()
|
||||
###################################
|
||||
## catkin specific configuration ##
|
||||
###################################
|
||||
## The catkin_package macro generates cmake config files for your package
|
||||
## Declare things to be passed to dependent projects
|
||||
## INCLUDE_DIRS: uncomment this if you package contains header files
|
||||
## LIBRARIES: libraries you create in this project that dependent projects also need
|
||||
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
||||
## DEPENDS: system dependencies of this project that dependent projects also need
|
||||
catkin_package(
|
||||
INCLUDE_DIRS include
|
||||
LIBRARIES rtabmap_ros
|
||||
CATKIN_DEPENDS cv_bridge roscpp rospy sensor_msgs std_msgs std_srvs nav_msgs
|
||||
image_transport tf tf_conversions laser_geometry pcl_conversions
|
||||
pcl_ros nodelet dynamic_reconfigure
|
||||
DEPENDS RTABMap
|
||||
)
|
||||
|
||||
###########
|
||||
## Build ##
|
||||
###########
|
||||
|
||||
MESSAGE(STATUS "RTABMap_INCLUDE_DIRS=${RTABMap_INCLUDE_DIRS}")
|
||||
|
||||
## Specify additional locations of header files
|
||||
## Your package locations should be listed before other locations
|
||||
# include_directories(include)
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
${RTABMap_INCLUDE_DIRS}
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
## Declare a cpp library
|
||||
add_library(rtabmap_ros
|
||||
src/nodelets/data_throttle.cpp
|
||||
src/nodelets/data_odom_sync.cpp
|
||||
src/nodelets/point_cloud_xyzrgb.cpp
|
||||
src/MsgConversion.cpp
|
||||
)
|
||||
target_link_libraries(rtabmap_ros
|
||||
${catkin_LIBRARIES}
|
||||
${RTABMap_LIBRARIES}
|
||||
)
|
||||
|
||||
add_executable(rtabmap src/CoreNode.cpp src/CoreWrapper.cpp)
|
||||
add_dependencies(rtabmap rtabmap_generate_messages_cpp)
|
||||
target_link_libraries(rtabmap rtabmap_ros ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
add_executable(visual_odometry src/VisualOdometryNode.cpp)
|
||||
target_link_libraries(visual_odometry rtabmap_ros ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
add_executable(map_assembler src/MapAssemblerNode.cpp)
|
||||
target_link_libraries(map_assembler rtabmap_ros ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
add_executable(grid_map_assembler src/GridMapAssemblerNode.cpp)
|
||||
target_link_libraries(grid_map_assembler rtabmap_ros ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
add_executable(camera src/CameraNode.cpp)
|
||||
add_dependencies(camera ${${PROJECT_NAME}_EXPORTED_TARGETS})
|
||||
target_link_libraries(camera ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
#Qt stuff
|
||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED)
|
||||
INCLUDE(${QT_USE_FILE})
|
||||
add_executable(rtabmapviz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp)
|
||||
target_link_libraries(rtabmapviz rtabmap_ros ${QT_LIBRARIES} ${catkin_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
add_executable(data_recorder src/DataRecorderNode.cpp)
|
||||
target_link_libraries(data_recorder rtabmap_ros ${catkin_LIBRARIES} ${QT_LIBRARIES} ${RTABMap_LIBRARIES})
|
||||
|
||||
#############
|
||||
## Install ##
|
||||
#############
|
||||
|
||||
# all install targets should use catkin DESTINATION variables
|
||||
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
|
||||
|
||||
## Mark executable scripts (Python etc.) for installation
|
||||
## in contrast to setup.py, you can choose the destination
|
||||
# install(PROGRAMS
|
||||
# scripts/my_python_script
|
||||
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
# )
|
||||
|
||||
## Mark executables and/or libraries for installation
|
||||
# install(TARGETS rtabmap rtabmap_node
|
||||
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
# )
|
||||
|
||||
## Mark cpp header files for installation
|
||||
# install(DIRECTORY include/${PROJECT_NAME}/
|
||||
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||||
# FILES_MATCHING PATTERN "*.h"
|
||||
# PATTERN ".svn" EXCLUDE
|
||||
# )
|
||||
|
||||
## Mark other files for installation (e.g. launch and bag files, etc.)
|
||||
# install(FILES
|
||||
# # myfile1
|
||||
# # myfile2
|
||||
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
# )
|
||||
|
||||
#############
|
||||
## Testing ##
|
||||
#############
|
||||
|
||||
## Add gtest based cpp test target and link libraries
|
||||
# catkin_add_gtest(${PROJECT_NAME}-test test/test_rtabmap.cpp)
|
||||
# if(TARGET ${PROJECT_NAME}-test)
|
||||
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
|
||||
# endif()
|
||||
|
||||
## Add folders to be run by python nosetests
|
||||
# catkin_add_nosetests(test)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env python
|
||||
PACKAGE = "rtabmap"
|
||||
|
||||
from dynamic_reconfigure.parameter_generator_catkin import *
|
||||
|
||||
gen = ParameterGenerator()
|
||||
|
||||
gen.add("device_id", int_t, 0, "Camera device ID", 0, 0, 7)
|
||||
gen.add("frame_rate", double_t, 0, "Frame rate", 15.0, 0.0, 100.0)
|
||||
gen.add("width", int_t, 0, "Width", 640, 0, 1920)
|
||||
gen.add("height", int_t, 0, "Image height", 480, 0, 1080)
|
||||
gen.add("video_or_images_path", str_t, 0, "Video or images directory path", "")
|
||||
gen.add("auto_restart", bool_t, 0, "Auto restart the camera (with reading from images and video)", True)
|
||||
gen.add("pause", bool_t, 0, "Pause", False)
|
||||
|
||||
exit(gen.generate(PACKAGE, "rtabmap", "Camera"))
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* MsgConversion.h
|
||||
*
|
||||
* Created on: 2013-10-23
|
||||
* Author: mathieu
|
||||
*/
|
||||
|
||||
#ifndef MSGCONVERSION_H_
|
||||
#define MSGCONVERSION_H_
|
||||
|
||||
#include <tf/LinearMath/Transform.h>
|
||||
#include <geometry_msgs/Transform.h>
|
||||
#include <geometry_msgs/Pose.h>
|
||||
#include <rtabmap/core/Transform.h>
|
||||
|
||||
namespace rtabmap {
|
||||
|
||||
void transformToTF(const rtabmap::Transform & transform, tf::Transform & tfTransform);
|
||||
rtabmap::Transform transformFromTF(const tf::Transform & transform);
|
||||
|
||||
void transformToGeometryMsg(const rtabmap::Transform & transform, geometry_msgs::Transform & msg);
|
||||
rtabmap::Transform transformFromGeometryMsg(const geometry_msgs::Transform & msg);
|
||||
|
||||
void transformToPoseMsg(const rtabmap::Transform & transform, geometry_msgs::Pose & msg);
|
||||
rtabmap::Transform transformFromPoseMsg(const geometry_msgs::Pose & msg);
|
||||
|
||||
}
|
||||
|
||||
#endif /* MSGCONVERSION_H_ */
|
||||
@@ -0,0 +1,40 @@
|
||||
[Gui]
|
||||
General\imagesKept=true
|
||||
General\loggerLevel=2
|
||||
General\loggerEventLevel=3
|
||||
General\loggerPauseLevel=4
|
||||
General\loggerType=1
|
||||
General\loggerPrintTime=true
|
||||
General\verticalLayoutUsed=false
|
||||
General\imageFlipped=false
|
||||
General\imageRejectedShown=true
|
||||
General\imageHighestHypShown=true
|
||||
General\beep=false
|
||||
General\keypointsOpacity=16
|
||||
General\voxelSize=0
|
||||
General\decimation=16
|
||||
MainWindow\state="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\x1\x11\0\0\x1\xf4\xfc\x2\0\0\0\x1\xfb\0\0\0$\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0s\0t\0\x61\0t\0s\0V\0\x32\x1\0\0\0(\0\0\x1\xf4\0\0\x1\xcc\0\xff\xff\xff\0\0\0\x1\0\0\x3k\0\0\x1\xf4\xfc\x2\0\0\0\x2\xfb\0\0\0,\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0\x63\0l\0o\0u\0\x64\0V\0i\0\x65\0w\0\x65\0r\0\0\0\0(\0\0\x1\xf4\0\0\0\xe1\0\xff\xff\xff\xfb\0\0\0\x38\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0l\0o\0o\0p\0\x43\0l\0o\0s\0u\0r\0\x65\0V\0i\0\x65\0w\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xf7\0\xff\xff\xff\0\0\0\x3\0\0\x6 \0\0\0\x9c\xfc\x1\0\0\0\x4\xfb\0\0\0(\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0p\0o\0s\0t\0\x65\0r\0i\0o\0r\x1\0\0\0\0\0\0\x6 \0\0\0\x8d\0\xff\xff\xff\xfb\0\0\0*\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0l\0i\0k\0\x65\0l\0i\0h\0o\0o\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\xfb\0\0\0$\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0\x63\0o\0n\0s\0o\0l\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0g\0\xff\xff\xff\xfb\0\0\0\x30\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0r\0\x61\0w\0l\0i\0k\0\x65\0l\0i\0h\0o\0o\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\0\0\x5\t\0\0\x1\xf4\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
|
||||
MainWindow\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0*\0\0\0\x63\0\0\x6Y\0\0\x3Z\0\0\0\x32\0\0\0\x7f\0\0\x6Q\0\0\x3R\0\0\0\0\0\0)
|
||||
General\showClouds0=true
|
||||
General\voxelSize0=0
|
||||
General\decimation0=4
|
||||
General\maxDepth0=4
|
||||
General\showScans0=true
|
||||
General\opacity0=0.6
|
||||
General\ptSize0=1
|
||||
General\opacityScan0=1
|
||||
General\ptSizeScan0=1
|
||||
General\showClouds1=true
|
||||
General\voxelSize1=0
|
||||
General\decimation1=2
|
||||
General\maxDepth1=0
|
||||
General\showScans1=true
|
||||
General\opacity1=1
|
||||
General\ptSize1=1
|
||||
General\opacityScan1=1
|
||||
General\ptSizeScan1=1
|
||||
General\showClouds2=true
|
||||
General\voxelSize2=0.01
|
||||
General\decimation2=1
|
||||
General\maxDepth2=4
|
||||
General\showScans2=true
|
||||
@@ -0,0 +1,410 @@
|
||||
Panels:
|
||||
- Class: rviz/Displays
|
||||
Help Height: 78
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded:
|
||||
- /Global Options1
|
||||
- /Grid1
|
||||
- /PointCloud21
|
||||
- /TF1/Frames1
|
||||
- /Marker1/Namespaces1
|
||||
- /Odometry1
|
||||
- /PointCloud22
|
||||
- /PointCloud23
|
||||
- /Odometry2
|
||||
- /LaserScan1
|
||||
- /Map1
|
||||
- /Map1/Status1
|
||||
Splitter Ratio: 0.5
|
||||
Tree Height: 581
|
||||
- Class: rviz/Selection
|
||||
Name: Selection
|
||||
- Class: rviz/Tool Properties
|
||||
Expanded:
|
||||
- /2D Pose Estimate1
|
||||
- /2D Nav Goal1
|
||||
Name: Tool Properties
|
||||
Splitter Ratio: 0.588679
|
||||
- Class: rviz/Views
|
||||
Expanded:
|
||||
- /Current View1
|
||||
Name: Views
|
||||
Splitter Ratio: 0.5
|
||||
- Class: rviz/Time
|
||||
Experimental: false
|
||||
Name: Time
|
||||
SyncMode: 0
|
||||
SyncSource: LaserScan
|
||||
Visualization Manager:
|
||||
Class: ""
|
||||
Displays:
|
||||
- Alpha: 0.5
|
||||
Cell Size: 1
|
||||
Class: rviz/Grid
|
||||
Color: 160; 160; 164
|
||||
Enabled: true
|
||||
Line Style:
|
||||
Line Width: 0.03
|
||||
Value: Lines
|
||||
Name: Grid
|
||||
Normal Cell Count: 0
|
||||
Offset:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Plane: XY
|
||||
Plane Cell Count: 10
|
||||
Reference Frame: odom
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Autocompute Intensity Bounds: true
|
||||
Autocompute Value Bounds:
|
||||
Max Value: 2.02684
|
||||
Min Value: -1.12646
|
||||
Value: true
|
||||
Axis: Z
|
||||
Channel Name: rgb
|
||||
Class: rviz/PointCloud2
|
||||
Color: 255; 255; 255
|
||||
Color Transformer: RGB8
|
||||
Decay Time: 0
|
||||
Enabled: true
|
||||
Invert Rainbow: false
|
||||
Max Color: 255; 255; 255
|
||||
Max Intensity: 2.34177e-38
|
||||
Min Color: 0; 0; 0
|
||||
Min Intensity: 9.21942e-41
|
||||
Name: PointCloud2
|
||||
Position Transformer: XYZ
|
||||
Queue Size: 10
|
||||
Selectable: true
|
||||
Size (Pixels): 3
|
||||
Size (m): 0.01
|
||||
Style: Points
|
||||
Topic: /voxel_cloud
|
||||
Use Fixed Frame: true
|
||||
Use rainbow: true
|
||||
Value: true
|
||||
- Class: rviz/TF
|
||||
Enabled: true
|
||||
Frame Timeout: 15
|
||||
Frames:
|
||||
All Enabled: false
|
||||
L_forearm_link:
|
||||
Value: true
|
||||
L_frame_tool_link:
|
||||
Value: true
|
||||
L_gripper_up_link:
|
||||
Value: true
|
||||
L_shoulder_fixed_link:
|
||||
Value: true
|
||||
L_shoulder_pan_link:
|
||||
Value: true
|
||||
L_shoulder_tilt_link:
|
||||
Value: true
|
||||
L_upper_arm_link:
|
||||
Value: true
|
||||
R_forearm_link:
|
||||
Value: true
|
||||
R_frame_tool_link:
|
||||
Value: true
|
||||
R_gripper_up_link:
|
||||
Value: true
|
||||
R_shoulder_fixed_link:
|
||||
Value: true
|
||||
R_shoulder_pan_link:
|
||||
Value: true
|
||||
R_shoulder_tilt_link:
|
||||
Value: true
|
||||
R_upper_arm_link:
|
||||
Value: true
|
||||
base_footprint:
|
||||
Value: true
|
||||
base_laser_link:
|
||||
Value: true
|
||||
base_link:
|
||||
Value: true
|
||||
head_l_eye_eyebrow_link:
|
||||
Value: true
|
||||
head_l_eye_link:
|
||||
Value: true
|
||||
head_l_eye_pupil_link:
|
||||
Value: true
|
||||
head_link:
|
||||
Value: true
|
||||
head_r_eye_eyebrow_link:
|
||||
Value: true
|
||||
head_r_eye_link:
|
||||
Value: true
|
||||
head_r_eye_pupil_link:
|
||||
Value: true
|
||||
map:
|
||||
Value: true
|
||||
neck_bracket_link:
|
||||
Value: true
|
||||
neck_pan_link:
|
||||
Value: true
|
||||
neck_tilt_link:
|
||||
Value: true
|
||||
neck_top_frame:
|
||||
Value: true
|
||||
odom:
|
||||
Value: true
|
||||
openni_base_link:
|
||||
Value: true
|
||||
openni_camera_link:
|
||||
Value: true
|
||||
openni_depth_frame:
|
||||
Value: true
|
||||
openni_depth_optical_frame:
|
||||
Value: true
|
||||
openni_rgb_frame:
|
||||
Value: true
|
||||
openni_rgb_optical_frame:
|
||||
Value: true
|
||||
torso_imu_link:
|
||||
Value: true
|
||||
torso_link:
|
||||
Value: true
|
||||
torso_stand_link:
|
||||
Value: true
|
||||
torso_top_frame:
|
||||
Value: true
|
||||
wheelLB_linkWheel_link:
|
||||
Value: true
|
||||
wheelLB_wheel_link:
|
||||
Value: true
|
||||
wheelLF_linkWheel_link:
|
||||
Value: true
|
||||
wheelLF_wheel_link:
|
||||
Value: true
|
||||
wheelRB_linkWheel_link:
|
||||
Value: true
|
||||
wheelRB_wheel_link:
|
||||
Value: true
|
||||
wheelRF_linkWheel_link:
|
||||
Value: true
|
||||
wheelRF_wheel_link:
|
||||
Value: true
|
||||
Marker Scale: 1
|
||||
Name: TF
|
||||
Show Arrows: true
|
||||
Show Axes: true
|
||||
Show Names: true
|
||||
Tree:
|
||||
map:
|
||||
odom:
|
||||
{}
|
||||
Update Interval: 0
|
||||
Value: true
|
||||
- Class: rviz/Marker
|
||||
Enabled: true
|
||||
Marker Topic: visualization_marker
|
||||
Name: Marker
|
||||
Namespaces:
|
||||
{}
|
||||
Queue Size: 100
|
||||
Value: true
|
||||
- Class: rviz/Marker
|
||||
Enabled: true
|
||||
Marker Topic: /visualization_marker_wheels
|
||||
Name: Marker
|
||||
Namespaces:
|
||||
{}
|
||||
Queue Size: 100
|
||||
Value: true
|
||||
- Angle Tolerance: 0
|
||||
Class: rviz/Odometry
|
||||
Color: 255; 25; 0
|
||||
Enabled: true
|
||||
Keep: 1
|
||||
Length: 1
|
||||
Name: Odometry
|
||||
Position Tolerance: 0
|
||||
Topic: /odom
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Autocompute Intensity Bounds: true
|
||||
Autocompute Value Bounds:
|
||||
Max Value: 2.3372
|
||||
Min Value: -0.700095
|
||||
Value: true
|
||||
Axis: Z
|
||||
Channel Name: intensity
|
||||
Class: rviz/PointCloud2
|
||||
Color: 255; 255; 255
|
||||
Color Transformer: RGB8
|
||||
Decay Time: 0
|
||||
Enabled: true
|
||||
Invert Rainbow: false
|
||||
Max Color: 255; 255; 255
|
||||
Max Intensity: 4096
|
||||
Min Color: 0; 0; 0
|
||||
Min Intensity: 0
|
||||
Name: PointCloud2
|
||||
Position Transformer: XYZ
|
||||
Queue Size: 10
|
||||
Selectable: true
|
||||
Size (Pixels): 3
|
||||
Size (m): 0.01
|
||||
Style: Points
|
||||
Topic: /assembled_clouds
|
||||
Use Fixed Frame: true
|
||||
Use rainbow: true
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Autocompute Intensity Bounds: true
|
||||
Autocompute Value Bounds:
|
||||
Max Value: 4.00237
|
||||
Min Value: 0.462084
|
||||
Value: true
|
||||
Axis: Z
|
||||
Channel Name: intensity
|
||||
Class: rviz/PointCloud2
|
||||
Color: 255; 255; 255
|
||||
Color Transformer: Intensity
|
||||
Decay Time: 0
|
||||
Enabled: true
|
||||
Invert Rainbow: false
|
||||
Max Color: 255; 255; 255
|
||||
Max Intensity: 4096
|
||||
Min Color: 0; 0; 0
|
||||
Min Intensity: 0
|
||||
Name: PointCloud2
|
||||
Position Transformer: XYZ
|
||||
Queue Size: 10
|
||||
Selectable: true
|
||||
Size (Pixels): 3
|
||||
Size (m): 0.01
|
||||
Style: Points
|
||||
Topic: /assembled_scans
|
||||
Use Fixed Frame: true
|
||||
Use rainbow: true
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Autocompute Intensity Bounds: true
|
||||
Autocompute Value Bounds:
|
||||
Max Value: 2.1283
|
||||
Min Value: -0.00552607
|
||||
Value: true
|
||||
Axis: Z
|
||||
Channel Name: intensity
|
||||
Class: rviz/PointCloud2
|
||||
Color: 255; 255; 255
|
||||
Color Transformer: AxisColor
|
||||
Decay Time: 0
|
||||
Enabled: false
|
||||
Invert Rainbow: false
|
||||
Max Color: 255; 255; 255
|
||||
Max Intensity: 4096
|
||||
Min Color: 0; 0; 0
|
||||
Min Intensity: 0
|
||||
Name: PointCloud2
|
||||
Position Transformer: XYZ
|
||||
Queue Size: 10
|
||||
Selectable: true
|
||||
Size (Pixels): 3
|
||||
Size (m): 0.01
|
||||
Style: Flat Squares
|
||||
Topic: /cloud2
|
||||
Use Fixed Frame: true
|
||||
Use rainbow: true
|
||||
Value: false
|
||||
- Angle Tolerance: 0.01
|
||||
Class: rviz/Odometry
|
||||
Color: 255; 25; 0
|
||||
Enabled: true
|
||||
Keep: 1
|
||||
Length: 1
|
||||
Name: Odometry
|
||||
Position Tolerance: 0.01
|
||||
Topic: /odom_slam
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Autocompute Intensity Bounds: true
|
||||
Autocompute Value Bounds:
|
||||
Max Value: 1.97636
|
||||
Min Value: -11.138
|
||||
Value: true
|
||||
Axis: X
|
||||
Channel Name: intensity
|
||||
Class: rviz/LaserScan
|
||||
Color: 255; 255; 255
|
||||
Color Transformer: AxisColor
|
||||
Decay Time: 0
|
||||
Enabled: true
|
||||
Invert Rainbow: false
|
||||
Max Color: 255; 255; 255
|
||||
Max Intensity: 4096
|
||||
Min Color: 0; 0; 0
|
||||
Min Intensity: 0
|
||||
Name: LaserScan
|
||||
Position Transformer: XYZ
|
||||
Queue Size: 10
|
||||
Selectable: true
|
||||
Size (Pixels): 3
|
||||
Size (m): 0.01
|
||||
Style: Flat Squares
|
||||
Topic: /jn0/base_scan
|
||||
Use Fixed Frame: false
|
||||
Use rainbow: true
|
||||
Value: true
|
||||
- Alpha: 0.7
|
||||
Class: rviz/Map
|
||||
Color Scheme: map
|
||||
Draw Behind: false
|
||||
Enabled: true
|
||||
Name: Map
|
||||
Topic: /grid_map
|
||||
Value: true
|
||||
Enabled: true
|
||||
Global Options:
|
||||
Background Color: 48; 48; 48
|
||||
Fixed Frame: odom
|
||||
Frame Rate: 30
|
||||
Name: root
|
||||
Tools:
|
||||
- Class: rviz/Interact
|
||||
Hide Inactive Objects: true
|
||||
- Class: rviz/MoveCamera
|
||||
- Class: rviz/Select
|
||||
- Class: rviz/Measure
|
||||
- Class: rviz/SetInitialPose
|
||||
Topic: /initialpose
|
||||
- Class: rviz/SetGoal
|
||||
Topic: /move_base_simple/goal
|
||||
Value: true
|
||||
Views:
|
||||
Current:
|
||||
Class: rviz/Orbit
|
||||
Distance: 16.0582
|
||||
Focal Point:
|
||||
X: -0.102899
|
||||
Y: 0.0127649
|
||||
Z: 0.650117
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.01
|
||||
Pitch: 0.6598
|
||||
Target Frame: base_link
|
||||
Value: Orbit (rviz)
|
||||
Yaw: 3.58419
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 754
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd000000040000000000000136000002d4fc0200000006fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006400fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000000000002d4000000dd00fffffffb0000000a0049006d00610067006501000002b1000000c70000000000000000000000010000010f00000312fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000000000000312000000b000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a0000002f600fffffffb0000000800540069006d006501000000000000045000000000000000000000035a000002d400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730000000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Time:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1174
|
||||
X: 42
|
||||
Y: 88
|
||||
@@ -0,0 +1,41 @@
|
||||
[Gui]
|
||||
General\imagesKept=true
|
||||
General\loggerLevel=2
|
||||
General\loggerEventLevel=3
|
||||
General\loggerPauseLevel=4
|
||||
General\loggerType=1
|
||||
General\loggerPrintTime=true
|
||||
General\verticalLayoutUsed=true
|
||||
General\imageFlipped=false
|
||||
General\imageRejectedShown=true
|
||||
General\imageHighestHypShown=true
|
||||
General\beep=false
|
||||
General\keypointsOpacity=16
|
||||
General\voxelSize=0
|
||||
General\decimation=16
|
||||
MainWindow\state="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\x1\x11\0\0\x2u\xfc\x2\0\0\0\x1\xfb\0\0\0$\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0s\0t\0\x61\0t\0s\0V\0\x32\x1\0\0\0(\0\0\x2u\0\0\x1\xcc\0\xff\xff\xff\0\0\0\x1\0\0\x3\xa0\0\0\x2u\xfc\x2\0\0\0\x2\xfb\0\0\0,\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0\x63\0l\0o\0u\0\x64\0V\0i\0\x65\0w\0\x65\0r\x1\0\0\0(\0\0\x2u\0\0\0\xe1\0\xff\xff\xff\xfb\0\0\0\x38\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0l\0o\0o\0p\0\x43\0l\0o\0s\0u\0r\0\x65\0V\0i\0\x65\0w\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xf7\0\xff\xff\xff\0\0\0\x3\0\0\x5\xf7\0\0\0\x9c\xfc\x1\0\0\0\x4\xfb\0\0\0(\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0p\0o\0s\0t\0\x65\0r\0i\0o\0r\x1\0\0\0\0\0\0\x5\xf7\0\0\0\x8d\0\xff\xff\xff\xfb\0\0\0*\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0l\0i\0k\0\x65\0l\0i\0h\0o\0o\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\xfb\0\0\0$\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0\x63\0o\0n\0s\0o\0l\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0g\0\xff\xff\xff\xfb\0\0\0\x30\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0_\0r\0\x61\0w\0l\0i\0k\0\x65\0l\0i\0h\0o\0o\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x87\0\xff\xff\xff\0\0\x1:\0\0\x2u\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
|
||||
MainWindow\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0*\0\0\0Y\0\0\x6\x30\0\0\x3\xd1\0\0\0\x32\0\0\0u\0\0\x6(\0\0\x3\xc9\0\0\0\0\0\0)
|
||||
General\showClouds0=true
|
||||
General\voxelSize0=0.1
|
||||
General\decimation0=4
|
||||
General\maxDepth0=4
|
||||
General\showScans0=true
|
||||
General\opacity0=0.6
|
||||
General\ptSize0=1
|
||||
General\opacityScan0=1
|
||||
General\ptSizeScan0=5
|
||||
General\showClouds1=true
|
||||
General\voxelSize1=0
|
||||
General\decimation1=4
|
||||
General\maxDepth1=0
|
||||
General\showScans1=true
|
||||
General\opacity1=1
|
||||
General\ptSize1=10
|
||||
General\opacityScan1=1
|
||||
General\ptSizeScan1=1
|
||||
General\showClouds2=true
|
||||
General\voxelSize2=0.1
|
||||
General\decimation2=1
|
||||
General\maxDepth2=4
|
||||
General\showScans2=true
|
||||
General\meshing0=true
|
||||
@@ -1,28 +0,0 @@
|
||||
<launch>
|
||||
|
||||
<!-- RTAB-MAP LOOP CLOSURE DETECTION VERSION -->
|
||||
<!-- WARNING : Database is automatically deleted on each startup -->
|
||||
<!-- See "delete_db_on_start" option below... -->
|
||||
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
|
||||
|
||||
<param name="config_path" value="~/.rtabmap/demo.ini" type="string"/>
|
||||
<param name="working_directory" value="~/.rtabmap" type="string"/>
|
||||
</node>
|
||||
|
||||
<node name="rtabmapviz" pkg="rtabmap" type="rtabmapviz" output="screen"
|
||||
args="-d ~/.rtabmap/demo.ini"/>
|
||||
|
||||
<!-- uimage pkg is from the UtiLite stack : svn checkout http://utilite.googlecode.com/svn/trunk/ros-pkg utilite -->
|
||||
<!-- When parameter video_or_images_path is set, the camera uses the directory of images or the video file -->
|
||||
<node name="camera" pkg="uimage" type="camera" output="screen">
|
||||
<remap from="/camera/image" to="/image"/>
|
||||
<param name="device_id" value="0" type="int"/>
|
||||
<param name="video_or_images_path" value="$(find rtabmap_lib)/build/rtabmap-svn/bin/data/samples" type="string"/>
|
||||
<param name="frame_rate" value="2.0" type="double"/>
|
||||
<param name="width" value="0" type="int"/>
|
||||
<param name="height" value="0" type="int"/>
|
||||
<param name="auto_restart" value="false" type="bool"/> <!-- Process only one time the data set -->
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,45 @@
|
||||
<launch>
|
||||
|
||||
<!-- APPEARANCE-BASED LOCALIZATION VERSION -->
|
||||
|
||||
<group ns="rtabmap">
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="">
|
||||
|
||||
<param name="subscribe_depth" type="bool" value="false"/> <!-- must be false for appearance-based mode -->
|
||||
<param name="subscribe_laserScan" type="bool" value="false"/> <!-- must be false for appearance-based mode -->
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
|
||||
<remap from="rgb/image" to="/image"/> <!-- connect to "image" topic of the camera below -->
|
||||
|
||||
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
|
||||
<param name="RGBD/Enabled" type="string" value="false"/> <!-- False: appearance-based -->
|
||||
<param name="Rtabmap/DatabasePath" type="string" value="~/.ros/rtabmap.db"/> <!-- Database used for localization -->
|
||||
<param name="Rtabmap/ImageBufferSize" type="string" value="0"/> <!-- process all images -->
|
||||
<param name="Rtabmap/DetectionRate" type="string" value="1"/> <!-- Don't need to do fast detection on localization -->
|
||||
<param name="Mem/STMSize" type="string" value="1"/> <!-- 1 location in short-term memory -->
|
||||
<param name="Mem/IncrementalMemory" type="string" value="false"/> <!-- false = Localization mode-->
|
||||
</node>
|
||||
|
||||
<!-- visualization of the "infoEx" topic sent by rtabmap node -->
|
||||
<node name="rtabmapviz" pkg="rtabmap" type="rtabmapviz" output="screen" args="-d $(find rtabmap)/launch/config/appearance_gui.ini">
|
||||
|
||||
<!-- This enables the GUI to pause a rtabmap/camera when action "pause" is checked. -->
|
||||
<!-- NOTE: It is specific to rtabmap/camera. Action "pause" in the GUI will still pause the rtabmap node. -->
|
||||
<param name="camera_node_name" type="string" value="/camera"/>
|
||||
|
||||
</node>
|
||||
</group>
|
||||
|
||||
<!-- uimage pkg is from the UtiLite stack : svn checkout http://utilite.googlecode.com/svn/trunk/ros-pkg utilite -->
|
||||
<!-- When parameter video_or_images_path is set, the camera uses the directory of images or the video file -->
|
||||
<node name="camera" pkg="rtabmap" type="camera" output="screen">
|
||||
<remap from="image" to="image"/>
|
||||
<param name="device_id" value="0" type="int"/>
|
||||
<param name="video_or_images_path" value="$(find rtabmap)/data" type="string"/>
|
||||
<param name="frame_rate" value="2.0" type="double"/>
|
||||
<param name="width" value="0" type="int"/>
|
||||
<param name="height" value="0" type="int"/>
|
||||
<param name="auto_restart" value="false" type="bool"/> <!-- Process only one time the data set -->
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,48 @@
|
||||
<launch>
|
||||
|
||||
<!-- APPEARANCE-BASED LOOP CLOSURE DETECTION VERSION -->
|
||||
<!-- WARNING : Database is automatically deleted on each startup -->
|
||||
<!-- See "delete_db_on_start" option below... -->
|
||||
|
||||
<group ns="rtabmap">
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
|
||||
|
||||
<param name="subscribe_depth" type="bool" value="false"/> <!-- must be false for appearance-based mode -->
|
||||
<param name="subscribe_laserScan" type="bool" value="false"/> <!-- must be false for appearance-based mode -->
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
|
||||
<remap from="rgb/image" to="/image"/> <!-- connect to "image" topic of the camera below -->
|
||||
|
||||
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
|
||||
<param name="RGBD/Enabled" type="string" value="false"/> <!-- False: appearance-based -->
|
||||
<param name="Rtabmap/ImageBufferSize" type="string" value="0"/> <!-- process all images -->
|
||||
<param name="Rtabmap/DetectionRate" type="string" value="0"/> <!-- Go as fast as the camera rate (here 2 Hz, see below) -->
|
||||
<param name="Mem/RehearsalSimilarity" type="string" value="0.4"/> <!-- 40% -->
|
||||
<param name="Mem/STMSize" type="string" value="15"/> <!-- 15 locations in short-term memory -->
|
||||
<param name="Mem/IncrementalMemory" type="string" value="true"/> <!-- true = SLAM mode -->
|
||||
<param name="Mem/RehearsalIdUpdatedToNewOne" type="string" value="true"/> <!-- On merging, update to new ID-->
|
||||
</node>
|
||||
|
||||
<!-- visualization of the "infoEx" topic sent by rtabmap node -->
|
||||
<node name="rtabmapviz" pkg="rtabmap" type="rtabmapviz" output="screen" args="-d $(find rtabmap)/launch/config/appearance_gui.ini">
|
||||
|
||||
<!-- This enables the GUI to pause a rtabmap/camera when action "pause" is checked. -->
|
||||
<!-- NOTE: It is specific to rtabmap/camera. Action "pause" in the GUI will still pause the rtabmap node. -->
|
||||
<param name="camera_node_name" type="string" value="/camera"/>
|
||||
|
||||
</node>
|
||||
</group>
|
||||
|
||||
<!-- uimage pkg is from the UtiLite stack : svn checkout http://utilite.googlecode.com/svn/trunk/ros-pkg utilite -->
|
||||
<!-- When parameter video_or_images_path is set, the camera uses the directory of images or the video file -->
|
||||
<node name="camera" pkg="rtabmap" type="camera" output="screen">
|
||||
<remap from="image" to="image"/>
|
||||
<param name="device_id" value="0" type="int"/>
|
||||
<param name="video_or_images_path" value="$(find rtabmap)/data" type="string"/>
|
||||
<param name="frame_rate" value="2.0" type="double"/>
|
||||
<param name="width" value="0" type="int"/>
|
||||
<param name="height" value="0" type="int"/>
|
||||
<param name="auto_restart" value="false" type="bool"/> <!-- Process only one time the data set -->
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
<launch>
|
||||
|
||||
<!-- record data to RTAB-Map database format (like a ROS bag, but usable in RTAB-Map for Windows/Mac OS X) -->
|
||||
<!-- This demo works with demo_mapping.bag -->
|
||||
|
||||
<param name="use_sim_time" type="bool" value="True"/>
|
||||
|
||||
<node name="data_recorder" pkg="rtabmap" type="data_recorder" output="screen">
|
||||
<param name="output_file_name" value="output.db" type="string"/>
|
||||
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<param name="subscribe_odometry" type="bool" value="true"/>
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
</node>
|
||||
|
||||
</launch>
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
<launch>
|
||||
|
||||
<!-- ROBOT LOCALIZATION VERSION: use this with ROS bag demo_mapping.bag -->
|
||||
<!-- A database "~/.ros/rtabmap.db" must be already created from -->
|
||||
<!-- the "demo_robot_mapping.launch" demo -->
|
||||
<!-- Once RTAB-Map GUI stated, you can do "Edit->Download Map" to get all the map in the GUI -->
|
||||
|
||||
<param name="use_sim_time" type="bool" value="True"/>
|
||||
|
||||
<!-- SLAM (robot side) -->
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="">
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
|
||||
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
|
||||
<param name="Rtabmap/DatabasePath" type="string" value="~/.ros/rtabmap.db"/> <!-- Database used for localization -->
|
||||
<param name="Rtabmap/DetectionRate" type="string" value="1"/> <!-- Don't need to do relocation very often! Though better results if the same rate as when mapping. -->
|
||||
<param name="Mem/STMSize" type="string" value="1"/> <!-- 1 location in short-term memory -->
|
||||
<param name="Mem/IncrementalMemory" type="string" value="false"/> <!-- false = Localization mode-->
|
||||
</node>
|
||||
|
||||
<!-- Visualisation (client side) -->
|
||||
<node pkg="rtabmap" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap)/launch/config/rgbd_gui.ini" output="screen">
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
</node>
|
||||
|
||||
</launch>
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
<launch>
|
||||
|
||||
<!-- ROBOT MAPPING VERSION: use this with ROS bag demo_mapping.bag -->
|
||||
<!-- WARNING : Database is automatically deleted on each startup -->
|
||||
<!-- See "delete_db_on_start" option below... -->
|
||||
|
||||
<param name="use_sim_time" type="bool" value="True"/>
|
||||
|
||||
<!-- SLAM (robot side) -->
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
|
||||
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
|
||||
<param name="RGBD/ScanMatchingSize" type="string" value="1"/> <!-- Do odometry correction with consecutive laser scans -->
|
||||
<param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/> <!-- Laser scan matching when near (using estimated position) old locations in WM -->
|
||||
<param name="RGBD/LocalLoopDetectionTime" type="string" value="false"/> <!-- Don't find loop closures in time (i.e. with locations in STM) -->
|
||||
</node>
|
||||
|
||||
<!-- Visualisation (client side) -->
|
||||
<node pkg="rtabmap" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap)/launch/config/rgbd_gui.ini" output="screen">
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
</node>
|
||||
|
||||
</launch>
|
||||
@@ -0,0 +1,64 @@
|
||||
|
||||
<launch>
|
||||
|
||||
<!-- ROBOT MAPPING VERSION: use this with ROS bag demo_mapping.bag -->
|
||||
<!-- WARNING : Database is automatically deleted on each startup -->
|
||||
<!-- See "delete_db_on_start" option below... -->
|
||||
|
||||
<param name="use_sim_time" type="bool" value="True"/>
|
||||
|
||||
<!-- SLAM (robot side) -->
|
||||
<!-- args: "delete_db_on_start" and "udebug" -->
|
||||
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
|
||||
<param name="frame_id" type="string" value="base_footprint"/>
|
||||
|
||||
<param name="subscribe_depth" type="bool" value="true"/>
|
||||
<param name="subscribe_laserScan" type="bool" value="true"/>
|
||||
|
||||
<remap from="odom" to="/az3/base_controller/odom"/>
|
||||
<remap from="scan" to="/jn0/base_scan"/>
|
||||
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
|
||||
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
|
||||
<param name="RGBD/ScanMatchingSize" type="string" value="1"/> <!-- Do odometry correction with consecutive laser scans -->
|
||||
<param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/> <!-- Laser scan matching when near (using estimated position) old locations in WM -->
|
||||
<param name="RGBD/LocalLoopDetectionTime" type="string" value="false"/> <!-- Don't find loop closures in time (i.e. with locations in STM) -->
|
||||
</node>
|
||||
|
||||
<!-- Visualisation -->
|
||||
|
||||
<!-- Map assembler for rviz-->
|
||||
<node pkg="rtabmap" type="map_assembler" name="map_assembler" output="screen" args="">
|
||||
<param name="cloud_decimation" type="int" value="4"/>
|
||||
<param name="cloud_voxel_size" type="double" value="0.02"/>
|
||||
<param name="scan_voxel_size" type="double" value="0.01"/>
|
||||
</node>
|
||||
|
||||
<!-- Grid map assembler for rviz -->
|
||||
<node pkg="rtabmap" type="grid_map_assembler" name="grid_map_assembler" output="screen"/>
|
||||
|
||||
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap)/launch/config/rgbd.rviz"/>
|
||||
|
||||
<node pkg="nodelet" type="nodelet" name="standalone_nodelet" args="manager" output="screen"/>
|
||||
<node pkg="nodelet" type="nodelet" name="points_xyzrgb" args="load rtabmap/point_cloud_xyzrgb standalone_nodelet">
|
||||
<remap from="rgb/image" to="data_throttled_image"/>
|
||||
<remap from="depth/image" to="data_throttled_image_depth"/>
|
||||
<remap from="rgb/camera_info" to="data_throttled_camera_info"/>
|
||||
<remap from="cloud" to="voxel_cloud" />
|
||||
|
||||
<param name="rgb/image_transport" type="string" value="compressed"/>
|
||||
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
||||
|
||||
<param name="queue_size" type="int" value="10"/>
|
||||
<param name="voxel_size" type="double" value="0.01"/>
|
||||
</node>
|
||||
|
||||
</launch>
|
||||
@@ -0,0 +1,23 @@
|
||||
<!-- Default frames for Kinect/PSDK5 devices
|
||||
Places depth and RGB cameras in the same plane with 2.5cm baseline.
|
||||
Calibration may improve results, but these defaults are reasonably accurate.
|
||||
-->
|
||||
<launch>
|
||||
<arg name="camera" default="camera" />
|
||||
<arg name="ns" default="" />
|
||||
|
||||
<arg name="pi/2" value="1.5707963267948966" />
|
||||
<arg name="optical_rotate" value="0 0 0 -$(arg pi/2) 0 -$(arg pi/2)" />
|
||||
|
||||
<node pkg="tf" type="static_transform_publisher" name="$(arg camera)_base_link"
|
||||
args="0 -0.02 0 0 0 0 $(arg ns)/$(arg camera)_link $(arg ns)/$(arg camera)_depth_frame 100" />
|
||||
<node pkg="tf" type="static_transform_publisher" name="$(arg camera)_base_link1"
|
||||
args="0 -0.045 0 0 0 0 $(arg ns)/$(arg camera)_link $(arg ns)/$(arg camera)_rgb_frame 100" />
|
||||
<node pkg="tf" type="static_transform_publisher" name="$(arg camera)_base_link2"
|
||||
args="$(arg optical_rotate) $(arg ns)/$(arg camera)_depth_frame $(arg ns)/$(arg camera)_depth_optical_frame 100" />
|
||||
<node pkg="tf" type="static_transform_publisher" name="$(arg camera)_base_link3"
|
||||
args="$(arg optical_rotate) $(arg ns)/$(arg camera)_rgb_frame $(arg ns)/$(arg camera)_rgb_optical_frame 100" />
|
||||
</launch>
|
||||
|
||||
<!-- TODO Could instead store these in camera_pose_calibration format for consistency
|
||||
with user calibrations. Blocked on camera_pose_calibration having sane dependencies. -->
|
||||