Skip to content

Commit 98d3e7a

Browse files
authored
Merge pull request #239 from ROBOTIS-GIT/feature-add-manipulation-sim
Feature add manipulation sim
2 parents 11b787e + ad89e50 commit 98d3e7a

File tree

84 files changed

+5509
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+5509
-3
lines changed

turtlebot3_fake_node/CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
Changelog for package turtlebot3_fake
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.3.4 (2025-05-28)
6+
------------------
7+
* None
8+
59
2.3.0 (2025-02-17)
610
------------------
711
* None

turtlebot3_fake_node/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>turtlebot3_fake_node</name>
5-
<version>2.3.0</version>
5+
<version>2.3.4</version>
66
<description>
77
Package for TurtleBot3 fake node. With this package, simple tests can be done without a robot.
88
You can do simple tests using this package on rviz without real robots.

turtlebot3_gazebo/CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
Changelog for package turtlebot3_gazebo
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.3.4 (2025-05-28)
6+
------------------
7+
* None
8+
59
2.3.0 (2025-02-17)
610
------------------
711
* Added multi-robot launch functionality

turtlebot3_gazebo/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>turtlebot3_gazebo</name>
5-
<version>2.3.0</version>
5+
<version>2.3.4</version>
66
<description>
77
Gazebo simulation package for the TurtleBot3
88
</description>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2+
Changelog for package turtlebot3_manipulation_gazebo
3+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4+
5+
2.3.4 (2025-05-28)
6+
------------------
7+
* Moved the TurtleBot3 Manipulation Gazebo simulation from the turtlebot3_manipulation_bringup package
8+
* Contributors: ChanHyeong Lee
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
################################################################################
2+
# Set minimum required version of cmake, project name and compile options
3+
################################################################################
4+
cmake_minimum_required(VERSION 3.5)
5+
project(turtlebot3_manipulation_gazebo)
6+
7+
################################################################################
8+
# Find and load build settings from external packages
9+
################################################################################
10+
find_package(ament_cmake REQUIRED)
11+
12+
################################################################################
13+
# Install
14+
################################################################################
15+
install(
16+
DIRECTORY config gazebo launch ros2_control rviz urdf worlds models
17+
DESTINATION share/${PROJECT_NAME}
18+
)
19+
20+
################################################################################
21+
# Macro for ament package
22+
################################################################################
23+
ament_package()
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
controller_manager:
2+
ros__parameters:
3+
use_sim_time: True
4+
update_rate: 1000 # Hz
5+
6+
joint_state_broadcaster:
7+
type: joint_state_broadcaster/JointStateBroadcaster
8+
9+
imu_broadcaster:
10+
type: imu_sensor_broadcaster/IMUSensorBroadcaster
11+
12+
arm_controller:
13+
type: joint_trajectory_controller/JointTrajectoryController
14+
15+
gripper_controller:
16+
type: position_controllers/GripperActionController
17+
18+
imu_broadcaster:
19+
ros__parameters:
20+
use_sim_time: True
21+
frame_id: imu_link
22+
sensor_name: imu
23+
24+
arm_controller:
25+
ros__parameters:
26+
use_sim_time: True
27+
joints:
28+
- joint1
29+
- joint2
30+
- joint3
31+
- joint4
32+
interface_name: position
33+
34+
command_interfaces:
35+
- position
36+
37+
state_interfaces:
38+
- position
39+
- velocity
40+
41+
state_publish_rate: 200.0 # Defaults to 50
42+
action_monitor_rate: 20.0 # Defaults to 20
43+
44+
allow_partial_joints_goal: false # Defaults to false
45+
open_loop_control: true
46+
allow_integration_in_goal_trajectories: true
47+
constraints:
48+
stopped_velocity_tolerance: 0.01 # Defaults to 0.01
49+
goal_time: 0.0 # Defaults to 0.0 (start immediately)
50+
51+
gripper_controller:
52+
ros__parameters:
53+
use_sim_time: True
54+
joint: gripper_left_joint
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
controller_manager:
2+
ros__parameters:
3+
update_rate: 100 # Hz
4+
5+
joint_state_broadcaster:
6+
type: joint_state_broadcaster/JointStateBroadcaster
7+
8+
diff_drive_controller:
9+
type: diff_drive_controller/DiffDriveController
10+
11+
imu_broadcaster:
12+
type: imu_sensor_broadcaster/IMUSensorBroadcaster
13+
14+
arm_controller:
15+
type: joint_trajectory_controller/JointTrajectoryController
16+
17+
gripper_controller:
18+
type: position_controllers/GripperActionController
19+
20+
diff_drive_controller:
21+
ros__parameters:
22+
left_wheel_names: ["wheel_left_joint"]
23+
right_wheel_names: ["wheel_right_joint"]
24+
25+
wheel_separation: 0.287
26+
#wheels_per_side: 1 # actually 2, but both are controlled by 1 signal
27+
wheel_radius: 0.033
28+
29+
wheel_separation_multiplier: 1.0
30+
left_wheel_radius_multiplier: 1.0
31+
right_wheel_radius_multiplier: 1.0
32+
33+
publish_rate: 50.0
34+
odom_frame_id: odom
35+
base_frame_id: base_footprint
36+
pose_covariance_diagonal : [0.001, 0.001, 0.001, 0.001, 0.001, 0.01]
37+
twist_covariance_diagonal: [0.001, 0.001, 0.001, 0.001, 0.001, 0.01]
38+
39+
open_loop: true
40+
enable_odom_tf: true
41+
42+
cmd_vel_timeout: 0.5
43+
#publish_limited_velocity: true
44+
use_stamped_vel: false
45+
#velocity_rolling_window_size: 10
46+
47+
# Preserve turning radius when limiting speed/acceleration/jerk
48+
preserve_turning_radius: true
49+
50+
# Publish limited velocity
51+
publish_cmd: true
52+
53+
# Publish wheel data
54+
publish_wheel_data: true
55+
56+
# Velocity and acceleration limits
57+
# Whenever a min_* is unspecified, default to -max_*
58+
linear.x.has_velocity_limits: true
59+
linear.x.has_acceleration_limits: true
60+
linear.x.has_jerk_limits: false
61+
linear.x.max_velocity: 0.26
62+
linear.x.min_velocity: -0.26
63+
linear.x.max_acceleration: 1.0
64+
linear.x.max_jerk: 0.0
65+
linear.x.min_jerk: 0.0
66+
67+
angular.z.has_velocity_limits: true
68+
angular.z.has_acceleration_limits: true
69+
angular.z.has_jerk_limits: false
70+
angular.z.max_velocity: 1.82
71+
angular.z.min_velocity: -1.82
72+
angular.z.max_acceleration: 4.0
73+
angular.z.min_acceleration: -4.0
74+
angular.z.max_jerk: 0.0
75+
angular.z.min_jerk: 0.0
76+
77+
imu_broadcaster:
78+
ros__parameters:
79+
frame_id: imu_link
80+
sensor_name: imu
81+
82+
arm_controller:
83+
ros__parameters:
84+
joints:
85+
- joint1
86+
- joint2
87+
- joint3
88+
- joint4
89+
interface_name: position
90+
91+
command_interfaces:
92+
- position
93+
94+
state_interfaces:
95+
- position
96+
- velocity
97+
98+
state_publish_rate: 200.0 # Defaults to 50
99+
action_monitor_rate: 20.0 # Defaults to 20
100+
101+
allow_partial_joints_goal: false # Defaults to false
102+
open_loop_control: true
103+
allow_integration_in_goal_trajectories: true
104+
constraints:
105+
stopped_velocity_tolerance: 0.01 # Defaults to 0.01
106+
goal_time: 0.0 # Defaults to 0.0 (start immediately)
107+
108+
gripper_controller:
109+
ros__parameters:
110+
joint: gripper_left_joint
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copied from open_manipulator example -
4+
https://github.com/ROBOTIS-GIT/open_manipulator/blob/foxy-devel/open_manipulator_x_description/urdf/materials.xacro
5+
-->
6+
<robot>
7+
8+
<material name="black">
9+
<color rgba="0.0 0.0 0.0 1.0"/>
10+
</material>
11+
12+
<material name="blue">
13+
<color rgba="0.0 0.0 0.8 1.0"/>
14+
</material>
15+
16+
<material name="brown">
17+
<color rgba="0.8706 0.8118 0.7647 1.0"/>
18+
</material>
19+
20+
<material name="dark">
21+
<color rgba="0.3 0.3 0.3 1.0"/>
22+
</material>
23+
24+
<material name="green">
25+
<color rgba="0.0 0.8 0.0 1.0"/>
26+
</material>
27+
28+
<material name="grey">
29+
<color rgba="0.5 0.5 0.5 1.0"/>
30+
</material>
31+
32+
<material name="light_black">
33+
<color rgba="0.4 0.4 0.4 1.0"/>
34+
</material>
35+
36+
<material name="orange">
37+
<color rgba="1.0 0.4235 0.0392 1.0"/>
38+
</material>
39+
40+
<material name="red">
41+
<color rgba="0.8 0.0 0.0 1.0"/>
42+
</material>
43+
44+
<material name="white">
45+
<color rgba="1.0 1.0 1.0 1.0"/>
46+
</material>
47+
48+
</robot>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copied and modified from turtlebot3 example:
4+
https://github.com/ROBOTIS-GIT/turtlebot3/blob/kinetic-devel/turtlebot3_description/urdf/turtlebot3_waffle_pi_for_open_manipulator.gazebo.xacro
5+
-->
6+
<robot xmlns:xacro="http://ros.org/wiki/xacro">
7+
8+
<xacro:macro name="open_manipulator_x_gazebo" params="prefix">
9+
10+
<xacro:macro name="SimpleTransmission" params="trans joint actuator">
11+
<transmission name="${trans}">
12+
<type>transmission_interface/SimpleTransmission</type>
13+
<joint name="${joint}">
14+
<hardwareInterface>PositionJointInterface</hardwareInterface>
15+
</joint>
16+
<actuator name="${actuator}">
17+
<mechanicalReduction>1</mechanicalReduction>
18+
<hardwareInterface>PositionJointInterface</hardwareInterface>
19+
</actuator>
20+
</transmission>
21+
</xacro:macro>
22+
23+
<xacro:macro name="Link" params="reference">
24+
<gazebo reference="${reference}">
25+
<kp>1000000.0</kp>
26+
<kd>100.0</kd>
27+
<mu1>30.0</mu1>
28+
<mu2>30.0</mu2>
29+
<maxVel>1.0</maxVel>
30+
<minDepth>0.001</minDepth>
31+
<material>Gazebo/DarkGrey</material>
32+
</gazebo>
33+
</xacro:macro>
34+
35+
<xacro:Link reference="${prefix}link1"/>
36+
<xacro:Link reference="${prefix}link2"/>
37+
<xacro:Link reference="${prefix}link3"/>
38+
<xacro:Link reference="${prefix}link4"/>
39+
<xacro:Link reference="${prefix}link5"/>
40+
41+
<xacro:Link reference="${prefix}gripper_left_link"/>
42+
<xacro:Link reference="${prefix}gripper_right_link"/>
43+
44+
<gazebo reference="${prefix}end_effector_link">
45+
<material>Gazebo/Red</material>
46+
</gazebo>
47+
48+
<xacro:SimpleTransmission trans="${prefix}trans1" joint="${prefix}joint1" actuator="${prefix}actuator1" />
49+
<xacro:SimpleTransmission trans="${prefix}trans2" joint="${prefix}joint2" actuator="${prefix}actuator2" />
50+
<xacro:SimpleTransmission trans="${prefix}trans3" joint="${prefix}joint3" actuator="${prefix}actuator3" />
51+
<xacro:SimpleTransmission trans="${prefix}trans4" joint="${prefix}joint4" actuator="${prefix}actuator4" />
52+
<xacro:SimpleTransmission trans="${prefix}trans5" joint="${prefix}gripper_left_joint" actuator="${prefix}actuator5" />
53+
<xacro:SimpleTransmission trans="${prefix}trans6" joint="${prefix}gripper_right_joint" actuator="${prefix}actuator6" />
54+
55+
56+
</xacro:macro>
57+
58+
</robot>

0 commit comments

Comments
 (0)