From 02e308d0492b14b412ba61623fb2dda953d84ec3 Mon Sep 17 00:00:00 2001 From: luis-camero <88782189+luis-camero@users.noreply.github.com> Date: Thu, 10 Oct 2024 13:27:17 -0400 Subject: [PATCH] Socket CAN Bridges (#93) * Generate can bridges * Generate script source robot workspace * Remove extra line --------- Co-authored-by: Roni Kreinin --- .../launch/generator.py | 27 ++++++++++++++++++- clearpath_robot/scripts/generate | 3 ++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/clearpath_generator_robot/clearpath_generator_robot/launch/generator.py b/clearpath_generator_robot/clearpath_generator_robot/launch/generator.py index a3efcaf..2401c48 100644 --- a/clearpath_generator_robot/clearpath_generator_robot/launch/generator.py +++ b/clearpath_generator_robot/clearpath_generator_robot/launch/generator.py @@ -203,14 +203,39 @@ def __init__(self, setup_path: str = '/etc/clearpath/') -> None: namespace=self.namespace, ) + # ROS2 socketcan bridges + ros2_socketcan_package = Package('ros2_socketcan') + self.can_bridges = [] + for can_bridge in self.clearpath_config.platform.can_bridges.get_all(): + self.can_bridges.append(LaunchFile( + 'socket_can_receiver', + package=ros2_socketcan_package, + args=[ + ('interface', can_bridge.interface), + ('from_can_bus_topic', f'{self.namespace}/{can_bridge.topic_rx}'), + ] + )) + + self.can_bridges.append(LaunchFile( + 'socket_can_sender', + package=ros2_socketcan_package, + args=[ + ('interface', can_bridge.interface), + ('to_can_bus_topic', f'{self.namespace}/{can_bridge.topic_tx}'), + ] + )) + # Components required for each platform common_platform_components = [ self.wireless_watcher_node, self.diagnostics_launch, self.battery_state_estimator, - self.battery_state_control + self.battery_state_control, ] + if len(self.can_bridges) > 0: + common_platform_components.extend(self.can_bridges) + self.platform_components = { Platform.J100: common_platform_components + [ self.imu_0_filter_node, diff --git a/clearpath_robot/scripts/generate b/clearpath_robot/scripts/generate index d2be7e7..d1b439d 100644 --- a/clearpath_robot/scripts/generate +++ b/clearpath_robot/scripts/generate @@ -27,7 +27,8 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -source /opt/ros/humble/setup.bash +source /opt/ros/jazzy/setup.bash +source /home/administrator/colcon_ws/install/setup.bash # Generate and source setup.bash ros2 run clearpath_generator_common generate_bash