Repository Summary

Checkout URI https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
VCS Type git
VCS Version humble
Last Updated 2025-06-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
dynamixel_hardware_interface 1.4.9

README

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

ROS 2 Humble

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

  1. 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
   
  1. Build the package:
   cd ~/${WORKSPACE}
   colcon build
   
  1. 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.

  1. Port Settings: Define serial port and baud rate for communication.
  2. Hardware Setup: Configure joints and transmissions.
  3. Joints: Control and monitor robot joints.
  4. 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
  1. <command_interface>: Sends commands to joints.

```xml

File truncated at 100 lines [see the full file](https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface/tree/humble/README.md)

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).

Repository Summary

Checkout URI https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
VCS Type git
VCS Version jazzy
Last Updated 2025-06-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
dynamixel_hardware_interface 1.4.9

README

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

ROS 2 Humble

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

  1. 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
   
  1. Build the package:
   cd ~/${WORKSPACE}
   colcon build
   
  1. 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.

  1. Port Settings: Define serial port and baud rate for communication.
  2. Hardware Setup: Configure joints and transmissions.
  3. Joints: Control and monitor robot joints.
  4. 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
  1. <command_interface>: Sends commands to joints.

```xml

File truncated at 100 lines [see the full file](https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface/tree/jazzy/README.md)

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).

Repository Summary

Checkout URI https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
dynamixel_hardware_interface 1.4.9

README

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

ROS 2 Humble

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

  1. 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
   
  1. Build the package:
   cd ~/${WORKSPACE}
   colcon build
   
  1. 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.

  1. Port Settings: Define serial port and baud rate for communication.
  2. Hardware Setup: Configure joints and transmissions.
  3. Joints: Control and monitor robot joints.
  4. 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
  1. <command_interface>: Sends commands to joints.

```xml

File truncated at 100 lines [see the full file](https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface/tree/main/README.md)

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).

Repository Summary

Checkout URI https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
dynamixel_hardware_interface 1.4.9

README

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

ROS 2 Humble

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

  1. 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
   
  1. Build the package:
   cd ~/${WORKSPACE}
   colcon build
   
  1. 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.

  1. Port Settings: Define serial port and baud rate for communication.
  2. Hardware Setup: Configure joints and transmissions.
  3. Joints: Control and monitor robot joints.
  4. 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
  1. <command_interface>: Sends commands to joints.

```xml

File truncated at 100 lines [see the full file](https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface/tree/main/README.md)

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).