change folder name

This commit is contained in:
Darby Lim 2018-03-06 11:09:38 +09:00
parent 810f4fd6cc
commit 5b715c66c7
49 changed files with 426 additions and 964 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,35 @@
################################################################################
# CMake
################################################################################
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(turtlebot3_gazebo_plugin)
find_package(gazebo REQUIRED)
include_directories(${GAZEBO_INCLUDE_DIRS})
################################################################################
# Packages
################################################################################
find_package(gazebo REQUIRED
)
################################################################################
# Declare ROS messages, services and actions
################################################################################
################################################################################
# Declare ROS dynamic reconfigure parameters
################################################################################
################################################################################
# Catkin specific configuration
################################################################################
################################################################################
# Build
################################################################################
link_directories(${GAZEBO_LIBRARY_DIRS})
include_directories(
${GAZEBO_INCLUDE_DIRS}
)
list(APPEND CMAKE_CXX_FLAGS "${GAZEBO_CXX_FLAGS}")
add_library(turtlebot3 SHARED src/turtlebot3.cc)
@ -12,4 +39,12 @@ add_executable(lidar_listener src/lidar_listener.cc)
target_link_libraries(lidar_listener ${GAZEBO_LIBRARIES} pthread)
add_executable(image_listener src/image_listener.cc)
target_link_libraries(image_listener ${GAZEBO_LIBRARIES} pthread)
target_link_libraries(image_listener ${GAZEBO_LIBRARIES} pthread)
################################################################################
# Install
################################################################################
################################################################################
# Test
################################################################################

View File

@ -6,6 +6,8 @@ $ sudo apt-get install libgazebo7-dev
$ export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:${turtlebot3_gazebo_plugin}/build
$ export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:${turtlebot3_gazebo_plugin}/models
# Make and Build
$ cd ${turtlebot3_gazebo_plugin}/build
@ -15,7 +17,7 @@ $ make
# Excute
$ cd ${turtlebot3_gazebo_plugin}
$ gazebo world/turtlebot3_${TB3_MODEL}.world
$ gazebo worlds/turtlebot3_${TB3_MODEL}.world
- TB3_MODEL = `burger`, `waffle`, `waffle_pi`

View File

@ -189,7 +189,7 @@ CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=Project
CMAKE_PROJECT_NAME:STATIC=turtlebot3_gazebo_plugin
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
@ -525,6 +525,12 @@ onelib:FILEPATH=/usr/lib/x86_64-linux-gnu/libignition-math2.so
//Dependencies for the target
turtlebot3_LIB_DEPENDS:STATIC=general;/usr/lib/x86_64-linux-gnu/libgazebo.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_client.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_gui.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_sensors.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_rendering.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_physics.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_ode.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_transport.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_msgs.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_util.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_common.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_gimpact.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_opcode.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_opende_ou.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_math.so;general;/usr/lib/x86_64-linux-gnu/libgazebo_ccd.so;general;/usr/lib/x86_64-linux-gnu/libboost_thread.so;general;/usr/lib/x86_64-linux-gnu/libboost_signals.so;general;/usr/lib/x86_64-linux-gnu/libboost_system.so;general;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;general;/usr/lib/x86_64-linux-gnu/libboost_program_options.so;general;/usr/lib/x86_64-linux-gnu/libboost_regex.so;general;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;general;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;general;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;general;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;general;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libprotobuf.so;debug;/usr/lib/x86_64-linux-gnu/libprotobuf.so;general;-lpthread;general;/usr/lib/x86_64-linux-gnu/libsdformat.so;general;/usr/lib/x86_64-linux-gnu/libignition-math2.so;optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so;general;/usr/lib/x86_64-linux-gnu/libboost_thread.so;general;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;general;/usr/lib/x86_64-linux-gnu/libboost_system.so;general;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;general;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;general;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;general;/usr/lib/x86_64-linux-gnu/libignition-math2.so;
//Value Computed by CMake
turtlebot3_gazebo_plugin_BINARY_DIR:STATIC=/home/darby/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo_plugin/build
//Value Computed by CMake
turtlebot3_gazebo_plugin_SOURCE_DIR:STATIC=/home/darby/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo_plugin
########################
# INTERNAL cache entries

View File

@ -2,13 +2,10 @@
<sdf version="1.4">
<model name="turtlebot3_burger">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.032 0 0.070 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -60,23 +57,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.020 0 0.161 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -85,10 +68,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.020 0 0.161 0 0 0</pose>
<geometry>
<cylinder>
@ -98,7 +81,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.032 0 0.171 0 0 0</pose>
<geometry>
<mesh>
@ -108,9 +91,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.032 0 0.171 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -133,24 +116,13 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.032 0 0.171 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0 0.08 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -171,10 +143,11 @@
</cylinder>
</geometry>
<surface>
<!-- This friction pamareter don't contain reliable data!! -->
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -194,20 +167,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.08 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -216,7 +179,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>1</mass>
<mass>0.1</mass>
</inertial>
<collision name="right_wheel_collision">
@ -228,10 +191,11 @@
</cylinder>
</geometry>
<surface>
<!-- This friction pamareter don't contain reliable data!! -->
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -251,12 +215,30 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.032 0 0.171 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -7,7 +7,7 @@
<sdf version="1.5">model.sdf</sdf>
<author>
<name>Taehoon Lim(Darby)</name>
<name>Taehun Lim(Darby)</name>
<email>thlim@robotis.com</email>
</author>

View File

@ -2,13 +2,10 @@
<sdf version="1.5">
<model name="turtlebot3_burger">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.032 0 0.070 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -60,23 +57,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.020 0 0.161 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -85,10 +68,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.020 0 0.161 0 0 0</pose>
<geometry>
<cylinder>
@ -98,7 +81,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.032 0 0.171 0 0 0</pose>
<geometry>
<mesh>
@ -108,9 +91,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.032 0 0.171 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -133,24 +116,13 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.032 0 0.171 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0 0.08 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -171,10 +143,11 @@
</cylinder>
</geometry>
<surface>
<!-- This friction pamareter don't contain reliable data!! -->
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -194,20 +167,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.08 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -216,7 +179,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>1</mass>
<mass>0.1</mass>
</inertial>
<collision name="right_wheel_collision">
@ -228,10 +191,11 @@
</cylinder>
</geometry>
<surface>
<!-- This friction pamareter don't contain reliable data!! -->
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -251,12 +215,30 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.08 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.032 0 0.171 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -2,13 +2,10 @@
<sdf version="1.4">
<model name="turtlebot3_waffle">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.064 0 0.048 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -69,8 +66,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -80,23 +77,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.052 0 0.111 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -105,10 +88,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.052 0 0.111 0 0 0</pose>
<geometry>
<cylinder>
@ -118,7 +101,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.064 0 0.121 0 0 0</pose>
<geometry>
<mesh>
@ -128,9 +111,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.064 0 0.121 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -153,23 +136,12 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="r200">
<link name="image">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.069 0 0.104 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -178,11 +150,11 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.035</mass>
</inertial>
<collision name="r200_collision">
<pose>0.069 0 0.104 0 0 0</pose>
<collision name="image_collision">
<pose>-0.069 0 0.104 0 0 0</pose>
<geometry>
<box>
<size>0.008 0.130 0.022</size>
@ -191,39 +163,29 @@
</collision>
<sensor name="intel_realsense_r200" type="camera">
<always_on>1</always_on>
<visualize>0</visualize>
<update_rate>30</update_rate>
<pose>0.064 -0.047 0.107 0 0 0</pose>
<always_on>true</always_on>
<visualize>true</visualize>
<camera>
<horizontal_fov>1.02974</horizontal_fov>
<image>
<width>1920</width>
<height>1080</height>
<format>R8G8B8</format>
</image>
<depth_camera></depth_camera>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
<horizontal_fov>1.02974</horizontal_fov>
<image>
<width>1920</width>
<height>1080</height>
<format>R8G8B8</format>
</image>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
</camera>
</sensor>
</link>
<joint name="r200_joint" type="fixed">
<parent>base</parent>
<child>r200</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -246,8 +208,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -267,20 +229,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -303,8 +255,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -324,12 +276,40 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<joint name="image_joint" type="fixed">
<parent>base</parent>
<child>image</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -7,7 +7,7 @@
<sdf version="1.5">model.sdf</sdf>
<author>
<name>Taehoon Lim(Darby)</name>
<name>Taehun Lim(Darby)</name>
<email>thlim@robotis.com</email>
</author>

View File

@ -2,13 +2,10 @@
<sdf version="1.5">
<model name="turtlebot3_waffle">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.064 0 0.048 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -69,8 +66,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -80,23 +77,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.052 0 0.111 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -105,10 +88,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.052 0 0.111 0 0 0</pose>
<geometry>
<cylinder>
@ -118,7 +101,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.064 0 0.121 0 0 0</pose>
<geometry>
<mesh>
@ -128,9 +111,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.064 0 0.121 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -153,23 +136,12 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="r200">
<link name="image">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.069 0 0.104 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -178,11 +150,11 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.035</mass>
</inertial>
<collision name="r200_collision">
<pose>0.069 0 0.104 0 0 0</pose>
<collision name="image_collision">
<pose>-0.069 0 0.104 0 0 0</pose>
<geometry>
<box>
<size>0.008 0.130 0.022</size>
@ -191,39 +163,29 @@
</collision>
<sensor name="intel_realsense_r200" type="camera">
<always_on>1</always_on>
<visualize>0</visualize>
<update_rate>30</update_rate>
<pose>0.064 -0.047 0.107 0 0 0</pose>
<always_on>true</always_on>
<visualize>true</visualize>
<camera>
<horizontal_fov>1.02974</horizontal_fov>
<image>
<width>1920</width>
<height>1080</height>
<format>R8G8B8</format>
</image>
<depth_camera></depth_camera>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
<horizontal_fov>1.02974</horizontal_fov>
<image>
<width>1920</width>
<height>1080</height>
<format>R8G8B8</format>
</image>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
</camera>
</sensor>
</link>
<joint name="r200_joint" type="fixed">
<parent>base</parent>
<child>r200</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -246,8 +208,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -267,20 +229,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -303,8 +255,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -324,12 +276,40 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<joint name="image_joint" type="fixed">
<parent>base</parent>
<child>image</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -2,13 +2,10 @@
<sdf version="1.4">
<model name="turtlebot3_waffle_pi">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.064 0 0.048 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -69,8 +66,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -80,23 +77,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.052 0 0.111 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -105,10 +88,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.052 0 0.111 0 0 0</pose>
<geometry>
<cylinder>
@ -118,7 +101,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.064 0 0.121 0 0 0</pose>
<geometry>
<mesh>
@ -128,9 +111,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.064 0 0.121 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -153,23 +136,12 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="pi_cam">
<link name="image">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.069 0 0.104 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -178,22 +150,22 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.035</mass>
</inertial>
<collision name="pi_cam_collision">
<pose>0.074 0 0.097 0 0 0</pose>
<collision name="image_collision">
<pose>-0.069 0 0.104 0 0 0</pose>
<geometry>
<box>
<size>0.008 0.030 0.035</size>
<size>0.008 0.130 0.022</size>
</box>
</geometry>
</collision>
<sensor name="raspberry_pi_cam" type="camera">
<pose>0.076 0 0.094 0 0 0</pose>
<always_on>true</always_on>
<visualize>true</visualize>
<always_on>0</always_on>
<visualize>0</visualize>
<camera>
<horizontal_fov>1.085595</horizontal_fov>
<image>
@ -210,20 +182,10 @@
</sensor>
</link>
<joint name="pi_cam_joint" type="fixed">
<parent>base</parent>
<child>pi_cam</child>
<pose>0.073 -0.011 0.084 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -246,8 +208,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -267,20 +229,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -303,8 +255,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -324,12 +276,40 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<joint name="image_joint" type="fixed">
<parent>base</parent>
<child>image</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -7,7 +7,7 @@
<sdf version="1.5">model.sdf</sdf>
<author>
<name>Taehoon Lim(Darby)</name>
<name>Taehun Lim(Darby)</name>
<email>thlim@robotis.com</email>
</author>

View File

@ -2,13 +2,10 @@
<sdf version="1.5">
<model name="turtlebot3_waffle_pi">
<link name="footprint">
</link>
<link name="base">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.064 0 0.048 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -17,7 +14,7 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>1.0</mass>
</inertial>
<collision name="base_collision">
@ -49,8 +46,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -69,8 +66,8 @@
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0</slip1>
<slip2>0</slip2>
@ -80,23 +77,9 @@
</collision>
</link>
<joint name="base_joint" type="revolute">
<parent>footprint</parent>
<child>base</child>
<pose>0.0 0.0 -0.010 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="lds">
<link name="lidar">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.052 0 0.111 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -105,10 +88,10 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.125</mass>
</inertial>
<collision name="lds_sensor_collision">
<collision name="lidar_sensor_collision">
<pose>-0.052 0 0.111 0 0 0</pose>
<geometry>
<cylinder>
@ -118,7 +101,7 @@
</geometry>
</collision>
<visual name="lds_sensor_visual">
<visual name="lidar_sensor_visual">
<pose>-0.064 0 0.121 0 0 0</pose>
<geometry>
<mesh>
@ -128,9 +111,9 @@
</geometry>
</visual>
<sensor name="laser" type="ray">
<always_on>true</always_on>
<visualize>true</visualize>
<sensor name="hls_lfcd_lds" type="ray">
<always_on>1</always_on>
<visualize>0</visualize>
<pose>-0.064 0 0.121 0 0 0</pose>
<update_rate>1800</update_rate>
<ray>
@ -153,23 +136,12 @@
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="laser" filename="libRayPlugin.so" />
</sensor>
</link>
<joint name="lds_joint" type="fixed">
<parent>base</parent>
<child>lds</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="pi_cam">
<link name="image">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>-0.069 0 0.104 0 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -178,22 +150,22 @@
<iyz>0.000</iyz>
<izz>0.001</izz>
</inertia>
<mass>0.1</mass>
<mass>0.035</mass>
</inertial>
<collision name="pi_cam_collision">
<pose>0.074 0 0.097 0 0 0</pose>
<collision name="image_collision">
<pose>-0.069 0 0.104 0 0 0</pose>
<geometry>
<box>
<size>0.008 0.030 0.035</size>
<size>0.008 0.130 0.022</size>
</box>
</geometry>
</collision>
<sensor name="raspberry_pi_cam" type="camera">
<pose>0.076 0 0.094 0 0 0</pose>
<always_on>true</always_on>
<visualize>true</visualize>
<always_on>0</always_on>
<visualize>0</visualize>
<camera>
<horizontal_fov>1.085595</horizontal_fov>
<image>
@ -210,20 +182,10 @@
</sensor>
</link>
<joint name="pi_cam_joint" type="fixed">
<parent>base</parent>
<child>pi_cam</child>
<pose>0.073 -0.011 0.084 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="left_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -246,8 +208,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -267,20 +229,10 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<link name="right_wheel">
<inertial>
<pose>0 0 0 0 0 0</pose>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<inertia>
<ixx>0.001</ixx>
<ixy>0.000</ixy>
@ -303,8 +255,8 @@
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
<mu>100000.0</mu>
<mu2>100000.0</mu2>
<fdir1>0 0 0</fdir1>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
@ -324,12 +276,40 @@
</visual>
</link>
<joint name="left_wheel_joint" type="revolute">
<parent>base</parent>
<child>left_wheel</child>
<pose>0.0 0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="right_wheel_joint" type="revolute">
<parent>base</parent>
<child>right_wheel</child>
<pose>0.0 -0.144 0.023 -1.57 0 0</pose>
<axis>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint name="lidar_joint" type="fixed">
<parent>base</parent>
<child>lidar</child>
<pose>-0.064 0 0.121 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>
<joint name="image_joint" type="fixed">
<parent>base</parent>
<child>image</child>
<pose>0.064 -0.065 0.094 0 0 0</pose>
<axis>
<xyz>0 0 1</xyz>
<use_parent_model_frame>true</use_parent_model_frame>
</axis>
</joint>

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<package>
<name>turtlebot3_gazebo_plugin</name>
<version>0.1.7</version>
<description>
Gazebo standalone simulation package for the TurtleBot3
</description>
<license>Apache License 2.0</license>
<author email="pyo@robotis.com">Pyo</author>
<author email="thlim@robotis.com">Darby Lim</author>
<maintainer email="pyo@robotis.com">Pyo</maintainer>
<url type="bugtracker">https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues</url>
<url type="repository">https://github.com/ROBOTIS-GIT/turtlebot3_simulations</url>
<url type="website">http://turtlebot3.robotis.com</url>
<buildtool_depend>catkin</buildtool_depend>
<export>
</export>
</package>

View File

@ -32,11 +32,14 @@ void laserScanCallbackMsg(ConstLaserScanStampedPtr &msg)
std::cout << "min range : " << msg->scan().range_min() << std::endl;
std::cout << "max range : " << msg->scan().range_max() << std::endl;
std::cout << "scan data : [";
for (int angle = 0; angle < msg->scan().ranges_size(); angle++)
{
std::cout << "scan data[" << angle << "] = " << msg->scan().ranges(angle) << std::endl;
std::cout << msg->scan().ranges(angle) << ", ";
}
std::cout << "]" << std::endl;
// Add your code
}

View File

@ -2,7 +2,7 @@
# CMake
################################################################################
cmake_minimum_required(VERSION 2.8.3)
project(turtlebot3_gazebo)
project(turtlebot3_gazebo_ros)
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
@ -50,14 +50,14 @@ include_directories(
${GAZEBO_INCLUDE_DIRS}
)
add_executable(gazebo_ros_turtlebot3 src/gazebo_ros_turtlebot3.cpp)
target_link_libraries(gazebo_ros_turtlebot3 ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES})
add_dependencies(gazebo_ros_turtlebot3 ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_executable(turtlebot3_drive src/turtlebot3_drive.cpp)
target_link_libraries(turtlebot3_drive ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES})
add_dependencies(turtlebot3_drive ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
################################################################################
# Install
################################################################################
install(TARGETS gazebo_ros_turtlebot3
install(TARGETS turtlebot3_drive
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
@ -75,10 +75,6 @@ install(DIRECTORY rviz
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY models
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
################################################################################
# Test
################################################################################

View File

@ -14,10 +14,10 @@
* limitations under the License.
*******************************************************************************/
/* Authors: Taehoon Lim (Darby) */
/* Authors: Taehun Lim (Darby) */
#ifndef GAZEBO_ROS_TURTLEBOT3_H_
#define GAZEBO_ROS_TURTLEBOT3_H_
#ifndef TURTLEBOT3_DRIVE_H_
#define TURTLEBOT3_DRIVE_H_
#include <ros/ros.h>
#include <ros/time.h>
@ -47,11 +47,11 @@
#define TB3_RIGHT_TURN 2
#define TB3_LEFT_TURN 3
class GazeboRosTurtleBot3
class Turtlebot3Drive
{
public:
GazeboRosTurtleBot3();
~GazeboRosTurtleBot3();
Turtlebot3Drive();
~Turtlebot3Drive();
bool init();
bool controlLoop();
@ -87,4 +87,4 @@ class GazeboRosTurtleBot3
void laserScanMsgCallBack(const sensor_msgs::LaserScan::ConstPtr &msg);
void jointStateMsgCallBack(const sensor_msgs::JointState::ConstPtr &msg);
};
#endif // GAZEBO_ROS_TURTLEBOT3_H_
#endif // TURTLEBOT3_DRIVE_H_

View File

@ -5,7 +5,7 @@
<arg name="z_pos" default="0.0"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find turtlebot3_gazebo)/models/empty.world"/>
<arg name="world_name" value="$(find turtlebot3_gazebo_plugin)/worlds/empty.world"/>
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>

View File

@ -9,5 +9,5 @@
<param name="publish_frequency" type="double" value="50.0" />
</node>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find turtlebot3_gazebo)/rviz/turtlebot3_gazebo_model.rviz"/>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find turtlebot3_gazebo_ros)/rviz/turtlebot3_gazebo_model.rviz"/>
</launch>

View File

@ -3,6 +3,6 @@
<param name="tb3_model" value="$(arg model)"/>-->
<node name="gazebo_ros_turtlebot3_tutorial" pkg="turtlebot3_gazebo" type="gazebo_ros_turtlebot3" required="true" output="screen">
<node name="turtlebot3_gazebo_ros_tutorial" pkg="turtlebot3_gazebo_ros" type="turtlebot3_drive" required="true" output="screen">
</node>
</launch>

View File

@ -7,7 +7,7 @@
<node pkg="tf" type="static_transform_publisher" name="camera_tf" args="-1.95 -0.55 2.0 -1.58 0 -1.58 /odom /camera_link 100"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find turtlebot3_gazebo)/models/turtlebot3.world"/>
<arg name="world_name" value="$(find turtlebot3_gazebo_plugin)/worlds/turtlebot3.world"/>
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>

View File

@ -1,9 +1,9 @@
<?xml version="1.0"?>
<package>
<name>turtlebot3_gazebo</name>
<name>turtlebot3_gazebo_ros</name>
<version>0.1.7</version>
<description>
Gazebo simulation package for the TurtleBot3
Gazebo-ROS simulation package for the TurtleBot3
</description>
<license>Apache License 2.0</license>
<author email="pyo@robotis.com">Pyo</author>

View File

@ -16,9 +16,9 @@
/* Authors: Taehoon Lim (Darby) */
#include "turtlebot3_gazebo/gazebo_ros_turtlebot3.h"
#include "turtlebot3_gazebo_ros/turtlebot3_drive.h"
GazeboRosTurtleBot3::GazeboRosTurtleBot3()
Turtlebot3Drive::Turtlebot3Drive()
: nh_priv_("~")
{
//Init gazebo ros turtlebot3 node
@ -26,7 +26,7 @@ GazeboRosTurtleBot3::GazeboRosTurtleBot3()
ROS_ASSERT(init());
}
GazeboRosTurtleBot3::~GazeboRosTurtleBot3()
Turtlebot3Drive::~Turtlebot3Drive()
{
updatecommandVelocity(0.0, 0.0);
ros::shutdown();
@ -35,7 +35,7 @@ GazeboRosTurtleBot3::~GazeboRosTurtleBot3()
/*******************************************************************************
* Init function
*******************************************************************************/
bool GazeboRosTurtleBot3::init()
bool Turtlebot3Drive::init()
{
// initialize ROS parameter
nh_.param("is_debug", is_debug_, is_debug_);
@ -67,18 +67,18 @@ bool GazeboRosTurtleBot3::init()
cmd_vel_pub_ = nh_.advertise<geometry_msgs::Twist>("/cmd_vel", 10);
// initialize subscribers
laser_scan_sub_ = nh_.subscribe("/scan", 10, &GazeboRosTurtleBot3::laserScanMsgCallBack, this);
joint_state_sub_ = nh_.subscribe("/joint_states", 10, &GazeboRosTurtleBot3::jointStateMsgCallBack, this);
laser_scan_sub_ = nh_.subscribe("/scan", 10, &Turtlebot3Drive::laserScanMsgCallBack, this);
joint_state_sub_ = nh_.subscribe("/joint_states", 10, &Turtlebot3Drive::jointStateMsgCallBack, this);
return true;
}
void GazeboRosTurtleBot3::jointStateMsgCallBack(const sensor_msgs::JointState::ConstPtr &msg)
void Turtlebot3Drive::jointStateMsgCallBack(const sensor_msgs::JointState::ConstPtr &msg)
{
right_joint_encoder_ = msg->position.at(0);
}
void GazeboRosTurtleBot3::laserScanMsgCallBack(const sensor_msgs::LaserScan::ConstPtr &msg)
void Turtlebot3Drive::laserScanMsgCallBack(const sensor_msgs::LaserScan::ConstPtr &msg)
{
uint16_t scan_angle[3] = {0, 30, 330};
@ -95,7 +95,7 @@ void GazeboRosTurtleBot3::laserScanMsgCallBack(const sensor_msgs::LaserScan::Con
}
}
void GazeboRosTurtleBot3::updatecommandVelocity(double linear, double angular)
void Turtlebot3Drive::updatecommandVelocity(double linear, double angular)
{
geometry_msgs::Twist cmd_vel;
@ -108,7 +108,7 @@ void GazeboRosTurtleBot3::updatecommandVelocity(double linear, double angular)
/*******************************************************************************
* Control Loop function
*******************************************************************************/
bool GazeboRosTurtleBot3::controlLoop()
bool Turtlebot3Drive::controlLoop()
{
static uint8_t turtlebot3_state_num = 0;
double wheel_radius = 0.033;
@ -190,14 +190,14 @@ bool GazeboRosTurtleBot3::controlLoop()
*******************************************************************************/
int main(int argc, char* argv[])
{
ros::init(argc, argv, "gazebo_ros_turtlebot3");
GazeboRosTurtleBot3 gazeboRosTurtleBot3;
ros::init(argc, argv, "turtlebot3_drive");
Turtlebot3Drive turtlebot3_drive;
ros::Rate loop_rate(125);
while (ros::ok())
{
gazeboRosTurtleBot3.controlLoop();
turtlebot3_drive.controlLoop();
ros::spinOnce();
loop_rate.sleep();
}