![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dynamixel_hardware_interface at Robotics Stack Exchange
![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.11 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2. |
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-07-23 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pyo
Authors
- Hye-Jong KIM
- Sungho Woo
- Woojin Wie
- Wonho Yun
Dynamixel Hardware Interface User Guide
1. Introduction
ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ros2_control framework. This repository includes the dynamixel_hardware_interface plugin for seamless integration with ROS 2 control, along with the dynamixel_interfaces package containing custom message definitions used by the interface
2. Prerequisites
This package currently supports ROS 2 Humble only. Ensure that ROS 2 Humble is properly installed (ROS 2 Humble installation guide).
-
Hardware Requirements:
- Dynamixel servos
- USB2 Dynamixel or U2D2 adapter
- Proper power supply for Dynamixel motors
3. Installation
- Clone the repository into your ROS workspace:
cd ~/${WORKSPACE}/src
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
git clone -b humble https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git
- Build the package:
cd ~/${WORKSPACE}
colcon build
- Source your workspace:
source ~/${WORKSPACE}/install/setup.bash
4. Currently Used Packages
This project integrates with the following ROS 2 packages to provide extended functionality:
-
open_manipulator_x A ROS-based open-source software package designed for the Open Manipulator-X, a 4-DOF robotic arm. It provides essential features like motion planning, kinematics, and control utilities for seamless integration with ROS 2 environments.
-
open_manipulator_y A ROS-based package tailored for the Open Manipulator-Y, a 6-DOF robotic arm. This package offers enhanced compatibility and extended functionalities for advanced manipulator control and operations.
5. Configuration
To effectively use the Dynamixel Hardware Interface in a ROS 2 control system, you need to configure specific parameters in your ros2_control
hardware description file. Below is a concise explanation of the key parameters, illustrated with examples from the OpenManipulator-X ROS 2 control.xacro file.
- Port Settings: Define serial port and baud rate for communication.
- Hardware Setup: Configure joints and transmissions.
- Joints: Control and monitor robot joints.
- GPIO: Define and control Dynamixel motors.
1. Port and Communication Settings
These parameters define how the interface communicates with the Dynamixel motors:
-
port_name
: Serial port for communication. -
baud_rate
: Communication baud rate. -
error_timeout_ms
: Timeout for communication errors (in milliseconds).
2. Hardware Configuration
These parameters define the hardware setup:
-
number_of_joints
: Total number of joints. -
number_of_transmissions
: Number of transmissions. -
Transmission Matrices: Define joint-to-transmission mappings.
3. Joint Configuration
Joints define the control and state interfaces for robot movement:
Key Attributes
-
name
: Unique joint name. Example:${prefix}joint1
Sub-Elements
-
<command_interface>
: Sends commands to joints.
```xml
Changelog for package dynamixel_hardware_interface
1.4.11 (2025-07-21) ------------------* Added support for firmware version-aware model file selection * Contributors: Woojin Wie
1.4.10 (2025-07-18) ------------------* Added unit system to model files * Added support for Dynamixel Y Error Code handling * Contributors: Woojin Wie
1.4.9 (2025-06-24)
- Support ffw sensor model
- Contributors: Woojin Wie
1.4.8 (2025-06-23)
- Added new model for OMY to use virtual_dxl
- Added goal position synchronization before torque enable for OMY sync table feature
- Contributors: Woojin Wie
1.4.7 (2025-06-19)
- Added virtual_dxl and support for rcu
- Contributors: Woojin Wie
1.4.6 (2025-05-30)
- Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries
- Contributors: Woojin Wie
1.4.5 (2025-05-30)
- Deprecate ament_include_dependency usage in CMakeLists.txt
- Contributors: Wonho Yun
1.4.4 (2025-05-28)
- Added proper command interface support with ROS2-Dynamixel interface mapping
- Improved error handling and robustness throughout the codebase
- Implemented per-device torque enable control (replacing global control)
- Added support for new sensor model (sensorxel_joy)
- Enhanced joint state-command synchronization
- Improved parameter initialization organization
- Added robust error handling for model file reading
- Contributors: Woojin Wie
1.4.3 (2025-04-10)
- Fixed build errors
- Contributors: Wonho Yun
1.4.2 (2025-04-05)
- Added OM-Y dynamixel model files
- Added a function to enable torque
- Fixed the configuration for OM-Y robots
- Contributors: Woojin Wie, Wonho Yun
1.4.1 (2025-03-31)
- Modified the Model File
- Contributors: Wonho Yun
1.4.0 (2025-03-20)
- Added Torque Constant Parameter to DXL Model Files
- Enhanced Transmission Command Calculation
- Unified Initialization Structure
- Support for Goal Current Control
- Contributors: Woojin Wie
1.3.0 (2025-02-17)
- Enhance Error Handling and Timeout Management
- Use GroupFastSyncRead and GroupFastBulkRead
- Remove deprecated parameter ros_update_freq to prevent stoi failure
- Contributors: Woojin Wie
1.2.0 (2025-01-17)
- Extend Bulk/Sync Selection Logic to Include Indirect Operations
- Enhance DXL item initialization by prioritizing 'Limit' parameters
- Contributors: Woojin Wie
1.1.0 (2024-12-27)
- Added new control table entries for Dynamixel X
- Contributors: Woojin Wie, Hye-Jong Kim
1.0.0 (2024-12-04)
- First release of dynamixel_hardware_interface package
- Contributors: Hye-Jong Kim, Sungho Woo
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |