├── gripper-simulation.gif ├── rg2_description ├── meshes │ ├── visual │ │ ├── RG2_Hand_vis.STL │ │ ├── RG2_LeftFinger_vis.STL │ │ ├── RG2_RightFinger_vis.STL │ │ ├── RG2_LeftMomentArm_vis.STL │ │ ├── RG2_LeftTrussArm_vis.STL │ │ ├── RG2_RightTrussArm_vis.STL │ │ └── RG2_RightMomentArm_vis.STL │ ├── collision │ │ ├── RG2_Hand_col.STL │ │ ├── RG2_LeftFinger_col.STL │ │ ├── RG2_LeftMomentArm_col.STL │ │ ├── RG2_LeftTrussArm_col.STL │ │ ├── RG2_RightFinger_col.STL │ │ ├── RG2_RightTrussArm_col.STL │ │ └── RG2_RightMomentArm_col.STL │ └── inertia │ │ ├── RG2_Hand.txt │ │ ├── RG2_LeftFinger.txt │ │ ├── RG2_RightFinger.txt │ │ ├── RG2_LeftMomentArm.txt │ │ ├── RG2_LeftTrustArm.txt │ │ ├── RG2_RightMomentArm.txt │ │ └── RG2_RightTrussArm.txt ├── urdf │ ├── rg2.transmissions.xacro │ ├── rg2.gazebo.xacro │ └── rg2.urdf.xacro ├── launch │ └── rg2_rviz.launch ├── package.xml ├── rviz │ └── rg2.rviz └── CMakeLists.txt ├── rg2_gazebo ├── launch │ ├── position_controller.launch │ └── rg2_gazebo.launch ├── config │ ├── gazebo_controller.yaml │ └── position_controller.yaml ├── package.xml ├── world │ └── empty.world └── CMakeLists.txt ├── .gitignore └── README.md /gripper-simulation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/gripper-simulation.gif -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_Hand_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_Hand_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_Hand_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_Hand_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_LeftFinger_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_LeftFinger_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_RightFinger_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_RightFinger_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_LeftFinger_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_LeftFinger_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_LeftMomentArm_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_LeftMomentArm_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_LeftTrussArm_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_LeftTrussArm_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_RightTrussArm_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_RightTrussArm_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_LeftMomentArm_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_LeftMomentArm_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_LeftTrussArm_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_LeftTrussArm_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_RightFinger_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_RightFinger_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_RightTrussArm_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_RightTrussArm_col.STL -------------------------------------------------------------------------------- /rg2_description/meshes/visual/RG2_RightMomentArm_vis.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/visual/RG2_RightMomentArm_vis.STL -------------------------------------------------------------------------------- /rg2_description/meshes/collision/RG2_RightMomentArm_col.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ekorudiawan/rg2_simulation/HEAD/rg2_description/meshes/collision/RG2_RightMomentArm_col.STL -------------------------------------------------------------------------------- /rg2_gazebo/launch/position_controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /rg2_description/urdf/rg2.transmissions.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | transmission_interface/SimpleTransmission 7 | 8 | hardware_interface/EffortJointInterface 9 | 10 | 11 | 12 | hardware_interface/EffortJointInterface 13 | 1 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /rg2_description/launch/rg2_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | devel/ 2 | logs/ 3 | build/ 4 | bin/ 5 | lib/ 6 | msg_gen/ 7 | srv_gen/ 8 | msg/*Action.msg 9 | msg/*ActionFeedback.msg 10 | msg/*ActionGoal.msg 11 | msg/*ActionResult.msg 12 | msg/*Feedback.msg 13 | msg/*Goal.msg 14 | msg/*Result.msg 15 | msg/_*.py 16 | build_isolated/ 17 | devel_isolated/ 18 | 19 | # Generated by dynamic reconfigure 20 | *.cfgc 21 | /cfg/cpp/ 22 | /cfg/*.py 23 | 24 | # Ignore generated docs 25 | *.dox 26 | *.wikidoc 27 | 28 | # eclipse stuff 29 | .project 30 | .cproject 31 | 32 | # qcreator stuff 33 | CMakeLists.txt.user 34 | 35 | srv/_*.py 36 | *.pcd 37 | *.pyc 38 | qtcreator-* 39 | *.user 40 | 41 | /planning/cfg 42 | /planning/docs 43 | /planning/src 44 | 45 | *~ 46 | 47 | # Emacs 48 | .#* 49 | 50 | # Catkin custom files 51 | CATKIN_IGNORE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unofficial RG2 Gripper URDF Model for ROS and Gazebo Simulation 2 | 3 | ## Running The Simulation Model 4 | 5 | This package requires Gazebo MimicJointPlugin from this repo https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins. 6 | 7 | **Create your own ROS workspace, clone the repo, and compile** 8 | 9 | ```bash 10 | mkdir -p rg2_ws/src 11 | cd rg2_ws/src 12 | git clone https://github.com/ekorudiawan/rg2_simulation.git 13 | B 14 | git clone https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins.git 15 | cd ../ 16 | catkin_make 17 | source devel/setup.bash 18 | ``` 19 | 20 | **Launch the simulation model** 21 | 22 | ```bash 23 | roslaunch rg2_gazebo rg2_gazebo.launch 24 | ``` 25 | 26 | **Controlling gripper with ROS topic** 27 | 28 | ```bash 29 | rostopic pub /rg2/gripper_joint_position/command std_msgs/Float64 "data: 1.0" 30 | ``` 31 | 32 | **Result** 33 | 34 | ![RG2 Gazebo Simulation](gripper-simulation.gif "RG2 Gazebo Simulation") 35 | -------------------------------------------------------------------------------- /rg2_gazebo/config/gazebo_controller.yaml: -------------------------------------------------------------------------------- 1 | gazebo_ros_control: 2 | pid_gains: 3 | gripper_joint: 4 | p: 1.0 5 | i: 0.0 6 | d: 0.0 7 | i_clamp: 0.2 8 | antiwindup: false 9 | publish_state: true 10 | l_finger_2_joint: 11 | p: 1.0 12 | i: 0.0 13 | d: 0.0 14 | i_clamp: 0.2 15 | antiwindup: false 16 | publish_state: true 17 | l_finger_passive_joint: 18 | p: 1.0 19 | i: 0.0 20 | d: 0.0 21 | i_clamp: 0.2 22 | antiwindup: false 23 | publish_state: true 24 | r_finger_1_joint: 25 | p: 1.0 26 | i: 0.0 27 | d: 0.0 28 | i_clamp: 0.2 29 | antiwindup: false 30 | publish_state: true 31 | r_finger_2_joint: 32 | p: 1.0 33 | i: 0.0 34 | d: 0.0 35 | i_clamp: 0.2 36 | antiwindup: false 37 | publish_state: true 38 | r_finger_passive_joint: 39 | p: 1.0 40 | i: 0.0 41 | d: 0.0 42 | i_clamp: 0.2 43 | antiwindup: false 44 | publish_state: true -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_Hand.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_Base 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 1.684558 kilograms 8 | 9 | Volume = 0.000624 cubic meters 10 | 11 | Surface area = 0.086117 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.061902 15 | Y = 0.000129 16 | Z = -0.000005 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 1.000000, 0.000134, 0.000261) Px = 0.000862 21 | Iy = ( 0.000133, -0.999997, 0.002318) Py = 0.002401 22 | Iz = ( 0.000261, -0.002318, -0.999997) Pz = 0.002620 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000862 Lxy = 0.000000 Lxz = 0.000000 27 | Lyx = 0.000000 Lyy = 0.002401 Lyz = -0.000001 28 | Lzx = 0.000000 Lzy = -0.000001 Lzz = 0.002620 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000862 Ixy = 0.000014 Ixz = 0.000000 33 | Iyx = 0.000014 Iyy = 0.008856 Iyz = -0.000001 34 | Izx = 0.000000 Izy = -0.000001 Izz = 0.009075 -------------------------------------------------------------------------------- /rg2_gazebo/config/position_controller.yaml: -------------------------------------------------------------------------------- 1 | rg2: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 125 6 | 7 | # Position Controllers --------------------------------------- 8 | 9 | gripper_joint_position: 10 | type: effort_controllers/JointPositionController 11 | joint: gripper_joint 12 | pid: {p: 5, i: 0.0, d: 0.0} 13 | # l_finger_2_joint_position: 14 | # type: effort_controllers/JointPositionController 15 | # joint: l_finger_2_joint 16 | # pid: {p: 5, i: 0.0, d: 0.0} 17 | # l_finger_passive_joint_position: 18 | # type: effort_controllers/JointPositionController 19 | # joint: l_finger_passive_joint 20 | # pid: {p: 5, i: 0.0, d: 0.0} 21 | # r_finger_1_joint_position: 22 | # type: effort_controllers/JointPositionController 23 | # joint: r_finger_1_joint 24 | # pid: {p: 5, i: 0.0, d: 0.0} 25 | # r_finger_2_joint_position: 26 | # type: effort_controllers/JointPositionController 27 | # joint: r_finger_2_joint 28 | # pid: {p: 5, i: 0.0, d: 0.0} 29 | # r_finger_passive_joint_position: 30 | # type: effort_controllers/JointPositionController 31 | # joint: r_finger_passive_joint 32 | # pid: {p: 5, i: 0.0, d: 0.0} -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_LeftFinger.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_LeftFinger 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.081638 kilograms 8 | 9 | Volume = 0.000030 cubic meters 10 | 11 | Surface area = 0.010245 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.024695 15 | Y = -0.010178 16 | Z = -0.010001 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.967282, -0.253705, 0.000003) Px = 0.000004 21 | Iy = ( 0.000000, 0.000007, 1.000000) Py = 0.000026 22 | Iz = (-0.253705, -0.967282, 0.000006) Pz = 0.000027 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000006 Lxy = -0.000005 Lxz = 0.000000 27 | Lyx = -0.000005 Lyy = 0.000025 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000026 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000022 Ixy = -0.000026 Ixz = -0.000020 33 | Iyx = -0.000026 Iyy = 0.000083 Iyz = 0.000008 34 | Izx = -0.000020 Izy = 0.000008 Izz = 0.000084 -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_RightFinger.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_RightFinger 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.081637 kilograms 8 | 9 | Volume = 0.000030 cubic meters 10 | 11 | Surface area = 0.010245 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.024695 15 | Y = 0.010178 16 | Z = -0.010000 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.967282, 0.253705, 0.000002) Px = 0.000004 21 | Iy = ( 0.000000, -0.000005, 1.000000) Py = 0.000026 22 | Iz = ( 0.253705, -0.967282, -0.000004) Pz = 0.000027 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000006 Lxy = 0.000005 Lxz = 0.000000 27 | Lyx = 0.000005 Lyy = 0.000025 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000026 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000022 Ixy = 0.000026 Ixz = -0.000020 33 | Iyx = 0.000026 Iyy = 0.000083 Iyz = -0.000008 34 | Izx = -0.000020 Izy = -0.000008 Izz = 0.000084 -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_LeftMomentArm.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_LeftMomentArm 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.160209 kilograms 8 | 9 | Volume = 0.000059 cubic meters 10 | 11 | Surface area = 0.014621 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.017004 15 | Y = 0.006397 16 | Z = -0.010300 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.946991, 0.321260, 0.000000) Px = 0.000016 21 | Iy = ( 0.321260, -0.946991, 0.000000) Py = 0.000078 22 | Iz = ( 0.000000, 0.000000, -1.000000) Pz = 0.000083 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000023 Lxy = 0.000019 Lxz = 0.000000 27 | Lyx = 0.000019 Lyy = 0.000072 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000083 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000046 Ixy = 0.000036 Ixz = -0.000028 33 | Iyx = 0.000036 Iyy = 0.000135 Iyz = -0.000011 34 | Izx = -0.000028 Izy = -0.000011 Izz = 0.000136 -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_LeftTrustArm.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_LeftTrussArm 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.065927 kilograms 8 | 9 | Volume = 0.000024 cubic meters 10 | 11 | Surface area = 0.009636 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.023075 15 | Y = 0.012136 16 | Z = -0.010000 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.885165, 0.465278, 0.000000) Px = 0.000005 21 | Iy = ( 0.000000, 0.000000, 1.000000) Py = 0.000025 22 | Iz = ( 0.465278, -0.885165, 0.000000) Pz = 0.000029 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000010 Lxy = 0.000010 Lxz = 0.000000 27 | Lyx = 0.000010 Lyy = 0.000024 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000025 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000027 Ixy = 0.000028 Ixz = -0.000015 33 | Iyx = 0.000028 Iyy = 0.000065 Iyz = -0.000008 34 | Izx = -0.000015 Izy = -0.000008 Izz = 0.000070 -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_RightMomentArm.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_RightMomentArm 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.160209 kilograms 8 | 9 | Volume = 0.000059 cubic meters 10 | 11 | Surface area = 0.014621 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.017004 15 | Y = -0.006397 16 | Z = -0.010300 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.946991, -0.321260, 0.000000) Px = 0.000016 21 | Iy = (-0.321260, -0.946991, 0.000000) Py = 0.000078 22 | Iz = ( 0.000000, 0.000000, -1.000000) Pz = 0.000083 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000023 Lxy = -0.000019 Lxz = 0.000000 27 | Lyx = -0.000019 Lyy = 0.000072 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000083 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000046 Ixy = -0.000036 Ixz = -0.000028 33 | Iyx = -0.000036 Iyy = 0.000135 Iyz = 0.000011 34 | Izx = -0.000028 Izy = 0.000011 Izz = 0.000136 -------------------------------------------------------------------------------- /rg2_description/meshes/inertia/RG2_RightTrussArm.txt: -------------------------------------------------------------------------------- 1 | Mass properties of RG2_RightTrussArm 2 | Configuration: Default 3 | Coordinate system: Coordinate System1 4 | 5 | Density = 2700.000000 kilograms per cubic meter 6 | 7 | Mass = 0.065927 kilograms 8 | 9 | Volume = 0.000024 cubic meters 10 | 11 | Surface area = 0.009636 square meters 12 | 13 | Center of mass: ( meters ) 14 | X = 0.023075 15 | Y = -0.012136 16 | Z = -0.010000 17 | 18 | Principal axes of inertia and principal moments of inertia: ( kilograms * square meters ) 19 | Taken at the center of mass. 20 | Ix = ( 0.885165, -0.465278, 0.000000) Px = 0.000005 21 | Iy = ( 0.000000, 0.000000, 1.000000) Py = 0.000025 22 | Iz = (-0.465278, -0.885165, 0.000000) Pz = 0.000029 23 | 24 | Moments of inertia: ( kilograms * square meters ) 25 | Taken at the center of mass and aligned with the output coordinate system. 26 | Lxx = 0.000010 Lxy = -0.000010 Lxz = 0.000000 27 | Lyx = -0.000010 Lyy = 0.000024 Lyz = 0.000000 28 | Lzx = 0.000000 Lzy = 0.000000 Lzz = 0.000025 29 | 30 | Moments of inertia: ( kilograms * square meters ) 31 | Taken at the output coordinate system. 32 | Ixx = 0.000027 Ixy = -0.000028 Ixz = -0.000015 33 | Iyx = -0.000028 Iyy = 0.000065 Iyz = 0.000008 34 | Izx = -0.000015 Izy = 0.000008 Izz = 0.000070 -------------------------------------------------------------------------------- /rg2_gazebo/launch/rg2_gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /rg2_gazebo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rg2_gazebo 4 | 0.0.0 5 | The rg2_gazebo package 6 | 7 | 8 | 9 | 10 | ekorudiawan 11 | 12 | 13 | 14 | 15 | 16 | TODO 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | catkin 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /rg2_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rg2_description 4 | 0.0.0 5 | The rg2_description package 6 | 7 | 8 | 9 | 10 | ekorudiawan 11 | 12 | 13 | 14 | 15 | 16 | TODO 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | catkin 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /rg2_description/urdf/rg2.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | /rg2 7 | gazebo_ros_control/DefaultRobotHWSim 8 | 9 | 10 | 11 | 12 | 13 | 0.2 14 | 0.2 15 | Gazebo/White 16 | false 17 | 18 | 19 | 20 | 21 | 0.2 22 | 0.2 23 | Gazebo/White 24 | false 25 | 26 | 27 | 28 | 0.2 29 | 0.2 30 | Gazebo/White 31 | false 32 | 33 | 34 | 35 | 0.2 36 | 0.2 37 | Gazebo/White 38 | false 39 | 40 | 41 | 42 | 43 | 0.2 44 | 0.2 45 | Gazebo/White 46 | false 47 | 48 | 49 | 50 | 0.2 51 | 0.2 52 | Gazebo/White 53 | false 54 | 55 | 56 | 57 | 0.2 58 | 0.2 59 | Gazebo/White 60 | false 61 | 62 | 63 | 64 | 65 | 66 | ${parent_joint} 67 | ${mimic_joint} 68 | 69 | 70 | 71 | ${multiplier} 72 | ${offset} 73 | ${sensitiveness} 74 | ${max_effort} 75 | 76 | ${robot_namespace} 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /rg2_gazebo/world/empty.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0.000000 0.000000 -9.810000 5 | 6 | 1 7 | 0 0 10 0 -0 0 8 | 0.8 0.8 0.8 1 9 | 0.2 0.2 0.2 1 10 | 11 | 1000 12 | 0.9 13 | 0.01 14 | 0.001 15 | 16 | -0.5 0.1 -0.9 17 | 18 | 19 | 20 | 1000.0 21 | 0.001 22 | 1 23 | 1000 24 | 25 | 26 | quick 27 | 50 28 | 0 29 | 1.4 30 | 1 31 | 32 | 33 | 0.000000 34 | 0.8 35 | 2000.000000 36 | 0.01000 37 | 38 | 39 | 40 | 41 | 42 | 1 43 | 44 | 45 | 46 | 47 | 0 0 1 48 | 100 100 49 | 50 | 51 | 52 | 53 | 54 | 100 55 | 50 56 | 1 0 0 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 10 65 | 66 | 67 | 0 68 | 69 | 70 | 0 0 1 71 | 100 100 72 | 73 | 74 | 75 | 79 | 80 | 81 | 82 | 0 83 | 0 84 | 85 | 0 86 | 0 87 | 1 88 | 89 | 90 | 91 | 0.4 0.4 0.4 1 92 | 0.7 0.7 0.7 1 93 | 1 94 | 95 | 96 | EARTH_WGS84 97 | 0 98 | 0 99 | 0 100 | 0 101 | 102 | 103 | 18 131000000 104 | 18 249402717 105 | 1442867251 89781872 106 | 107 | 0 0 0 0 -0 0 108 | 109 | 0 0 0 0 -0 0 110 | 0 0 0 0 -0 0 111 | 0 0 0 0 -0 0 112 | 0 0 0 0 -0 0 113 | 114 | 115 | 116 | 117 | 118 | 5 -5 2 0 0.275643 2.35619 119 | orbit 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /rg2_description/rviz/rg2.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Global Options1 8 | - /Status1 9 | - /RobotModel1 10 | - /TF1 11 | Splitter Ratio: 0.5 12 | Tree Height: 703 13 | - Class: rviz/Selection 14 | Name: Selection 15 | - Class: rviz/Tool Properties 16 | Expanded: 17 | - /2D Pose Estimate1 18 | - /2D Nav Goal1 19 | - /Publish Point1 20 | Name: Tool Properties 21 | Splitter Ratio: 0.5886790156364441 22 | - Class: rviz/Views 23 | Expanded: 24 | - /Current View1 25 | Name: Views 26 | Splitter Ratio: 0.5 27 | - Class: rviz/Time 28 | Experimental: false 29 | Name: Time 30 | SyncMode: 0 31 | SyncSource: "" 32 | Preferences: 33 | PromptSaveOnExit: true 34 | Toolbars: 35 | toolButtonStyle: 2 36 | Visualization Manager: 37 | Class: "" 38 | Displays: 39 | - Alpha: 0.5 40 | Cell Size: 1 41 | Class: rviz/Grid 42 | Color: 160; 160; 164 43 | Enabled: true 44 | Line Style: 45 | Line Width: 0.029999999329447746 46 | Value: Lines 47 | Name: Grid 48 | Normal Cell Count: 0 49 | Offset: 50 | X: 0 51 | Y: 0 52 | Z: 0 53 | Plane: XY 54 | Plane Cell Count: 10 55 | Reference Frame: 56 | Value: true 57 | - Alpha: 0.5 58 | Class: rviz/RobotModel 59 | Collision Enabled: false 60 | Enabled: true 61 | Links: 62 | All Links Enabled: true 63 | Expand Joint Details: false 64 | Expand Link Details: false 65 | Expand Tree: false 66 | Link Tree Style: Links in Alphabetic Order 67 | base_link: 68 | Alpha: 1 69 | Show Axes: false 70 | Show Trail: false 71 | hand_link: 72 | Alpha: 1 73 | Show Axes: false 74 | Show Trail: false 75 | Value: true 76 | l_finger_link: 77 | Alpha: 1 78 | Show Axes: false 79 | Show Trail: false 80 | Value: true 81 | l_moment_arm_link: 82 | Alpha: 1 83 | Show Axes: false 84 | Show Trail: false 85 | Value: true 86 | l_truss_arm_link: 87 | Alpha: 1 88 | Show Axes: false 89 | Show Trail: false 90 | Value: true 91 | r_finger_link: 92 | Alpha: 1 93 | Show Axes: false 94 | Show Trail: false 95 | Value: true 96 | r_moment_arm_link: 97 | Alpha: 1 98 | Show Axes: false 99 | Show Trail: false 100 | Value: true 101 | r_truss_arm_link: 102 | Alpha: 1 103 | Show Axes: false 104 | Show Trail: false 105 | Value: true 106 | Name: RobotModel 107 | Robot Description: robot_description 108 | TF Prefix: "" 109 | Update Interval: 0 110 | Value: true 111 | Visual Enabled: true 112 | - Class: rviz/TF 113 | Enabled: true 114 | Frame Timeout: 15 115 | Frames: 116 | All Enabled: true 117 | base_link: 118 | Value: true 119 | hand_link: 120 | Value: true 121 | l_finger_link: 122 | Value: true 123 | l_moment_arm_link: 124 | Value: true 125 | l_truss_arm_link: 126 | Value: true 127 | r_finger_link: 128 | Value: true 129 | r_moment_arm_link: 130 | Value: true 131 | r_truss_arm_link: 132 | Value: true 133 | Marker Alpha: 1 134 | Marker Scale: 0.10000000149011612 135 | Name: TF 136 | Show Arrows: false 137 | Show Axes: true 138 | Show Names: false 139 | Tree: 140 | base_link: 141 | hand_link: 142 | l_moment_arm_link: 143 | l_finger_link: 144 | {} 145 | l_truss_arm_link: 146 | {} 147 | r_moment_arm_link: 148 | r_finger_link: 149 | {} 150 | r_truss_arm_link: 151 | {} 152 | Update Interval: 0 153 | Value: true 154 | Enabled: true 155 | Global Options: 156 | Background Color: 48; 48; 48 157 | Default Light: true 158 | Fixed Frame: base_link 159 | Frame Rate: 30 160 | Name: root 161 | Tools: 162 | - Class: rviz/Interact 163 | Hide Inactive Objects: true 164 | - Class: rviz/MoveCamera 165 | - Class: rviz/Select 166 | - Class: rviz/FocusCamera 167 | - Class: rviz/Measure 168 | - Class: rviz/SetInitialPose 169 | Theta std deviation: 0.2617993950843811 170 | Topic: /initialpose 171 | X std deviation: 0.5 172 | Y std deviation: 0.5 173 | - Class: rviz/SetGoal 174 | Topic: /move_base_simple/goal 175 | - Class: rviz/PublishPoint 176 | Single click: true 177 | Topic: /clicked_point 178 | Value: true 179 | Views: 180 | Current: 181 | Class: rviz/Orbit 182 | Distance: 0.5319518446922302 183 | Enable Stereo Rendering: 184 | Stereo Eye Separation: 0.05999999865889549 185 | Stereo Focal Distance: 1 186 | Swap Stereo Eyes: false 187 | Value: false 188 | Field of View: 0.7853981852531433 189 | Focal Point: 190 | X: 0 191 | Y: 0 192 | Z: 0 193 | Focal Shape Fixed Size: true 194 | Focal Shape Size: 0.05000000074505806 195 | Invert Z Axis: false 196 | Name: Current View 197 | Near Clip Distance: 0.009999999776482582 198 | Pitch: 1.5697963237762451 199 | Target Frame: 200 | Yaw: 2.913585662841797 201 | Saved: ~ 202 | Window Geometry: 203 | Displays: 204 | collapsed: false 205 | Height: 1016 206 | Hide Left Dock: false 207 | Hide Right Dock: false 208 | QMainWindow State: 000000ff00000000fd00000004000000000000016a00000351fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e00000351000000da00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000351fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003e00000351000000b100fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078000000044fc0100000002fb0000000800540069006d0065010000000000000780000002c400fffffffb0000000800540069006d00650100000000000004500000000000000000000004fb0000035100000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 209 | Selection: 210 | collapsed: false 211 | Time: 212 | collapsed: false 213 | Tool Properties: 214 | collapsed: false 215 | Views: 216 | collapsed: false 217 | Width: 1920 218 | X: 0 219 | Y: 40 220 | -------------------------------------------------------------------------------- /rg2_gazebo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(rg2_gazebo) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED) 11 | 12 | ## System dependencies are found with CMake's conventions 13 | # find_package(Boost REQUIRED COMPONENTS system) 14 | 15 | 16 | ## Uncomment this if the package has a setup.py. This macro ensures 17 | ## modules and global scripts declared therein get installed 18 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 19 | # catkin_python_setup() 20 | 21 | ################################################ 22 | ## Declare ROS messages, services and actions ## 23 | ################################################ 24 | 25 | ## To declare and build messages, services or actions from within this 26 | ## package, follow these steps: 27 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 28 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 29 | ## * In the file package.xml: 30 | ## * add a build_depend tag for "message_generation" 31 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 32 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 33 | ## but can be declared for certainty nonetheless: 34 | ## * add a exec_depend tag for "message_runtime" 35 | ## * In this file (CMakeLists.txt): 36 | ## * add "message_generation" and every package in MSG_DEP_SET to 37 | ## find_package(catkin REQUIRED COMPONENTS ...) 38 | ## * add "message_runtime" and every package in MSG_DEP_SET to 39 | ## catkin_package(CATKIN_DEPENDS ...) 40 | ## * uncomment the add_*_files sections below as needed 41 | ## and list every .msg/.srv/.action file to be processed 42 | ## * uncomment the generate_messages entry below 43 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 44 | 45 | ## Generate messages in the 'msg' folder 46 | # add_message_files( 47 | # FILES 48 | # Message1.msg 49 | # Message2.msg 50 | # ) 51 | 52 | ## Generate services in the 'srv' folder 53 | # add_service_files( 54 | # FILES 55 | # Service1.srv 56 | # Service2.srv 57 | # ) 58 | 59 | ## Generate actions in the 'action' folder 60 | # add_action_files( 61 | # FILES 62 | # Action1.action 63 | # Action2.action 64 | # ) 65 | 66 | ## Generate added messages and services with any dependencies listed here 67 | # generate_messages( 68 | # DEPENDENCIES 69 | # std_msgs # Or other packages containing msgs 70 | # ) 71 | 72 | ################################################ 73 | ## Declare ROS dynamic reconfigure parameters ## 74 | ################################################ 75 | 76 | ## To declare and build dynamic reconfigure parameters within this 77 | ## package, follow these steps: 78 | ## * In the file package.xml: 79 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 80 | ## * In this file (CMakeLists.txt): 81 | ## * add "dynamic_reconfigure" to 82 | ## find_package(catkin REQUIRED COMPONENTS ...) 83 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 84 | ## and list every .cfg file to be processed 85 | 86 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 87 | # generate_dynamic_reconfigure_options( 88 | # cfg/DynReconf1.cfg 89 | # cfg/DynReconf2.cfg 90 | # ) 91 | 92 | ################################### 93 | ## catkin specific configuration ## 94 | ################################### 95 | ## The catkin_package macro generates cmake config files for your package 96 | ## Declare things to be passed to dependent projects 97 | ## INCLUDE_DIRS: uncomment this if your package contains header files 98 | ## LIBRARIES: libraries you create in this project that dependent projects also need 99 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 100 | ## DEPENDS: system dependencies of this project that dependent projects also need 101 | catkin_package( 102 | # INCLUDE_DIRS include 103 | # LIBRARIES rg2_gazebo 104 | # CATKIN_DEPENDS other_catkin_pkg 105 | # DEPENDS system_lib 106 | ) 107 | 108 | ########### 109 | ## Build ## 110 | ########### 111 | 112 | ## Specify additional locations of header files 113 | ## Your package locations should be listed before other locations 114 | include_directories( 115 | # include 116 | # ${catkin_INCLUDE_DIRS} 117 | ) 118 | 119 | ## Declare a C++ library 120 | # add_library(${PROJECT_NAME} 121 | # src/${PROJECT_NAME}/rg2_gazebo.cpp 122 | # ) 123 | 124 | ## Add cmake target dependencies of the library 125 | ## as an example, code may need to be generated before libraries 126 | ## either from message generation or dynamic reconfigure 127 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 128 | 129 | ## Declare a C++ executable 130 | ## With catkin_make all packages are built within a single CMake context 131 | ## The recommended prefix ensures that target names across packages don't collide 132 | # add_executable(${PROJECT_NAME}_node src/rg2_gazebo_node.cpp) 133 | 134 | ## Rename C++ executable without prefix 135 | ## The above recommended prefix causes long target names, the following renames the 136 | ## target back to the shorter version for ease of user use 137 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 138 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 139 | 140 | ## Add cmake target dependencies of the executable 141 | ## same as for the library above 142 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 143 | 144 | ## Specify libraries to link a library or executable target against 145 | # target_link_libraries(${PROJECT_NAME}_node 146 | # ${catkin_LIBRARIES} 147 | # ) 148 | 149 | ############# 150 | ## Install ## 151 | ############# 152 | 153 | # all install targets should use catkin DESTINATION variables 154 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 155 | 156 | ## Mark executable scripts (Python etc.) for installation 157 | ## in contrast to setup.py, you can choose the destination 158 | # catkin_install_python(PROGRAMS 159 | # scripts/my_python_script 160 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 161 | # ) 162 | 163 | ## Mark executables for installation 164 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html 165 | # install(TARGETS ${PROJECT_NAME}_node 166 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 167 | # ) 168 | 169 | ## Mark libraries for installation 170 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html 171 | # install(TARGETS ${PROJECT_NAME} 172 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 173 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 174 | # RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} 175 | # ) 176 | 177 | ## Mark cpp header files for installation 178 | # install(DIRECTORY include/${PROJECT_NAME}/ 179 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 180 | # FILES_MATCHING PATTERN "*.h" 181 | # PATTERN ".svn" EXCLUDE 182 | # ) 183 | 184 | ## Mark other files for installation (e.g. launch and bag files, etc.) 185 | # install(FILES 186 | # # myfile1 187 | # # myfile2 188 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 189 | # ) 190 | 191 | ############# 192 | ## Testing ## 193 | ############# 194 | 195 | ## Add gtest based cpp test target and link libraries 196 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_rg2_gazebo.cpp) 197 | # if(TARGET ${PROJECT_NAME}-test) 198 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 199 | # endif() 200 | 201 | ## Add folders to be run by python nosetests 202 | # catkin_add_nosetests(test) 203 | -------------------------------------------------------------------------------- /rg2_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(rg2_description) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED) 11 | 12 | ## System dependencies are found with CMake's conventions 13 | # find_package(Boost REQUIRED COMPONENTS system) 14 | 15 | 16 | ## Uncomment this if the package has a setup.py. This macro ensures 17 | ## modules and global scripts declared therein get installed 18 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 19 | # catkin_python_setup() 20 | 21 | ################################################ 22 | ## Declare ROS messages, services and actions ## 23 | ################################################ 24 | 25 | ## To declare and build messages, services or actions from within this 26 | ## package, follow these steps: 27 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 28 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 29 | ## * In the file package.xml: 30 | ## * add a build_depend tag for "message_generation" 31 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 32 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 33 | ## but can be declared for certainty nonetheless: 34 | ## * add a exec_depend tag for "message_runtime" 35 | ## * In this file (CMakeLists.txt): 36 | ## * add "message_generation" and every package in MSG_DEP_SET to 37 | ## find_package(catkin REQUIRED COMPONENTS ...) 38 | ## * add "message_runtime" and every package in MSG_DEP_SET to 39 | ## catkin_package(CATKIN_DEPENDS ...) 40 | ## * uncomment the add_*_files sections below as needed 41 | ## and list every .msg/.srv/.action file to be processed 42 | ## * uncomment the generate_messages entry below 43 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 44 | 45 | ## Generate messages in the 'msg' folder 46 | # add_message_files( 47 | # FILES 48 | # Message1.msg 49 | # Message2.msg 50 | # ) 51 | 52 | ## Generate services in the 'srv' folder 53 | # add_service_files( 54 | # FILES 55 | # Service1.srv 56 | # Service2.srv 57 | # ) 58 | 59 | ## Generate actions in the 'action' folder 60 | # add_action_files( 61 | # FILES 62 | # Action1.action 63 | # Action2.action 64 | # ) 65 | 66 | ## Generate added messages and services with any dependencies listed here 67 | # generate_messages( 68 | # DEPENDENCIES 69 | # std_msgs # Or other packages containing msgs 70 | # ) 71 | 72 | ################################################ 73 | ## Declare ROS dynamic reconfigure parameters ## 74 | ################################################ 75 | 76 | ## To declare and build dynamic reconfigure parameters within this 77 | ## package, follow these steps: 78 | ## * In the file package.xml: 79 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 80 | ## * In this file (CMakeLists.txt): 81 | ## * add "dynamic_reconfigure" to 82 | ## find_package(catkin REQUIRED COMPONENTS ...) 83 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 84 | ## and list every .cfg file to be processed 85 | 86 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 87 | # generate_dynamic_reconfigure_options( 88 | # cfg/DynReconf1.cfg 89 | # cfg/DynReconf2.cfg 90 | # ) 91 | 92 | ################################### 93 | ## catkin specific configuration ## 94 | ################################### 95 | ## The catkin_package macro generates cmake config files for your package 96 | ## Declare things to be passed to dependent projects 97 | ## INCLUDE_DIRS: uncomment this if your package contains header files 98 | ## LIBRARIES: libraries you create in this project that dependent projects also need 99 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 100 | ## DEPENDS: system dependencies of this project that dependent projects also need 101 | catkin_package( 102 | # INCLUDE_DIRS include 103 | # LIBRARIES rg2_description 104 | # CATKIN_DEPENDS other_catkin_pkg 105 | # DEPENDS system_lib 106 | ) 107 | 108 | ########### 109 | ## Build ## 110 | ########### 111 | 112 | ## Specify additional locations of header files 113 | ## Your package locations should be listed before other locations 114 | include_directories( 115 | # include 116 | # ${catkin_INCLUDE_DIRS} 117 | ) 118 | 119 | ## Declare a C++ library 120 | # add_library(${PROJECT_NAME} 121 | # src/${PROJECT_NAME}/rg2_description.cpp 122 | # ) 123 | 124 | ## Add cmake target dependencies of the library 125 | ## as an example, code may need to be generated before libraries 126 | ## either from message generation or dynamic reconfigure 127 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 128 | 129 | ## Declare a C++ executable 130 | ## With catkin_make all packages are built within a single CMake context 131 | ## The recommended prefix ensures that target names across packages don't collide 132 | # add_executable(${PROJECT_NAME}_node src/rg2_description_node.cpp) 133 | 134 | ## Rename C++ executable without prefix 135 | ## The above recommended prefix causes long target names, the following renames the 136 | ## target back to the shorter version for ease of user use 137 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 138 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 139 | 140 | ## Add cmake target dependencies of the executable 141 | ## same as for the library above 142 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 143 | 144 | ## Specify libraries to link a library or executable target against 145 | # target_link_libraries(${PROJECT_NAME}_node 146 | # ${catkin_LIBRARIES} 147 | # ) 148 | 149 | ############# 150 | ## Install ## 151 | ############# 152 | 153 | # all install targets should use catkin DESTINATION variables 154 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 155 | 156 | ## Mark executable scripts (Python etc.) for installation 157 | ## in contrast to setup.py, you can choose the destination 158 | # catkin_install_python(PROGRAMS 159 | # scripts/my_python_script 160 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 161 | # ) 162 | 163 | ## Mark executables for installation 164 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html 165 | # install(TARGETS ${PROJECT_NAME}_node 166 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 167 | # ) 168 | 169 | ## Mark libraries for installation 170 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html 171 | # install(TARGETS ${PROJECT_NAME} 172 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 173 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 174 | # RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} 175 | # ) 176 | 177 | ## Mark cpp header files for installation 178 | # install(DIRECTORY include/${PROJECT_NAME}/ 179 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 180 | # FILES_MATCHING PATTERN "*.h" 181 | # PATTERN ".svn" EXCLUDE 182 | # ) 183 | 184 | ## Mark other files for installation (e.g. launch and bag files, etc.) 185 | # install(FILES 186 | # # myfile1 187 | # # myfile2 188 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 189 | # ) 190 | 191 | ############# 192 | ## Testing ## 193 | ############# 194 | 195 | ## Add gtest based cpp test target and link libraries 196 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_rg2_description.cpp) 197 | # if(TARGET ${PROJECT_NAME}-test) 198 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 199 | # endif() 200 | 201 | ## Add folders to be run by python nosetests 202 | # catkin_add_nosetests(test) 203 | -------------------------------------------------------------------------------- /rg2_description/urdf/rg2.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 35 | 36 | 37 | 38 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | True 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | True 86 | 87 | 88 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | True 125 | 126 | 127 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | True 165 | 166 | 167 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | True 204 | 205 | 206 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | True 243 | 244 | 245 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 270 | 271 | 272 | --------------------------------------------------------------------------------