--- /dev/null
+cmake_minimum_required(VERSION 2.8.3)\r
+project(miitzhand_bringup)\r
+\r
+## Compile as C++11, supported in ROS Kinetic and newer\r
+# add_compile_options(-std=c++11)\r
+\r
+## Find catkin macros and libraries\r
+## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)\r
+## is used, also find other catkin packages\r
+find_package(catkin REQUIRED COMPONENTS\r
+ roscpp\r
+ rospy\r
+)\r
+find_package(catkin REQUIRED COMPONENTS\r
+ controller_interface\r
+ effort_controllers\r
+ urdf\r
+)\r
+find_package(cmake_modules REQUIRED)\r
+## System dependencies are found with CMake's conventions\r
+# find_package(Boost REQUIRED COMPONENTS system)\r
+\r
+\r
+## Uncomment this if the package has a setup.py. This macro ensures\r
+## modules and global scripts declared therein get installed\r
+## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html\r
+# catkin_python_setup()\r
+\r
+################################################\r
+## Declare ROS messages, services and actions ##\r
+################################################\r
+\r
+## To declare and build messages, services or actions from within this\r
+## package, follow these steps:\r
+## * Let MSG_DEP_SET be the set of packages whose message types you use in\r
+## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).\r
+## * In the file package.xml:\r
+## * add a build_depend tag for "message_generation"\r
+## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET\r
+## * If MSG_DEP_SET isn't empty the following dependency has been pulled in\r
+## but can be declared for certainty nonetheless:\r
+## * add a run_depend tag for "message_runtime"\r
+## * In this file (CMakeLists.txt):\r
+## * add "message_generation" and every package in MSG_DEP_SET to\r
+## find_package(catkin REQUIRED COMPONENTS ...)\r
+## * add "message_runtime" and every package in MSG_DEP_SET to\r
+## catkin_package(CATKIN_DEPENDS ...)\r
+## * uncomment the add_*_files sections below as needed\r
+## and list every .msg/.srv/.action file to be processed\r
+## * uncomment the generate_messages entry below\r
+## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)\r
+\r
+## Generate messages in the 'msg' folder\r
+# add_message_files(\r
+# FILES\r
+# Message1.msg\r
+# Message2.msg\r
+# )\r
+\r
+## Generate services in the 'srv' folder\r
+# add_service_files(\r
+# FILES\r
+# Service1.srv\r
+# Service2.srv\r
+# )\r
+\r
+## Generate actions in the 'action' folder\r
+# add_action_files(\r
+# FILES\r
+# Action1.action\r
+# Action2.action\r
+# )\r
+\r
+## Generate added messages and services with any dependencies listed here\r
+# generate_messages(\r
+# DEPENDENCIES\r
+# std_msgs # Or other packages containing msgs\r
+# )\r
+\r
+################################################\r
+## Declare ROS dynamic reconfigure parameters ##\r
+################################################\r
+\r
+## To declare and build dynamic reconfigure parameters within this\r
+## package, follow these steps:\r
+## * In the file package.xml:\r
+## * add a build_depend and a run_depend tag for "dynamic_reconfigure"\r
+## * In this file (CMakeLists.txt):\r
+## * add "dynamic_reconfigure" to\r
+## find_package(catkin REQUIRED COMPONENTS ...)\r
+## * uncomment the "generate_dynamic_reconfigure_options" section below\r
+## and list every .cfg file to be processed\r
+\r
+## Generate dynamic reconfigure parameters in the 'cfg' folder\r
+# generate_dynamic_reconfigure_options(\r
+# cfg/DynReconf1.cfg\r
+# cfg/DynReconf2.cfg\r
+# )\r
+\r
+###################################\r
+## catkin specific configuration ##\r
+###################################\r
+## The catkin_package macro generates cmake config files for your package\r
+## Declare things to be passed to dependent projects\r
+## INCLUDE_DIRS: uncomment this if you package contains header files\r
+## LIBRARIES: libraries you create in this project that dependent projects also need\r
+## CATKIN_DEPENDS: catkin_packages dependent projects also need\r
+## DEPENDS: system dependencies of this project that dependent projects also need\r
+catkin_package(\r
+ LIBRARIES ${PROJECT_NAME}\r
+ CATKIN_DEPENDS controller_interface control_msgs urdf\r
+# INCLUDE_DIRS include\r
+# LIBRARIES gabrielquanser_controllers\r
+# CATKIN_DEPENDS roscpp rospy\r
+# DEPENDS system_lib\r
+)\r
+\r
+###########\r
+## Build ##\r
+###########\r
+\r
+## Specify additional locations of header files\r
+## Your package locations should be listed before other locations\r
+include_directories(\r
+# include\r
+ ${catkin_INCLUDE_DIRS}\r
+)\r
+\r
+## Declare a C++ library\r
+# add_library(${PROJECT_NAME}\r
+# src/${PROJECT_NAME}/gabrielquanser_controllers.cpp\r
+# )\r
+\r
+## Add cmake target dependencies of the library\r
+## as an example, code may need to be generated before libraries\r
+## either from message generation or dynamic reconfigure\r
+# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})\r
+\r
+## Declare a C++ executable\r
+## With catkin_make all packages are built within a single CMake context\r
+## The recommended prefix ensures that target names across packages don't collide\r
+# add_executable(${PROJECT_NAME}_node src/gabrielquanser_controllers_node.cpp)\r
+\r
+## Rename C++ executable without prefix\r
+## The above recommended prefix causes long target names, the following renames the\r
+## target back to the shorter version for ease of user use\r
+## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"\r
+# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")\r
+\r
+## Add cmake target dependencies of the executable\r
+## same as for the library above\r
+# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})\r
+\r
+## Specify libraries to link a library or executable target against\r
+ #target_link_libraries(${PROJECT_NAME}_node\r
+ # ${catkin_LIBRARIES}\r
+ #)\r
+\r
+#############\r
+## Install ##\r
+#############\r
+\r
+# all install targets should use catkin DESTINATION variables\r
+# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html\r
+\r
+## Mark executable scripts (Python etc.) for installation\r
+## in contrast to setup.py, you can choose the destination\r
+# install(PROGRAMS\r
+# scripts/my_python_script\r
+# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}\r
+# )\r
+\r
+## Mark executables and/or libraries for installation\r
+#install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node\r
+ # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}\r
+ # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}\r
+ # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}\r
+ #)\r
+\r
+## Mark cpp header files for installation\r
+ #install(DIRECTORY include/${PROJECT_NAME}/\r
+ # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}\r
+# FILES_MATCHING PATTERN "*.h"\r
+# PATTERN ".svn" EXCLUDE\r
+ #)\r
+\r
+## Mark other files for installation (e.g. launch and bag files, etc.)\r
+# install(FILES\r
+# # myfile1\r
+# # myfile2\r
+# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}\r
+# )\r
+\r
+#############\r
+## Testing ##\r
+#############\r
+\r
+## Add gtest based cpp test target and link libraries\r
+# catkin_add_gtest(${PROJECT_NAME}-test test/test_gabrielquanser_controllers.cpp)\r
+# if(TARGET ${PROJECT_NAME}-test)\r
+# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})\r
+# endif()\r
+\r
+## Add folders to be run by python nosetests\r
+# catkin_add_nosetests(test)\r
--- /dev/null
+miitzhand: \r
+\r
+ joint_state_controller:\r
+ type: joint_state_controller/JointStateController\r
+ publish_rate: 100\r
+\r
+ Pol1_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Pol_J1 \r
+ pid: {p: 200, i: 50, d: 10}\r
+\r
+ Pol2_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Pol_J2\r
+ pid: {p: 0.7, i: 1, d: 0.01}\r
+\r
+ Pol3_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Pol_J3\r
+ pid: {p: 0.1, i: 0.001, d: 0.0008}\r
+\r
+ Ind1_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ind_J1 \r
+ pid: {p: 2, i: 0, d: 0}\r
+\r
+ Ind2_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ind_J2\r
+ pid: {p: 2, i: 0, d: 0}\r
+\r
+ Ind3_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ind_J3\r
+ pid: {p: 1, i: 0, d: 0}\r
+\r
+ Med1_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Med_J1 \r
+ pid: {p: 2, i: 1, d: 0}\r
+\r
+ Med2_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Med_J2\r
+ pid: {p: 1, i: 1, d: 0}\r
+\r
+ Med3_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Med_J3\r
+ pid: {p: 1, i: 1, d: 0}\r
+\r
+ Ane1_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ane_J1 \r
+ pid: {p: 2, i: 1, d: 0}\r
+\r
+ Ane2_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ane_J2\r
+ pid: {p: 1, i: 1, d: 0}\r
+\r
+ Ane3_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Ane_J3\r
+ pid: {p: 1, i: 1, d: 0}\r
+ \r
+ Min1_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Min_J1 \r
+ pid: {p: 2, i: 1, d: 0}\r
+\r
+ Min2_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Min_J2\r
+ pid: {p: 1, i: 1, d: 0}\r
+\r
+ Min3_position_controller:\r
+ type: effort_controllers/JointPositionController\r
+ joint: Min_J3\r
+ pid: {p: 1, i: 1, d: 0}\r
--- /dev/null
+<launch>
+
+ <arg
+ name="debug"
+ default="false"
+ />
+ <arg
+ name="gui"
+ default="true"
+ />
+ <arg
+ name="headless"
+ default="false"
+ />
+ <arg
+ name="paused"
+ default="true"
+ />
+ <arg
+ name="use_sim_time"
+ default="true"
+ />
+ <include file="$(find gazebo_ros)/launch/empty_world.launch">
+
+ <arg
+ name="debug"
+ value="$(arg debug)"
+ />
+ <arg
+ name="gui"
+ value="$(arg gui)"
+ />
+ <arg
+ name="paused"
+ value="$(arg paused)"
+ />
+ <arg
+ name="use_sim_time"
+ value="$(arg use_sim_time)"
+ />
+ <arg
+ name="headless"
+ value="$(arg headless)"
+ />
+ <arg
+ name="world_name"
+ value="worlds/empty.world"
+ />
+
+ </include>
+
+ <!-- Robot model -->
+ <param name="robot_description" textfile="$(find miitzhand_description)/urdf/miitzhand.urdf" />
+
+ <!-- Spawn the robot model -->
+ <node name="miitzhand_spawner" pkg="gazebo_ros" type="spawn_model" output="screen"
+ args="-urdf -param robot_description -model miitzhand" />
+
+ <!-- Load controllers -->
+ <rosparam command="load" file="$(find miitzhand_bringup)/config/miitzhand_joints.yaml" />
+
+ <!-- Controllers -->
+ <node name="controller_spawner" pkg="controller_manager" type="spawner"
+ respawn="false" output="screen" ns="/miitzhand"
+ args="
+ joint_state_controller
+ Pol1_position_controller
+ Pol2_position_controller
+ Pol3_position_controller
+ Ind1_position_controller
+ Ind2_position_controller
+ Ind3_position_controller
+ Med1_position_controller
+ Med2_position_controller
+ Med3_position_controller
+ Ane1_position_controller
+ Ane2_position_controller
+ Ane3_position_controller
+ Min1_position_controller
+ Min2_position_controller
+ Min3_position_controller
+ --timeout 60">
+ </node>
+
+ <!--<node
+ name="robot_state_publisher"
+ pkg="robot_state_publisher"
+ type="robot_state_publisher"
+ respawn="false"
+ output="screen"
+ >
+
+ <param
+ name="publish_frequency"
+ type="double"
+ value="100.0"
+ />
+ <remap
+ from="/joint_states"
+ to="/dedo/joint_states"
+ />
+
+ </node>-->
+
+ <!-- rqt -->
+ <node name="rqt_reconfigure" pkg="rqt_reconfigure" type="rqt_reconfigure" />
+ <node name="rqt_publisher" pkg="rqt_publisher" type="rqt_publisher" />
+
+</launch>
--- /dev/null
+<?xml version="1.0"?>\r
+<package>\r
+ <name>miitzhand_bringup</name>\r
+ <version>0.0.0</version>\r
+ <description>The package</description>\r
+\r
+ <!-- One maintainer tag required, multiple allowed, one person per tag -->\r
+ <!-- Example: -->\r
+ <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->\r
+ <maintainer email="gschmitz@ece.ufrgs.br">gabriel</maintainer>\r
+\r
+\r
+ <!-- One license tag required, multiple allowed, one license per tag -->\r
+ <!-- Commonly used license strings: -->\r
+ <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->\r
+ <license>MIT</license>\r
+\r
+ <!-- <test_depend>gtest</test_depend> -->\r
+ <buildtool_depend>catkin</buildtool_depend>\r
+\r
+ <build_depend>controller_interface</build_depend>\r
+ <build_depend>effort_controllers</build_depend>\r
+ <build_depend>roscpp</build_depend>\r
+ <build_depend>rospy</build_depend>\r
+ <build_depend>control_msgs</build_depend>\r
+ <build_depend>urdf</build_depend>\r
+ <build_depend>cmake_modules</build_depend>\r
+\r
+ <run_depend>cmake_modules</run_depend>\r
+ <run_depend>roscpp</run_depend>\r
+ <run_depend>rospy</run_depend>\r
+ <run_depend>urdf</run_depend>\r
+ <run_depend>control_msgs</run_depend>\r
+ <run_depend>controller_interface</run_depend>\r
+ <run_depend>controller_manager</run_depend>\r
+ <run_depend>effort_controllers</run_depend>\r
+ <run_depend>joint_state_controller</run_depend>\r
+ <run_depend>joint_position_controller</run_depend>\r
+\r
+\r
+ <!-- The export tag contains other, unspecified, tags -->\r
+ <export>\r
+ <!-- Other tools can request additional information be placed here -->\r
+\r
+ </export>\r
+</package>\r
--- /dev/null
+<launch>\r
+ <arg name="use_gui" default="true" />\r
+ <include file="$(find miitzhand_description)/launch/urdf.launch" />\r
+ <node pkg="tf2_ros" type="static_transform_publisher" name="montagem_publisher" args="0 0 0 0 0 0 1 map origin_link" />\r
+ <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" args="_use_gui:=$(arg use_gui)" />\r
+ <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />\r
+ <node name="rviz" pkg="rviz" type="rviz" args="-d $(find miitzhand_description)/rviz/miitzhand.rviz" required="true" />\r
+</launch>\r
--- /dev/null
+<launch>
+ <param name="robot_description" textfile="$(find miitzhand_description)/urdf/miitzhand.urdf" />
+</launch>
--- /dev/null
+Panels:
+ - Class: rviz/Displays
+ Help Height: 78
+ Name: Displays
+ Property Tree Widget:
+ Expanded:
+ - /Global Options1
+ - /Status1
+ Splitter Ratio: 0.5
+ Tree Height: 559
+ - Class: rviz/Selection
+ Name: Selection
+ - Class: rviz/Tool Properties
+ Expanded:
+ - /2D Pose Estimate1
+ - /2D Nav Goal1
+ - /Publish Point1
+ Name: Tool Properties
+ Splitter Ratio: 0.588679
+ - Class: rviz/Views
+ Expanded:
+ - /Current View1
+ Name: Views
+ Splitter Ratio: 0.5
+ - Class: rviz/Time
+ Experimental: false
+ Name: Time
+ SyncMode: 0
+ SyncSource: ""
+Visualization Manager:
+ Class: ""
+ Displays:
+ - Alpha: 0.5
+ Cell Size: 1
+ Class: rviz/Grid
+ Color: 160; 160; 164
+ Enabled: true
+ Line Style:
+ Line Width: 0.03
+ Value: Lines
+ Name: Grid
+ Normal Cell Count: 0
+ Offset:
+ X: 0
+ Y: 0
+ Z: 0
+ Plane: XY
+ Plane Cell Count: 10
+ Reference Frame: <Fixed Frame>
+ Value: true
+ - Alpha: 1
+ Class: rviz/RobotModel
+ Collision Enabled: false
+ Enabled: true
+ Links:
+ All Links Enabled: true
+ Expand Joint Details: false
+ Expand Link Details: false
+ Expand Tree: false
+ Link Tree Style: Links in Alphabetic Order
+ base_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ elbow_active_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ elbow_passive_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ end_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ origin_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ shoulder_active_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ shoulder_passive_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ Name: RobotModel
+ Robot Description: robot_description
+ TF Prefix: ""
+ Update Interval: 0
+ Value: true
+ Visual Enabled: true
+ Enabled: true
+ Global Options:
+ Background Color: 48; 48; 48
+ Fixed Frame: map
+ Frame Rate: 30
+ Name: root
+ Tools:
+ - Class: rviz/Interact
+ Hide Inactive Objects: true
+ - Class: rviz/MoveCamera
+ - Class: rviz/Select
+ - Class: rviz/FocusCamera
+ - Class: rviz/Measure
+ - Class: rviz/SetInitialPose
+ Topic: /initialpose
+ - Class: rviz/SetGoal
+ Topic: /move_base_simple/goal
+ - Class: rviz/PublishPoint
+ Single click: true
+ Topic: /clicked_point
+ Value: true
+ Views:
+ Current:
+ Class: rviz/Orbit
+ Distance: 1.74931
+ Enable Stereo Rendering:
+ Stereo Eye Separation: 0.06
+ Stereo Focal Distance: 1
+ Swap Stereo Eyes: false
+ Value: false
+ Focal Point:
+ X: 0.170924
+ Y: -0.214539
+ Z: 0.105634
+ Name: Current View
+ Near Clip Distance: 0.01
+ Pitch: 0.505398
+ Target Frame: <Fixed Frame>
+ Value: Orbit (rviz)
+ Yaw: 4.70358
+ Saved: ~
+Window Geometry:
+ Displays:
+ collapsed: false
+ Height: 846
+ Hide Left Dock: false
+ Hide Right Dock: false
+ QMainWindow State: 000000ff00000000fd00000004000000000000013c000002bafc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000036000002ba000000b700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bafc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000036000002ba0000009b00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000024700fffffffb0000000800540069006d0065010000000000000450000000000000000000000259000002ba00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ Selection:
+ collapsed: false
+ Time:
+ collapsed: false
+ Tool Properties:
+ collapsed: false
+ Views:
+ collapsed: false
+ Width: 1200
+ X: 336
+ Y: 94