Skip to content
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
cc6e6e0
Feature/serial communication (#2)
slimasziom Feb 12, 2025
043c45d
Merge humble
slimasziom Feb 12, 2025
79914b6
CHG: move file directories to fit ros2 control
slimasziom Feb 12, 2025
89ca01f
CHG: update cmakelists and config layer for modbus session
slimasziom Feb 12, 2025
cc8b848
ADD: parametrization
slimasziom Feb 13, 2025
409e9a3
ADD: parameters to test_load_hw_interface
slimasziom Feb 13, 2025
f0d1000
ADD: activation based on is_ready flag
slimasziom Feb 13, 2025
e12d630
FIX: pre-commit
slimasziom Feb 13, 2025
3561eaa
CHG: initialize cmd and state position to gripper position max
slimasziom Feb 18, 2025
cc5552e
FIX: unify namespace tag
slimasziom Feb 18, 2025
6680d0a
ADD: max iterations for activation
slimasziom Feb 19, 2025
891e5b0
ADD: return config result to hardware layer
slimasziom Feb 19, 2025
147bf36
FIX: string pointer pass to modbus
slimasziom Feb 20, 2025
7b139fc
FIX: merge issues
slimasziom Feb 20, 2025
728e7ad
FIX: issues just before successful run
slimasziom Feb 25, 2025
0c6f9a3
Merge branch 'serial_communication_fixes' into serial_communication-d…
slimasziom Feb 25, 2025
99d223f
CHG: precommit-fixes
slimasziom Feb 25, 2025
e05f1d7
Update robotiq_hande_driver/CHANGELOG.md
slimasziom Feb 25, 2025
77c94f9
Update README.md
slimasziom Feb 25, 2025
c8866ff
Update robotiq_hande_driver/CMakeLists.txt
slimasziom Feb 25, 2025
dfb1018
Update robotiq_hande_driver/CMakeLists.txt
slimasziom Feb 25, 2025
5ee887e
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
05b24ce
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
da6f590
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
0a7378f
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
e6c3eaf
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
ce3e1ab
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
c8a8a2c
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
ec5e355
Update robotiq_hande_driver/hardware/src/hande_hardware_interface.cpp
slimasziom Feb 25, 2025
7c78d81
CHG: review suggestions
slimasziom Feb 25, 2025
30dc08e
CHG: return connection status code to hardware info
slimasziom Feb 25, 2025
9e83533
ADD: modbus failure status code
slimasziom Feb 25, 2025
c386689
CHG: activation logic moved to hardware_interface
slimasziom Feb 25, 2025
c04b706
FIX: wait_100ms declaration
slimasziom Feb 25, 2025
a9bc501
CHG: print modbus config in hardware_interface
slimasziom Feb 25, 2025
08e8c54
CHG: remove obsolete logger_
slimasziom Feb 25, 2025
cf1e105
ADD: log throttled when activating
slimasziom Feb 25, 2025
af5be05
CHG: move clock init to on_init
slimasziom Feb 25, 2025
203ea01
CHG: replace constexpr with static constexpr
slimasziom Feb 26, 2025
8268493
ADD: ignore modbus connection check
slimasziom Feb 26, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
devel/
logs/
log/
build/
bin/
install/
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ source ./install/local_setup.sh
ros2 launch robotiq_hande_driver gripper_controller_preview.launch.py use_fake_hardware:=true
```

### Test Serial Connection

There is an additional test tool with hardcoded parameters to test the connection with the Hand-E without any ROS dependencies.
Before build, change the hardcoded parameters in the beginning of the `robotiq_hande_driver/test/communication_test.cpp` file.

To run test:
```bash
cd cd ~/ceai_ws/src/robotiq_hande_driver/build/robotiq_hande_driver/
./communication_test
```

---
## Development notes
Expand Down
5 changes: 5 additions & 0 deletions robotiq_hande_driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* [PR-7](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/7) - Integration of ModbusRTU communication with ros2_control Hardware Interface
* [PR-2](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/2) - ModbusRTU communication
* [PR-2](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/2) - Protocol abstraction
* [PR-1](https://github.com/AGH-CEAI/robotiq_hande_driver/pull/1) - Prepared ros2_control Hardware Interface.

### Changed

### Deprecated
Expand Down
23 changes: 18 additions & 5 deletions robotiq_hande_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,33 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

include(FindPkgConfig)
pkg_check_modules(LIBMODBUS REQUIRED libmodbus)

set(DEPENDS modbus)

set(HW_IF_INCLUDE_DEPENDS
fmt
hardware_interface
pluginlib
rclcpp
rclcpp_lifecycle
rcpputils)

find_package(ament_cmake REQUIRED)

foreach(dependency IN ITEMS ${HW_IF_INCLUDE_DEPENDS})
find_package(${dependency} REQUIRED)
endforeach()

add_library(${PROJECT_NAME} SHARED hardware/src/hande_hardware_interface.cpp)
add_library(
${PROJECT_NAME} SHARED hardware/src/hande_hardware_interface.cpp hardware/src/application.cpp
hardware/src/communication.cpp hardware/src/protocol_logic.cpp)

target_link_libraries(${PROJECT_NAME} PUBLIC ${DEPENDS})

# TODO(issue#8) Build the communication_test only with BUILD_TESTING flag
add_executable(communication_test test/communication_test.cpp)
target_link_libraries(communication_test ${catkin_LIBRARIES} ${DEPENDS})

target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
target_include_directories(
Expand Down Expand Up @@ -47,9 +60,9 @@ if(BUILD_TESTING)
ament_add_gmock(test_load_hw_interface test/test_load_hw_interface.cpp)
target_link_libraries(test_load_hw_interface ${PROJECT_NAME})

# TODO: investigate ament_add_pytest_test(example_7_urdf_xacro test/test_urdf_xacro.py)
# ament_add_pytest_test(view_example_7_launch test/test_view_robot_launch.py)
# ament_add_pytest_test(run_example_7_launch test/test_r6bot_controller_launch.py)
# TODO(issue#8) Build the communication_test only with BUILD_TESTING flag
# ament_add_gmock(application_test test/application_test.cpp )
# target_link_libraries(application_test ${PROJECT_NAME})
endif()

# EXPORTS
Expand Down
Loading