From: Kyle Maroney Date: Fri, 10 Feb 2012 16:58:03 +0000 (+0000) Subject: Creating Barrett ROS Repo - Creating / Importing ROS Packages - libbarrett_ros, wam_d... X-Git-Url: http://git.ece.ufrgs.br/?a=commitdiff_plain;h=023014375135b61c2f3e0aff8fba94b3eabf74c1;p=barrett-ros-pkg.git Creating Barrett ROS Repo - Creating / Importing ROS Packages - libbarrett_ros, wam_description, and wam_node --- diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..28105dd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 2.4.6) +include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) + +# Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of +# directories (or patterns, but directories should suffice) that should +# be excluded from the distro. This is not the place to put things that +# should be ignored everywhere, like "build" directories; that happens in +# rosbuild/rosbuild.cmake. Here should be listed packages that aren't +# ready for inclusion in a distro. +# +# This list is combined with the list in rosbuild/rosbuild.cmake. Note +# that CMake 2.6 may be required to ensure that the two lists are combined +# properly. CMake 2.4 seems to have unpredictable scoping rules for such +# variables. +#list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental) + +rosbuild_make_distribution(0.1.0) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a818cca --- /dev/null +++ b/Makefile @@ -0,0 +1 @@ +include $(shell rospack find mk)/cmake_stack.mk \ No newline at end of file diff --git a/libbarrett_ros/Makefile b/libbarrett_ros/Makefile new file mode 100644 index 0000000..e29ddda --- /dev/null +++ b/libbarrett_ros/Makefile @@ -0,0 +1,26 @@ +all: installed + +SVN_DIR = libbarrett +SVN_URL = http://web.barrett.com/svn/libbarrett/trunk/ +#SVN_REVISION = -r 808 +#SVN_PATCH = +include $(shell rospack find mk)/svn_checkout.mk +SOURCE_DIR = $(SVN_DIR) + + +installed: wiped $(SOURCE_DIR) + cd $(SOURCE_DIR) && cmake . + cd $(SOURCE_DIR) && make + cd $(SOURCE_DIR) && make install + touch installed + +clean: + rm -rf $(SVN_DIR) installed patched wiped rospack_nosubdirs + + +wiped: Makefile + make wipe + touch wiped + +wipe: clean + rm -rf build cleaned diff --git a/libbarrett_ros/manifest.xml b/libbarrett_ros/manifest.xml new file mode 100644 index 0000000..ae8bb9b --- /dev/null +++ b/libbarrett_ros/manifest.xml @@ -0,0 +1,19 @@ + + + + Libbarrett robot control library ROS wrapper. Libbarrett is written and maintained by Barrett Technology. + + + Barrett Technology, Inc. + BSD + http://ros.org/wiki/libbarrett + + + + + + + + + + diff --git a/stack.xml b/stack.xml new file mode 100644 index 0000000..920119e --- /dev/null +++ b/stack.xml @@ -0,0 +1,9 @@ + + barrett-ros-pkg + Barrett Technology Inc. + BSD + + http://ros.org/wiki/barrett-ros-pkg + + + diff --git a/wam_description/.cproject b/wam_description/.cproject new file mode 100644 index 0000000..00225c5 --- /dev/null +++ b/wam_description/.cproject @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/usr/bin/make + +ROSBUILD_genmsg_cpp +true +false + + +/usr/bin/make + +ROSBUILD_genmsg_lisp +true +false + + +/usr/bin/make + +ROSBUILD_gensrv_cpp +true +false + + +/usr/bin/make + +ROSBUILD_gensrv_lisp +true +false + + +/usr/bin/make + +clean-test-results +true +false + + +/usr/bin/make + +rebuild_cache +true +false + + +/usr/bin/make + +rosbuild_precompile +true +false + + +/usr/bin/make + +rosbuild_premsgsrvgen +true +false + + +/usr/bin/make + +rospack_genmsg +true +false + + +/usr/bin/make + +rospack_genmsg_libexe +true +false + + +/usr/bin/make + +rospack_gensrv +true +false + + +/usr/bin/make + +test +true +false + + +/usr/bin/make + +test-future +true +false + + +/usr/bin/make + +test-results +true +false + + +/usr/bin/make + +test-results-run +true +false + + +/usr/bin/make + +tests +true +false + + +/usr/bin/make + +all +true +false + + +/usr/bin/make + +clean +true +false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wam_description/.project b/wam_description/.project new file mode 100644 index 0000000..1d578dd --- /dev/null +++ b/wam_description/.project @@ -0,0 +1,111 @@ + + + wam_description-RelWithDebInfo@wam_description + + + + + + org.eclipse.cdt.make.core.makeBuilder + clean,full,incremental, + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.enabledIncrementalBuild + true + + + org.eclipse.cdt.make.core.build.command + /usr/bin/make + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.build.target.inc + all + + + org.eclipse.cdt.make.core.build.arguments + + + + org.eclipse.cdt.make.core.buildLocation + /home/robot/ros/wam_description + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + false + + + org.eclipse.cdt.make.core.environment + VERBOSE=1|ROS_ROOT=/opt/ros/electric/ros|ROS_PACKAGE_PATH=/home/robot/ros:/opt/ros/electric/stacks|PYTHONPATH=/opt/ros/electric/ros/core/roslib/src:/opt/ros/electric/ros/core/roslib/src:/opt/ros/electric/ros/core/roslib/src:|PATH=/opt/ros/electric/ros/bin:/opt/ros/electric/ros/bin:/opt/ros/electric/ros/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games| + + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.build.target.auto + all + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.build.target.clean + clean + + + org.eclipse.cdt.make.core.fullBuildTarget + all + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.build.location + /home/robot/ros/wam_description + + + org.eclipse.cdt.make.core.autoBuildTarget + all + + + org.eclipse.cdt.core.errorOutputParser + org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser; + + + + + org.eclipse.cdt.make.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.make.core.makeNature + org.eclipse.cdt.make.core.ScannerConfigNature + org.eclipse.cdt.core.cnature + + diff --git a/wam_description/.pydevproject b/wam_description/.pydevproject new file mode 100644 index 0000000..cc0e05c --- /dev/null +++ b/wam_description/.pydevproject @@ -0,0 +1,87 @@ + + + + +Default +python 2.6 + +/opt/ros/electric/stacks/robot_model/urdf/src +/opt/ros/electric/stacks/robot_model/urdf/lib +/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/src +/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/lib +/opt/ros/electric/stacks/ros_comm/utilities/cpp_common/src +/opt/ros/electric/stacks/ros_comm/utilities/cpp_common/lib +/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp_serialization/src +/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp_serialization/lib +/opt/ros/electric/stacks/ros_comm/utilities/rostime/src +/opt/ros/electric/stacks/ros_comm/utilities/rostime/lib +/opt/ros/electric/ros/core/roslib/src +/opt/ros/electric/ros/core/roslib/lib +/opt/ros/electric/ros/tools/rospack/lib +/opt/ros/electric/stacks/ros_comm/utilities/xmlrpcpp/src +/opt/ros/electric/stacks/ros_comm/utilities/xmlrpcpp/lib +/opt/ros/electric/stacks/ros_comm/tools/rosconsole/src +/opt/ros/electric/stacks/ros_comm/tools/rosconsole/lib +/opt/ros/electric/stacks/ros_comm/messages/std_msgs/src +/opt/ros/electric/stacks/ros_comm/messages/rosgraph_msgs/src +/opt/ros/electric/stacks/robot_model/colladadom/lib +/opt/ros/electric/stacks/robot_model/urdf_parser/src +/opt/ros/electric/stacks/robot_model/urdf_parser/lib +/opt/ros/electric/stacks/robot_model/collada_parser/src +/opt/ros/electric/stacks/robot_model/collada_parser/lib +/opt/ros/electric/stacks/simulator_gazebo/gazebo/src +/opt/ros/electric/stacks/simulator_gazebo/gazebo/lib +/opt/ros/electric/stacks/simulator_gazebo/gazebo_msgs/src +/opt/ros/electric/stacks/common_msgs/geometry_msgs/src +/opt/ros/electric/stacks/ros_comm/tools/rosbagmigration/src +/opt/ros/electric/stacks/ros_comm/tools/rosbag/src +/opt/ros/electric/stacks/ros_comm/tools/rosbag/lib +/opt/ros/electric/stacks/ros_comm/clients/rospy/src +/opt/ros/electric/stacks/ros_comm/tools/topic_tools/src +/opt/ros/electric/stacks/ros_comm/tools/topic_tools/lib +/opt/ros/electric/stacks/ros_comm/tools/rostest/src +/opt/ros/electric/stacks/ros_comm/tools/roslaunch/src +/opt/ros/electric/ros/tools/rosclean/src +/opt/ros/electric/stacks/ros_comm/tools/rosgraph/src +/opt/ros/electric/stacks/ros_comm/tools/rosparam/src +/opt/ros/electric/stacks/ros_comm/tools/rosmaster/src +/opt/ros/electric/ros/tools/rosunit/src +/opt/ros/electric/stacks/common_msgs/sensor_msgs/src +/opt/ros/electric/stacks/common_msgs/sensor_msgs/lib +/opt/ros/electric/stacks/physics_ode/parallel_quickstep/src +/opt/ros/electric/stacks/physics_ode/parallel_quickstep/lib +/opt/ros/electric/stacks/physics_ode/opende/src +/opt/ros/electric/stacks/bullet/src +/opt/ros/electric/stacks/bullet/lib +/opt/ros/electric/stacks/ros_comm/messages/std_srvs/src +/opt/ros/electric/stacks/geometry/tf/src +/opt/ros/electric/stacks/geometry/tf/lib +/opt/ros/electric/stacks/ros_comm/utilities/roswtf/src +/opt/ros/electric/stacks/ros_comm/tools/rosnode/src +/opt/ros/electric/stacks/ros_comm/tools/rosservice/src +/opt/ros/electric/stacks/ros_comm/tools/rosmsg/src +/opt/ros/electric/stacks/ros_comm/tools/rostopic/src +/opt/ros/electric/stacks/ros_comm/utilities/message_filters/src +/opt/ros/electric/stacks/ros_comm/utilities/message_filters/lib +/opt/ros/electric/stacks/driver_common/dynamic_reconfigure/src +/opt/ros/electric/stacks/driver_common/dynamic_reconfigure/lib +/opt/ros/electric/stacks/robot_model/ivcon/src +/opt/ros/electric/ros/core/mk +/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.25-py2.6.egg +/usr/local/lib/python2.6/dist-packages/vcstools-0.1.0-py2.6.egg +/opt/ros/electric/ros/core/roslib/src +/home/robot/ros/wam_description +/usr/lib/python2.6 +/usr/lib/python2.6/plat-linux2 +/usr/lib/python2.6/lib-tk +/usr/lib/python2.6/lib-dynload +/usr/lib/python2.6/dist-packages +/usr/lib/python2.6/dist-packages/PIL +/usr/lib/python2.6/dist-packages/gst-0.10 +/usr/lib/pymodules/python2.6 +/usr/lib/python2.6/dist-packages/gtk-2.0 +/usr/lib/pymodules/python2.6/gtk-2.0 +/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode +/usr/local/lib/python2.6/dist-packages + + diff --git a/wam_description/CMakeLists.txt b/wam_description/CMakeLists.txt new file mode 100644 index 0000000..e09bf68 --- /dev/null +++ b/wam_description/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 2.4.6) +include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) + +rosbuild_init() + +#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}) diff --git a/wam_description/Makefile b/wam_description/Makefile new file mode 100644 index 0000000..b75b928 --- /dev/null +++ b/wam_description/Makefile @@ -0,0 +1 @@ +include $(shell rospack find mk)/cmake.mk \ No newline at end of file diff --git a/wam_description/launch/wam_4dof.launch b/wam_description/launch/wam_4dof.launch new file mode 100644 index 0000000..92b8174 --- /dev/null +++ b/wam_description/launch/wam_4dof.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/wam_description/launch/wam_7dof.launch b/wam_description/launch/wam_7dof.launch new file mode 100644 index 0000000..082a247 --- /dev/null +++ b/wam_description/launch/wam_7dof.launch @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/wam_description/launch/wam_7dof_ft_hand.launch b/wam_description/launch/wam_7dof_ft_hand.launch new file mode 100644 index 0000000..af9e525 --- /dev/null +++ b/wam_description/launch/wam_7dof_ft_hand.launch @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/wam_description/launch/wam_7dof_hand.launch b/wam_description/launch/wam_7dof_hand.launch new file mode 100644 index 0000000..70ad149 --- /dev/null +++ b/wam_description/launch/wam_7dof_hand.launch @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/wam_description/manifest.xml b/wam_description/manifest.xml new file mode 100644 index 0000000..8938de5 --- /dev/null +++ b/wam_description/manifest.xml @@ -0,0 +1,24 @@ + + + + 4-DOF WAM, 7-DOF WAM, BarrettHand, and FT Sensor meshes and urdfs + for description of Barrett Technology's products. + + + Kyle Maroney, Barrett Technology Inc. + BSD + + + http://ros.org/wiki/wam_description + + + + + + + + + + + + diff --git a/wam_description/meshes/bhand_base.mesh b/wam_description/meshes/bhand_base.mesh new file mode 100644 index 0000000..8179497 Binary files /dev/null and b/wam_description/meshes/bhand_base.mesh differ diff --git a/wam_description/meshes/bhand_ftsensor.mesh b/wam_description/meshes/bhand_ftsensor.mesh new file mode 100644 index 0000000..751fa87 Binary files /dev/null and b/wam_description/meshes/bhand_ftsensor.mesh differ diff --git a/wam_description/meshes/bhand_link1.mesh b/wam_description/meshes/bhand_link1.mesh new file mode 100644 index 0000000..7fe8b2b Binary files /dev/null and b/wam_description/meshes/bhand_link1.mesh differ diff --git a/wam_description/meshes/bhand_link2.mesh b/wam_description/meshes/bhand_link2.mesh new file mode 100644 index 0000000..ee31b3d Binary files /dev/null and b/wam_description/meshes/bhand_link2.mesh differ diff --git a/wam_description/meshes/bhand_link3.mesh b/wam_description/meshes/bhand_link3.mesh new file mode 100644 index 0000000..c8ecc26 Binary files /dev/null and b/wam_description/meshes/bhand_link3.mesh differ diff --git a/wam_description/meshes/link_j1.mesh b/wam_description/meshes/link_j1.mesh new file mode 100644 index 0000000..9181e20 Binary files /dev/null and b/wam_description/meshes/link_j1.mesh differ diff --git a/wam_description/meshes/link_j2.mesh b/wam_description/meshes/link_j2.mesh new file mode 100644 index 0000000..5420ad5 Binary files /dev/null and b/wam_description/meshes/link_j2.mesh differ diff --git a/wam_description/meshes/link_j3.mesh b/wam_description/meshes/link_j3.mesh new file mode 100644 index 0000000..53ba501 Binary files /dev/null and b/wam_description/meshes/link_j3.mesh differ diff --git a/wam_description/meshes/link_j4.mesh b/wam_description/meshes/link_j4.mesh new file mode 100644 index 0000000..c4399b5 Binary files /dev/null and b/wam_description/meshes/link_j4.mesh differ diff --git a/wam_description/meshes/link_j5.mesh b/wam_description/meshes/link_j5.mesh new file mode 100644 index 0000000..68607fd Binary files /dev/null and b/wam_description/meshes/link_j5.mesh differ diff --git a/wam_description/meshes/link_j6.mesh b/wam_description/meshes/link_j6.mesh new file mode 100644 index 0000000..844d9d3 Binary files /dev/null and b/wam_description/meshes/link_j6.mesh differ diff --git a/wam_description/meshes/link_j7.mesh b/wam_description/meshes/link_j7.mesh new file mode 100644 index 0000000..ec49086 Binary files /dev/null and b/wam_description/meshes/link_j7.mesh differ diff --git a/wam_description/meshes/wam_base.mesh b/wam_description/meshes/wam_base.mesh new file mode 100644 index 0000000..081e9ba Binary files /dev/null and b/wam_description/meshes/wam_base.mesh differ diff --git a/wam_description/urdf/wam_4dof.urdf b/wam_description/urdf/wam_4dof.urdf new file mode 100644 index 0000000..4005123 --- /dev/null +++ b/wam_description/urdf/wam_4dof.urdf @@ -0,0 +1,266 @@ + + + #Fictional Footprint - for integration + + + + + + + + + + + + + + + + + + + + + + #WAM BASE + + + + + + + + + + + + + + + + + + + + + + + + + #LINK J1 + + + + + + + + + + + + + + + + + + + + + + #LINK J2 + + + + + + + + + + + + + + + + + + + + + + #LINK J3 + + + + + + + + + + + + + + + + + + + + + + #LINK J4 + + + + + + + + + + + + + + + + + + + + + + + ## Joint Descriptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Adding Gazebo Requirements + + Gazebo/White + true + + + + Gazebo/White + true + true + + + + Gazebo/White + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + #Adding Transmissions + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + \ No newline at end of file diff --git a/wam_description/urdf/wam_7dof.urdf b/wam_description/urdf/wam_7dof.urdf new file mode 100644 index 0000000..9493a5f --- /dev/null +++ b/wam_description/urdf/wam_7dof.urdf @@ -0,0 +1,399 @@ + + + #Fictional Footprint - for integration + + + + + + + + + + + + + + + + + + + + + + #WAM BASE + + + + + + + + + + + + + + + + + + + + + + + + #LINK J1 + + + + + + + + + + + + + + + + + + + + + #LINK J2 + + + + + + + + + + + + + + + + + + + + + #LINK J3 + + + + + + + + + + + + + + + + + + + + + #LINK J4 + + + + + + + + + + + + + + + + + + + + + + #LINK J5 + + + + + + + + + + + + + + + + + + + + + + #LINK J6 + + + + + + + + + + + + + + + + + + + + + + #LINK J7 + + + + + + + + + + + + + + + + + + + + + + ## Joint Descriptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Adding Gazebo Requirements + + Gazebo/White + true + + + + Gazebo/White + true + true + + + + Gazebo/White + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + #Adding Transmissions + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + \ No newline at end of file diff --git a/wam_description/urdf/wam_7dof_ft_hand.urdf b/wam_description/urdf/wam_7dof_ft_hand.urdf new file mode 100644 index 0000000..04590cf --- /dev/null +++ b/wam_description/urdf/wam_7dof_ft_hand.urdf @@ -0,0 +1,831 @@ + + + #Fictional Footprint - for integration + + + + + + + + + + + + + + + + + + + + + + #WAM BASE + + + + + + + + + + + + + + + + + + + + + + + + #LINK J1 + + + + + + + + + + + + + + + + + + + + + #LINK J2 + + + + + + + + + + + + + + + + + + + + + #LINK J3 + + + + + + + + + + + + + + + + + + + + + #LINK J4 + + + + + + + + + + + + + + + + + + + + + + #LINK J5 + + + + + + + + + + + + + + + + + + + + + + #LINK J6 + + + + + + + + + + + + + + + + + + + + + + #LINK J7 + + + + + + + + + + + + + + + + + + + + + + #LINK FT SENSOR + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND BASE + + + + + + + + + + + + + + + + + + + + + + #FINGERS + + #LINK BHAND LINK F11 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F21 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F12 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F22 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F32 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F13 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F23 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F33 + + + + + + + + + + + + + + + + + + + + + + ## Joint Descriptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Adding Gazebo Requirements + + Gazebo/White + true + + + + Gazebo/White + true + true + + + + Gazebo/White + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + #Adding Transmissions + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + #FINGER TRANSMISSIONS + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + \ No newline at end of file diff --git a/wam_description/urdf/wam_7dof_hand.urdf b/wam_description/urdf/wam_7dof_hand.urdf new file mode 100644 index 0000000..064b9ee --- /dev/null +++ b/wam_description/urdf/wam_7dof_hand.urdf @@ -0,0 +1,797 @@ + + + #Fictional Footprint - for integration + + + + + + + + + + + + + + + + + + + + + + #WAM BASE + + + + + + + + + + + + + + + + + + + + + + + + #LINK J1 + + + + + + + + + + + + + + + + + + + + + #LINK J2 + + + + + + + + + + + + + + + + + + + + + #LINK J3 + + + + + + + + + + + + + + + + + + + + + #LINK J4 + + + + + + + + + + + + + + + + + + + + + + #LINK J5 + + + + + + + + + + + + + + + + + + + + + + #LINK J6 + + + + + + + + + + + + + + + + + + + + + + #LINK J7 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND BASE + + + + + + + + + + + + + + + + + + + + + + #FINGERS + + #LINK BHAND LINK F11 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F21 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F12 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F22 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F32 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F13 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F23 + + + + + + + + + + + + + + + + + + + + + + #LINK BHAND LINK F33 + + + + + + + + + + + + + + + + + + + + + + ## Joint Descriptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Adding Gazebo Requirements + + Gazebo/White + true + + + + Gazebo/White + true + true + + + + Gazebo/White + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + + Gazebo/Grey + true + true + + + #Adding Transmissions + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + #FINGER TRANSMISSIONS + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + + + + 1 + 1 + + + \ No newline at end of file diff --git a/wam_node/CMakeLists.txt b/wam_node/CMakeLists.txt new file mode 100644 index 0000000..499c7b5 --- /dev/null +++ b/wam_node/CMakeLists.txt @@ -0,0 +1,33 @@ +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() + +link_directories(/usr/xenomai/lib /usr/local/lib) +rosbuild_add_executable(wam_node src/wam_node.cpp) +include_directories(/usr/xenomai/include /usr/local/include /usr/local/include/eigen2 /usr/local/include/boost) +add_definitions(-D_GNU_SOURCE -D_REENTRANT -D__XENO__) +rosbuild_add_compile_flags(wam_node -Wall -pipe) +target_link_libraries(wam_node barrett native xenomai pthread rt gsl gslcblas m) +rosbuild_add_boost_directories() +rosbuild_link_boost(wam_node thread ) + + diff --git a/wam_node/Makefile b/wam_node/Makefile new file mode 100644 index 0000000..b75b928 --- /dev/null +++ b/wam_node/Makefile @@ -0,0 +1 @@ +include $(shell rospack find mk)/cmake.mk \ No newline at end of file diff --git a/wam_node/manifest.xml b/wam_node/manifest.xml new file mode 100644 index 0000000..fb9fbf5 --- /dev/null +++ b/wam_node/manifest.xml @@ -0,0 +1,17 @@ + + + + Barrett Technology ROS node for 4-DOF and 7-DOF WAM. + + + Barrett Technology Inc., Kyle Maroney + BSD + + http://ros.org/wiki/wam_node + + + + + + + diff --git a/wam_node/src/wam_node.cpp b/wam_node/src/wam_node.cpp new file mode 100644 index 0000000..16097a6 --- /dev/null +++ b/wam_node/src/wam_node.cpp @@ -0,0 +1,69 @@ +#include +#include +#include // For mkstmp() +#include // For remove() + + +#include "ros/ros.h" +#include "std_msgs/String.h" +#include "wam_node/GravityComp.h" + +#include +#include +#include +#include +#include +#include + + +using namespace barrett; + +bool grav_state = true; +systems::Wam<4>* wam4 = NULL; +systems::Wam<7>* wam7 = NULL; + + +bool gravity(wam_node::GravityComp::Request &req, wam_node::GravityComp::Response &res) { + grav_state = req.gravity; + + if(wam4 != NULL) + wam4->gravityCompensate(grav_state); + else if(wam7 != NULL) + wam7->gravityCompensate(grav_state); + + ROS_INFO("Gravity Compensation Request: %s",(req.gravity)?"true":"false"); + return true; +} + +template +int wam_main(int argc, char** argv, ProductManager& pm, systems::Wam& wam) { + BARRETT_UNITS_TEMPLATE_TYPEDEFS(DOF); + wam.gravityCompensate(grav_state); + ros::init(argc, argv, "barrettWam"); + ros::NodeHandle nh_; + + if(pm.foundWam4()){ + wam4 = pm.getWam4(); + }else if(pm.foundWam7()) + wam7 = pm.getWam7(); + + std::cerr << "got Wam" << std::endl; + ros::Rate loop_rate(100); + ros::ServiceServer service = nh_.advertiseService("wam_gravity_comp",gravity); + while (ros::ok() && pm.getSafetyModule()->getMode() == SafetyModule::ACTIVE) + { + ros::spinOnce(); + loop_rate.sleep(); + } + + return 0; +} + + + + + + + + + diff --git a/wam_node/srv/GravityComp.srv b/wam_node/srv/GravityComp.srv new file mode 100644 index 0000000..102ea81 --- /dev/null +++ b/wam_node/srv/GravityComp.srv @@ -0,0 +1,2 @@ +bool gravity +---