+++ /dev/null
-To publish reference:
-
-rostopic pub /wam/computed_torque_controller/command trajectory_msgs/JointTrajectoryPoint "[0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" "[0.0, 0.0]"
-
-Arguments are positions, velocities, accelerations, effort, time from start in
-seconds and nanoseconds.
-
-Set starting position:
-
-rosservice call /gazebo/set_model_configuration wam joint ['wam_joint_1','wam_joint_2','wam_joint_3','wam_joint_4','wam_joint_5','wam_joint_6','wam_joint_7'] [0.0,0.75,0.0,1.5,0.0,0.9,0.0]
\ No newline at end of file
<launch>
- <arg name="paused" default="true"/>
-
- <include file="$(find wam_description)/launch/wam_sim.launch">
- <arg name="paused" value="$(arg paused)"/>
- </include>
-
<rosparam file="$(find wam_controllers)/config/computed_torque_control.yaml"
command="load"/>
<node name="controller_spawner" pkg="controller_manager" type="spawner"
- respawn="false" output="screen" ns="/wam"
- args="joint_state_controller computed_torque_controller"/>
-
- <node name="robot_state_publisher" pkg="robot_state_publisher"
- type="state_publisher"
- ns="/wam" />
+ respawn="false" output="screen" ns="wam"
+ args="joint_state_controller computed_torque_controller" >
+ </node>
</launch>
+++ /dev/null
-<launch>
- <arg name="paused" default="true"/>
-
- <include file="$(find wam_description)/launch/wam_table_sim.launch">
- <arg name="paused" value="$(arg paused)"/>
- </include>
-
- <rosparam file="$(find wam_controllers)/config/computed_torque_control.yaml" command="load"/>
-
- <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
- output="screen" ns="/wam" args="joint_state_controller computed_torque_controller"/>
-
- <node name="robot_state_publisher" pkg="robot_state_publisher"
- type="state_publisher"
- ns="/wam" />
-</launch>
--- /dev/null
+<launch>
+ <arg name="table" default="true"/>
+ <arg name="use_gui" default="false"/>
+
+ <remap from="/joint_states" to="wam/joint_states" />
+
+ <include file="$(find wam_description)/launch/display.launch" >
+ <arg name="table" value="$(arg table)"/>
+ <arg name="use_gui" value="$(arg use_gui)" />
+
+ </include>
+
+ <!--include file="$(find wam_controllers)/launch/computed_torque.launch" /-->
+
+</launch>
--- /dev/null
+<launch>
+ <arg name="table" default="true"/>
+
+ <include file="$(find wam_description)/launch/gazebo.launch" >
+ <arg name="table" value="$(arg table)"/>
+ </include>
+
+ <include file="$(find wam_controllers)/launch/computed_torque.launch" />
+
+</launch>
"['wam_joint_1','wam_joint_2','wam_joint_3','wam_joint_4','wam_joint_5','wam_joint_6','wam_joint_7']" \
"[0.0,-2.0,0.0,3.1,0.0,0.0,0.0]"
-#rostopic pub /wam/computed_torque_controller/command \
-#trajectory_msgs/JointTrajectoryPoint \
-#"[0.0,-2.0,0.0,3.1,0.0,0.0,0.0]" \
-#"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
-#"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
-#"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
-#"[0.0, 0.0]" "-1"
+rostopic pub /wam/computed_torque_controller/command \
+trajectory_msgs/JointTrajectoryPoint \
+"[0.0,-2.0,0.0,3.1,0.0,0.0,0.0]" \
+"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
+"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
+"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" \
+"[0.0, 0.0]" "-1"
<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_world.urdf.xacro'" />
+ <arg name="table" default="true"/>
+ <arg name="use_gui" default="true"/>
+
+ <include file="$(find wam_description)/launch/wam.launch" >
+ <arg name="table" value="$(arg table)" />
+ </include>
+
+ <node if="$(arg use_gui)" name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" args="_use_gui:=true" />
- <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
- <param name="use_gui" value="true" />
- </node>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find wam_description)/launch/urdf.rviz" required="true"/>
+
+ <node unless="$(arg table)" name="rviz" pkg="rviz" type="rviz" args="-d $(find wam_description)/rviz/urdf.rviz" required="true"/>
+ <node if="$(arg table)" name="rviz" pkg="rviz" type="rviz" args="-d $(find wam_description)/rviz/urdf.rviz -f world" required="true"/>
</launch>
--- /dev/null
+<launch>
+ <arg name="paused" default="true"/>
+ <arg name="table" default="true"/>
+
+ <include file="$(find gazebo_ros)/launch/empty_world.launch">
+ <arg name="paused" value="$(arg paused)"/>
+ <arg name="world_name" value="worlds/empty_sky.world" />
+ </include>
+
+ <include file="$(find wam_description)/launch/wam.launch" >
+ <arg name="table" value="$(arg table)" />
+ </include>
+
+ <node name="wam_spawner" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model wam" respawn="false" output="screen" />
+</launch>
-<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_world.urdf.xacro'" />
- <node name="wam_spawner" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model wam" respawn="false" output="screen" />
+ <launch>
+ <arg name="table" default="true"/>
+ <arg name="world" default="false"/>
+
+ <group unless="$(arg world)">
+ <param unless="$(arg table)" name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam.urdf.xacro'" />
+ <param if="$(arg table)" name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_table.urdf.xacro'" />
+ </group>
+
+ <param if="$(arg world)" name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_world.urdf.xacro'" />
+
</launch>
+++ /dev/null
-<launch>
- <arg name="paused" default="false"/>
-
- <!-- Start Gazebo -->
- <include file="$(find gazebo_ros)/launch/empty_world.launch">
- <arg name="paused" value="$(arg paused)"/>
- <arg name="world_name" value="worlds/empty_sky.world" />
- </include>
-
- <include file="$(find wam_description)/launch/wam.launch"/>
-
-</launch>
+++ /dev/null
-<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_table.urdf.xacro'" />
- <node name="wam_spawner" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model wam" respawn="false" output="screen" />
-</launch>
+++ /dev/null
-<?xml version="1.0"?>
-<launch>
- <arg name="paused" default="false"/>
-
- <!-- Start Gazebo -->
- <include file="$(find gazebo_ros)/launch/empty_world.launch">
- <arg name="paused" value="$(arg paused)"/>
- <arg name="world_name" value="worlds/empty_sky.world" />
- </include>
-
- <include file="$(find wam_description)/launch/wam_table.launch"/>
-</launch>
<?xml version="1.0"?>
<package>
<name>wam_description</name>
- <version>2.0.0</version>
- <description>The wam_description package</description>
+ <version>2.1.0</version>
+ <description><p>The wam_description package</p>
+ <p>This package contains xacro files for the Barrett WAM robot
+ arm. It is based on the iri_wam_description package developed by the
+ IRI Robotics Lab but with robot parameters (mainly inertia
+ parameters) adapted to the Barrett WAM available at UFRGS.
+ </p>
+ </description>
<!-- One maintainer tag required, multiple allowed, one person per tag -->
<!-- Example: -->
<!-- One license tag required, multiple allowed, one license per tag -->
<!-- Commonly used license strings: -->
<!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
- <license>GPLv3</license>
+ <license>LGPL</license>
<!-- Url tags are optional, but mutiple are allowed, one per tag -->
<!-- Example: -->
<!-- <url type="website">http://wiki.ros.org/wam_description</url> -->
<url type="website">http://www.ece.ufrgs.br/~fetter/ufrgs_wam</url>
+ <url type="website">http://ros.org/wiki/iri_wam_description</url>
<!-- Author tags are optional, mutiple are allowed, one per tag -->
<!-- Example: -->
<!-- <author email="jane.doe@example.com">Jane Doe</author> -->
<author email="fetter@ece.ufrgs.br">Walter Fetter Lages</author>
+ <author>IRI Robotics Lab, Sergi Foix (sfoix@iri.upc.edu)</author>
<!-- The *_depend tags are used to specify dependencies -->
<!-- Dependencies can be catkin packages or system dependencies -->
<!-- Other tools can request additional information be placed here -->
</export>
-</package>
\ No newline at end of file
+</package>
- /Status1
- /Grid1
Splitter Ratio: 0.5
- Tree Height: 559
+ Tree Height: 553
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Show Axes: false
Show Trail: false
Value: true
- world:
- Alpha: 1
- Show Axes: false
- Show Trail: false
Name: RobotModel
Robot Description: robot_description
TF Prefix: ""
Enabled: true
Global Options:
Background Color: 48; 48; 48
- Fixed Frame: world
+ Fixed Frame: wam_origin
Frame Rate: 30
Name: root
Tools:
Height: 846
Hide Left Dock: false
Hide Right Dock: false
- QMainWindow State: 000000ff00000000fd00000004000000000000013c000002bafc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000036000002ba000000b700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bafc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000036000002ba0000009b00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000024700fffffffb0000000800540069006d0065010000000000000450000000000000000000000259000002ba00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ QMainWindow State: 000000ff00000000fd00000004000000000000013c000002b6fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000038000002b6000000b900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000038000002b60000009f00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000025a00fffffffb0000000800540069006d0065010000000000000450000000000000000000000259000002b600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
Views:
collapsed: false
Width: 1200
- X: 501
+ X: 476
Y: 54
--- /dev/null
+#!/bin/bash
+
+rosservice call /gazebo/set_model_configuration wam joint \
+"['wam_joint_1','wam_joint_2','wam_joint_3','wam_joint_4',' \
+wam_joint_5','wam_joint_6','wam_joint_7']" \
+"[0.0,-2.0,0.0,3.1,0.0,0.0,0.0]"
--- /dev/null
+#!/bin/bash
+
+rosservice call /gazebo/set_model_configuration wam joint \
+"['wam_joint_1','wam_joint_2','wam_joint_3','wam_joint_4', \
+'wam_joint_5','wam_joint_6','wam_joint_7']" \
+"[0.0,0.0,0.0,0.0,0.0,0.0,0.0]"
<geometry>
<box size="${table_width} ${table_depth} ${table_top_thickness}" />
</geometry>
+ <material name="Grey">
+ <color rgba="0.65 0.65 0.65 1.0"/>
+ </material>
</visual>
<collision>
<origin xyz="${table_x} ${table_y} ${table_z+table_height-table_top_thickness/2}" />
<mu2>50.0</mu2>
<kp>1000000.0</kp>
<kd>1.0</kd>
+ <selfCollide>true</selfCollide>
</gazebo>
<joint name="leg1_joint" type="fixed" >
<geometry>
<cylinder radius="${leg_radius}" length="${table_height}" />
</geometry>
+ <material name="Black">
+ <color rgba="0 0 0 1.0"/>
+ </material>
</visual>
<collision>
<origin xyz="0.0 0.0 ${-table_height/2}" rpy="0.0 0.0 0.0" />
<mu2>1000.0</mu2>
<kp>10000000.0</kp>
<kd>1.0</kd>
- <!-- <selfCollide>true</selfCollide> -->
+ <selfCollide>true</selfCollide>
</gazebo>
<joint name="leg2_joint" type="fixed" >
<geometry>
<cylinder radius="${leg_radius}" length="${table_height}" />
</geometry>
+ <material name="Black">
+ <color rgba="0 0 0 1.0"/>
+ </material>
</visual>
<collision>
<origin xyz="0.0 0.0 ${-table_height/2}" rpy="0.0 0.0 0.0" />
<mu2>1000.0</mu2>
<kp>10000000.0</kp>
<kd>1.0</kd>
- <!-- <selfCollide>true</selfCollide> -->
+ <selfCollide>true</selfCollide>
</gazebo>
<joint name="leg3_joint" type="fixed" >
<geometry>
<cylinder radius="${leg_radius}" length="${table_height}" />
</geometry>
+ <material name="Black">
+ <color rgba="0 0 0 1.0"/>
+ </material>
</visual>
<collision>
<origin xyz="0.0 0.0 ${-table_height/2}" rpy="0.0 0.0 0.0" />
<mu2>1000.0</mu2>
<kp>10000000.0</kp>
<kd>1.0</kd>
- <!-- <selfCollide>true</selfCollide> -->
+ <selfCollide>true</selfCollide>
</gazebo>
<joint name="leg4_joint" type="fixed" >
<geometry>
<cylinder radius="${leg_radius}" length="${table_height}" />
</geometry>
+ <material name="Black">
+ <color rgba="0 0 0 1.0"/>
+ </material>
</visual>
<collision>
<origin xyz="0.0 0.0 ${-table_height/2}" rpy="0.0 0.0 0.0" />
<mu2>1000.0</mu2>
<kp>10000000.0</kp>
<kd>1.0</kd>
- <!-- <selfCollide>true</selfCollide> -->
+ <selfCollide>true</selfCollide>
</gazebo>
<gazebo>
- <!-- <static>true</static> -->
+ <!--static>true</static-->
<canonicalBody>table_top_link</canonicalBody>
</gazebo>
<xacro:include filename="$(find wam_description)/xacro/wam_tool_plate.urdf.xacro" />
- <xacro:wam_base>
- </xacro:wam_base>
- <xacro:wam_j1 parent="wam_link_base">
- </xacro:wam_j1>
- <xacro:wam_j2 parent="wam_link_1">
- </xacro:wam_j2>
- <xacro:wam_j3 parent="wam_link_2">
- </xacro:wam_j3>
- <xacro:wam_j4 parent="wam_link_3">
- </xacro:wam_j4>
- <xacro:wam_j5 parent="wam_link_4">
- </xacro:wam_j5>
- <xacro:wam_j6 parent="wam_link_5">
- </xacro:wam_j6>
- <xacro:wam_j7 parent="wam_link_6">
- </xacro:wam_j7>
- <xacro:wam_tool_plate parent="wam_link_7">
- </xacro:wam_tool_plate>
+ <xacro:wam_base/>
+ <xacro:wam_j1 parent="wam_link_base"/>
+ <xacro:wam_j2 parent="wam_link_1"/>
+ <xacro:wam_j3 parent="wam_link_2"/>
+ <xacro:wam_j4 parent="wam_link_3"/>
+ <xacro:wam_j5 parent="wam_link_4"/>
+ <xacro:wam_j6 parent="wam_link_5"/>
+ <xacro:wam_j7 parent="wam_link_6"/>
+ <xacro:wam_tool_plate parent="wam_link_7"/>
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so" >
- <robotNamespace>/wam</robotNamespace>
+ <robotNamespace>wam</robotNamespace>
<!-- Custom plugin -->
<!-- robotSimType>wam_gazebo_ros_control/WamRobotHWSim</robotSimType -->
<mesh filename="package://wam_description/meshes/wambase.stl" scale="1.0 1.0 1.0"/>
</geometry>
<material name="LightGrey">
- <color rgba="0.9 0.9 0.9 1.0"/>
+ <color rgba="0.75 0.75 0.75 1.0"/>
</material>
</visual>
<collision>
</link>
<gazebo reference="wam_link_base">
- <!-- <selfCollide>true</selfCollide> -->
+ <selfCollide>true</selfCollide>
<material>Gazebo/White</material>
</gazebo>
<xacro:include filename="$(find wam_description)/xacro/table.urdf.xacro" />
- <joint name="world_table_joint" type="fixed" static="true">
+ <joint name="world_table_joint" type="fixed">
<parent link="world"/>
<child link="table_top_link" />
<origin xyz="${-table_x} ${-table_y} ${-table_z}" rpy="0.0 0.0 0.0" />
<xacro:include filename="$(find wam_description)/xacro/wam.urdf.xacro" />
- <joint name="table_wam_joint" type="fixed" static="true">
+ <joint name="table_wam_joint" type="fixed">
<parent link="table_top_link"/>
<child link="wam_origin" />
<origin xyz="${(1.0-0.220)} -0.140 ${table_height}" rpy="0.0 0.0 0.0" />
<xacro:include filename="$(find wam_description)/xacro/wam.urdf.xacro" />
- <joint name="world_wam_joint" type="fixed" static="true">
+ <joint name="world_wam_joint" type="fixed">
<parent link="world"/>
<child link="wam_origin" />
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />