Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Set update schedule for GitHub Actions
# (https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot)

version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
4 changes: 2 additions & 2 deletions .github/workflows/build_and_test_foxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: ros-tooling/setup-ros@v0.3
- uses: ros-tooling/setup-ros@v0.7
with:
# The testing repository will be used
use-ros2-testing: true
- uses: ros-tooling/action-ros-ci@v0.2
- uses: ros-tooling/action-ros-ci@v0.3
with:
target-ros2-distro: foxy
4 changes: 2 additions & 2 deletions .github/workflows/build_and_test_humble.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
image: ubuntu:jammy

steps:
- uses: ros-tooling/setup-ros@v0.3
- uses: ros-tooling/setup-ros@v0.7
with:
# The testing repository will be used
use-ros2-testing: true
- uses: ros-tooling/action-ros-ci@v0.2
- uses: ros-tooling/action-ros-ci@v0.3
with:
target-ros2-distro: humble
8 changes: 4 additions & 4 deletions .github/workflows/build_and_test_rolling.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@ on:
jobs:
# This workflow contains a single job called "build"
build:
# The runner will be ubuntu-latest, with a clean ubuntu jammy container
# The runner will be ubuntu-latest, with a clean ubuntu noble container
runs-on: ubuntu-latest
container:
image: ubuntu:jammy
image: ubuntu:noble

steps:
- uses: ros-tooling/setup-ros@v0.3
- uses: ros-tooling/setup-ros@v0.7
with:
# The testing repository will be used
use-ros2-testing: true
- uses: ros-tooling/action-ros-ci@v0.2
- uses: ros-tooling/action-ros-ci@v0.3
with:
target-ros2-distro: rolling
29 changes: 29 additions & 0 deletions dynamixel_hardware/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package dynamixel_hardware
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.6.0 (2024-04-24)
------------------
* Adhere to style guide (`#73 <https://github.com/dynamixel-community/dynamixel_hardware/issues/73>`_)
* Revised control mode changes, added set_joint_params (`#65 <https://github.com/dynamixel-community/dynamixel_hardware/issues/65>`_)
* revised control mode changes, added set_params
* removed unnecessary comment
* Missing comma for setting Position_D_Gain (`#56 <https://github.com/dynamixel-community/dynamixel_hardware/issues/56>`_)
* comment out unused paramter
* A comma is missing for setting the Position_D_Gain
* Contributors: Geoff Sokoll, Kenji Brameld, Lass6230, Yutaka Kondo

0.3.1 (2022-11-17)
------------------
* Merge pull request `#39 <https://github.com/youtalk/dynamixel_control/issues/39>`_ from ijnek/ijnek-unused-parameters
* Merge pull request `#31 <https://github.com/youtalk/dynamixel_control/issues/31>`_ from ijnek/ijnek-unused-parameter-2
* Merge pull request `#25 <https://github.com/youtalk/dynamixel_control/issues/25>`_ from ijnek/ijnek-new-hardware-interface
* Merge pull request `#24 <https://github.com/youtalk/dynamixel_control/issues/24>`_ from ijnek/ijnek-add-callbackreturn-reference
* Merge pull request `#20 <https://github.com/youtalk/dynamixel_control/issues/20>`_ from pdenes/add-extra-params
* Merge pull request `#19 <https://github.com/youtalk/dynamixel_control/issues/19>`_ from pdenes/add-dependencies
* Merge pull request `#17 <https://github.com/youtalk/dynamixel_control/issues/17>`_ from youtalk/galactic
* Merge pull request `#16 <https://github.com/youtalk/dynamixel_control/issues/16>`_ from Schnilz/main
* Merge pull request `#13 <https://github.com/youtalk/dynamixel_control/issues/13>`_ from youtalk/change-loglevel
* Merge pull request `#10 <https://github.com/youtalk/dynamixel_control/issues/10>`_ from youtalk/joint-id
* Merge pull request `#1 <https://github.com/youtalk/dynamixel_control/issues/1>`_ from youtalk/velocity-control
* Contributors: Kenji Brameld, Nils Schulte, Pal Denes, Yutaka Kondo
2 changes: 1 addition & 1 deletion dynamixel_hardware/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ ament_target_dependencies(
hardware_interface
pluginlib
dynamixel_workbench_toolbox
)
)


pluginlib_export_plugin_description_file(hardware_interface dynamixel_hardware.xml)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@

#include <dynamixel_workbench_toolbox/dynamixel_workbench.h>

#include <map>
#include <vector>

#include <hardware_interface/handle.hpp>
#include <hardware_interface/hardware_info.hpp>
#include <hardware_interface/system_interface.hpp>
#include <rclcpp_lifecycle/state.hpp>

#include <map>
#include <vector>

#include "dynamixel_hardware/visiblity_control.h"
#include "rclcpp/macros.hpp"

Expand All @@ -47,26 +47,29 @@ struct Joint
JointValue prev_command{};
};

enum class ControlMode {
enum class ControlMode
{
Position,
Velocity,
Torque,
Currrent,
Current,
ExtendedPosition,
MultiTurn,
CurrentBasedPosition,
PWM,
};

class DynamixelHardware
: public hardware_interface::SystemInterface
class DynamixelHardware : public hardware_interface::SystemInterface
{
public:
RCLCPP_SHARED_PTR_DEFINITIONS(DynamixelHardware)

DYNAMIXEL_HARDWARE_PUBLIC
CallbackReturn on_init(const hardware_interface::HardwareInfo & info) override;

DYNAMIXEL_HARDWARE_PUBLIC
CallbackReturn on_configure(const rclcpp_lifecycle::State & previous_state) override;

DYNAMIXEL_HARDWARE_PUBLIC
std::vector<hardware_interface::StateInterface> export_state_interfaces() override;

Expand Down Expand Up @@ -94,14 +97,15 @@ class DynamixelHardware

CallbackReturn set_joint_positions();
CallbackReturn set_joint_velocities();
CallbackReturn set_joint_currents();
CallbackReturn set_joint_params();

DynamixelWorkbench dynamixel_workbench_;
std::map<const char * const, const ControlItem *> control_items_;
std::vector<Joint> joints_;
std::vector<uint8_t> joint_ids_;
bool torque_enabled_{false};
ControlMode control_mode_{ControlMode::Position};
ControlMode control_mode_{ControlMode::ExtendedPosition};
bool mode_changed_{false};
bool use_dummy_{false};
};
Expand Down
2 changes: 1 addition & 1 deletion dynamixel_hardware/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>dynamixel_hardware</name>
<version>0.0.0</version>
<version>0.6.0</version>
<description>ros2_control hardware for ROBOTIS Dynamixel</description>
<maintainer email="[email protected]">Yutaka Kondo</maintainer>
<license>Apache 2.0</license>
Expand Down
Loading