![]() |
dynamixel_hardware_interface package from dynamixel_hardware_interface repodynamixel_hardware_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.4.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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
Name | Deps |
---|---|
open_manipulator_bringup |
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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
Name | Deps |
---|---|
open_manipulator_bringup |
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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
Name | Deps |
---|---|
open_manipulator_bringup |
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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 | 0.0.3 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OUXT-Polaris/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-12-07 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- masaya
Authors
Changelog for package dynamixel_hardware_interface
0.0.3 (2021-06-16)
- Merge pull request #12 from OUXT-Polaris/fix/depends add boost to the depends
- add boost to the depends
- Contributors: Masaya Kataoka
0.0.1 (2021-06-13)
- add realtime_tools to the depends
- enable publish diag topic
- add interface
- enable parse params
- add diagnostic updator
- fix plugin setting
- modifu cmakelist
- modify configuration
- add implementation of each function
- add class definition
- add source
- Merge pull request #9 from OUXT-Polaris/feature/tempelature_interface Feature/tempelature interface
- add tempelature interface
- enable update temperature
- remove unused lines
- move some function
- Merge pull request #8 from OUXT-Polaris/feature/velocity_interface Feature/velocity interface
- apply reformat
- modify controller
- add interfaces
- apply reformat
- add exception
- Merge pull request #7 from OUXT-Polaris/doc/readme add dos
- add dos
- Merge pull request #6 from OUXT-Polaris/feature/publish_joint_angle Feature/publish joint angle
- Merge branch 'master' of https://github.com/OUXT-Polaris/dynamixel_hardware_interface into feature/publish_joint_angle
- enable return toruqeEnable result
- Merge pull request #5 from OUXT-Polaris/fix/document_generator_python_version update python version
- update python version
- Merge pull request #4 from OUXT-Polaris/feature/wx540-t260 enable run torque enable while configure
- apply reformat
- enable run torque enable while configure
- Merge pull request #3 from OUXT-Polaris/feature/wx540-t260 Feature/wx540 t260
- apply reformat
- enable update goal position
- update function order
- update radianToPOsition functions
- apply reformat
- enable override function
- fix byte size
- add PacketByteSize field
- add address class
- enable get position from dynamixel
- add error message
- Merge pull request #2 from OUXT-Polaris/feature/document_generation Feature/document generation
- update documentation
- add description to the header file
- change directory
- apply reformat
- add coments
- update workflow
- update workfloe
- update workflow
- add workflow
- add new workflow
- Merge pull request #1 from OUXT-Polaris/workflow/foxy update CI workflow for foxy
- applu reformat
- Merge branch 'master' of https://github.com/OUXT-Polaris/dynamixel_hardware_interface into workflow/foxy
- use clang-format
- add licence file
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
boost |
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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_motor_experimental repodynamixel_hardware_interface gearbox |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | UNKNOWN |
License | BSD |
Build type | ROSBUILD |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/arebgun/dynamixel_motor_experimental.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2013-09-11 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
Authors
- Antons Rebguns
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roscpp | |
pluginlib | |
actionlib | |
gearbox | |
control_msgs | |
trajectory_msgs | |
diagnostic_msgs | |
diagnostic_updater | |
std_srvs |
System Dependencies
Dependant Packages
Launch files
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
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.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
hardware_interface | |
pluginlib | |
realtime_tools | |
dynamixel_sdk | |
std_srvs | |
dynamixel_interfaces |