Skip to content

Commit 1bfd061

Browse files
authored
Merge pull request #391 from ROBOTIS-GIT/feature-humble-issue-handling
Resolved the issue where the build was failing on SBC
2 parents 638683c + 8c4ce77 commit 1bfd061

34 files changed

+324
-299
lines changed

.github/workflows/dynamixel_workbench.repos

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ repositories:
22
dynamixel_workbench/dynamixel_workbench_msgs:
33
type: git
44
url: https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs.git
5-
version: ros2
5+
version: main

.github/workflows/ros-ci.yml

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,59 @@
1-
name: humble-devel
1+
# The name of the workflow
2+
name: CI
23

3-
# Controls when the action will run. Triggers the workflow on push or pull request
4+
# Specifies the events that trigger the workflow
45
on:
56
push:
6-
branches: [ humble-devel ]
7+
branches: [ main, humble, jazzy]
78
pull_request:
8-
branches: [ humble-devel ]
9+
branches: [ main, humble, jazzy]
910

10-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
11+
# Defines a set of jobs to be run as part of the workflow
1112
jobs:
12-
ros2-ci:
13-
runs-on: ubuntu-latest
13+
# The name of the job
14+
ROS_CI:
15+
runs-on: ubuntu-22.04
1416
strategy:
1517
fail-fast: false
1618
matrix:
1719
ros_distribution:
18-
# - foxy
19-
# - galactic
2020
- humble
21-
# - rolling
21+
- jazzy
22+
- rolling
2223
include:
23-
# # Foxy Fitzroy (June 2020 - May 2023)
24-
# - docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-foxy-ros-base-latest
25-
# ros_distribution: foxy
26-
# ros_version: 2
27-
# # Galactic Geochelone (May 2021)
28-
# - docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-galactic-ros-base-latest
29-
# ros_distribution: galactic
30-
# ros_version: 2
31-
# Humble Hawksbill (May 2027)
32-
- docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-humble-ros-base-latest
24+
# ROS 2 Humble Hawksbill
25+
- docker_image: ubuntu:jammy
3326
ros_distribution: humble
3427
ros_version: 2
35-
# # Rolling
36-
# - docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-rolling-ros-base-latest
37-
# ros_distribution: rolling
38-
# ros_version: 2
28+
# ROS 2 Jazzy Jalisco
29+
- docker_image: ubuntu:noble
30+
ros_distribution: jazzy
31+
ros_version: 2
32+
# ROS 2 Rolling Ridley
33+
- docker_image: ubuntu:noble
34+
ros_distribution: rolling
35+
ros_version: 2
3936
container:
4037
image: ${{ matrix.docker_image }}
4138
steps:
42-
- name: Setup directories
39+
- name: Setup workspace
4340
run: mkdir -p ros_ws/src
44-
- name: checkout
45-
uses: actions/checkout@v2
41+
42+
- name: Checkout code
43+
uses: actions/checkout@v4
4644
with:
4745
path: ros_ws/src
46+
47+
- name: Setup ROS environment
48+
uses: ros-tooling/[email protected]
49+
with:
50+
required-ros-distributions: ${{ matrix.ros_distribution }}
51+
4852
- name: Build and Test
49-
uses: ros-tooling/action-ros-ci@0.2.6
53+
uses: ros-tooling/action-ros-ci@v0.3
5054
with:
51-
package-name: dynamixel_workbench
5255
target-ros2-distro: ${{ matrix.ros_distribution }}
53-
vcs-repo-file-url: "https://raw.githubusercontent.com/ROBOTIS-GIT/dynamixel-workbench/ros2-devel/.github/workflows/dynamixel_workbench.repos"
56+
vcs-repo-file-url: "https://raw.githubusercontent.com/ROBOTIS-GIT/dynamixel-workbench/main/.github/workflows/dynamixel_workbench.repos"
57+
package-name: |
58+
dynamixel_workbench
59+
dynamixel_workbench_toolbox

README.md

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
11
# DYNAMIXEL Workbench
2-
![](https://github.com/ROBOTIS-GIT/emanual/blob/master/assets/images/sw/dynamixel/dynamixel_workbench/DYNAMIXEL_WORKBENCH_LOGO.png)
2+
<img src="https://github.com/ROBOTIS-GIT/emanual/blob/master/assets/images/sw/dynamixel/dynamixel_workbench/DYNAMIXEL_WORKBENCH_LOGO.png" width="300">
33

4-
- Active Branches: noetic, humble, main
4+
- Active Branches: noetic, humble, jazzy, main
55
- Legacy Branches: *-devel
66

7-
## ROBOTIS e-Manual for DYNAMIXEL Workbench
8-
- [ROBOTIS e-Manual for DYNAMIXEL Workbench](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_workbench/)
9-
10-
## Wiki for dynamixel_workbench Packages
11-
- http://wiki.ros.org/dynamixel_workbench (metapackage)
12-
- http://wiki.ros.org/dynamixel_workbench_controllers
13-
- http://wiki.ros.org/dynamixel_workbench_operators
14-
- http://wiki.ros.org/dynamixel_workbench_single_manager
15-
- http://wiki.ros.org/dynamixel_workbench_single_manager_gui
16-
- http://wiki.ros.org/dynamixel_workbench_toolbox
17-
18-
## Open Source related to DYNAMIXEL Workbench
7+
## Open Source Projects Related to Dynamixel Workbench
8+
- [dynamixel_sdk](https://github.com/ROBOTIS-GIT/DynamixelSDK)
199
- [dynamixel_workbench](https://github.com/ROBOTIS-GIT/dynamixel-workbench)
2010
- [dynamixel_workbench_msgs](https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs)
21-
- [dynamixel_sdk](https://github.com/ROBOTIS-GIT/DynamixelSDK)
11+
- [dynamixel_hardware_interface](https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface)
12+
- [dynamixel_interfaces](https://github.com/ROBOTIS-GIT/dynamixel_interfaces)
13+
- [turtlebot3](https://github.com/ROBOTIS-GIT/turtlebot3)
2214
- [open_manipulator](https://github.com/ROBOTIS-GIT/open_manipulator)
2315
- [OpenCR-Hardware](https://github.com/ROBOTIS-GIT/OpenCR-Hardware)
2416
- [OpenCR](https://github.com/ROBOTIS-GIT/OpenCR)
2517

26-
## Documents and Videos related to DYNAMIXEL Workbench
27-
- [ROBOTIS e-Manual for DYNAMIXEL Workbench](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_workbench/)
28-
- [ROBOTIS e-Manual for DYNAMIXEL SDK](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/)
29-
- [ROBOTIS e-Manual for OpenManipulator](http://emanual.robotis.com/docs/en/platform/openmanipulator/)
30-
- [ROBOTIS e-Manual for OpenCR](http://emanual.robotis.com/docs/en/parts/controller/opencr10/)
18+
## Documentation, Videos, and Community
19+
20+
### Official Documentation
21+
- ⚙️ **[ROBOTIS DYNAMIXEL](https://dynamixel.com/)**
22+
- 📚 **[ROBOTIS e-Manual for Dynamixel SDK](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/)**
23+
- 📚 **[ROBOTIS e-Manual for Dynamixel Workbench](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_workbench/)**
24+
- 📚 **[ROBOTIS e-Manual for TurtleBot3](http://turtlebot3.robotis.com/)**
25+
- 📚 **[ROBOTIS e-Manual for OpenMANIPULATOR-X](https://emanual.robotis.com/docs/en/platform/openmanipulator_x/overview/)**
26+
27+
### Learning Resources
28+
- 🎥 **[ROBOTIS YouTube Channel](https://www.youtube.com/@ROBOTISCHANNEL)**
29+
- 🎥 **[ROBOTIS Open Source YouTube Channel](https://www.youtube.com/@ROBOTISOpenSourceTeam)**
30+
- 🎥 **[ROBOTIS TurtleBot3 YouTube Playlist](https://www.youtube.com/playlist?list=PLRG6WP3c31_XI3wlvHlx2Mp8BYqgqDURU)**
31+
- 🎥 **[ROBOTIS OpenMANIPULATOR YouTube Playlist](https://www.youtube.com/playlist?list=PLRG6WP3c31_WpEsB6_Rdt3KhiopXQlUkb)**
32+
33+
### Community & Support
34+
- 💬 **[ROBOTIS Community Forum](https://forum.robotis.com/)**
35+
- 💬 **[TurtleBot category from ROS Community](https://discourse.ros.org/c/turtlebot/)**

dynamixel_workbench/CHANGELOG.rst

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
Changelog for package dynamixel_workbench
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.2.4 (2025-03-14)
6+
------------------
7+
* Fixed the issue where the Workbench example was not building on SBC by adding the ARM option.
8+
* Added the CI for ROS 2 rolling, jazzy and Humble.
9+
* Contributoers: Wonho Yun
10+
511
2.2.3 (2022-10-06)
612
------------------
713
* ROS2 release (Foxy, Galactic, Humble)
@@ -21,19 +27,19 @@ Changelog for package dynamixel_workbench
2127
2.1.0 (2019-06-04)
2228
------------------
2329
* Removed single_manager and single_manager_gui
24-
* Added XH540, PRO (A Firmware), RH_P12_RN, RH_P12_RN (A Firmware)
30+
* Added XH540, PRO (A Firmware), RH_P12_RN, RH_P12_RN (A Firmware)
2531
* Contributors: Ryan Shim
2632

2733
2.0.0 (2019-01-04)
2834
------------------
29-
* added YAML configuration for Dynamixel
35+
* added YAML configuration for Dynamixel
3036
* supported position control mode, current based position control mode through Joint Trajectory Message
3137
* supported velocity control mode through Twist Message
3238
* reduced memory usage(Contribute by @KurtE)
3339
* updated API for sync, bulk instruction
3440
* updated control period (default is 10ms)
35-
* supported Linux, macos
36-
* supported Pro+
41+
* supported Linux, macos
42+
* supported Pro+
3743
* supported DynamixelSDK(after v.3.6.2)
3844
* supported OpenManipulator
3945
* Contributors: Darby Lim, KurtE, Pyo
@@ -67,7 +73,7 @@ Changelog for package dynamixel_workbench
6773
* changed max_dxl_deries_num
6874
* changed compile options for qt5
6975
* deleted unused code
70-
* merged pull request `#152 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/152>`_ `#151 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/151>`_ `#149 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/149>`_ `#132 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/132>`_
76+
* merged pull request `#152 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/152>`_ `#151 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/151>`_ `#149 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/149>`_ `#132 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/132>`_
7177
* Contributors: Darby Lim, Pyo
7278

7379
0.2.4 (2018-03-20)

dynamixel_workbench/package.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>dynamixel_workbench</name>
5-
<version>2.2.3</version>
5+
<version>2.2.4</version>
66
<description>
77
Dynamixel-Workbench is dynamixel solution for ROS.
88
This metapackage allows you to easily change the ID, baudrate and operating mode of the Dynamixel.
99
Furthermore, it supports various controllers based on operating mode and Dynamixel SDK.
1010
These controllers are commanded by operators.
1111
</description>
12-
<maintainer email="willson@robotis.com">Will Son</maintainer>
12+
<maintainer email="pyo@robotis.com">Pyo</maintainer>
1313
<license>Apache 2.0</license>
1414
<url type="website">http://wiki.ros.org/dynamixel_workbench</url>
1515
<url type="repository">https://github.com/ROBOTIS-GIT/dynamixel-workbench</url>
1616
<url type="bugtracker">https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues</url>
1717
<author email="[email protected]">Darby Lim</author>
1818
<author email="[email protected]">Will Son</author>
1919
<author>Ryan Shim</author>
20+
<author email="[email protected]">Wonho Yun</author>
2021
<buildtool_depend>ament_cmake</buildtool_depend>
2122
<exec_depend>dynamixel_workbench_toolbox</exec_depend>
2223
<export>

dynamixel_workbench_toolbox/CHANGELOG.rst

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
Changelog for package dynamixel_workbench_toolbox
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.2.4 (2025-03-14)
6+
------------------
7+
* Fixed the issue where the Workbench example was not building on SBC by adding the ARM option.
8+
* Added the CI for ROS 2 rolling, jazzy and Humble.
9+
* Contributoers: Wonho Yun
10+
511
2.2.3 (2022-10-06)
612
------------------
713
* ROS2 release (Foxy, Galactic, Humble)
@@ -21,19 +27,19 @@ Changelog for package dynamixel_workbench_toolbox
2127
2.1.0 (2019-06-04)
2228
------------------
2329
* Removed single_manager and single_manager_gui
24-
* Added XH540, PRO (A Firmware), RH_P12_RN, RH_P12_RN (A Firmware)
30+
* Added XH540, PRO (A Firmware), RH_P12_RN, RH_P12_RN (A Firmware)
2531
* Contributors: Ryan Shim
2632

2733
2.0.0 (2019-01-04)
2834
------------------
29-
* added YAML configuration for Dynamixel
35+
* added YAML configuration for Dynamixel
3036
* supported position control mode, current based position control mode through Joint Trajectory Message
3137
* supported velocity control mode through Twist Message
3238
* reduced memory usage(Contribute by @KurtE)
3339
* updated API for sync, bulk instruction
3440
* updated control period (default is 10ms)
35-
* supported Linux, macos
36-
* supported Pro+
41+
* supported Linux, macos
42+
* supported Pro+
3743
* supported DynamixelSDK(after v.3.6.2)
3844
* supported OpenManipulator
3945
* Contributors: Darby Lim, KurtE, Pyo
@@ -56,7 +62,7 @@ Changelog for package dynamixel_workbench_toolbox
5662
------------------
5763
* added getProtocolVersion()
5864
* changed max_dxl_deries_num
59-
* merged pull request `#152 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/152>`_ `#151 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/151>`_ `#149 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/149>`_ `#132 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/132>`_
65+
* merged pull request `#152 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/152>`_ `#151 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/151>`_ `#149 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/149>`_ `#132 <https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues/132>`_
6066
* Contributors: Darby Lim, Pyo
6167

6268
0.2.4 (2018-03-20)

dynamixel_workbench_toolbox/examples/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ add_library(dynamixel_workbench
1616

1717
if(APPLE)
1818
target_link_libraries(dynamixel_workbench LINK_PUBLIC "/usr/local/lib/libdxl_mac_cpp.dylib")
19+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
20+
target_link_libraries(dynamixel_workbench LINK_PUBLIC "/usr/local/lib/libdxl_sbc_cpp.so")
1921
else()
2022
target_link_libraries(dynamixel_workbench LINK_PUBLIC "/usr/local/lib/libdxl_x64_cpp.so")
2123
endif()
@@ -66,4 +68,4 @@ add_executable(find_dynamixel src/o_Find_Dynamixel.cpp)
6668
target_link_libraries(find_dynamixel LINK_PUBLIC dynamixel_workbench)
6769

6870
add_executable(monitor src/p_Monitor.cpp)
69-
target_link_libraries(monitor LINK_PUBLIC dynamixel_workbench)
71+
target_link_libraries(monitor LINK_PUBLIC dynamixel_workbench)

dynamixel_workbench_toolbox/examples/src/a_Model_Scan.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
#include <DynamixelWorkbench.h>
2020

21-
int main(int argc, char *argv[])
21+
int main(int argc, char *argv[])
2222
{
2323
const char* port_name = "/dev/ttyUSB0";
2424
int baud_rate = 57600;
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
5252
return 0;
5353
}
5454
else
55-
printf("Succeeded to init(%d)\n", baud_rate);
55+
printf("Succeeded to init(%d)\n", baud_rate);
5656

5757
printf("Wait for scan...\n");
5858
result = dxl_wb.scan(scanned_id, &dxl_cnt, range, &log);
@@ -70,4 +70,4 @@ int main(int argc, char *argv[])
7070
}
7171

7272
return 0;
73-
}
73+
}

dynamixel_workbench_toolbox/examples/src/b_Ping.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
#include <DynamixelWorkbench.h>
2020

21-
int main(int argc, char *argv[])
21+
int main(int argc, char *argv[])
2222
{
2323
const char* port_name = "/dev/ttyUSB0";
2424
int baud_rate = 57600;
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
5252
return 0;
5353
}
5454
else
55-
printf("Succeeded to init(%d)\n", baud_rate);
55+
printf("Succeeded to init(%d)\n", baud_rate);
5656

5757
result = dxl_wb.ping(dxl_id, &model_number, &log);
5858
if (result == false)
@@ -67,4 +67,4 @@ int main(int argc, char *argv[])
6767
}
6868

6969
return 0;
70-
}
70+
}

dynamixel_workbench_toolbox/examples/src/c_ID_Change.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
#include <DynamixelWorkbench.h>
2020

21-
int main(int argc, char *argv[])
21+
int main(int argc, char *argv[])
2222
{
2323
const char* port_name = "/dev/ttyUSB0";
2424
int baud_rate = 57600;
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
5252
return 0;
5353
}
5454
else
55-
printf("Succeeded to init(%d)\n", baud_rate);
55+
printf("Succeeded to init(%d)\n", baud_rate);
5656

5757
uint16_t model_number = 0;
5858
result = dxl_wb.ping(dxl_id, &model_number, &log);
@@ -98,4 +98,4 @@ int main(int argc, char *argv[])
9898
for (int cnt = 0; cnt < dxl_cnt; cnt++)
9999
printf("id : %d, model name : %s\n", scanned_id[cnt], dxl_wb.getModelName(scanned_id[cnt]));
100100
}
101-
}
101+
}

0 commit comments

Comments
 (0)