diff --git a/mg_wheel_interface/CMakeLists.txt b/mg_wheel_interface/CMakeLists.txt index 71437ab..7af0e95 100644 --- a/mg_wheel_interface/CMakeLists.txt +++ b/mg_wheel_interface/CMakeLists.txt @@ -7,9 +7,45 @@ endif() # find dependencies find_package(ament_cmake REQUIRED) -# uncomment the following section in order to fill in -# further dependencies manually. -# find_package( REQUIRED) +find_package(rclcpp REQUIRED) +find_package(pluginlib REQUIRED) +find_package(hardware_interface REQUIRED) +find_package(rclcpp_lifecycle REQUIRED) +find_package(rclcpp_components REQUIRED) +include(FindPkgConfig) +pkg_search_module(LIBSERIAL REQUIRED libserial) + +add_library( + mg_wheel_interface + SHARED + src/mg_wheel_interface.cpp +) + +target_include_directories( + mg_wheel_interface + PRIVATE + ${LIBSERIAL_INCLUDE_DIRS} + include +) + +target_link_libraries( + mg_wheel_interface + ${LIBSERIAL_LIBRARIES} +) + +ament_target_dependencies( + mg_wheel_interface + rclcpp + pluginlib + hardware_interface + rclcpp_lifecycle +) +pluginlib_export_plugin_description_file(hardware_interface mg_wheel_interface.xml) + +install( + TARGETS mg_wheel_interface + DESTINATION lib +) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) diff --git a/mg_wheel_interface/assets/mg_base.urdf b/mg_wheel_interface/assets/mg_base.urdf index f5259f4..377965c 100644 --- a/mg_wheel_interface/assets/mg_base.urdf +++ b/mg_wheel_interface/assets/mg_base.urdf @@ -57,8 +57,7 @@ - mock_components/GenericSystem - true + mg_wheel_interface/MgOdriveInterface diff --git a/mg_wheel_interface/assets/mg_base_controllers.yaml b/mg_wheel_interface/assets/mg_base_controllers.yaml index 67fe895..3d269ed 100644 --- a/mg_wheel_interface/assets/mg_base_controllers.yaml +++ b/mg_wheel_interface/assets/mg_base_controllers.yaml @@ -16,5 +16,7 @@ diffdrive_controller: odom_frame_id: odom base_frame_id: base-link + open_loop: true + wheel_separation: 0.5 wheel_radius: 0.1 \ No newline at end of file diff --git a/mg_wheel_interface/package.xml b/mg_wheel_interface/package.xml index 6ea63c5..993f230 100644 --- a/mg_wheel_interface/package.xml +++ b/mg_wheel_interface/package.xml @@ -9,6 +9,9 @@ ament_cmake + rclcpp + rclcpp_lifecycle + rclcpp_components pluginlib hardware_interface ros2launch @@ -19,6 +22,9 @@ joint_state_broadcaster rsl + libserial-dev + libserial + ament_lint_auto ament_lint_common