Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 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.5 (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.5</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.5 (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.5</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.5 (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