-/shoulder_controller:
+shoulder_controller:
ros__parameters:
joints:
- shoulder_active_joint
interface_name: effort
-/elbow_controller:
+elbow_controller:
ros__parameters:
joints:
- elbow_active_joint
-/computed_torque_controller:
+computed_torque_controller:
ros__parameters:
joints:
- shoulder_active_joint
-/group_controller:
+group_controller:
ros__parameters:
joints:
- shoulder_active_joint
-/group_controller:
+group_controller:
ros__parameters:
joints:
- shoulder_active_joint
-/shoulder_controller:
+shoulder_controller:
ros__parameters:
joint: shoulder_active_joint
pid: {p: 2310, i: 4640, d: 0.299}
-/elbow_controller:
+elbow_controller:
ros__parameters:
joint: elbow_active_joint
pid: {p: 339, i: 851, d: 0.351}
-/pid_plus_gravity_controller:
+pid_plus_gravity_controller:
ros__parameters:
joints:
- shoulder_active_joint
<arg name="pause" default="true"/>
<arg name="gui" default="true"/>
<arg name="use_sim_time" default="true"/>
+ <arg name="ignition" default="false"/>
<arg name="controller" default="pid"/>
<arg name="config" default="$(find-pkg-share q2d_bringup)/config/$(var controller).yaml"/>
- <include file="$(find-pkg-share q2d_description)/launch/gazebo.launch.xml" >
+ <include unless="$(var ignition)" file="$(find-pkg-share q2d_description)/launch/gazebo.launch.xml" >
+ <arg name="pause" value="$(var pause)"/>
+ <arg name="gui" value="$(var gui)"/>
+ <arg name="use_sim_time" value="$(var use_sim_time)"/>
+ </include>
+
+ <include if="$(var ignition)" file="$(find-pkg-share q2d_description)/launch/ignition.launch.xml" >
<arg name="pause" value="$(var pause)"/>
<arg name="gui" value="$(var gui)"/>
<arg name="use_sim_time" value="$(var use_sim_time)"/>
+++ /dev/null
-<!--******************************************************************************
- Quanser 2DSFJE Bringup
- Ignition Gazebo Launch File
- Copyright (C) 2018, 2022 Walter Fetter Lages <w.fetter@ieee.org>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Geneal Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see
- <http://www.gnu.org/licenses/>.
-
-*******************************************************************************-->
-
-<launch>
- <arg name="pause" default="true"/>
- <arg name="gui" default="true"/>
- <arg name="use_sim_time" default="true"/>
-
- <arg name="controller" default="pid"/>
- <arg name="config" default="$(find-pkg-share q2d_bringup)/config/$(var controller).yaml"/>
-
- <include file="$(find-pkg-share q2d_description)/launch/ignition.launch.xml" >
- <arg name="pause" value="$(var pause)"/>
- <arg name="gui" value="$(var gui)"/>
- <arg name="use_sim_time" value="$(var use_sim_time)"/>
- </include>
-
- <include file="$(find-pkg-share q2d_bringup)/launch/$(var controller).launch.xml" >
- <arg name="config" value="$(var config)"/>
- <arg name="use_sim_time" value="$(var use_sim_time)"/>
- </include>
-</launch>
<!--******************************************************************************
Quanser 2DSFJE Description
Ignition Gazebo Launch File
- Copyright (C) 2018..2022 Walter Fetter Lages <w.fetter@ieee.org>
+ Copyright (C) 2018..2023 Walter Fetter Lages <w.fetter@ieee.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
<arg name="gui" default="true"/>
<arg name="use_sim_time" default="true"/>
- <arg unless="$(var pause)" name="ign_pause" default="-r"/>
- <arg if="$(var pause)" name="ign_pause" default=""/>
+ <arg unless="$(var pause)" name="gz_pause" default="-r"/>
+ <arg if="$(var pause)" name="gz_pause" default=""/>
- <arg unless="$(var gui)" name="ign_gui" default="-s"/>
- <arg if="$(var gui)" name="ign_gui" default=""/>
+ <arg unless="$(var gui)" name="gz_gui" default="-s"/>
+ <arg if="$(var gui)" name="gz_gui" default=""/>
- <include file="$(find-pkg-share ros_ign_gazebo)/launch/ign_gazebo.launch.py">
- <arg name="ign_args" value="$(var ign_pause) $(var ign_gui) -v 4 empty.sdf"/>
+ <include file="$(find-pkg-share ros_gz_sim)/launch/gz_sim.launch.py">
+ <arg name="gz_args" value="$(var gz_pause) $(var gz_gui) -v 4 empty.sdf"/>
</include>
<include file="$(find-pkg-share q2d_description)/launch/q2d.launch.xml">
<arg name="use_sim_time" value="$(var use_sim_time)"/>
+ <arg name="ignition" value="true"/>
</include>
- <node name="q2d_spawner" pkg="ros_ign_gazebo" exec="create" args="-topic robot_description -name q2d"/>
+ <node name="q2d_spawner" pkg="ros_gz_sim" exec="create" args="-topic robot_description -name q2d"/>
- <node name="clock_bridge" pkg="ros_ign_bridge" exec="parameter_bridge" args="/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock">
+ <node name="clock_bridge" pkg="ros_gz_bridge" exec="parameter_bridge" args="/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock">
<param name="use_sim_time" value="$(var use_sim_time)"/>
</node>
- </launch>
+</launch>
<!--******************************************************************************
Quanser 2DSFJE Description
Quanser 2DSFJE Launch File
- Copyright (C) 2018, 2021 Walter Fetter Lages <w.fetter@ieee.org>
+ Copyright (C) 2018..2023 Walter Fetter Lages <w.fetter@ieee.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
<launch>
<arg name="use_sim_time" default="false"/>
+ <arg name="ignition" default="false"/>
<node name="robot_state_publisher" pkg="robot_state_publisher" exec="robot_state_publisher">
- <param name="robot_description" value="$(command 'xacro $(find-pkg-share q2d_description)/urdf/q2d.urdf')" type="str"/>
+ <param name="robot_description" value="$(command 'xacro $(find-pkg-share q2d_description)/urdf/q2d.urdf ignition:=$(var ignition)')" type="str"/>
<param name="use_sim_time" value="$(var use_sim_time)"/>
</node>
</launch>
<?xml version="1.0"?>\r
-<robot name="q2d">\r
+<robot name="q2d" xmlns:xacro="http://www.ros.org/wiki/xacro">\r
\r
+ <xacro:arg name="ignition" default="false"/>\r
+ \r
<link name="origin_link"/>\r
\r
<link name="base_link">\r
</gazebo>\r
\r
<ros2_control name="GazeboSystem" type="system">\r
- <hardware>\r
- <plugin>gazebo_ros2_control/GazeboSystem</plugin>\r
- </hardware>\r
-\r
+ <xacro:unless value="$(arg ignition)">\r
+ <!-- Gazebo Classic -->\r
+ <hardware>\r
+ <plugin>gazebo_ros2_control/GazeboSystem</plugin>\r
+ </hardware>\r
+ </xacro:unless>\r
+ <xacro:if value="$(arg ignition)">\r
+ <!-- Gazebo Ignition -->\r
+ <hardware>
+ <plugin>ign_ros2_control/IgnitionSystem</plugin>
+ </hardware>\r
+ </xacro:if>\r
+ \r
<joint name="shoulder_active_joint">\r
<command_interface name="effort">\r
<param name="min">-27.94</param>\r
</ros2_control>\r
\r
<gazebo>\r
- <plugin filename="libgazebo_ros2_control.so" name="gazebo_ros2_control">\r
- <robot_param>robot_description</robot_param>\r
- <robot_param_node>robot_state_publisher</robot_param_node>\r
- <parameters>$(find q2d_description)/config/controller_manager.yaml</parameters>\r
- </plugin>\r
- </gazebo>\r
-<!--
- <ros2_control name="IgnitionSystem" type="system">
- <hardware>
- <plugin>ign_ros2_control/IgnitionSystem</plugin>
- </hardware>
-
- <joint name="shoulder_active_joint">
- <command_interface name="effort">
- <param name="min">-27.94</param>
- <param name="max">27.94</param>
- </command_interface>
- <state_interface name="position"/>
- <state_interface name="velocity"/>
- <state_interface name="effort"/>
- </joint>
-
- <joint name="elbow_active_joint">
- <command_interface name="effort">
- <param name="min">-13.62</param>
- <param name="max">13.62</param>
- </command_interface>
- <state_interface name="position"/>
- <state_interface name="velocity"/>
- <state_interface name="effort"/>
- </joint>
- </ros2_control>
-
- <gazebo>
- <plugin filename="libign_ros2_control-system.so" name="ign_ros2_control::IgnitionROS2ControlPlugin">
- <robot_param>robot_description</robot_param>
- <robot_param_node>robot_state_publisher</robot_param_node>
- <parameters>$(find q2d_description)/config/controller_manager.yaml</parameters>
- </plugin>
+ <xacro:unless value="$(arg ignition)">\r
+ <!-- Gazebo Classic -->\r
+ <plugin filename="libgazebo_ros2_control.so" name="gazebo_ros2_control">\r
+ <robot_param>robot_description</robot_param>\r
+ <robot_param_node>robot_state_publisher</robot_param_node>\r
+ <parameters>$(find q2d_description)/config/controller_manager.yaml</parameters>\r
+ </plugin>\r
+ </xacro:unless>\r
+ <xacro:if value="$(arg ignition)">\r
+ <!-- Gazebo Ignition -->
+ <plugin filename="libign_ros2_control-system.so" name="ign_ros2_control::IgnitionROS2ControlPlugin">
+ <robot_param>robot_description</robot_param>
+ <robot_param_node>robot_state_publisher</robot_param_node>
+ <parameters>$(find q2d_description)/config/controller_manager.yaml</parameters>
+ </plugin>\r
+ </xacro:if>
</gazebo>
--->
+\r
</robot>\r
-->
<launch>
+ <arg name="ignition" default="false"/>
+
<include file="$(find-pkg-share q2d_bringup)/launch/gazebo.launch.xml">
- <arg name="pause" value="false" />
+ <arg name="pause" value="false"/>
+ <arg name="ignition" value="$(arg ignition)"/>
</include>
- <include file="$(find-pkg-share q2d_teleop)/launch/q2d_teleop_tablet.launch.xml" />
+ <include file="$(find-pkg-share q2d_teleop)/launch/q2d_teleop_tablet.launch.xml"/>
- <include file="$(find-pkg-share q2d_teleop)/launch/q2d_teleop_rviz.launch.xml" />
+ <include file="$(find-pkg-share q2d_teleop)/launch/q2d_teleop_rviz.launch.xml"/>
- <include file="$(find-pkg-share q2d_teleop)/launch/display.launch.xml" />
+ <include file="$(find-pkg-share q2d_teleop)/launch/display.launch.xml"/>
- <include file="$(find-pkg-share gfxtablet_ros)/launch/gfxtablet.launch.xml" />
+ <include file="$(find-pkg-share gfxtablet_ros)/launch/gfxtablet.launch.xml"/>
</launch>