+++ /dev/null
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-#set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-#common commands for building c++ executables and libraries
-#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-#rosbuild_add_executable(example examples/example.cpp)
-#target_link_libraries(example ${PROJECT_NAME})
+++ /dev/null
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find bhand_description)/xacro/bhand.urdf.xacro'" />
- <node name="spawn_wam_object" pkg="gazebo" type="spawn_model" args="-urdf -param robot_description -model bhand -z 0.1" respawn="false" output="screen" />
-</launch>
+++ /dev/null
-<?xml version="1.0"?>
-<launch>
-
- <!-- Start Gazebo -->
- <include file="$(find gazebo_worlds)/launch/empty_world.launch"/>
-
-
- <include file="$(find bhand_description)/launch/bhand.launch" />
-</launch>
+++ /dev/null
-<package>
- <description brief="bhand_description">
-
- bhand_description
-
- </description>
- <author>Walter Fetter Lages</author>
- <license>GNU</license>
- <review status="unreviewed" notes=""/>
- <url>http://ros.org/wiki/bhand_description</url>
-
-</package>
-
-
+++ /dev/null
-<?xml version="1.0"?>
-<robot xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
- xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
- xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
- xmlns:xacro="http://ros.org/wiki/xacro"
- name="bhand">
-
- <property name="M_PI" value="3.1415926535897931" />
-
- <include filename="$(find bhand_description)/xacro/bhand_base.urdf.xacro" />
- <include filename="$(find bhand_description)/xacro/bhand_finger.urdf.xacro" />
-
- <xacro:bhand_base>
- </xacro:bhand_base>
-
- <xacro:bhand_finger parent="bhand_link_base" joint="11" type="revolute">
- <origin xyz="0.0 0.02475 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="${M_PI}" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link_base" joint="21" type="revolute">
- <origin xyz="0.0 -0.02475 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="1.5" lower="-${M_PI}" upper="0.0" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link_base" joint="31" type="fixed">
- <origin xyz="0.0 0.0 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="0.0" lower="0.0" upper="0.0" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link11" joint="12" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link21" joint="22" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link31" joint="32" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link12" joint="13" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link22" joint="23" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link32" joint="33" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
-
-</robot>
-
+++ /dev/null
-<?xml version="1.0"?>
-<robot xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
- xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
- xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
- xmlns:xacro="http://ros.org/wiki/xacro"
- name="bhand">
-
- <property name="M_PI" value="3.1415926535897931" />
-
- <include filename="$(find bhand_description)/xacro/bhand_base.urdf.xacro" />
- <include filename="$(find bhand_description)/xacro/bhand_finger.urdf.xacro" />
-
- <xacro:bhand_base>
- </xacro:bhand_base>
-
- <link name="world" />
-
- <joint name="bhand_origin" type="fixed">
- <parent link="world"/>
- <child link="bhand_origin" />
- <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
- </joint>
-
-
- <xacro:bhand_finger parent="bhand_link_base" joint="11" type="revolute">
- <origin xyz="0.0 0.02475 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="${M_PI}" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link_base" joint="21" type="revolute">
- <origin xyz="0.0 -0.02475 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="1.5" lower="-${M_PI}" upper="0.0" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link_base" joint="31" type="fixed">
- <origin xyz="0.0 0.0 0.1325" rpy="0.0 0 0" />
- <limit effort="30" velocity="0.0" lower="0.0" upper="0.0" />
- <mesh filename="package://bhand_description/meshes/bh_link1.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link11" joint="12" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link21" joint="22" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link31" joint="32" type="revolute">
- <origin xyz="0.050 0.0 0.0" rpy="${M_PI/2} 0.0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.0" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link2.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link12" joint="13" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link22" joint="23" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
- <xacro:bhand_finger parent="bhand_link32" joint="33" type="revolute">
- <origin xyz="0.070 0.0 0.0" rpy="0.0 0 0.0" />
- <limit effort="30" velocity="1.5" lower="0.698131701" upper="2.44346095" />
- <mesh filename="package://bhand_description/meshes/bh_link3.stl" />
- </xacro:bhand_finger>
-
-</robot>
-
+++ /dev/null
-<?xml version="1.0" ?>
-
-<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
- <xacro:macro name="bhand_base">
-
- <link name="bhand_origin"/>
-
- <link name="bhand_link_base">
- <inertial>
- <mass value="0.8"/>
- <origin rpy="0 0 0" xyz="0 0 0" />
- <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
- </inertial>
- <visual>
- <origin rpy="0 0 0" xyz="0 0 0"/>
- <geometry name="bhand_link_base_visual">
- <mesh filename="package://bhand_description/meshes/bh_base.stl" />
- </geometry>
- </visual>
- <collision>
- <origin rpy="0 0 0" xyz="0 0 0"/>
- <geometry name="bhand_link_base_collision">
- <mesh filename="package://bhand_description/meshes/bh_base.stl" />
- </geometry>
- <contact_coefficients kd="1.0" kp="1000.0" mu="0"/>
- </collision>
- </link>
-
- <gazebo reference="bhand_link_base">
- <selfCollide>true</selfCollide>
- <material>Gazebo/Blue</material>
- </gazebo>
-
-
- <joint name="bhand_base_joint" type="fixed">
- <!--origin rpy="0 0 0" xyz="-0.060 -0.140 0.206"/-->
- <!--origin rpy="0 0 0" xyz="0.22 0.14 0.346"/-->
- <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
- <child link="bhand_link_base"/>
- <parent link="bhand_origin"/>
- </joint>
-
- </xacro:macro>
-
-</robot>
+++ /dev/null
-<?xml version="1.0" ?>
-
-<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
-
- <xacro:macro name="bhand_finger" params="parent joint type *origin *limit *mesh">
-
- <link name="bhand_link${joint}">
- <inertial>
- <mass value="0.1"/>
- <origin xyz="0 0 0" />
- <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
- </inertial>
- <visual>
- <origin rpy="0 0 0" xyz="0 0 0"/>
- <geometry name="link_bhand_f${joint}_visual">
- <xacro:insert_block name="mesh" />
- </geometry>
- </visual>
- <collision>
- <origin rpy="0 0 0" xyz="0 0 0"/>
- <geometry name="link_bhand_f${joint}_collision">
- <xacro:insert_block name="mesh" />
- </geometry>
- <contact_coefficients kd="1.0" kp="1000.0" mu="0"/>
- </collision>
- </link>
-
- <gazebo reference="bhand_link${joint}">
- <material>Gazebo/Grey</material>
- <selfCollide>true</selfCollide>
- </gazebo>
-
-
- <joint name="bhand_j${joint}_joint" type="${type}">
- <!--origin xyz="-0.02475 0.0 0.0395" rpy="0.0 0 1.57079633" /-->
- <!--origin xyz="0.0 0.02475 0.1325" rpy="0.0 0 0" /-->
-
- <xacro:insert_block name="origin" />
-
- <parent link="${parent}"/>
- <child link="bhand_link${joint}" />
- <axis xyz="0 0 1"/>
-
- <xacro:insert_block name="limit" />
-
- <joint_properties damping="100.0" friction="1000.0" />
- <dynamics damping="1000"/>
- </joint >
-
- <transmission type="pr2_mechanism_model/SimpleTransmission" name="f${joint}_transmission">
- <actuator name="bhand_link${joint}" />
- <joint name="bhand_f${joint}_joint" />
- <mechanicalReduction>1</mechanicalReduction>
- <motorTorqueConstant>1</motorTorqueConstant>
- </transmission>
-
-
- </xacro:macro>
-
-</robot>
+++ /dev/null
-<launch>\r
- <arg name="model" />\r
- <arg name="gui" default="False" />\r
- <param\r
- name="robot_description"\r
- textfile="$(find plier_description)/urdf/plier.urdf" />\r
- <param name="use_gui" value="$(arg gui)" />\r
- <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />\r
- <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />\r
- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find plier_description)/urdf.rviz" />\r
-</launch>
\ No newline at end of file
+++ /dev/null
-<launch>\r
- <include file="$(find gazebo_worlds)/launch/empty_world.launch" />\r
- <node name="tf_footprint_base" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 base_link base_footprint 40" />\r
- <node name="spawn_model" pkg="gazebo" type="spawn_model" args="-file $(find plier)/urdf/plier.urdf -urdf -model plier" output="screen" />\r
- <include file="$(find pr2_controller_manager)/controller_manager.launch" />\r
- <node name="fake_joint_calibration" pkg="rostopic" type="rostopic" args="pub /calibrated std_msgs/Bool true" />\r
-</launch>
\ No newline at end of file
+++ /dev/null
-<launch>
- <param name="robot_description" textfile="$(find plier_description)/urdf/plier.urdf" />
- <node name="spawn_wam_object" pkg="gazebo" type="spawn_model" args="-urdf -param robot_description -model plier" respawn="false" output="screen" />
-</launch>
+++ /dev/null
-<launch>
- <!-- Start Gazebo -->
- <include file="$(find gazebo_worlds)/launch/empty_world.launch"/>
-
- <include file="$(find plier_description)/launch/plier.launch"/>
-</launch>
+++ /dev/null
-<package>\r
- <description brief="plier_description">plier_description</description>\r
- <depend package="gazebo" />\r
- <author>Walter Fetter Lags</author>\r
- <license>BSD</license>\r
-</package>
\ No newline at end of file
+++ /dev/null
-<robot name="plier">\r
-\r
- <link name="base_link">\r
-\r
- <inertial>\r
- <origin xyz="-2.9946E-09 2.3647E-09 0.038028" rpy="0 0 0" />\r
- <mass value="0.065887" />\r
- <inertia ixx="0.0001476" ixy="5.724E-13" ixz="-6.0829E-11" iyy="0.0001476" iyz="4.4824E-11" izz="8.4481E-05" />\r
- </inertial>\r
-\r
- <visual>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/base_link.stl" />\r
- </geometry>\r
- <material name="">\r
- <color rgba="0.75294 0.75294 0.75294 1" />\r
- </material>\r
- </visual>\r
-\r
- <collision>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/base_link.stl" />\r
- </geometry>\r
- </collision>\r
- </link>\r
-\r
- <link name="link1">\r
-\r
- <inertial>\r
- <origin xyz="0.00018812 -0.011115 0.0015573" rpy="0 0 0" />\r
- <mass value="0.00011808" />\r
- <inertia ixx="5.1612E-09" ixy="-9.0621E-11" ixz="2.0497E-12" iyy="1.6125E-10" iyz="-1.1473E-10" izz="5.0583E-09" />\r
- </inertial>\r
-\r
- <visual>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/link1.stl" />\r
- </geometry>\r
- <material name="">\r
- <color rgba="0.75294 0.75294 0.75294 1" />\r
- </material>\r
- </visual>\r
-\r
- <collision>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/link1.stl" />\r
- </geometry>\r
- </collision>\r
-\r
- </link>\r
-\r
- <joint name="joint1" type="revolute">\r
- <origin xyz="-0.00125 0.00098997 0.3459" rpy="-1.5708 -6.123E-17 -1.5708" />\r
- <parent link="base_link" />\r
- <child link="link1" />\r
- <axis xyz="0 0 1" />\r
- <limit lower="-0.05" upper="0.05" effort="0.31" velocity="0.25" />\r
- </joint>\r
-\r
- <link name="link2">\r
- <inertial>\r
- <origin xyz="-0.0001883 -0.011122 0.00021282" rpy="0 0 0" />\r
- <mass value="0.00011791" />\r
- <inertia ixx="5.1222E-09" ixy="9.017E-11" ixz="1.1618E-12" iyy="1.4783E-10" iyz="6.6059E-11" izz="5.0326E-09" />\r
- </inertial>\r
-\r
- <visual>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/link2.stl" />\r
- </geometry>\r
- <material name="">\r
- <color rgba="0.75294 0.75294 0.75294 1" />\r
- </material>\r
- </visual>\r
-\r
- <collision>\r
- <origin xyz="0 0 0" rpy="0 0 0" />\r
- <geometry>\r
- <mesh filename="package://plier_description/meshes/link2.stl" />\r
- </geometry>\r
- </collision>\r
-\r
- </link>\r
-\r
- <joint name="joint2" type="revolute">\r
- <origin xyz="0.00025 -0.00098997 0.3459" rpy="-1.5708 -6.123E-17 -1.5708" />\r
- <parent link="base_link" />\r
- <child link="link2" />\r
- <axis xyz="0 0 1" />\r
- <limit lower="-0.05" upper="0.05" effort="0.31" velocity="0.25" />\r
- </joint>\r
-\r
- <gazebo reference="base_link">
- <material>Gazebo/Yellow</material>
- </gazebo>\r
-\r
-\r
- <gazebo reference="link1">
- <material>Gazebo/White</material>
- </gazebo>\r
-\r
-\r
- <gazebo reference="link2">
- <material>Gazebo/Grey</material>
- </gazebo>\r
-\r
-</robot>\r
+++ /dev/null
-<stack>
- <description brief="ufrgs_wam">UFRGS WAM</description>
- <author>Maintained by Walter Fetter Lages</author>
- <license>GPL</license>
- <review status="unreviewed" notes=""/>
- <url>http://ros.org/wiki/ufrgs_wam</url>
- <depend stack="ros" />
-</stack>
--- /dev/null
+cmake_minimum_required(VERSION 2.8.3)
+project(ufrgs_wam)
+find_package(catkin REQUIRED)
+catkin_metapackage()
--- /dev/null
+<?xml version="1.0"?>
+<package>
+ <name>ufrgs_wam</name>
+ <version>2.0.0</version>
+ <description>The ufrgs_wam package</description>
+
+ <!-- One maintainer tag required, multiple allowed, one person per tag -->
+ <!-- Example: -->
+ <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
+ <maintainer email="fetter@ece.ufrgs.br">Walter Fetter Lages</maintainer>
+
+
+ <!-- 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>
+
+
+ <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+ <!-- Optional attribute type can be: website, bugtracker, or repository -->
+ <!-- Example: -->
+ <!-- <url type="website">http://wiki.ros.org/ufrgs_wam</url> -->
+ <url type="website">http://www.ece.ufrgs.br/~fetter/ufrgs_wam</url>
+
+
+ <!-- Author tags are optional, mutiple are allowed, one per tag -->
+ <!-- Authors do not have to be maintianers, but could be -->
+ <!-- Example: -->
+ <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
+
+
+ <!-- The *_depend tags are used to specify dependencies -->
+ <!-- Dependencies can be catkin packages or system dependencies -->
+ <!-- Examples: -->
+ <!-- Use build_depend for packages you need at compile time: -->
+ <!-- <build_depend>message_generation</build_depend> -->
+ <!-- Use buildtool_depend for build tool packages: -->
+ <!-- <buildtool_depend>catkin</buildtool_depend> -->
+ <!-- Use run_depend for packages you need at runtime: -->
+ <!-- <run_depend>message_runtime</run_depend> -->
+ <!-- Use test_depend for packages you need only for testing: -->
+ <!-- <test_depend>gtest</test_depend> -->
+ <buildtool_depend>catkin</buildtool_depend>
+
+
+ <!-- The export tag contains other, unspecified, tags -->
+ <export>
+ <!-- You can specify that this package is a metapackage here: -->
+ <!-- <metapackage/> -->
+ <metapackage/>
+
+ <!-- Other tools can request additional information be placed here -->
+
+ </export>
+</package>
\ No newline at end of file
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-#set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-#common commands for building c++ executables and libraries
-#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-#rosbuild_add_executable(example examples/example.cpp)
-#target_link_libraries(example ${PROJECT_NAME})
-
-# Build RobotSim Interface
-rosbuild_add_library(wam_control_gazebo src/robot_sim_wam.cpp)
+cmake_minimum_required(VERSION 2.8.3)
+project(wam_control_gazebo)
+
+## Find catkin macros and libraries
+## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
+## is used, also find other catkin packages
+find_package(catkin REQUIRED)
+
+## System dependencies are found with CMake's conventions
+# find_package(Boost REQUIRED COMPONENTS system)
+find_package(gazebo REQUIRED)
+
+
+## Uncomment this if the package has a setup.py. This macro ensures
+## modules and global scripts declared therein get installed
+## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
+# catkin_python_setup()
+
+################################################
+## Declare ROS messages, services and actions ##
+################################################
+
+## To declare and build messages, services or actions from within this
+## package, follow these steps:
+## * Let MSG_DEP_SET be the set of packages whose message types you use in
+## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
+## * In the file package.xml:
+## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
+## * If MSG_DEP_SET isn't empty the following dependencies might have been
+## pulled in transitively but can be declared for certainty nonetheless:
+## * add a build_depend tag for "message_generation"
+## * add a run_depend tag for "message_runtime"
+## * In this file (CMakeLists.txt):
+## * add "message_generation" and every package in MSG_DEP_SET to
+## find_package(catkin REQUIRED COMPONENTS ...)
+## * add "message_runtime" and every package in MSG_DEP_SET to
+## catkin_package(CATKIN_DEPENDS ...)
+## * uncomment the add_*_files sections below as needed
+## and list every .msg/.srv/.action file to be processed
+## * uncomment the generate_messages entry below
+## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
+
+## Generate messages in the 'msg' folder
+# add_message_files(
+# FILES
+# Message1.msg
+# Message2.msg
+# )
+
+## Generate services in the 'srv' folder
+# add_service_files(
+# FILES
+# Service1.srv
+# Service2.srv
+# )
+
+## Generate actions in the 'action' folder
+# add_action_files(
+# FILES
+# Action1.action
+# Action2.action
+# )
+
+## Generate added messages and services with any dependencies listed here
+# generate_messages(
+# DEPENDENCIES
+# std_msgs # Or other packages containing msgs
+# )
+
+###################################
+## catkin specific configuration ##
+###################################
+## The catkin_package macro generates cmake config files for your package
+## Declare things to be passed to dependent projects
+## INCLUDE_DIRS: uncomment this if you package contains header files
+## LIBRARIES: libraries you create in this project that dependent projects also need
+## CATKIN_DEPENDS: catkin_packages dependent projects also need
+## DEPENDS: system dependencies of this project that dependent projects also need
+catkin_package(
+# INCLUDE_DIRS include
+# LIBRARIES wam_control_gazebo
+# CATKIN_DEPENDS other_catkin_pkg
+# DEPENDS system_lib
+)
+
+###########
+## Build ##
+###########
+
+## Specify additional locations of header files
+## Your package locations should be listed before other locations
+include_directories(include
+ ${GAZEBO_INCLUDE_DIRS}
+)
+
+## Declare a cpp library
+add_library(wam_control_gazebo
+ src/robot_sim_wam.cpp
+)
+
+## Declare a cpp executable
+# add_executable(wam_control_gazebo_node src/wam_control_gazebo_node.cpp)
+
+## Add cmake target dependencies of the executable/library
+## as an example, message headers may need to be generated before nodes
+# add_dependencies(wam_control_gazebo_node wam_control_gazebo_generate_messages_cpp)
+
+## Specify libraries to link a library or executable target against
+# target_link_libraries(wam_control_gazebo_node
+# ${catkin_LIBRARIES}
+# )
+
+#############
+## Install ##
+#############
+
+# all install targets should use catkin DESTINATION variables
+# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
+
+## Mark executable scripts (Python etc.) for installation
+## in contrast to setup.py, you can choose the destination
+# install(PROGRAMS
+# scripts/my_python_script
+# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark executables and/or libraries for installation
+# install(TARGETS wam_control_gazebo wam_control_gazebo_node
+# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark cpp header files for installation
+# install(DIRECTORY include/${PROJECT_NAME}/
+# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+# FILES_MATCHING PATTERN "*.h"
+# PATTERN ".svn" EXCLUDE
+# )
+
+## Mark other files for installation (e.g. launch and bag files, etc.)
+# install(FILES
+# # myfile1
+# # myfile2
+# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+# )
+
+#############
+## Testing ##
+#############
+
+## Add gtest based cpp test target and link libraries
+# catkin_add_gtest(${PROJECT_NAME}-test test/test_wam_control_gazebo.cpp)
+# if(TARGET ${PROJECT_NAME}-test)
+# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
+# endif()
+
+## Add folders to be run by python nosetests
+# catkin_add_nosetests(test)
+++ /dev/null
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
+++ /dev/null
-/**
-\mainpage
-\htmlinclude manifest.html
-
-\b twil_control_gazebo
-
-<!--
-Provide an overview of your package.
--->
-
--->
-
-
-*/
+++ /dev/null
-<package>
- <description brief="wam_control_gazebo">
-
- wam_control_gazebo
-
- </description>
- <author>Walter Fetter Lages</author>
- <license>GPL</license>
- <review status="unreviewed" notes=""/>
- <url>http://ros.org/wiki/wam_control_gazebo</url>
-
- <depend package="ros_control_gazebo"/>
- <depend package="ros_control_gazebo_plugin"/>
- <depend package="wam_description"/>
- <depend package="gazebo"/>
-
- <export>
- <ros_control_gazebo plugin="${prefix}/robot_sim_plugins.xml" />
- </export>
-</package>
--- /dev/null
+<?xml version="1.0"?>
+<package>
+ <name>wam_control_gazebo</name>
+ <version>2.0.0</version>
+ <description>The wam_control_gazebo package</description>
+
+ <!-- One maintainer tag required, multiple allowed, one person per tag -->
+ <!-- Example: -->
+ <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
+ <maintainer email="fetter@ece.ufrgs.br">Walter Fetter Lages</maintainer>
+
+
+ <!-- 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>
+
+
+ <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+ <!-- Optional attribute type can be: website, bugtracker, or repository -->
+ <!-- Example: -->
+ <!-- <url type="website">http://wiki.ros.org/wam_control_gazebo</url> -->
+ <url type="website">http://www.ece.ufrgs.br/~fetter/ufrgs_wam</url>
+
+
+ <!-- Author tags are optional, mutiple are allowed, one per tag -->
+ <!-- Authors do not have to be maintianers, but could be -->
+ <!-- Example: -->
+ <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
+ <author email="fetter@ece.ufrgs.br">Walter Fetter Lages</author>
+
+
+ <!-- The *_depend tags are used to specify dependencies -->
+ <!-- Dependencies can be catkin packages or system dependencies -->
+ <!-- Examples: -->
+ <!-- Use build_depend for packages you need at compile time: -->
+ <!-- <build_depend>message_generation</build_depend> -->
+ <!-- Use buildtool_depend for build tool packages: -->
+ <!-- <buildtool_depend>catkin</buildtool_depend> -->
+ <!-- Use run_depend for packages you need at runtime: -->
+ <!-- <run_depend>message_runtime</run_depend> -->
+ <!-- Use test_depend for packages you need only for testing: -->
+ <!-- <test_depend>gtest</test_depend> -->
+ <buildtool_depend>catkin</buildtool_depend>
+
+ <buildtool_depend>gazebo_ros_control</buildtool_depend>
+ <buildtool_depend>gazebo_ros_control_plugin</buildtool_depend>
+ <buildtool_depend>wam_description</buildtool_depend>
+ <buildtool_depend>gazebo</buildtool_depend>
+
+ <!-- The export tag contains other, unspecified, tags -->
+ <export>
+ <!-- You can specify that this package is a metapackage here: -->
+ <!-- <metapackage/> -->
+
+ <!-- Other tools can request additional information be placed here -->
+
+ <gazebo_ros_control plugin="${prefix}/robot_sim_plugins.xml" />
+
+ </export>
+</package>
\ No newline at end of file
<class
name="wam_control_gazebo/RobotSimWam"
type="wam_control_gazebo::RobotSimWam"
- base_class_type="ros_control_gazebo::RobotSim">
+ base_class_type="gazebo_ros_control::RobotHWSim">
<description>
A ROS/Gazebo interface for Barrett WAM, exporting a
joint_state_interface and a joint_effort_interface.
#include <hardware_interface/joint_command_interface.h>
#include <hardware_interface/robot_hw.h>
-#include <ros_control_gazebo/robot_sim.h>
+#include <gazebo_ros_control/robot_hw_sim.h>
#include <angles/angles.h>
namespace wam_control_gazebo
{
- class RobotSimWam:public ros_control_gazebo::RobotSim
+ class RobotSimWam:public gazebo_ros_control::RobotHWSim
{
unsigned int n_dof_;
joint_position_[j]=0.0;
joint_velocity_[j]=0.0;
joint_effort_[j]=0.0;
- js_interface_.registerJoint(joint_name_[j],&joint_position_[j],
- &joint_velocity_[j],&joint_effort_[j]);
+ js_interface_.registerHandle(hardware_interface::JointStateHandle(joint_name_[j],&joint_position_[j],
+ &joint_velocity_[j],&joint_effort_[j]));
joint_effort_command_[j] = 0.0;
- ej_interface_.registerJoint(js_interface_.getJointStateHandle(joint_name_[j]),
- &joint_effort_command_[j]);
+ ej_interface_.registerHandle(hardware_interface::JointHandle(js_interface_.getHandle(joint_name_[j]),
+ &joint_effort_command_[j]));
}
registerInterface(&js_interface_);
registerInterface(&ej_interface_);
}
-
- bool initSim(ros::NodeHandle nh,gazebo::physics::ModelPtr model)
+ bool initSim(const std::string& robot_namespace,
+ ros::NodeHandle nh,gazebo::physics::ModelPtr model,
+ const urdf::Model *const urdf_model,
+ std::vector<transmission_interface::TransmissionInfo> transmissions)
{
for(unsigned int j=0;j < n_dof_;j++)
{
{
for(unsigned int j=0; j < n_dof_;j++)
{
- joint_position_[j]=sim_joints_[j]->GetAngle(0).GetAsRadian();
+ joint_position_[j]=sim_joints_[j]->GetAngle(0).Radian();
joint_velocity_[j]=sim_joints_[j]->GetVelocity(0);
joint_effort_[j]=joint_effort_command_[j];
}
}
PLUGINLIB_DECLARE_CLASS(wam_control_gazebo,RobotSimWam,wam_control_gazebo::RobotSimWam,
- ros_control_gazebo::RobotSim)
+ gazebo_ros_control::RobotHWSim)
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-#set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-#common commands for building c++ executables and libraries
-rosbuild_add_library(${PROJECT_NAME} src/computed_torque_controller.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-#rosbuild_add_executable(example examples/example.cpp)
-#target_link_libraries(example ${PROJECT_NAME})
+cmake_minimum_required(VERSION 2.8.3)
+project(wam_controllers)
+
+## Find catkin macros and libraries
+## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
+## is used, also find other catkin packages
+find_package(catkin REQUIRED)
+
+## System dependencies are found with CMake's conventions
+# find_package(Boost REQUIRED COMPONENTS system)
+find_package(Eigen REQUIRED)
+
+
+## Uncomment this if the package has a setup.py. This macro ensures
+## modules and global scripts declared therein get installed
+## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
+# catkin_python_setup()
+
+################################################
+## Declare ROS messages, services and actions ##
+################################################
+
+## To declare and build messages, services or actions from within this
+## package, follow these steps:
+## * Let MSG_DEP_SET be the set of packages whose message types you use in
+## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
+## * In the file package.xml:
+## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
+## * If MSG_DEP_SET isn't empty the following dependencies might have been
+## pulled in transitively but can be declared for certainty nonetheless:
+## * add a build_depend tag for "message_generation"
+## * add a run_depend tag for "message_runtime"
+## * In this file (CMakeLists.txt):
+## * add "message_generation" and every package in MSG_DEP_SET to
+## find_package(catkin REQUIRED COMPONENTS ...)
+## * add "message_runtime" and every package in MSG_DEP_SET to
+## catkin_package(CATKIN_DEPENDS ...)
+## * uncomment the add_*_files sections below as needed
+## and list every .msg/.srv/.action file to be processed
+## * uncomment the generate_messages entry below
+## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
+
+## Generate messages in the 'msg' folder
+# add_message_files(
+# FILES
+# Message1.msg
+# Message2.msg
+# )
+
+## Generate services in the 'srv' folder
+# add_service_files(
+# FILES
+# Service1.srv
+# Service2.srv
+# )
+
+## Generate actions in the 'action' folder
+# add_action_files(
+# FILES
+# Action1.action
+# Action2.action
+# )
+
+## Generate added messages and services with any dependencies listed here
+# generate_messages(
+# DEPENDENCIES
+# std_msgs # Or other packages containing msgs
+# )
+
+###################################
+## catkin specific configuration ##
+###################################
+## The catkin_package macro generates cmake config files for your package
+## Declare things to be passed to dependent projects
+## INCLUDE_DIRS: uncomment this if you package contains header files
+## LIBRARIES: libraries you create in this project that dependent projects also need
+## CATKIN_DEPENDS: catkin_packages dependent projects also need
+## DEPENDS: system dependencies of this project that dependent projects also need
+catkin_package(
+# INCLUDE_DIRS include
+# LIBRARIES wam_controllers
+# CATKIN_DEPENDS other_catkin_pkg
+# DEPENDS system_lib
+ DEPENDS eigen
+)
+
+###########
+## Build ##
+###########
+
+## Specify additional locations of header files
+## Your package locations should be listed before other locations
+include_directories(include
+ ${catkin_INCLUDE_DIRS}
+ ${Eigen_INCLUDE_DIRS}
+)
+
+## Declare a cpp library
+add_library(wam_controllers
+ src/computed_torque_controller.cpp
+)
+
+## Declare a cpp executable
+# add_executable(wam_controllers_node src/wam_controllers_node.cpp)
+
+## Add cmake target dependencies of the executable/library
+## as an example, message headers may need to be generated before nodes
+# add_dependencies(wam_controllers_node wam_controllers_generate_messages_cpp)
+
+## Specify libraries to link a library or executable target against
+# target_link_libraries(wam_controllers_node
+# ${catkin_LIBRARIES}
+# )
+
+#############
+## Install ##
+#############
+
+# all install targets should use catkin DESTINATION variables
+# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
+
+## Mark executable scripts (Python etc.) for installation
+## in contrast to setup.py, you can choose the destination
+# install(PROGRAMS
+# scripts/my_python_script
+# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark executables and/or libraries for installation
+# install(TARGETS wam_controllers wam_controllers_node
+# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark cpp header files for installation
+# install(DIRECTORY include/${PROJECT_NAME}/
+# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+# FILES_MATCHING PATTERN "*.h"
+# PATTERN ".svn" EXCLUDE
+# )
+
+## Mark other files for installation (e.g. launch and bag files, etc.)
+# install(FILES
+# # myfile1
+# # myfile2
+# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+# )
+
+#############
+## Testing ##
+#############
+
+## Add gtest based cpp test target and link libraries
+# catkin_add_gtest(${PROJECT_NAME}-test test/test_wam_controllers.cpp)
+# if(TARGET ${PROJECT_NAME}-test)
+# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
+# endif()
+
+## Add folders to be run by python nosetests
+# catkin_add_nosetests(test)
+++ /dev/null
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
bool init(hardware_interface::EffortJointInterface *robot,
ros::NodeHandle &n);
void starting(const ros::Time& time);
- void update(const ros::Time& time);
+ void update(const ros::Time& time,const ros::Duration& duration);
};
}
#endif
+++ /dev/null
-/**
-\mainpage
-\htmlinclude manifest.html
-
-\b twil_controllers
-
-<!--
-Provide an overview of your package.
--->
-
--->
-
-
-*/
+++ /dev/null
-<package>
- <description brief="wam_controllers">
-
- wam_controllers
-
- </description>
- <author>Walter Fetter Lages</author>
- <license>GPL</license>
- <review status="unreviewed" notes=""/>
- <url>http://ros.org/wiki/wam_controllers</url>
-
- <depend package="joint_state_controller"/>
- <depend package="wam_control_gazebo"/>
- <depend package="controller_interface"/>
- <depend package="orocos_kdl"/>
- <depend package="kdl_parser"/>
- <depend package="trajectory_msgs"/>
-
- <export>
- <controller_interface plugin="${prefix}/wam_controllers_plugins.xml"/>
- </export>
-
-</package>
--- /dev/null
+<?xml version="1.0"?>
+<package>
+ <name>wam_controllers</name>
+ <version>2.0.0</version>
+ <description>The wam_controllers package</description>
+
+ <!-- One maintainer tag required, multiple allowed, one person per tag -->
+ <!-- Example: -->
+ <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
+ <maintainer email="fetter@ece.ufrgs.br">Walter Fetter Lages</maintainer>
+
+
+ <!-- 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>
+
+
+ <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+ <!-- Optional attribute type can be: website, bugtracker, or repository -->
+ <!-- Example: -->
+ <!-- <url type="website">http://wiki.ros.org/wam_controllers</url> -->
+ <url type="website">http://www.ece.ufrgs.br/ufrgs_wam</url>
+
+
+ <!-- Author tags are optional, mutiple are allowed, one per tag -->
+ <!-- Authors do not have to be maintianers, but could be -->
+ <!-- Example: -->
+ <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
+ <author email="fetter@ece.ufrgs.br">Walter Fetter Lages</author>
+
+ <!-- The *_depend tags are used to specify dependencies -->
+ <!-- Dependencies can be catkin packages or system dependencies -->
+ <!-- Examples: -->
+ <!-- Use build_depend for packages you need at compile time: -->
+ <!-- <build_depend>message_generation</build_depend> -->
+ <!-- Use buildtool_depend for build tool packages: -->
+ <!-- <buildtool_depend>catkin</buildtool_depend> -->
+ <!-- Use run_depend for packages you need at runtime: -->
+ <!-- <run_depend>message_runtime</run_depend> -->
+ <!-- Use test_depend for packages you need only for testing: -->
+ <!-- <test_depend>gtest</test_depend> -->
+ <buildtool_depend>catkin</buildtool_depend>
+
+ <build_depend>wam_control_gazebo</build_depend>
+ <build_depend>controller_interface</build_depend>
+ <build_depend>orocos_kdl</build_depend>
+ <build_depend>kdl_parser</build_depend>
+ <build_depend>trajectory_msgs</build_depend>
+
+
+ <run_depend> joint_state_controller</run_depend>
+
+ <!-- The export tag contains other, unspecified, tags -->
+ <export>
+ <!-- You can specify that this package is a metapackage here: -->
+ <!-- <metapackage/> -->
+
+ <!-- Other tools can request additional information be placed here -->
+ <controller_interface plugin="${prefix}/wam_controllers_plugins.xml"/>
+ </export>
+</package>
\ No newline at end of file
}
hardware_interface::JointHandle j=robot->
- getJointHandle((std::string)name_value);
+ getHandle((std::string)name_value);
joints_.push_back(j);
}
sub_command_=node_.subscribe("command",1000,
SetToZero(ddqr);
}
- void ComputedTorqueController::update(const ros::Time& time)
+ void ComputedTorqueController::update(const ros::Time& time,const ros::Duration& duration)
{
for(unsigned int i=0;i < joints_.size();i++)
{
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-#set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-#common commands for building c++ executables and libraries
-#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-#rosbuild_add_executable(example examples/example.cpp)
-#target_link_libraries(example ${PROJECT_NAME})
+cmake_minimum_required(VERSION 2.8.3)
+project(wam_description)
+
+## Find catkin macros and libraries
+## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
+## is used, also find other catkin packages
+find_package(catkin REQUIRED)
+
+## System dependencies are found with CMake's conventions
+# find_package(Boost REQUIRED COMPONENTS system)
+
+
+## Uncomment this if the package has a setup.py. This macro ensures
+## modules and global scripts declared therein get installed
+## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
+# catkin_python_setup()
+
+################################################
+## Declare ROS messages, services and actions ##
+################################################
+
+## To declare and build messages, services or actions from within this
+## package, follow these steps:
+## * Let MSG_DEP_SET be the set of packages whose message types you use in
+## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
+## * In the file package.xml:
+## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
+## * If MSG_DEP_SET isn't empty the following dependencies might have been
+## pulled in transitively but can be declared for certainty nonetheless:
+## * add a build_depend tag for "message_generation"
+## * add a run_depend tag for "message_runtime"
+## * In this file (CMakeLists.txt):
+## * add "message_generation" and every package in MSG_DEP_SET to
+## find_package(catkin REQUIRED COMPONENTS ...)
+## * add "message_runtime" and every package in MSG_DEP_SET to
+## catkin_package(CATKIN_DEPENDS ...)
+## * uncomment the add_*_files sections below as needed
+## and list every .msg/.srv/.action file to be processed
+## * uncomment the generate_messages entry below
+## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
+
+## Generate messages in the 'msg' folder
+# add_message_files(
+# FILES
+# Message1.msg
+# Message2.msg
+# )
+
+## Generate services in the 'srv' folder
+# add_service_files(
+# FILES
+# Service1.srv
+# Service2.srv
+# )
+
+## Generate actions in the 'action' folder
+# add_action_files(
+# FILES
+# Action1.action
+# Action2.action
+# )
+
+## Generate added messages and services with any dependencies listed here
+# generate_messages(
+# DEPENDENCIES
+# std_msgs # Or other packages containing msgs
+# )
+
+###################################
+## catkin specific configuration ##
+###################################
+## The catkin_package macro generates cmake config files for your package
+## Declare things to be passed to dependent projects
+## INCLUDE_DIRS: uncomment this if you package contains header files
+## LIBRARIES: libraries you create in this project that dependent projects also need
+## CATKIN_DEPENDS: catkin_packages dependent projects also need
+## DEPENDS: system dependencies of this project that dependent projects also need
+catkin_package(
+# INCLUDE_DIRS include
+# LIBRARIES wam_description
+# CATKIN_DEPENDS other_catkin_pkg
+# DEPENDS system_lib
+)
+
+###########
+## Build ##
+###########
+
+## Specify additional locations of header files
+## Your package locations should be listed before other locations
+# include_directories(include)
+
+## Declare a cpp library
+# add_library(wam_description
+# src/${PROJECT_NAME}/wam_description.cpp
+# )
+
+## Declare a cpp executable
+# add_executable(wam_description_node src/wam_description_node.cpp)
+
+## Add cmake target dependencies of the executable/library
+## as an example, message headers may need to be generated before nodes
+# add_dependencies(wam_description_node wam_description_generate_messages_cpp)
+
+## Specify libraries to link a library or executable target against
+# target_link_libraries(wam_description_node
+# ${catkin_LIBRARIES}
+# )
+
+#############
+## Install ##
+#############
+
+# all install targets should use catkin DESTINATION variables
+# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
+
+## Mark executable scripts (Python etc.) for installation
+## in contrast to setup.py, you can choose the destination
+# install(PROGRAMS
+# scripts/my_python_script
+# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark executables and/or libraries for installation
+# install(TARGETS wam_description wam_description_node
+# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+# )
+
+## Mark cpp header files for installation
+# install(DIRECTORY include/${PROJECT_NAME}/
+# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+# FILES_MATCHING PATTERN "*.h"
+# PATTERN ".svn" EXCLUDE
+# )
+
+## Mark other files for installation (e.g. launch and bag files, etc.)
+# install(FILES
+# # myfile1
+# # myfile2
+# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+# )
+
+#############
+## Testing ##
+#############
+
+## Add gtest based cpp test target and link libraries
+# catkin_add_gtest(${PROJECT_NAME}-test test/test_wam_description.cpp)
+# if(TARGET ${PROJECT_NAME}-test)
+# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
+# endif()
+
+## Add folders to be run by python nosetests
+# catkin_add_nosetests(test)
+++ /dev/null
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
<launch>
<param name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam.urdf.xacro'" />
- <node name="spawn_wam_object" pkg="gazebo" type="spawn_model" args="-urdf -param robot_description -model wam" respawn="false" output="screen" />
+ <node name="spawn_wam_object" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model wam" respawn="false" output="screen" />
</launch>
+++ /dev/null
-<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find wam_description)/xacro/wam_bhand.urdf.xacro'" />
- <node name="spawn_wam_object" pkg="gazebo" 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_worlds)/launch/empty_world.launch">
- <arg name="paused" value="$(arg paused)"/>
- </include>
-
- <include file="$(find wam_description)/launch/wam_bhand.launch"/>
-</launch>
<arg name="paused" default="false"/>
<!-- Start Gazebo -->
- <include file="$(find gazebo_worlds)/launch/empty_world.launch">
+ <include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="paused" value="$(arg paused)"/>
</include>
+++ /dev/null
-<package>
- <description brief="wam_description">
-
- wam_description
-
- </description>
- <author>Walter Fetter Lages</author>
- <license>GPL</license>
- <review status="unreviewed" notes=""/>
- <url>http://ros.org/wiki/wam_description</url>
-
-</package>
-
-
--- /dev/null
+<?xml version="1.0"?>
+<package>
+ <name>wam_description</name>
+ <version>2.0.0</version>
+ <description>The wam_description package</description>
+
+ <!-- One maintainer tag required, multiple allowed, one person per tag -->
+ <!-- Example: -->
+ <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
+ <maintainer email="fetter@ece.ufrgs.br">Walter Fetter Lages</maintainer>
+
+
+ <!-- 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>
+
+
+ <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+ <!-- Optional attribute type can be: website, bugtracker, or repository -->
+ <!-- Example: -->
+ <!-- <url type="website">http://wiki.ros.org/wam_description</url> -->
+ <url type="website">http://www.ece.ufrgs.br/~fetter/ufrgs_wam</url>
+
+
+ <!-- Author tags are optional, mutiple are allowed, one per tag -->
+ <!-- Authors do not have to be maintianers, but could be -->
+ <!-- Example: -->
+ <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
+ <author email="fetter@ece.ufrgs.br">Walter Fetter Lages</author>
+
+ <!-- The *_depend tags are used to specify dependencies -->
+ <!-- Dependencies can be catkin packages or system dependencies -->
+ <!-- Examples: -->
+ <!-- Use build_depend for packages you need at compile time: -->
+ <!-- <build_depend>message_generation</build_depend> -->
+ <!-- Use buildtool_depend for build tool packages: -->
+ <!-- <buildtool_depend>catkin</buildtool_depend> -->
+ <!-- Use run_depend for packages you need at runtime: -->
+ <!-- <run_depend>message_runtime</run_depend> -->
+ <!-- Use test_depend for packages you need only for testing: -->
+ <!-- <test_depend>gtest</test_depend> -->
+ <buildtool_depend>catkin</buildtool_depend>
+
+
+ <!-- The export tag contains other, unspecified, tags -->
+ <export>
+ <!-- You can specify that this package is a metapackage here: -->
+ <!-- <metapackage/> -->
+
+ <!-- Other tools can request additional information be placed here -->
+
+ </export>
+</package>
\ No newline at end of file
xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
xmlns:xacro="http://ros.org/wiki/xacro">
- <include filename="$(find wam_description)/xacro/wam_base.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j1.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j2.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j3.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j4.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j5.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j6.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_j7.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_base.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j1.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j2.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j3.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j4.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j5.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j6.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_j7.urdf.xacro" />
- <include filename="$(find wam_description)/xacro/wam_tool_plate.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam_tool_plate.urdf.xacro" />
<xacro:wam_base>
</xacro:wam_base>
</xacro:wam_tool_plate>
<gazebo>
- <controller:ros_control_gazebo_plugin
- name="ros_control"
- plugin="$(find ros_control_gazebo_plugin)/lib/libros_control_gazebo_plugin.so">
+ <plugin name="ros_control" filename="libgazebo_ros_control_plugin.so">
<ns>wam</ns>
<robotSimType>wam_control_gazebo/RobotSimWam</robotSimType>
<controlPeriod>0.001</controlPeriod>
- </controller:ros_control_gazebo_plugin>
+ </plugin>
</gazebo>
</robot>
+++ /dev/null
-<?xml version="1.0"?>
-<robot xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
- xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
- xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
- xmlns:xacro="http://ros.org/wiki/xacro"
- name="wam">
-
- <property name="M_PI" value="3.1415926535897931" />
-
- <include filename="$(find wam_description)/xacro/wam.urdf.xacro" />
-
- <include filename="$(find bhand_description)/xacro/bhand.urdf.xacro" />
-
- <joint name="wam_tool_plate_bhand_joint" type="fixed">
- <parent link="wam_tool_plate"/>
- <child link="bhand_origin" />
- <!--origin xyz="0.0 0.013 0.0" rpy="${-M_PI/2} 0.0 0.0" /-->
- <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
- </joint>
-
-</robot>
-
<link name="world" />
- <include filename="$(find gazebo_worlds)/objects/table.urdf.xacro" />
+ <xacro:include filename="$(find gazebo_worlds)/objects/table.urdf.xacro" />
<joint name="world_table_joint" type="fixed" static="true">
<parent link="world"/>
</joint>
- <include filename="$(find wam_description)/xacro/wam.urdf.xacro" />
+ <xacro:include filename="$(find wam_description)/xacro/wam.urdf.xacro" />
<joint name="table_wam_joint" type="fixed" static="true">
<parent link="table_top_link"/>