Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
5c8614d
fixed closed loop odom initialization
dlarkin3 Apr 26, 2025
28d6d53
solved runtime error in controller node
dlarkin3 Apr 26, 2025
ffed7f2
solved runtime error in controller node
dlarkin3 Apr 26, 2025
f813c30
code cleanup and align with robitis repo selectively
dlarkin3 Feb 22, 2026
cbdabf2
removed remapping for controller. it is deprecated
dlarkin3 Feb 22, 2026
ae55698
fixed position controller deprecated again
dlarkin3 Feb 22, 2026
d545512
move it is working only with move_group2, not move_group_launch
dlarkin3 Feb 23, 2026
68ac1a4
failed attempt to get servo launch to work
dlarkin3 Feb 23, 2026
4dbbc37
fixed compile warning about deprecated and urdf file
dlarkin3 Feb 26, 2026
890005e
updated dependencies
dlarkin3 Feb 28, 2026
5f8f6c3
fixed gripper command in yaml
dlarkin3 Mar 4, 2026
8ad24cb
fixed the need for gripper to have acceleration limits
dlarkin3 Mar 5, 2026
5795f7c
fixed the lower limit for the gripper to 0.02
dlarkin3 Mar 5, 2026
2429792
fixed gripper action to older version that works
dlarkin3 Mar 5, 2026
ab44a3a
removed bad dependencies
dlarkin3 Mar 5, 2026
9e9b939
adding teleop with joy to bringup
dlarkin3 Mar 5, 2026
c472aec
added ompl_planning yaml
Mar 6, 2026
184bdbc
added the ability to joystick nodes with hardware bringup
dlarkin3 Mar 7, 2026
2ffe31e
added option to start usbcam in hardware bringup
dlarkin3 Mar 7, 2026
7b5d35b
first attempt to re-enable simulation world
dlarkin3 Mar 10, 2026
7ef497e
second attempt to re-enable simulation world
dlarkin3 Mar 10, 2026
1b40e00
third attempt to re-enable simulation world, cmd_vel now works
dlarkin3 Mar 10, 2026
a4c9f39
removed bad config file for ompl planning.
dlarkin3 Mar 10, 2026
eb49adc
added dependency on moveit py
dlarkin3 Mar 11, 2026
119caf4
merging relevant changes from arm_dev branch
dlarkin3 Mar 11, 2026
6738247
added ability to start rviz with moevit group2
dlarkin3 Mar 11, 2026
e81540b
fixed starting moveit group2 with or without rviz
dlarkin3 Mar 11, 2026
f57f3e0
fixed the home position turtlebot3_manipulation.srdf to match the res…
dlarkin3 Mar 11, 2026
5e96815
updates in configs, moved back to parallelGripperCommand
dlarkin3 Mar 12, 2026
da20c37
FIXED parallelGripperCommand missing in yaml
dlarkin3 Mar 16, 2026
8a0622c
adjusted gripper limits to observed limits
dlarkin3 Mar 16, 2026
26fe70d
added twist mux for cmd_vel worked in both sim and irl
dlarkin3 Mar 23, 2026
70292ad
added twist mux for cmd_vel worked in both sim and irl
dlarkin3 Mar 23, 2026
39b23d5
some changes for nav2 to work
dlarkin3 Mar 23, 2026
eb29015
some changes for nav2 to work
dlarkin3 Mar 23, 2026
3379460
enabled camera info to be published in ROS when running simulation
dlarkin3 Apr 3, 2026
520e25b
modified the sun to remove shadows and moved some objects to another …
dlarkin3 Apr 3, 2026
c6faee1
now gz sim starts with local time as sim time
dlarkin3 Apr 3, 2026
dcff850
fxd sim diff drive control
dlarkin3 Apr 3, 2026
de6f5d5
attempt to correct use_time capitalization
dlarkin3 Apr 7, 2026
c0445a8
some modifications before class on sim nav2
dlarkin3 Apr 10, 2026
c0f07cc
fixed sim
dlarkin3 Apr 10, 2026
6186334
cleanup merge mess
dlarkin3 Apr 14, 2026
36fb13d
corrected to add cam info from gz sim
dlarkin3 Apr 14, 2026
418730f
Resolved merge conflict by keeping local version of wp_nav2_params_si…
dlarkin3 Apr 14, 2026
bb3b014
mods for irl robot mapping
dlarkin3 Apr 14, 2026
ecf9050
added min laser range to amcl and slam_toolbox
dlarkin3 Apr 20, 2026
9be77ce
added simulated maze ay262
dlarkin3 Apr 25, 2026
8428692
added simulation of maze
dlarkin3 Apr 25, 2026
bce31c9
enabled sim_time to be set for moveit group2
dlarkin3 Apr 25, 2026
95f8917
enabled sim_time to be set for moveit group2
dlarkin3 Apr 25, 2026
2c68cfc
corrected the arm start position to home in simulation
dlarkin3 Apr 25, 2026
e2da3cb
some changes to rviz for path planning
dlarkin3 Apr 27, 2026
93eaac1
added new map
dlarkin3 Apr 28, 2026
f9fbc7f
some updates for part3 simulation
dlarkin3 Apr 30, 2026
5754246
added sim obstacle avoidance critic
dlarkin3 May 7, 2026
47ba9ee
adjusted local costmap for sim
dlarkin3 May 7, 2026
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
32 changes: 32 additions & 0 deletions .github/workflows/ros-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# The name of the workflow
name: Lint

# Specifies the events that trigger the workflow
on:
pull_request:

# Defines a set of jobs to be run as part of the workflow
jobs:
ament_lint:
runs-on: ubuntu-latest
container:
image: rostooling/setup-ros-docker:ubuntu-noble-ros-rolling-ros-base-latest
strategy:
fail-fast: false
matrix:
linter: [cppcheck, cpplint, uncrustify, flake8, pep257, lint_cmake, xmllint, copyright]
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup ROS environment
uses: ros-tooling/setup-ros@v0.7

- name: Run Linter
env:
AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS: 1
uses: ros-tooling/action-ros-lint@master
with:
linter: ${{ matrix.linter }}
distribution: rolling
package-name: "*"
39 changes: 39 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Ignore solution folders
**/solution*/
*solution*


# Prerequisites
*.d

Expand Down Expand Up @@ -30,3 +35,37 @@
*.exe
*.out
*.app

# user setting
*.*~
*.bak
.svn
/.vscode
.tags
.tags_sorted_by_file
*.cfgc
*.txt.user*
*-build/
cpp/
bin/
build/
msg_gen/
srv_gen/
docs/
lib/
cmake_install.cmake
Makefile
CMakeFiles/
assets/
gen/
build.xml
lint.xml
local.properties
proguard-project.txt
build-*/
*.autosave
*.pyc
*.dat
*.txt.user
*.gch
/.project
5 changes: 5 additions & 0 deletions turtlebot3_manipulation/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package turtlebot3_manipulation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.2.1 (2025-05-28)
------------------
* Removed the TurtleBot3 Manipulation Gazebo simulation
* Contributors: ChanHyeong Lee

2.2.0 (2025-04-01)
------------------
* Added gripper control in teleoperation.
Expand Down
2 changes: 1 addition & 1 deletion turtlebot3_manipulation/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_manipulation</name>
<version>2.2.0</version>
<version>2.2.1</version>
<description>
ROS 2 package for turtlebot3_manipulation
</description>
Expand Down
5 changes: 5 additions & 0 deletions turtlebot3_manipulation_bringup/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package turtlebot3_manipulation_bringup
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.2.1 (2025-05-28)
------------------
* Removed the TurtleBot3 Manipulation Gazebo simulation
* Contributors: ChanHyeong Lee

2.2.0 (2025-04-01)
------------------
* Updated maintainer information
Expand Down
2 changes: 1 addition & 1 deletion turtlebot3_manipulation_bringup/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ find_package(ament_cmake REQUIRED)
# Install
################################################################################
install(
DIRECTORY launch config rviz worlds
DIRECTORY launch config rviz models worlds
DESTINATION share/${PROJECT_NAME}
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ controller_manager:
type: joint_trajectory_controller/JointTrajectoryController

gripper_controller:
type: position_controllers/GripperActionController
type: parallel_gripper_action_controller/GripperActionController

imu_broadcaster:
ros__parameters:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
controller_manager:
ros__parameters:
update_rate: 100 # Hz
update_rate: 15 # 100 # Hz

joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
Expand All @@ -15,7 +15,7 @@ controller_manager:
type: joint_trajectory_controller/JointTrajectoryController

gripper_controller:
type: position_controllers/GripperActionController
type: parallel_gripper_action_controller/GripperActionController

diff_drive_controller:
ros__parameters:
Expand All @@ -36,12 +36,12 @@ diff_drive_controller:
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
open_loop: false
enable_odom_tf: true

cmd_vel_timeout: 0.5
#publish_limited_velocity: true
use_stamped_vel: false
use_stamped_vel: true
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Enabling use_stamped_vel is a good change for ensuring proper time synchronization. However, it's worth noting that this requires the cmd_vel messages to be stamped with a timestamp. Ensure that the upstream nodes publishing cmd_vel are configured to do so.

#velocity_rolling_window_size: 10

# Preserve turning radius when limiting speed/acceleration/jerk
Expand Down Expand Up @@ -87,10 +87,8 @@ arm_controller:
- joint3
- joint4
interface_name: position

command_interfaces:
- position

state_interfaces:
- position
- velocity
Expand Down
59 changes: 59 additions & 0 deletions turtlebot3_manipulation_bringup/config/tb3_bridge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# replace clock_bridge
- ros_topic_name: "/clock"
gz_topic_name: "/clock"
ros_type_name: "rosgraph_msgs/msg/Clock"
gz_type_name: "gz.msgs.Clock"
direction: GZ_TO_ROS

# no equivalent in TB3 - add
- ros_topic_name: "joint_states"
gz_topic_name: "joint_states"
ros_type_name: "sensor_msgs/msg/JointState"
gz_type_name: "gz.msgs.Model"
direction: GZ_TO_ROS

# replace odom_bridge - check gz topic name
# gz topic published by DiffDrive plugin
# - ros_topic_name: "odom"
# gz_topic_name: "/odom"
# ros_type_name: "nav_msgs/msg/Odometry"
# gz_type_name: "gz.msgs.Odometry"
# direction: GZ_TO_ROS

# replace odom_tf_bridge - check gz and ros topic names
# gz topic published by DiffDrive plugin
# prefix ros2 topic with gz
- ros_topic_name: "tf"
gz_topic_name: "/tf"
ros_type_name: "tf2_msgs/msg/TFMessage"
gz_type_name: "gz.msgs.Pose_V"
direction: GZ_TO_ROS

# replace imu_bridge - check gz topic name
- ros_topic_name: "imu"
gz_topic_name: "/imu"
ros_type_name: "sensor_msgs/msg/Imu"
gz_type_name: "gz.msgs.IMU"
direction: GZ_TO_ROS

# replace lidar_bridge
- ros_topic_name: "scan"
gz_topic_name: "/scan"
ros_type_name: "sensor_msgs/msg/LaserScan"
gz_type_name: "gz.msgs.LaserScan"
direction: GZ_TO_ROS
reliability: "best_effort"

# replace cmd_vel_bridge
- ros_topic_name: "/cmd_vel"
gz_topic_name: "/cmd_vel"
ros_type_name: "geometry_msgs/msg/TwistStamped"
gz_type_name: "gz.msgs.Twist"
direction: ROS_TO_GZ

# replace camera_info_bridge
- ros_topic_name: "/camera_info"
gz_topic_name: "/camera_info"
ros_type_name: "sensor_msgs/msg/CameraInfo"
gz_type_name: "gz.msgs.CameraInfo"
direction: GZ_TO_ROS
63 changes: 63 additions & 0 deletions turtlebot3_manipulation_bringup/config/tb3_bridge.yaml.orig
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# replace clock_bridge
- ros_topic_name: "/clock"
gz_topic_name: "/clock"
ros_type_name: "rosgraph_msgs/msg/Clock"
gz_type_name: "gz.msgs.Clock"
direction: GZ_TO_ROS

# no equivalent in TB3 - add
- ros_topic_name: "joint_states"
gz_topic_name: "joint_states"
ros_type_name: "sensor_msgs/msg/JointState"
gz_type_name: "gz.msgs.Model"
direction: GZ_TO_ROS

# replace odom_bridge - check gz topic name
# gz topic published by DiffDrive plugin
# - ros_topic_name: "odom"
# gz_topic_name: "/odom"
# ros_type_name: "nav_msgs/msg/Odometry"
# gz_type_name: "gz.msgs.Odometry"
# direction: GZ_TO_ROS

# replace odom_tf_bridge - check gz and ros topic names
# gz topic published by DiffDrive plugin
# prefix ros2 topic with gz
- ros_topic_name: "tf"
gz_topic_name: "/tf"
ros_type_name: "tf2_msgs/msg/TFMessage"
gz_type_name: "gz.msgs.Pose_V"
direction: GZ_TO_ROS

# replace imu_bridge - check gz topic name
- ros_topic_name: "imu"
gz_topic_name: "/imu"
ros_type_name: "sensor_msgs/msg/Imu"
gz_type_name: "gz.msgs.IMU"
direction: GZ_TO_ROS

# replace lidar_bridge
- ros_topic_name: "scan"
gz_topic_name: "/scan"
ros_type_name: "sensor_msgs/msg/LaserScan"
gz_type_name: "gz.msgs.LaserScan"
direction: GZ_TO_ROS
reliability: "best_effort"

# replace cmd_vel_bridge
- ros_topic_name: "/cmd_vel"
gz_topic_name: "/cmd_vel"
ros_type_name: "geometry_msgs/msg/TwistStamped"
gz_type_name: "gz.msgs.Twist"
direction: ROS_TO_GZ

# replace camera_info_bridge
<<<<<<< HEAD
- ros_topic_name: "/camera_info"
=======
- ros_topic_name: "camera_info"
>>>>>>> 53fabef (some updates)
gz_topic_name: "/camera_info"
ros_type_name: "sensor_msgs/msg/CameraInfo"
gz_type_name: "gz.msgs.CameraInfo"
direction: GZ_TO_ROS
20 changes: 20 additions & 0 deletions turtlebot3_manipulation_bringup/config/twist_mux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
twist_mux:
ros__parameters:
topics:
# navigation:
# topic: /cmd_vel_nav
# priority: 10
# timeout: 0.5
# navigation:
# topic: /cmd_vel_smoothed
# priority: 10
# timeout: 0.5
navigation:
topic: /cmd_vel_collision
priority: 10
timeout: 0.5
teleop:
topic: /cmd_vel_teleop
priority: 20
timeout: 0.5
use_stamped: true
32 changes: 32 additions & 0 deletions turtlebot3_manipulation_bringup/config/xbox.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
teleop_twist_joy_node:
ros__parameters:
use_sim_time: false
axis_linear: # Left thumb stick vertical
x: 1
scale_linear:
x: 0.7
scale_linear_turbo:
x: 1.5
qos_overrides:
/joy:
subscription:
reliability: best_effort
depth: 1
durability: volatile
/cmd_vel_teleop:
publisher:
reliability: best_effort
depth: 1
durability: volatile

axis_angular: # Left thumb stick horizontal
yaw: 0
scale_angular:
yaw: 0.4

enable_button: 4 # Left trigger button
enable_turbo_button: 5 # Right trigger button

# joy_node:
# ros__parameters:
# device_name: /dev/input/js0
14 changes: 5 additions & 9 deletions turtlebot3_manipulation_bringup/launch/base.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,17 +129,13 @@ def generate_launch_description():
{'robot_description': urdf_file},
controller_manager_config
],
remappings=[
('~/cmd_vel_unstamped', 'cmd_vel'),
('~/odom', 'odom')
],
output="both",
condition=UnlessCondition(use_sim))

robot_state_pub_node = Node(
package='robot_state_publisher',
executable='robot_state_publisher',
parameters=[{'robot_description': urdf_file, 'use_sim_time': use_sim}],
parameters=[{'robot_description': urdf_file, 'ignore_timestamp': True, 'use_sim_time': use_sim}],
output='screen'
)

Expand All @@ -161,10 +157,10 @@ def generate_launch_description():
diff_drive_controller_spawner = Node(
package='controller_manager',
executable='spawner',
arguments=['diff_drive_controller', '-c', '/controller_manager'],
output='screen',
condition=UnlessCondition(use_sim)
)
arguments=['diff_drive_controller', '-c', '/controller_manager',
"--controller-ros-args", "-r diff_drive_controller/cmd_vel:=cmd_vel -r diff_drive_controller/odom:=odom",
'--ros-args', '--log-level', 'INFO'],
output='log',)

imu_broadcaster_spawner = Node(
package='controller_manager',
Expand Down
Loading