Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
7b66115
fix: Remove deprecated parameter and update parameter key values to t…
Woojin-Crive Mar 21, 2025
886550f
fix: Remove unnecessary parameters
Woojin-Crive Mar 21, 2025
1194952
Fixed header
Woojin-Crive Apr 3, 2025
6f3edf1
fix: adjustment of the default parameter
Woojin-Crive Apr 3, 2025
94c3497
feat: Calculating acceleration based on velocity
Woojin-Crive Apr 3, 2025
881bb37
Fixed header
Woojin-Crive Apr 3, 2025
e8f9325
feat: Implement omy_follower files
Woojin-Crive Apr 3, 2025
c18da74
fix: adding omy follower and leader to moveit config
Woojin-Crive Apr 3, 2025
54f5efa
fix: New generalized parameter for the omy leader gravity compensation
Woojin-Crive Apr 3, 2025
ff3f68f
fix: Updated omy leader urdfs
Woojin-Crive Apr 3, 2025
1c0690c
fix: Unified structure for the omy leader ros2 control config
Woojin-Crive Apr 3, 2025
145139f
fix: Seperated folder for the omy follower
Woojin-Crive Apr 3, 2025
a3b7ce8
fix: Updated name of the omy leader
Woojin-Crive Apr 3, 2025
458db92
fix: omy follower is now located at the seperated folder
Woojin-Crive Apr 3, 2025
96a1c9c
fix: Updated ros2 control for the omy follower
Woojin-Crive Apr 3, 2025
bac3c76
feat: Implemented Velocity Profile for the motion
Woojin-Crive Apr 3, 2025
4f19d51
refactor: Update launch files and scripts for OpenManipulator
Woojin-Crive Apr 8, 2025
396c846
feat: Introduce init_position_y_follower script and update launch con…
Woojin-Crive Apr 8, 2025
34e57a9
Modified Version and changelog
sunghowoo Apr 9, 2025
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
5 changes: 5 additions & 0 deletions open_manipulator/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package open_manipulator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

3.2.0 (2025-04-09)
------------------
* Updated OM-Y Follower for improved joint initialization and action-based ROS2 control
* Contributors: Woojin Wie

3.1.0 (2025-03-17)
------------------
* Integrate OM-X, OM-Y, and OM-Teleoperation with Jazzy support and Gazebo Harmonic compatibility
Expand Down
2 changes: 1 addition & 1 deletion open_manipulator/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>open_manipulator</name>
<version>3.1.0</version>
<version>3.2.0</version>
<description>
OpenMANIPULATOR meta ROS 2 package.
</description>
Expand Down
5 changes: 5 additions & 0 deletions open_manipulator_bringup/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package open_manipulator_bringup
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

3.2.0 (2025-04-09)
------------------
* Updated OM-Y Follower for improved joint initialization and action-based ROS2 control
* Contributors: Woojin Wie

3.1.0 (2025-03-17)
------------------
* Integrate OM-X, OM-Y, and OM-Teleoperation with Jazzy support and Gazebo Harmonic compatibility
Expand Down
10 changes: 3 additions & 7 deletions open_manipulator_bringup/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,10 @@ install(FILES open-manipulator-x-cdc.rules
DESTINATION share/${PROJECT_NAME}
)

install(FILES open-manipulator-y-cdc.rules
DESTINATION share/${PROJECT_NAME}
)

install(PROGRAMS scripts/x_create_udev_rules
scripts/y_create_udev_rules
scripts/init_position_for_x.py
scripts/init_position_for_follower.py
scripts/init_position_x.py
scripts/init_position_y_follower.py
scripts/pack_unpack_y.py
DESTINATION lib/${PROJECT_NAME}
)

Expand Down
6 changes: 3 additions & 3 deletions open_manipulator_bringup/launch/ai_teleoperation.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def generate_launch_description():

# Step 2: Run the initialization script for the follower
init_follower = ExecuteProcess(
cmd=["ros2", "run", "open_manipulator_bringup", "init_position_for_follower.py"],
cmd=["ros2", "run", "open_manipulator_bringup", "init_position_y_follower.py"],
output="screen",
shell=True
)
Expand All @@ -50,7 +50,7 @@ def generate_launch_description():
OnProcessStart(
target_action=start_follower,
on_start=[
LogInfo(msg="✅ hardware_y_follower.launch.py has fully started. Running init_position_for_follower.py..."),
LogInfo(msg="✅ hardware_y_follower.launch.py has fully started. Running init_position_y_follower.py..."),
init_follower
]
)
Expand All @@ -61,7 +61,7 @@ def generate_launch_description():
OnProcessExit(
target_action=init_follower,
on_exit=[
LogInfo(msg="✅ init_position_for_follower.py has fully executed and exited. Starting hardware_y_leader.launch.py..."),
LogInfo(msg="✅ init_position_y_follower.py has fully executed and exited. Starting hardware_y_leader.launch.py..."),
start_leader
]
)
Expand Down
4 changes: 2 additions & 2 deletions open_manipulator_bringup/launch/hardware_x.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def generate_launch_description():
DeclareLaunchArgument('use_fake_hardware', default_value='false', description='Use fake hardware mirroring command.'),
DeclareLaunchArgument('fake_sensor_commands', default_value='false', description='Enable fake sensor commands.'),
DeclareLaunchArgument('port_name', default_value='/dev/ttyUSB0', description='Port name for hardware connection.'),
DeclareLaunchArgument('run_init_position', default_value='true', description='Run init_position_for_x.py after launch')
DeclareLaunchArgument('run_init_position', default_value='true', description='Run init_position_x.py after launch')
]

# Launch configurations
Expand Down Expand Up @@ -143,7 +143,7 @@ def generate_launch_description():
period=3.0,
actions=[
ExecuteProcess(
cmd=['ros2', 'run', 'open_manipulator_bringup', 'init_position_for_x.py'],
cmd=['ros2', 'run', 'open_manipulator_bringup', 'init_position_x.py'],
output='screen',
condition=IfCondition(run_init_position)
)
Expand Down
8 changes: 4 additions & 4 deletions open_manipulator_bringup/launch/hardware_y_follower.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@
def generate_launch_description():
# Declare launch arguments
declared_arguments = [
DeclareLaunchArgument('start_rviz', default_value='true', description='Whether to execute rviz2'),
DeclareLaunchArgument('start_rviz', default_value='false', description='Whether to execute rviz2'),
DeclareLaunchArgument('prefix', default_value='""', description='Prefix of the joint and link names'),
DeclareLaunchArgument('use_sim', default_value='false', description='Start robot in Gazebo simulation.'),
DeclareLaunchArgument('use_fake_hardware', default_value='false', description='Use fake hardware mirroring command.'),
DeclareLaunchArgument('fake_sensor_commands', default_value='false', description='Enable fake sensor commands.'),
DeclareLaunchArgument('port_name', default_value='/dev/ttyACM0', description='Port name for hardware connection.'),
DeclareLaunchArgument('run_init_position', default_value='true', description='Run init_position.py after launch')
DeclareLaunchArgument('port_name', default_value='/dev/ttyAMA2', description='Port name for hardware connection.'),
DeclareLaunchArgument('run_init_position', default_value='false', description='Run init_position.py after launch')
]

# Launch configurations
Expand All @@ -50,7 +50,7 @@ def generate_launch_description():
urdf_file = Command([
PathJoinSubstitution([FindExecutable(name='xacro')]),
' ',
PathJoinSubstitution([FindPackageShare('open_manipulator_description'), 'urdf', 'om_y', 'open_manipulator_y.urdf.xacro']),
PathJoinSubstitution([FindPackageShare('open_manipulator_description'), 'urdf', 'om_y_follower', 'open_manipulator_y_follower.urdf.xacro']),
' ',
'prefix:=', prefix,
' ',
Expand Down
51 changes: 51 additions & 0 deletions open_manipulator_bringup/launch/pack_y.launch.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env python3
#
# Copyright 2024 ROBOTIS CO., LTD.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: Sungho Woo, Woojin Wie

from launch import LaunchDescription
from launch.actions import ExecuteProcess, LogInfo, RegisterEventHandler
from launch.event_handlers import OnProcessStart, OnProcessExit

def generate_launch_description():
# Step 1: Start follower launch file
start_y = ExecuteProcess(
cmd=["ros2", "launch", "open_manipulator_bringup", "hardware_y_follower.launch.py"],
output="screen"
)

# Step 2: Run the initialization script for the follower with pack mode
pack_y = ExecuteProcess(
cmd=["ros2", "run", "open_manipulator_bringup", "pack_unpack_y.py", "--mode", "pack"],
output="screen",
shell=True
)

return LaunchDescription([
LogInfo(msg="🚀 Starting hardware_y_follower.launch.py..."),
start_y,

# Step 2: Ensure pack_y starts only after start_y is fully launched
RegisterEventHandler(
OnProcessStart(
target_action=start_y,
on_start=[
LogInfo(msg="✅ hardware_y_follower.launch.py has fully started. Running pack_y.launch.py..."),
pack_y
]
)
),
])
51 changes: 51 additions & 0 deletions open_manipulator_bringup/launch/unpack_y.launch.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env python3
#
# Copyright 2024 ROBOTIS CO., LTD.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: Sungho Woo, Woojin Wie

from launch import LaunchDescription
from launch.actions import ExecuteProcess, LogInfo, RegisterEventHandler
from launch.event_handlers import OnProcessStart, OnProcessExit

def generate_launch_description():
# Step 1: Start follower launch file
start_y = ExecuteProcess(
cmd=["ros2", "launch", "open_manipulator_bringup", "hardware_y_follower.launch.py"],
output="screen"
)

# Step 2: Run the initialization script for the follower with unpack mode
unpack_y = ExecuteProcess(
cmd=["ros2", "run", "open_manipulator_bringup", "pack_unpack_y.py", "--mode", "unpack"],
output="screen",
shell=True
)

return LaunchDescription([
LogInfo(msg="🚀 Starting hardware_y_follower.launch.py..."),
start_y,

# Step 2: Ensure unpack_y starts only after start_y is fully launched
RegisterEventHandler(
OnProcessStart(
target_action=start_y,
on_start=[
LogInfo(msg="✅ hardware_y_follower.launch.py has fully started. Running unpack_y.launch.py..."),
unpack_y
]
)
),
])
3 changes: 0 additions & 3 deletions open_manipulator_bringup/open-manipulator-y-cdc.rules

This file was deleted.

2 changes: 1 addition & 1 deletion open_manipulator_bringup/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>open_manipulator_bringup</name>
<version>3.0.0</version>
<version>3.2.0</version>
<description>
OpenMANIPULATOR bringup ROS 2 package.
</description>
Expand Down
87 changes: 0 additions & 87 deletions open_manipulator_bringup/scripts/init_position_for_follower.py

This file was deleted.

Loading
Loading