Skip to content
Draft
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
2 changes: 2 additions & 0 deletions sciurus17_description/robot_description_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ def __init__(self):
self.use_gazebo_head_camera = 'false'
self.use_gazebo_chest_camera = 'false'
self.use_mock_components = 'false'
self.use_isaacsim = 'false'
self.gz_control_config_package = ''
self.gz_control_config_file_path = ''

Expand All @@ -36,6 +37,7 @@ def load(self):
' use_gazebo_head_camera:=', self.use_gazebo_head_camera,
' use_gazebo_chest_camera:=', self.use_gazebo_chest_camera,
' use_mock_components:=', self.use_mock_components,
' use_isaacsim:=', self.use_isaacsim,
' gz_control_config_package:=', self.gz_control_config_package,
' gz_control_config_file_path:=', self.gz_control_config_file_path
])
10 changes: 10 additions & 0 deletions test/test_robot_description_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,13 @@ def test_use_mock_components():
rdl.gz_control_config_package = 'sciurus17_description'
rdl.gz_control_config_file_path = 'config/dummy_controllers.yaml'
assert 'mock_components/GenericSystem' in exec_load(rdl)


def test_use_isaacsim():
# use_isaacsimが変更され、xacroにIsaac Sim向けのpluginがセットされることを期待
rdl = RobotDescriptionLoader()
rdl.use_isaacsim = 'true'
description = exec_load(rdl)
assert 'topic_based_ros2_control/TopicBasedSystem' in description
assert '/joint_command' in description
assert '/joint_states' in description
24 changes: 16 additions & 8 deletions urdf/sciurus17.ros2_control.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,30 @@

<xacro:macro name="sciurus17_ros2_control_settings"
params="use_mock_components:=false
use_isaacsim:=false
port_name:=/dev/sciurus17spine
baudrate:=3000000
timeout_seconds:=1.0
manipulator_config_file_path:=''">

<ros2_control name="sciurus17" type="system">
<hardware>
<xacro:if value="${use_mock_components}">
<plugin>mock_components/GenericSystem</plugin>
<xacro:if value="${use_isaacsim}">
<plugin>topic_based_ros2_control/TopicBasedSystem</plugin>
<param name="joint_commands_topic">/joint_command</param>
<param name="joint_states_topic">/joint_states</param>
</xacro:if>
<xacro:unless value="${use_mock_components}">
<plugin>sciurus17_hardware/Sciurus17Hardware</plugin>
<param name="port_name">${port_name}</param>
<param name="baudrate">${baudrate}</param>
<param name="timeout_seconds">${timeout_seconds}</param>
<param name="manipulator_config_file_path">${manipulator_config_file_path}</param>
<xacro:unless value="${use_isaacsim}">
<xacro:if value="${use_mock_components}">
<plugin>mock_components/GenericSystem</plugin>
</xacro:if>
<xacro:unless value="${use_mock_components}">
<plugin>sciurus17_hardware/Sciurus17Hardware</plugin>
<param name="port_name">${port_name}</param>
<param name="baudrate">${baudrate}</param>
<param name="timeout_seconds">${timeout_seconds}</param>
<param name="manipulator_config_file_path">${manipulator_config_file_path}</param>
</xacro:unless>
</xacro:unless>
</hardware>

Expand Down
2 changes: 2 additions & 0 deletions urdf/sciurus17.urdf.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
<xacro:arg name="use_gazebo_head_camera" default="false" />
<xacro:arg name="use_gazebo_chest_camera" default="false" />
<xacro:arg name="use_mock_components" default="false" />
<xacro:arg name="use_isaacsim" default="false" />
<xacro:arg name="port_name" default="/dev/sciurus17spine" />
<xacro:arg name="baudrate" default="3000000" />
<xacro:arg name="timeout_seconds" default="1.0" />
Expand Down Expand Up @@ -118,6 +119,7 @@

<xacro:sciurus17_ros2_control_settings
use_mock_components="$(arg use_mock_components)"
use_isaacsim="$(arg use_isaacsim)"
port_name="$(arg port_name)"
baudrate="$(arg baudrate)"
timeout_seconds="$(arg timeout_seconds)"
Expand Down
Loading