Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions turtlebot3_fake_node/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
Changelog for package turtlebot3_fake
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.3.4 (2025-05-28)
------------------
* None

2.3.0 (2025-02-17)
------------------
* None
Expand Down
2 changes: 1 addition & 1 deletion turtlebot3_fake_node/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>turtlebot3_fake_node</name>
<version>2.3.0</version>
<version>2.3.4</version>
<description>
Package for TurtleBot3 fake node. With this package, simple tests can be done without a robot.
You can do simple tests using this package on rviz without real robots.
Expand Down
4 changes: 4 additions & 0 deletions turtlebot3_gazebo/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
Changelog for package turtlebot3_gazebo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.3.4 (2025-05-28)
------------------
* None

2.3.0 (2025-02-17)
------------------
* Added multi-robot launch functionality
Expand Down
2 changes: 1 addition & 1 deletion turtlebot3_gazebo/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>turtlebot3_gazebo</name>
<version>2.3.0</version>
<version>2.3.4</version>
<description>
Gazebo simulation package for the TurtleBot3
</description>
Expand Down
8 changes: 8 additions & 0 deletions turtlebot3_manipulation_gazebo/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package turtlebot3_manipulation_gazebo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.3.4 (2025-05-28)
------------------
* Moved the TurtleBot3 Manipulation Gazebo simulation from the turtlebot3_manipulation_bringup package
* Contributors: ChanHyeong Lee
23 changes: 23 additions & 0 deletions turtlebot3_manipulation_gazebo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
################################################################################
# Set minimum required version of cmake, project name and compile options
################################################################################
cmake_minimum_required(VERSION 3.5)
project(turtlebot3_manipulation_gazebo)

################################################################################
# Find and load build settings from external packages
################################################################################
find_package(ament_cmake REQUIRED)

################################################################################
# Install
################################################################################
install(
DIRECTORY config gazebo launch ros2_control rviz urdf worlds models
DESTINATION share/${PROJECT_NAME}
)

################################################################################
# Macro for ament package
################################################################################
ament_package()
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
controller_manager:
ros__parameters:
use_sim_time: True
update_rate: 1000 # Hz

joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster

imu_broadcaster:
type: imu_sensor_broadcaster/IMUSensorBroadcaster

arm_controller:
type: joint_trajectory_controller/JointTrajectoryController

gripper_controller:
type: position_controllers/GripperActionController

imu_broadcaster:
ros__parameters:
use_sim_time: True
frame_id: imu_link
sensor_name: imu

arm_controller:
ros__parameters:
use_sim_time: True
joints:
- joint1
- joint2
- joint3
- joint4
interface_name: position

command_interfaces:
- position

state_interfaces:
- position
- velocity

state_publish_rate: 200.0 # Defaults to 50
action_monitor_rate: 20.0 # Defaults to 20

allow_partial_joints_goal: false # Defaults to false
open_loop_control: true
allow_integration_in_goal_trajectories: true
constraints:
stopped_velocity_tolerance: 0.01 # Defaults to 0.01
goal_time: 0.0 # Defaults to 0.0 (start immediately)

gripper_controller:
ros__parameters:
use_sim_time: True
joint: gripper_left_joint
110 changes: 110 additions & 0 deletions turtlebot3_manipulation_gazebo/config/hardware_controller_manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
controller_manager:
ros__parameters:
update_rate: 100 # Hz

joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster

diff_drive_controller:
type: diff_drive_controller/DiffDriveController

imu_broadcaster:
type: imu_sensor_broadcaster/IMUSensorBroadcaster

arm_controller:
type: joint_trajectory_controller/JointTrajectoryController

gripper_controller:
type: position_controllers/GripperActionController

diff_drive_controller:
ros__parameters:
left_wheel_names: ["wheel_left_joint"]
right_wheel_names: ["wheel_right_joint"]

wheel_separation: 0.287
#wheels_per_side: 1 # actually 2, but both are controlled by 1 signal
wheel_radius: 0.033

wheel_separation_multiplier: 1.0
left_wheel_radius_multiplier: 1.0
right_wheel_radius_multiplier: 1.0

publish_rate: 50.0
odom_frame_id: odom
base_frame_id: base_footprint
pose_covariance_diagonal : [0.001, 0.001, 0.001, 0.001, 0.001, 0.01]
twist_covariance_diagonal: [0.001, 0.001, 0.001, 0.001, 0.001, 0.01]

open_loop: true
enable_odom_tf: true

cmd_vel_timeout: 0.5
#publish_limited_velocity: true
use_stamped_vel: false
#velocity_rolling_window_size: 10

# Preserve turning radius when limiting speed/acceleration/jerk
preserve_turning_radius: true

# Publish limited velocity
publish_cmd: true

# Publish wheel data
publish_wheel_data: true

# Velocity and acceleration limits
# Whenever a min_* is unspecified, default to -max_*
linear.x.has_velocity_limits: true
linear.x.has_acceleration_limits: true
linear.x.has_jerk_limits: false
linear.x.max_velocity: 0.26
linear.x.min_velocity: -0.26
linear.x.max_acceleration: 1.0
linear.x.max_jerk: 0.0
linear.x.min_jerk: 0.0

angular.z.has_velocity_limits: true
angular.z.has_acceleration_limits: true
angular.z.has_jerk_limits: false
angular.z.max_velocity: 1.82
angular.z.min_velocity: -1.82
angular.z.max_acceleration: 4.0
angular.z.min_acceleration: -4.0
angular.z.max_jerk: 0.0
angular.z.min_jerk: 0.0

imu_broadcaster:
ros__parameters:
frame_id: imu_link
sensor_name: imu

arm_controller:
ros__parameters:
joints:
- joint1
- joint2
- joint3
- joint4
interface_name: position

command_interfaces:
- position

state_interfaces:
- position
- velocity

state_publish_rate: 200.0 # Defaults to 50
action_monitor_rate: 20.0 # Defaults to 20

allow_partial_joints_goal: false # Defaults to false
open_loop_control: true
allow_integration_in_goal_trajectories: true
constraints:
stopped_velocity_tolerance: 0.01 # Defaults to 0.01
goal_time: 0.0 # Defaults to 0.0 (start immediately)

gripper_controller:
ros__parameters:
joint: gripper_left_joint
48 changes: 48 additions & 0 deletions turtlebot3_manipulation_gazebo/gazebo/materials.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0"?>
<!--
Copied from open_manipulator example -
https://github.com/ROBOTIS-GIT/open_manipulator/blob/foxy-devel/open_manipulator_x_description/urdf/materials.xacro
-->
<robot>

<material name="black">
<color rgba="0.0 0.0 0.0 1.0"/>
</material>

<material name="blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>

<material name="brown">
<color rgba="0.8706 0.8118 0.7647 1.0"/>
</material>

<material name="dark">
<color rgba="0.3 0.3 0.3 1.0"/>
</material>

<material name="green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>

<material name="grey">
<color rgba="0.5 0.5 0.5 1.0"/>
</material>

<material name="light_black">
<color rgba="0.4 0.4 0.4 1.0"/>
</material>

<material name="orange">
<color rgba="1.0 0.4235 0.0392 1.0"/>
</material>

<material name="red">
<color rgba="0.8 0.0 0.0 1.0"/>
</material>

<material name="white">
<color rgba="1.0 1.0 1.0 1.0"/>
</material>

</robot>
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0"?>
<!--
Copied and modified from turtlebot3 example:
https://github.com/ROBOTIS-GIT/turtlebot3/blob/kinetic-devel/turtlebot3_description/urdf/turtlebot3_waffle_pi_for_open_manipulator.gazebo.xacro
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">

<xacro:macro name="open_manipulator_x_gazebo" params="prefix">

<xacro:macro name="SimpleTransmission" params="trans joint actuator">
<transmission name="${trans}">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${joint}">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${actuator}">
<mechanicalReduction>1</mechanicalReduction>
<hardwareInterface>PositionJointInterface</hardwareInterface>
</actuator>
</transmission>
</xacro:macro>

<xacro:macro name="Link" params="reference">
<gazebo reference="${reference}">
<kp>1000000.0</kp>
<kd>100.0</kd>
<mu1>30.0</mu1>
<mu2>30.0</mu2>
<maxVel>1.0</maxVel>
<minDepth>0.001</minDepth>
<material>Gazebo/DarkGrey</material>
</gazebo>
</xacro:macro>

<xacro:Link reference="${prefix}link1"/>
<xacro:Link reference="${prefix}link2"/>
<xacro:Link reference="${prefix}link3"/>
<xacro:Link reference="${prefix}link4"/>
<xacro:Link reference="${prefix}link5"/>

<xacro:Link reference="${prefix}gripper_left_link"/>
<xacro:Link reference="${prefix}gripper_right_link"/>

<gazebo reference="${prefix}end_effector_link">
<material>Gazebo/Red</material>
</gazebo>

<xacro:SimpleTransmission trans="${prefix}trans1" joint="${prefix}joint1" actuator="${prefix}actuator1" />
<xacro:SimpleTransmission trans="${prefix}trans2" joint="${prefix}joint2" actuator="${prefix}actuator2" />
<xacro:SimpleTransmission trans="${prefix}trans3" joint="${prefix}joint3" actuator="${prefix}actuator3" />
<xacro:SimpleTransmission trans="${prefix}trans4" joint="${prefix}joint4" actuator="${prefix}actuator4" />
<xacro:SimpleTransmission trans="${prefix}trans5" joint="${prefix}gripper_left_joint" actuator="${prefix}actuator5" />
<xacro:SimpleTransmission trans="${prefix}trans6" joint="${prefix}gripper_right_joint" actuator="${prefix}actuator6" />


</xacro:macro>

</robot>
Loading
Loading