Testing the setup
If there are warnings during the build
Ignored warnings:
WARNING: Package 'ur_modern_driver' is deprecated (This package has been deprecated. Users of CB3 and e-Series controllers should migrate to ur_robot_driver.)
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:418 (message):
catkin_package() include dir
'/home/miguel/MultiCobot-UR10-Gripper/build/gazebo-pkgs/gazebo_grasp_plugin/..'
should be placed in the devel space instead of the build space
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
gazebo-pkgs/gazebo_grasp_plugin/CMakeLists.txt:31 (catkin_package)
/home/miguel/MultiCobot-UR10-Gripper/src/ros_control/hardware_interface/include/hardware_interface/internal/interface_manager.h:69:85: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
static const void callConcatManagers(typename std::vector<T*>& managers, T* result)
Resolved warnings:
gazebo_version_helpers warning:
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'gazebo' but neither 'gazebo_INCLUDE_DIRS' nor
'gazebo_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
gazebo-pkgs/gazebo_version_helpers/CMakeLists.txt:26 (catkin_package)
Modify the file ~/MultiCobot-UR10-Gripper/src/gazebo-pkgs/gazebo_version_helpers/CMakeLists.txt, starting at line 26 as follows:
catkin_package(
INCLUDE_DIRS include
LIBRARIES gazebo_version_helpers
CATKIN_DEPENDS gazebo_ros roscpp
DEPENDS GAZEBO
)
gazebo_grasp_plugin warning:
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'gazebo' but neither 'gazebo_INCLUDE_DIRS' nor
'gazebo_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
gazebo-pkgs/gazebo_grasp_plugin/CMakeLists.txt:31 (catkin_package)
[...]
Modify the file ~/MultiCobot-UR10-Gripper/src/gazebo-pkgs/gazebo_grasp_plugin/CMakeLists.txt, starting at line 31 as follows:
catkin_package(
# Binary directory required for proto headers inclusion to work, because install commands don't
# get executed in devel space. The directory above is required so that an include of
# <gazebo_grasp_plugin/msgs/grasp_event.pb.h>
# also works in devel space like it needs to be in install space.
# Probably we can find a better solution for this, but until then this
# fix will be OK.
INCLUDE_DIRS include ${CMAKE_CURRENT_BINARY_DIR}/..
LIBRARIES gazebo_grasp_fix gazebo_grasp_msgs
CATKIN_DEPENDS gazebo_ros geometry_msgs roscpp std_msgs gazebo_version_helpers
DEPENDS GAZEBO
)
gazebo_grasp_plugin_ros warning:
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'gazebo' but neither 'gazebo_INCLUDE_DIRS' nor
'gazebo_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
gazebo-pkgs/gazebo_grasp_plugin_ros/CMakeLists.txt:34 (catkin_package)
[...]
Modify the file ~/MultiCobot-UR10-Gripper/src/gazebo-pkgs/gazebo_grasp_plugin_ros/CMakeLists.txt, starting at line 34 as follows:
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES gazebo_grasp_plugin_ros
CATKIN_DEPENDS gazebo_grasp_plugin message_runtime roscpp
DEPENDS GAZEBO
)
Small check of the system installation
Activation of the current working environment
cd ~/MultiCobot-UR10-Gripper
source ~/MultiCobot-UR10-Gripper/devel/setup.bash
Testing the basic configuration
After you install and configure the system, you can run tests to verify that the system works before making any further changes. It is not specified which tests can be run, as the source code repositories contain instructions for running small demos that are very useful for understanding what they can do.
The working environment should look like the following after installing all the repositories:
miguel@Omen:~/MultiCobot-UR10-Gripper/src$ ls
CMakeLists.txt geometry ros_control
gazebo-pkgs leap_motion roslint
gazebo_ros_pkgs object_recognition_msgs universal_robot
general-message-pkgs robotiq_2finger_grippers ur_modern_driver
Structure and detailed content of the directories
src/
├── CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake
├── gazebo-pkgs
│ ├── Dockerfile
│ ├── gazebo_grasp_plugin
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── gazebo_grasp_plugin
│ │ │ ├── GazeboGraspFix.h
│ │ │ └── GazeboGraspGripper.h
│ │ ├── msgs
│ │ │ ├── CMakeLists.txt
│ │ │ └── grasp_event.proto
│ │ ├── package.xml
│ │ └── src
│ │ ├── GazeboGraspFix.cpp
│ │ └── GazeboGraspGripper.cpp
│ ├── gazebo_grasp_plugin_ros
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ └── GazeboGraspEvent.msg
│ │ ├── package.xml
│ │ ├── README.md
│ │ └── src
│ │ └── grasp_event_republisher.cpp
│ ├── gazebo_state_plugins
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── GazeboMapPublisher.yaml
│ │ │ ├── GazeboObjectInfo.yaml
│ │ │ └── WorldPlugins.yaml
│ │ ├── include
│ │ │ └── gazebo_state_plugins
│ │ │ ├── GazeboMapPublisher.h
│ │ │ └── GazeboObjectInfo.h
│ │ ├── launch
│ │ │ └── plugin_loader.launch
│ │ ├── package.xml
│ │ ├── src
│ │ │ ├── GazeboMapPublisher.cpp
│ │ │ └── GazeboObjectInfo.cpp
│ │ └── test
│ │ └── object_info_request.cpp
│ ├── gazebo_test_tools
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── FakeObjectRecognizer.yaml
│ │ │ └── ObjectTFBroadcaster.yaml
│ │ ├── include
│ │ │ └── gazebo_test_tools
│ │ │ ├── FakeObjectRecognizer.h
│ │ │ └── gazebo_cube_spawner.h
│ │ ├── launch
│ │ │ ├── fake_object_recognizer.launch
│ │ │ ├── gazebo_fake_object_recognition.launch
│ │ │ ├── object_tf_broadcaster.launch
│ │ │ └── spawn_and_recognize_cube.launch
│ │ ├── package.xml
│ │ ├── src
│ │ │ ├── cube_spawner.cpp
│ │ │ ├── cube_spawner_node.cpp
│ │ │ ├── FakeObjectRecognizer.cpp
│ │ │ ├── fake_object_recognizer_node.cpp
│ │ │ └── SetGazeboPhysicsClient.cpp
│ │ ├── srv
│ │ │ └── RecognizeGazeboObject.srv
│ │ └── test
│ │ └── fake_object_recognizer_cmd.cpp
│ ├── gazebo_version_helpers
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── gazebo_version_helpers
│ │ │ └── GazeboVersionHelpers.h
│ │ ├── package.xml
│ │ └── src
│ │ └── GazeboVersionHelpers.cpp
│ ├── gazebo_world_plugin_loader
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ └── WorldPluginsTemplate.config
│ │ ├── include
│ │ │ └── gazebo_world_plugin_loader
│ │ │ └── GazeboPluginLoader.h
│ │ ├── launch
│ │ │ └── plugin_loader_template.launch
│ │ ├── package.xml
│ │ └── src
│ │ └── GazeboPluginLoader.cpp
│ ├── LICENSE
│ ├── README.md
│ └── TODO.md
├── gazebo_ros_pkgs
│ ├── CONTRIBUTING.md
│ ├── gazebo_dev
│ │ ├── CHANGELOG.rst
│ │ ├── cmake
│ │ │ └── gazebo_dev-extras.cmake
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ ├── gazebo_msgs
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ ├── ContactsState.msg
│ │ │ ├── ContactState.msg
│ │ │ ├── LinkState.msg
│ │ │ ├── LinkStates.msg
│ │ │ ├── ModelState.msg
│ │ │ ├── ModelStates.msg
│ │ │ ├── ODEJointProperties.msg
│ │ │ ├── ODEPhysics.msg
│ │ │ ├── PerformanceMetrics.msg
│ │ │ ├── SensorPerformanceMetric.msg
│ │ │ └── WorldState.msg
│ │ ├── package.xml
│ │ └── srv
│ │ ├── ApplyBodyWrench.srv
│ │ ├── ApplyJointEffort.srv
│ │ ├── BodyRequest.srv
│ │ ├── DeleteLight.srv
│ │ ├── DeleteModel.srv
│ │ ├── GetJointProperties.srv
│ │ ├── GetLightProperties.srv
│ │ ├── GetLinkProperties.srv
│ │ ├── GetLinkState.srv
│ │ ├── GetModelProperties.srv
│ │ ├── GetModelState.srv
│ │ ├── GetPhysicsProperties.srv
│ │ ├── GetWorldProperties.srv
│ │ ├── JointRequest.srv
│ │ ├── SetJointProperties.srv
│ │ ├── SetJointTrajectory.srv
│ │ ├── SetLightProperties.srv
│ │ ├── SetLinkProperties.srv
│ │ ├── SetLinkState.srv
│ │ ├── SetModelConfiguration.srv
│ │ ├── SetModelState.srv
│ │ ├── SetPhysicsProperties.srv
│ │ └── SpawnModel.srv
│ ├── gazebo_plugins
│ │ ├── cfg
│ │ │ ├── CameraSynchronizer.cfg
│ │ │ ├── GazeboRosCamera.cfg
│ │ │ ├── GazeboRosOpenniKinect.cfg
│ │ │ └── Hokuyo.cfg
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── gazebo_plugins
│ │ │ ├── gazebo_ros_block_laser.h
│ │ │ ├── gazebo_ros_bumper.h
│ │ │ ├── gazebo_ros_camera.h
│ │ │ ├── gazebo_ros_camera_utils.h
│ │ │ ├── gazebo_ros_depth_camera.h
│ │ │ ├── gazebo_ros_diff_drive.h
│ │ │ ├── gazebo_ros_elevator.h
│ │ │ ├── gazebo_ros_f3d.h
│ │ │ ├── gazebo_ros_force.h
│ │ │ ├── gazebo_ros_ft_sensor.h
│ │ │ ├── gazebo_ros_gpu_laser.h
│ │ │ ├── gazebo_ros_hand_of_god.h
│ │ │ ├── gazebo_ros_harness.h
│ │ │ ├── gazebo_ros_imu.h
│ │ │ ├── gazebo_ros_imu_sensor.h
│ │ │ ├── gazebo_ros_joint_pose_trajectory.h
│ │ │ ├── gazebo_ros_joint_state_publisher.h
│ │ │ ├── gazebo_ros_joint_trajectory.h
│ │ │ ├── gazebo_ros_laser.h
│ │ │ ├── gazebo_ros_moveit_planning_scene.h
│ │ │ ├── gazebo_ros_multicamera.h
│ │ │ ├── gazebo_ros_openni_kinect.h
│ │ │ ├── gazebo_ros_p3d.h
│ │ │ ├── gazebo_ros_planar_move.h
│ │ │ ├── gazebo_ros_projector.h
│ │ │ ├── gazebo_ros_prosilica.h
│ │ │ ├── gazebo_ros_range.h
│ │ │ ├── gazebo_ros_skid_steer_drive.h
│ │ │ ├── gazebo_ros_template.h
│ │ │ ├── gazebo_ros_tricycle_drive.h
│ │ │ ├── gazebo_ros_triggered_camera.h
│ │ │ ├── gazebo_ros_triggered_multicamera.h
│ │ │ ├── gazebo_ros_utils.h
│ │ │ ├── gazebo_ros_vacuum_gripper.h
│ │ │ ├── gazebo_ros_video.h
│ │ │ ├── MultiCameraPlugin.h
│ │ │ ├── PubQueue.h
│ │ │ └── vision_reconfigure.h
│ │ ├── Media
│ │ │ └── models
│ │ │ └── chair
│ │ │ ├── doc.kml
│ │ │ ├── images
│ │ │ │ ├── texture0.jpg
│ │ │ │ └── texture1.jpg
│ │ │ ├── models
│ │ │ │ ├── Chair.dae
│ │ │ │ └── Chair.stl
│ │ │ └── textures.txt
│ │ ├── package.xml
│ │ ├── scripts
│ │ │ ├── gazebo_model
│ │ │ ├── set_pose.py
│ │ │ ├── set_wrench.py
│ │ │ └── test_range.py
│ │ ├── setup.py
│ │ ├── src
│ │ │ ├── camera_synchronizer.cpp
│ │ │ ├── gazebo_plugins
│ │ │ │ ├── gazebo_plugins_interface.py
│ │ │ │ └── __init__.py
│ │ │ ├── gazebo_ros_block_laser.cpp
│ │ │ ├── gazebo_ros_bumper.cpp
│ │ │ ├── gazebo_ros_camera.cpp
│ │ │ ├── gazebo_ros_camera_utils.cpp
│ │ │ ├── gazebo_ros_depth_camera.cpp
│ │ │ ├── gazebo_ros_diff_drive.cpp
│ │ │ ├── gazebo_ros_elevator.cpp
│ │ │ ├── gazebo_ros_f3d.cpp
│ │ │ ├── gazebo_ros_force.cpp
│ │ │ ├── gazebo_ros_ft_sensor.cpp
│ │ │ ├── gazebo_ros_gpu_laser.cpp
│ │ │ ├── gazebo_ros_hand_of_god.cpp
│ │ │ ├── gazebo_ros_harness.cpp
│ │ │ ├── gazebo_ros_imu.cpp
│ │ │ ├── gazebo_ros_imu_sensor.cpp
│ │ │ ├── gazebo_ros_joint_pose_trajectory.cpp
│ │ │ ├── gazebo_ros_joint_state_publisher.cpp
│ │ │ ├── gazebo_ros_joint_trajectory.cpp
│ │ │ ├── gazebo_ros_laser.cpp
│ │ │ ├── gazebo_ros_moveit_planning_scene.cpp
│ │ │ ├── gazebo_ros_multicamera.cpp
│ │ │ ├── gazebo_ros_openni_kinect.cpp
│ │ │ ├── gazebo_ros_p3d.cpp
│ │ │ ├── gazebo_ros_planar_move.cpp
│ │ │ ├── gazebo_ros_projector.cpp
│ │ │ ├── gazebo_ros_prosilica.cpp
│ │ │ ├── gazebo_ros_range.cpp
│ │ │ ├── gazebo_ros_skid_steer_drive.cpp
│ │ │ ├── gazebo_ros_template.cpp
│ │ │ ├── gazebo_ros_tricycle_drive.cpp
│ │ │ ├── gazebo_ros_triggered_camera.cpp
│ │ │ ├── gazebo_ros_triggered_multicamera.cpp
│ │ │ ├── gazebo_ros_utils.cpp
│ │ │ ├── gazebo_ros_vacuum_gripper.cpp
│ │ │ ├── gazebo_ros_video.cpp
│ │ │ ├── hokuyo_node.cpp
│ │ │ ├── MultiCameraPlugin.cpp
│ │ │ └── vision_reconfigure.cpp
│ │ ├── test
│ │ │ ├── bumper_test
│ │ │ │ ├── gazebo_ros_bumper.world
│ │ │ │ ├── test_bumper.launch
│ │ │ │ └── test_bumper.py
│ │ │ ├── camera
│ │ │ │ ├── camera16bit.cpp
│ │ │ │ ├── camera16bit.test
│ │ │ │ ├── camera16bit.world
│ │ │ │ ├── camera.cpp
│ │ │ │ ├── camera.h
│ │ │ │ ├── camera.test
│ │ │ │ ├── camera.world
│ │ │ │ ├── depth_camera.cpp
│ │ │ │ ├── depth_camera.test
│ │ │ │ ├── depth_camera.world
│ │ │ │ ├── distortion_barrel.cpp
│ │ │ │ ├── distortion_barrel.test
│ │ │ │ ├── distortion_barrel.world
│ │ │ │ ├── distortion.h
│ │ │ │ ├── distortion_pincushion.cpp
│ │ │ │ ├── distortion_pincushion.test
│ │ │ │ ├── distortion_pincushion.world
│ │ │ │ ├── multicamera.cpp
│ │ │ │ ├── multicamera.test
│ │ │ │ ├── multicamera.world
│ │ │ │ ├── triggered_camera.cpp
│ │ │ │ ├── triggered_camera.test
│ │ │ │ └── triggered_camera.world
│ │ │ ├── config
│ │ │ │ └── example_models.yaml
│ │ │ ├── multi_robot_scenario
│ │ │ │ ├── launch
│ │ │ │ │ ├── multi_robot_scenario.launch
│ │ │ │ │ ├── pioneer3dx.gazebo.launch
│ │ │ │ │ ├── pioneer3dx.rviz
│ │ │ │ │ └── pioneer3dx.urdf.launch
│ │ │ │ ├── meshes
│ │ │ │ │ ├── laser
│ │ │ │ │ │ └── hokuyo.dae
│ │ │ │ │ └── p3dx
│ │ │ │ │ ├── back_rim.stl
│ │ │ │ │ ├── back_sonar.stl
│ │ │ │ │ ├── center_hubcap.stl
│ │ │ │ │ ├── center_wheel.stl
│ │ │ │ │ ├── chassis.stl
│ │ │ │ │ ├── Coordinates
│ │ │ │ │ ├── front_rim.stl
│ │ │ │ │ ├── front_sonar.stl
│ │ │ │ │ ├── left_hubcap.stl
│ │ │ │ │ ├── left_wheel.stl
│ │ │ │ │ ├── right_hubcap.stl
│ │ │ │ │ ├── right_wheel.stl
│ │ │ │ │ ├── swivel.stl
│ │ │ │ │ └── top.stl
│ │ │ │ └── xacro
│ │ │ │ ├── camera
│ │ │ │ │ └── camera.xacro
│ │ │ │ ├── laser
│ │ │ │ │ ├── hokuyo_gpu.xacro
│ │ │ │ │ └── hokuyo.xacro
│ │ │ │ ├── materials.xacro
│ │ │ │ └── p3dx
│ │ │ │ ├── battery_block.xacro
│ │ │ │ ├── inertia_tensors.xacro
│ │ │ │ ├── pioneer3dx_body.xacro
│ │ │ │ ├── pioneer3dx_chassis.xacro
│ │ │ │ ├── pioneer3dx_plugins.xacro
│ │ │ │ ├── pioneer3dx_sonar.xacro
│ │ │ │ ├── pioneer3dx_swivel.xacro
│ │ │ │ ├── pioneer3dx_wheel.xacro
│ │ │ │ └── pioneer3dx.xacro
│ │ │ ├── p3d_test
│ │ │ │ ├── test_3_double_pendulums.launch
│ │ │ │ ├── test_3_single_pendulums.launch
│ │ │ │ ├── test_double_pendulum.launch
│ │ │ │ ├── test_link_pose.py
│ │ │ │ ├── test_single_pendulum.launch
│ │ │ │ └── worlds
│ │ │ │ ├── 3_double_pendulums.world
│ │ │ │ ├── 3_single_pendulums.world
│ │ │ │ ├── double_pendulum.world
│ │ │ │ └── single_pendulum.world
│ │ │ ├── pub_joint_trajectory_test.cpp
│ │ │ ├── range
│ │ │ │ └── range_plugin.test
│ │ │ ├── set_model_state_test
│ │ │ │ ├── set_model_state_test.cpp
│ │ │ │ ├── set_model_state_test_p2dx.world
│ │ │ │ └── set_model_state_test.test
│ │ │ ├── spawn_test
│ │ │ │ ├── parameter_server_test.launch
│ │ │ │ └── spawn_robots.sh
│ │ │ ├── test_worlds
│ │ │ │ ├── bumper_test.world
│ │ │ │ ├── elevator.world
│ │ │ │ ├── gazebo_ros_block_laser.world
│ │ │ │ ├── gazebo_ros_camera.world
│ │ │ │ ├── gazebo_ros_depth_camera.world
│ │ │ │ ├── gazebo_ros_gpu_laser.world
│ │ │ │ ├── gazebo_ros_laser.world
│ │ │ │ ├── gazebo_ros_range.world
│ │ │ │ ├── gazebo_ros_trimesh_collision.world
│ │ │ │ └── test_lasers.world
│ │ │ └── tricycle_drive
│ │ │ ├── launch
│ │ │ │ ├── tricycle_drive_scenario.launch
│ │ │ │ ├── tricycle.gazebo.launch
│ │ │ │ ├── tricycle.rviz
│ │ │ │ ├── tricycle_rviz.launch
│ │ │ │ └── tricycle.urdf.launch
│ │ │ └── xacro
│ │ │ ├── materials.xacro
│ │ │ └── tricycle
│ │ │ ├── inertia_tensors.xacro
│ │ │ ├── tricycle_body.xacro
│ │ │ ├── tricycle_chassis.xacro
│ │ │ ├── tricycle_plugins.xacro
│ │ │ ├── tricycle.xacro
│ │ │ ├── wheel_actuated.xacro
│ │ │ └── wheel.xacro
│ │ └── test2
│ │ ├── CMakeLists_tests_pkg.txt
│ │ ├── contact_tolerance
│ │ │ ├── contact_tolerance.cpp
│ │ │ └── contact_tolerance.launch
│ │ ├── large_models
│ │ │ ├── large_model.launch
│ │ │ ├── large_models.world
│ │ │ ├── large_model.urdf.xacro
│ │ │ ├── smaller_large_model.launch
│ │ │ └── smaller_large_model.urdf.xacro
│ │ ├── lcp_tests
│ │ │ ├── balance.launch
│ │ │ ├── balance.world
│ │ │ ├── stack.launch
│ │ │ ├── stacks.launch
│ │ │ ├── stacks.world
│ │ │ └── stack.world
│ │ ├── meshes
│ │ │ ├── cube_20k.stl
│ │ │ ├── cube_30k.stl
│ │ │ └── cube.wings
│ │ ├── spawn_model
│ │ │ ├── check_model.cpp
│ │ │ ├── spawn_box.cpp
│ │ │ ├── spawn_box_file.launch
│ │ │ ├── spawn_box.launch
│ │ │ └── spawn_box_param.launch
│ │ ├── trimesh_tests
│ │ │ └── test_trimesh.launch
│ │ ├── urdf
│ │ │ ├── box.urdf
│ │ │ └── cube.urdf
│ │ └── worlds
│ │ └── empty.world
│ ├── gazebo_ros
│ │ ├── cfg
│ │ │ └── Physics.cfg
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── gazebo_ros
│ │ │ └── gazebo_ros_api_plugin.h
│ │ ├── launch
│ │ │ ├── elevator_world.launch
│ │ │ ├── empty_world.launch
│ │ │ ├── mud_world.launch
│ │ │ ├── range_world.launch
│ │ │ ├── rubble_world.launch
│ │ │ ├── shapes_world.launch
│ │ │ └── willowgarage_world.launch
│ │ ├── package.xml
│ │ ├── scripts
│ │ │ ├── debug
│ │ │ ├── gazebo
│ │ │ ├── gdbrun
│ │ │ ├── gzclient
│ │ │ ├── gzserver
│ │ │ ├── libcommon.sh
│ │ │ ├── perf
│ │ │ └── spawn_model
│ │ ├── setup.py
│ │ └── src
│ │ ├── gazebo_ros
│ │ │ ├── gazebo_interface.py
│ │ │ ├── gazebo_interface.pyc
│ │ │ └── __init__.py
│ │ ├── gazebo_ros_api_plugin.cpp
│ │ └── gazebo_ros_paths_plugin.cpp
│ ├── gazebo_ros_control
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── gazebo_ros_control
│ │ │ ├── default_robot_hw_sim.h
│ │ │ ├── gazebo_ros_control_plugin.h
│ │ │ └── robot_hw_sim.h
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── robot_hw_sim_plugins.xml
│ │ └── src
│ │ ├── default_robot_hw_sim.cpp
│ │ └── gazebo_ros_control_plugin.cpp
│ ├── gazebo_ros_pkgs
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── documentation
│ │ │ ├── gazebo_ros_api.odg
│ │ │ ├── gazebo_ros_api.pdf
│ │ │ ├── gazebo_ros_api.png
│ │ │ ├── gazebo_ros_transmission.odg
│ │ │ ├── gazebo_ros_transmission.pdf
│ │ │ └── gazebo_ros_transmission.png
│ │ └── package.xml
│ ├── README.md
│ └── SENSORS.md
├── general-message-pkgs
│ ├── Dockerfile
│ ├── LICENSE
│ ├── object_msgs
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ ├── Object.msg
│ │ │ └── ObjectPose.msg
│ │ ├── package.xml
│ │ └── srv
│ │ ├── ObjectInfo.srv
│ │ └── RegisterObject.srv
│ ├── object_msgs_tools
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ └── ObjectTFBroadcaster.yaml
│ │ ├── include
│ │ │ └── object_msgs_tools
│ │ │ ├── ObjectFunctions.h
│ │ │ └── ObjectTFBroadcaster.h
│ │ ├── launch
│ │ │ └── object_tf_broadcaster.launch
│ │ ├── package.xml
│ │ └── src
│ │ ├── ObjectFunctions.cpp
│ │ ├── ObjectTFBroadcaster.cpp
│ │ ├── object_tf_broadcaster_node.cpp
│ │ └── register_object_client.cpp
│ ├── path_navigation_msgs
│ │ ├── action
│ │ │ ├── PathExecution.action
│ │ │ └── TransformPathExecution.action
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ └── README.md
├── geometry
│ ├── eigen_conversions
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── eigen_conversions
│ │ │ ├── eigen_kdl.h
│ │ │ └── eigen_msg.h
│ │ ├── mainpage.dox
│ │ ├── package.xml
│ │ └── src
│ │ ├── eigen_kdl.cpp
│ │ └── eigen_msg.cpp
│ ├── geometry
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ ├── kdl_conversions
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── kdl_conversions
│ │ │ └── kdl_msg.h
│ │ ├── mainpage.dox
│ │ ├── package.xml
│ │ └── src
│ │ └── kdl_msg.cpp
│ ├── tf
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── conf.py
│ │ ├── doc
│ │ │ ├── bifrucation.gv
│ │ │ └── bifrucation.pdf
│ │ ├── include
│ │ │ └── tf
│ │ │ ├── exceptions.h
│ │ │ ├── LinearMath
│ │ │ │ ├── Matrix3x3.h
│ │ │ │ ├── MinMax.h
│ │ │ │ ├── QuadWord.h
│ │ │ │ ├── Quaternion.h
│ │ │ │ ├── Scalar.h
│ │ │ │ ├── Transform.h
│ │ │ │ └── Vector3.h
│ │ │ ├── message_filter.h
│ │ │ ├── tf.h
│ │ │ ├── time_cache.h
│ │ │ ├── transform_broadcaster.h
│ │ │ ├── transform_datatypes.h
│ │ │ └── transform_listener.h
│ │ ├── index.rst
│ │ ├── mainpage.dox
│ │ ├── msg
│ │ │ └── tfMessage.msg
│ │ ├── package.xml
│ │ ├── remap_tf.launch
│ │ ├── rosdoc.yaml
│ │ ├── scripts
│ │ │ ├── bullet_migration_sed.py
│ │ │ ├── groovy_compatibility
│ │ │ │ ├── tf_remap
│ │ │ │ └── view_frames
│ │ │ ├── python_benchmark.py
│ │ │ ├── tf_remap
│ │ │ └── view_frames
│ │ ├── setup.py
│ │ ├── src
│ │ │ ├── cache.cpp
│ │ │ ├── change_notifier.cpp
│ │ │ ├── empty_listener.cpp
│ │ │ ├── static_transform_publisher.cpp
│ │ │ ├── tf
│ │ │ │ ├── broadcaster.py
│ │ │ │ ├── broadcaster.pyc
│ │ │ │ ├── __init__.py
│ │ │ │ ├── listener.py
│ │ │ │ ├── listener.pyc
│ │ │ │ ├── tfwtf.py
│ │ │ │ ├── transformations.py
│ │ │ │ └── transformations.pyc
│ │ │ ├── tf.cpp
│ │ │ ├── tf_echo.cpp
│ │ │ ├── tf_monitor.cpp
│ │ │ ├── transform_broadcaster.cpp
│ │ │ └── transform_listener.cpp
│ │ ├── srv
│ │ │ └── FrameGraph.srv
│ │ ├── test
│ │ │ ├── cache_unittest.cpp
│ │ │ ├── method_test.py
│ │ │ ├── operator_overload.cpp
│ │ │ ├── python_debug_test.py
│ │ │ ├── quaternion.cpp
│ │ │ ├── speed_test.cpp
│ │ │ ├── testBroadcaster.cpp
│ │ │ ├── test_broadcaster.launch
│ │ │ ├── test_datatype_conversion.py
│ │ │ ├── testListener.cpp
│ │ │ ├── test_message_filter.cpp
│ │ │ ├── test_message_filter.xml
│ │ │ ├── testPython.py
│ │ │ ├── test_transform_datatypes.cpp
│ │ │ ├── tf_benchmark.cpp
│ │ │ ├── tf_unittest.cpp
│ │ │ ├── tf_unittest_future.cpp
│ │ │ ├── transform_listener_unittest.cpp
│ │ │ ├── transform_listener_unittest.launch
│ │ │ ├── transform_twist_test.cpp
│ │ │ ├── transform_twist_test.launch
│ │ │ └── velocity_test.cpp
│ │ ├── tf_python.rst
│ │ └── transformations.rst
│ └── tf_conversions
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── conf.py
│ ├── include
│ │ └── tf_conversions
│ │ ├── mainpage.dox
│ │ ├── tf_eigen.h
│ │ └── tf_kdl.h
│ ├── index.rst
│ ├── package.xml
│ ├── rosdoc.yaml
│ ├── setup.py
│ ├── src
│ │ ├── tf_conversions
│ │ │ ├── __init__.py
│ │ │ └── posemath.py
│ │ ├── tf_eigen.cpp
│ │ └── tf_kdl.cpp
│ └── test
│ ├── posemath.py
│ ├── test_eigen_tf.cpp
│ └── test_kdl_tf.cpp
├── leap_motion
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── config
│ │ ├── camera_info
│ │ │ ├── leap_cal_left.yml
│ │ │ └── leap_cal_right.yml
│ │ ├── filter_params.yaml
│ │ ├── listener_params.yaml
│ │ └── RViz
│ │ ├── leap_camera.rviz
│ │ ├── leap_demo.rviz
│ │ └── leap_visualization.rviz
│ ├── inc
│ │ ├── lmc_filter_node.h
│ │ └── lmc_listener.h
│ ├── launch
│ │ ├── camera.launch
│ │ ├── demo.launch
│ │ ├── leap_camera.launch
│ │ ├── leap_stereo.launch
│ │ ├── sensor_sender.launch
│ │ └── visualization.launch
│ ├── LeapSDK
│ │ ├── include
│ │ │ ├── Leap.h
│ │ │ ├── Leap.i
│ │ │ └── LeapMath.h
│ │ ├── lib
│ │ │ ├── Leap.py
│ │ │ ├── x64
│ │ │ │ ├── LeapPython.so
│ │ │ │ └── libLeap.so
│ │ │ └── x86
│ │ │ ├── LeapPython.so
│ │ │ └── libLeap.so
│ │ └── util
│ │ ├── LeapScene.cpp
│ │ ├── LeapScene.h
│ │ ├── LeapUtil.cpp
│ │ ├── LeapUtilGL.cpp
│ │ ├── LeapUtilGL.h
│ │ └── LeapUtil.h
│ ├── msg
│ │ ├── Arm.msg
│ │ ├── Bone.msg
│ │ ├── Finger.msg
│ │ ├── Gesture.msg
│ │ ├── Hand.msg
│ │ ├── Human.msg
│ │ ├── leapcobotleft.msg
│ │ ├── leapcobotright.msg
│ │ ├── leap.msg
│ │ └── leapros.msg
│ ├── package.xml
│ ├── README.md
│ ├── scripts
│ │ ├── leap_interface.py
│ │ ├── sender.py
│ │ ├── skeleton_sender.py
│ │ └── subscriber.py
│ └── src
│ ├── leap_camera.cpp
│ ├── leap_hands.cpp
│ ├── lmc_camera_node.cpp
│ ├── lmc_driver_node.cpp
│ ├── lmc_filter_node.cpp
│ ├── lmc_listener.cpp
│ └── lmc_visualizer_node.cpp
├── object_recognition_msgs
│ ├── action
│ │ └── ObjectRecognition.action
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── msg
│ │ ├── ObjectInformation.msg
│ │ ├── ObjectType.msg
│ │ ├── RecognizedObjectArray.msg
│ │ ├── RecognizedObject.msg
│ │ ├── TableArray.msg
│ │ └── Table.msg
│ ├── package.xml
│ └── srv
│ └── GetObjectInformation.srv
├── robotiq_2finger_grippers
│ ├── README.md
│ ├── robotiq_2f_140_gripper_visualization
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ └── test_2f_140_model.launch
│ │ ├── meshes
│ │ │ ├── collision
│ │ │ │ ├── robotiq_arg2f_140_inner_finger.stl
│ │ │ │ ├── robotiq_arg2f_140_inner_knuckle.stl
│ │ │ │ ├── robotiq_arg2f_140_outer_finger.stl
│ │ │ │ ├── robotiq_arg2f_140_outer_knuckle.stl
│ │ │ │ ├── robotiq_arg2f_base_link.stl
│ │ │ │ └── robotiq_arg2f_coupling.stl
│ │ │ └── visual
│ │ │ ├── robotiq_arg2f_140_inner_finger.stl
│ │ │ ├── robotiq_arg2f_140_inner_knuckle.stl
│ │ │ ├── robotiq_arg2f_140_outer_finger.stl
│ │ │ ├── robotiq_arg2f_140_outer_knuckle.stl
│ │ │ ├── robotiq_arg2f_base_link.stl
│ │ │ └── robotiq_arg2f_coupling.stl
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── urdf
│ │ │ ├── robotiq_arg2f_140_model_macro.xacro
│ │ │ ├── robotiq_arg2f_140_model.xacro
│ │ │ ├── robotiq_arg2f_transmission.xacro
│ │ │ └── robotiq_arg2f.xacro
│ │ └── visualize.rviz
│ ├── robotiq_2f_85_gripper_visualization
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ └── test_2f_85_model.launch
│ │ ├── meshes
│ │ │ ├── collision
│ │ │ │ ├── robotiq_arg2f_85_base_link.stl
│ │ │ │ ├── robotiq_arg2f_85_inner_finger.dae
│ │ │ │ ├── robotiq_arg2f_85_inner_knuckle.dae
│ │ │ │ ├── robotiq_arg2f_85_outer_finger.dae
│ │ │ │ ├── robotiq_arg2f_85_outer_knuckle.dae
│ │ │ │ └── robotiq_arg2f_base_link.stl
│ │ │ └── visual
│ │ │ ├── robotiq_arg2f_85_base_link.dae
│ │ │ ├── robotiq_arg2f_85_inner_finger.dae
│ │ │ ├── robotiq_arg2f_85_inner_knuckle.dae
│ │ │ ├── robotiq_arg2f_85_outer_finger.dae
│ │ │ ├── robotiq_arg2f_85_outer_knuckle.dae
│ │ │ ├── robotiq_arg2f_85_pad.dae
│ │ │ └── robotiq_gripper_coupling.stl
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── urdf
│ │ │ ├── robotiq_arg2f_85_model_macro.xacro
│ │ │ ├── robotiq_arg2f_85_model.xacro
│ │ │ ├── robotiq_arg2f_transmission.xacro
│ │ │ └── robotiq_arg2f.xacro
│ │ └── visualize.rviz
│ ├── robotiq_2f_gripper_control
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── robotiq_2f_gripper_control
│ │ │ └── robotiq_gripper_client.h
│ │ ├── launch
│ │ │ ├── robotiq_action_server.launch
│ │ │ ├── robotiq_dual_action_server.launch
│ │ │ ├── test_140mm_gripper.launch
│ │ │ └── test_85mm_gripper.launch
│ │ ├── package.xml
│ │ ├── scripts
│ │ │ ├── robotiq_2f_action_client_example.py
│ │ │ └── robotiq_2f_action_server.py
│ │ ├── setup.py
│ │ └── src
│ │ └── robotiq_2f_gripper_control
│ │ ├── __init__.py
│ │ ├── modbus_crc.py
│ │ ├── robotiq_2f_gripper_driver.py
│ │ └── robotiq_2f_gripper.py
│ ├── robotiq_2f_gripper_msgs
│ │ ├── action
│ │ │ └── CommandRobotiqGripper.action
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ ├── RobotiqGripperCommand.msg
│ │ │ └── RobotiqGripperStatus.msg
│ │ └── package.xml
│ └── robotiq_modbus_rtu
│ ├── CMakeLists.txt
│ ├── mainpage.dox
│ ├── package.xml
│ ├── setup.py
│ └── src
│ └── robotiq_modbus_rtu
│ ├── comModbusRtu.py
│ └── __init__.py
├── robotiq_85_gripper
│ ├── LICENSE
│ ├── README.md
│ ├── robotiq_85_bringup
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── robotiq_85.launch
│ │ │ ├── robotiq_85_test_close.launch
│ │ │ └── robotiq_85_test_open.launch
│ │ ├── package.xml
│ │ └── rviz
│ │ └── robotiq_85.rviz
│ ├── robotiq_85_description
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── display.launch
│ │ │ └── upload_robotiq_85_gripper.launch
│ │ ├── meshes
│ │ │ ├── collision
│ │ │ │ ├── robotiq_85_base_link.stl
│ │ │ │ ├── robotiq_85_finger_link.stl
│ │ │ │ ├── robotiq_85_finger_tip_link.stl
│ │ │ │ ├── robotiq_85_inner_knuckle_link.stl
│ │ │ │ └── robotiq_85_knuckle_link.stl
│ │ │ └── visual
│ │ │ ├── robotiq_85_base_link.dae
│ │ │ ├── robotiq_85_finger_link.dae
│ │ │ ├── robotiq_85_finger_tip_link.dae
│ │ │ ├── robotiq_85_inner_knuckle_link.dae
│ │ │ └── robotiq_85_knuckle_link.dae
│ │ ├── package.xml
│ │ ├── urdf
│ │ │ ├── left_robotiq_85_gripper.xacro
│ │ │ ├── right_robotiq_85_gripper.xacro
│ │ │ ├── robotiq_85_gripper_sim_base.urdf.xacro
│ │ │ ├── robotiq_85_gripper.transmission.xacro
│ │ │ ├── robotiq_85_gripper.urdf.xacro
│ │ │ └── robotiq_85_gripper.xacro
│ │ └── urdf.rviz
│ ├── robotiq_85_driver
│ │ ├── bin
│ │ │ ├── robotiq_85_driver
│ │ │ ├── robotiq_85_test
│ │ │ └── robotiq_85_test_close
│ │ ├── CMakeLists.txt
│ │ ├── package.xml
│ │ ├── setup.py
│ │ └── src
│ │ └── robotiq_85
│ │ ├── gripper_io.py
│ │ ├── __init__.py
│ │ ├── modbus_crc.py
│ │ ├── robotiq_85_driver.py
│ │ ├── robotiq_85_gripper.py
│ │ ├── robotiq_85_gripper_test.py
│ │ ├── robotiq_85_gripper_test.pyc
│ │ └── robotiq_85_test_close.py
│ ├── robotiq_85_gripper
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ ├── robotiq_85_moveit_config
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── robotiq_85_gripper.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── joystick_control.launch
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── robotiq_85_gripper_moveit_controller_manager.launch.xml
│ │ │ ├── robotiq_85_gripper_moveit_sensor_manager.launch.xml
│ │ │ ├── robotiq_85_moveit_planning_execution.launch
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ └── package.xml
│ ├── robotiq_85_msgs
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ ├── GripperCmd.msg
│ │ │ └── GripperStat.msg
│ │ └── package.xml
│ ├── robotiq_85_simulation
│ │ ├── roboticsgroup_gazebo_plugins
│ │ │ ├── CMakeLists.txt
│ │ │ ├── include
│ │ │ │ └── roboticsgroup_gazebo_plugins
│ │ │ │ ├── disable_link_plugin.h
│ │ │ │ └── mimic_joint_plugin.h
│ │ │ ├── package.xml
│ │ │ ├── README.md
│ │ │ └── src
│ │ │ ├── disable_link_plugin.cpp
│ │ │ └── mimic_joint_plugin.cpp
│ │ ├── robotiq_85_gazebo
│ │ │ ├── CMakeLists.txt
│ │ │ ├── controller
│ │ │ │ ├── gripper_controller_robotiq_double.yaml
│ │ │ │ ├── gripper_controller_robotiq.yaml
│ │ │ │ └── joint_state_controller.yaml
│ │ │ ├── launch
│ │ │ │ ├── controller_utils.launch
│ │ │ │ ├── robotiq_85.launch
│ │ │ │ ├── robotiq_85_moveit_rviz_test.launch
│ │ │ │ ├── robotiq_85_moveit_sim.launch
│ │ │ │ └── test_kinematics.launch
│ │ │ ├── package.xml
│ │ │ └── scripts
│ │ │ └── robotiq_85_moveit_test.py
│ │ └── robotiq_85_simulation
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ └── si_utils
│ ├── CMakeLists.txt
│ ├── launch
│ │ └── test.launch
│ ├── package.xml
│ └── scripts
│ └── timed_roslaunch
├── ros_control
│ ├── combined_robot_hw
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── etc
│ │ │ └── architecture.svg
│ │ ├── include
│ │ │ └── combined_robot_hw
│ │ │ └── combined_robot_hw.h
│ │ ├── package.xml
│ │ └── src
│ │ └── combined_robot_hw.cpp
│ ├── combined_robot_hw_tests
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── combined_robot_hw_tests
│ │ │ ├── my_robot_hw_1.h
│ │ │ ├── my_robot_hw_2.h
│ │ │ ├── my_robot_hw_3.h
│ │ │ └── my_robot_hw_4.h
│ │ ├── package.xml
│ │ ├── src
│ │ │ ├── dummy_app.cpp
│ │ │ ├── my_robot_hw_1.cpp
│ │ │ ├── my_robot_hw_2.cpp
│ │ │ ├── my_robot_hw_3.cpp
│ │ │ └── my_robot_hw_4.cpp
│ │ ├── test
│ │ │ ├── cm_test.cpp
│ │ │ ├── cm_test.test
│ │ │ ├── combined_robot_hw_test.cpp
│ │ │ └── combined_robot_hw_test.test
│ │ └── test_robot_hw_plugin.xml
│ ├── controller_interface
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── controller_interface
│ │ │ ├── controller_base.h
│ │ │ ├── controller.h
│ │ │ └── multi_interface_controller.h
│ │ ├── package.xml
│ │ └── rosdoc.yaml
│ ├── controller_manager
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── controller_manager
│ │ │ ├── controller_loader.h
│ │ │ ├── controller_loader_interface.h
│ │ │ ├── controller_manager.h
│ │ │ └── controller_spec.h
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── rosdoc.yaml
│ │ ├── scripts
│ │ │ ├── controller_manager
│ │ │ ├── spawner
│ │ │ └── unspawner
│ │ ├── setup.py
│ │ ├── src
│ │ │ ├── controller_manager
│ │ │ │ ├── controller_manager_interface.py
│ │ │ │ ├── controller_manager_interface.pyc
│ │ │ │ └── __init__.py
│ │ │ └── controller_manager.cpp
│ │ └── test
│ │ ├── hwi_switch_test.cpp
│ │ ├── hwi_switch_test.test
│ │ └── hwi_switch_test.yaml
│ ├── controller_manager_msgs
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── msg
│ │ │ ├── ControllersStatistics.msg
│ │ │ ├── ControllerState.msg
│ │ │ ├── ControllerStatistics.msg
│ │ │ └── HardwareInterfaceResources.msg
│ │ ├── package.xml
│ │ ├── rosdoc.yaml
│ │ ├── setup.py
│ │ ├── src
│ │ │ └── controller_manager_msgs
│ │ │ ├── __init__.py
│ │ │ ├── utils.py
│ │ │ └── utils.pyc
│ │ └── srv
│ │ ├── ListControllers.srv
│ │ ├── ListControllerTypes.srv
│ │ ├── LoadController.srv
│ │ ├── ReloadControllerLibraries.srv
│ │ ├── SwitchController.srv
│ │ └── UnloadController.srv
│ ├── controller_manager_tests
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── controller_manager_tests
│ │ │ ├── effort_test_controller.h
│ │ │ ├── my_dummy_controller.h
│ │ │ ├── my_robot_hw.h
│ │ │ ├── pos_eff_controller.h
│ │ │ ├── pos_eff_opt_controller.h
│ │ │ └── vel_eff_controller.h
│ │ ├── package.xml
│ │ ├── setup.py
│ │ ├── src
│ │ │ ├── controller_manager_tests
│ │ │ │ ├── controller_manager_dummy.py
│ │ │ │ └── __init__.py
│ │ │ ├── dummy_app.cpp
│ │ │ ├── effort_test_controller.cpp
│ │ │ ├── my_dummy_controller.cpp
│ │ │ ├── my_robot_hw.cpp
│ │ │ ├── pos_eff_controller.cpp
│ │ │ ├── pos_eff_opt_controller.cpp
│ │ │ └── vel_eff_controller.cpp
│ │ ├── test
│ │ │ ├── cm_msgs_utils_rostest.py
│ │ │ ├── cm_msgs_utils_rostest.test
│ │ │ ├── cm_msgs_utils_test.py
│ │ │ ├── cm_test.cpp
│ │ │ ├── cm_test.test
│ │ │ ├── controller_manager_interface_test.py
│ │ │ ├── controller_manager_scripts.py
│ │ │ ├── controller_manager_scripts.test
│ │ │ ├── controller_params.yaml
│ │ │ └── multi_cm_dummy.py
│ │ └── test_controllers_plugin.xml
│ ├── docs
│ │ └── architecture.svg
│ ├── hardware_interface
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── hardware_interface
│ │ │ ├── actuator_command_interface.h
│ │ │ ├── actuator_state_interface.h
│ │ │ ├── controller_info.h
│ │ │ ├── force_torque_sensor_interface.h
│ │ │ ├── hardware_interface.h
│ │ │ ├── imu_sensor_interface.h
│ │ │ ├── interface_resources.h
│ │ │ ├── internal
│ │ │ │ ├── demangle_symbol.h
│ │ │ │ ├── hardware_resource_manager.h
│ │ │ │ ├── interface_manager.h
│ │ │ │ └── resource_manager.h
│ │ │ ├── joint_command_interface.h
│ │ │ ├── joint_state_interface.h
│ │ │ ├── posvelacc_command_interface.h
│ │ │ ├── posvel_command_interface.h
│ │ │ └── robot_hw.h
│ │ ├── package.xml
│ │ ├── rosdoc.yaml
│ │ └── test
│ │ ├── actuator_command_interface_test.cpp
│ │ ├── actuator_state_interface_test.cpp
│ │ ├── force_torque_sensor_interface_test.cpp
│ │ ├── hardware_resource_manager_test.cpp
│ │ ├── imu_sensor_interface_test.cpp
│ │ ├── interface_manager_test.cpp
│ │ ├── joint_command_interface_test.cpp
│ │ ├── joint_state_interface_test.cpp
│ │ ├── posvelacc_command_interface_test.cpp
│ │ ├── posvel_command_interface_test.cpp
│ │ └── robot_hw_test.cpp
│ ├── joint_limits_interface
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── joint_limits_interface
│ │ │ ├── joint_limits.h
│ │ │ ├── joint_limits_interface_exception.h
│ │ │ ├── joint_limits_interface.h
│ │ │ ├── joint_limits_rosparam.h
│ │ │ └── joint_limits_urdf.h
│ │ ├── mainpage.dox
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── rosdoc.yaml
│ │ └── test
│ │ ├── joint_limits_interface_test.cpp
│ │ ├── joint_limits_rosparam.test
│ │ ├── joint_limits_rosparam_test.cpp
│ │ ├── joint_limits_rosparam.yaml
│ │ └── joint_limits_urdf_test.cpp
│ ├── LICENSE
│ ├── README.md
│ ├── ros_control
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── documentation
│ │ │ ├── gazebo_ros_control.odg
│ │ │ ├── gazebo_ros_control.pdf
│ │ │ └── gazebo_ros_control.png
│ │ └── package.xml
│ ├── ros_control.rosinstall
│ ├── rqt_controller_manager
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── package.xml
│ │ ├── plugin.xml
│ │ ├── resource
│ │ │ ├── cm_icon.png
│ │ │ ├── controller_info.ui
│ │ │ ├── controller_manager.ui
│ │ │ ├── led_green.png
│ │ │ ├── led_off.png
│ │ │ └── led_red.png
│ │ ├── scripts
│ │ │ └── rqt_controller_manager
│ │ ├── setup.py
│ │ └── src
│ │ └── rqt_controller_manager
│ │ ├── controller_manager.py
│ │ ├── controller_manager.pyc
│ │ ├── __init__.py
│ │ ├── update_combo.py
│ │ └── update_combo.pyc
│ └── transmission_interface
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── images
│ │ ├── differential_transmission.png
│ │ ├── differential_transmission.svg
│ │ ├── four_bar_linkage_transmission.png
│ │ ├── four_bar_linkage_transmission.svg
│ │ ├── simple_transmission_gears.png
│ │ ├── simple_transmission.png
│ │ ├── simple_transmission.svg
│ │ └── simple_transmission_timing_belt.png
│ ├── include
│ │ └── transmission_interface
│ │ ├── bidirectional_effort_joint_interface_provider.h
│ │ ├── bidirectional_position_joint_interface_provider.h
│ │ ├── bidirectional_velocity_joint_interface_provider.h
│ │ ├── differential_transmission.h
│ │ ├── differential_transmission_loader.h
│ │ ├── effort_joint_interface_provider.h
│ │ ├── four_bar_linkage_transmission.h
│ │ ├── four_bar_linkage_transmission_loader.h
│ │ ├── joint_state_interface_provider.h
│ │ ├── position_joint_interface_provider.h
│ │ ├── robot_transmissions.h
│ │ ├── simple_transmission.h
│ │ ├── simple_transmission_loader.h
│ │ ├── transmission.h
│ │ ├── transmission_info.h
│ │ ├── transmission_interface_exception.h
│ │ ├── transmission_interface.h
│ │ ├── transmission_interface_loader.h
│ │ ├── transmission_loader.h
│ │ ├── transmission_parser.h
│ │ └── velocity_joint_interface_provider.h
│ ├── mainpage.dox
│ ├── package.xml
│ ├── README.md
│ ├── ros_control_plugins.xml
│ ├── rosdoc.yaml
│ ├── src
│ │ ├── bidirectional_effort_joint_interface_provider.cpp
│ │ ├── bidirectional_position_joint_interface_provider.cpp
│ │ ├── bidirectional_velocity_joint_interface_provider.cpp
│ │ ├── differential_transmission_loader.cpp
│ │ ├── effort_joint_interface_provider.cpp
│ │ ├── four_bar_linkage_transmission_loader.cpp
│ │ ├── joint_state_interface_provider.cpp
│ │ ├── position_joint_interface_provider.cpp
│ │ ├── simple_transmission_loader.cpp
│ │ ├── transmission_interface_loader.cpp
│ │ ├── transmission_loader.cpp
│ │ ├── transmission_parser.cpp
│ │ └── velocity_joint_interface_provider.cpp
│ └── test
│ ├── differential_transmission_loader_test.cpp
│ ├── differential_transmission_test.cpp
│ ├── four_bar_linkage_transmission_loader_test.cpp
│ ├── four_bar_linkage_transmission_test.cpp
│ ├── loader_utils.h
│ ├── random_generator_utils.h
│ ├── read_file.h
│ ├── simple_transmission_loader_test.cpp
│ ├── simple_transmission_test.cpp
│ ├── transmission_interface_loader_test.cpp
│ ├── transmission_interface_test.cpp
│ ├── transmission_parser_test.cpp
│ └── urdf
│ ├── differential_transmission_loader_full.urdf
│ ├── differential_transmission_loader_invalid.urdf
│ ├── differential_transmission_loader_minimal.urdf
│ ├── four_bar_linkage_transmission_loader_full.urdf
│ ├── four_bar_linkage_transmission_loader_invalid.urdf
│ ├── four_bar_linkage_transmission_loader_minimal.urdf
│ ├── parser_test_invalid.urdf
│ ├── parser_test_valid.urdf
│ ├── simple_transmission_loader_full.urdf
│ ├── simple_transmission_loader_invalid.urdf
│ ├── simple_transmission_loader_minimal.urdf
│ ├── transmission_interface_loader_bidirectional_valid.urdf
│ ├── transmission_interface_loader_duplicate.urdf
│ ├── transmission_interface_loader_hw_iface_permutation.urdf
│ ├── transmission_interface_loader_unsupported.urdf
│ └── transmission_interface_loader_valid.urdf
├── roslint
│ ├── CHANGELOG.rst
│ ├── cmake
│ │ └── roslint-extras.cmake.em
│ ├── CMakeLists.txt
│ ├── package.xml
│ ├── README.md
│ ├── scripts
│ │ └── test_wrapper
│ ├── setup.py
│ ├── src
│ │ └── roslint
│ │ ├── cpplint.py
│ │ ├── cpplint_wrapper.py
│ │ ├── __init__.py
│ │ ├── pycodestyle.py
│ │ ├── pycodestyle_wrapper.py
│ │ └── README.md
│ └── tests
│ ├── clean1.py
│ ├── CMakeLists.txt
│ ├── dirty1.py
│ └── runlint.py
├── universal_robot
│ ├── CONTRIBUTING.md
│ ├── README.md
│ ├── universal_robot
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ ├── universal_robots
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ ├── ur10_e_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur10e.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur10_e_moveit_controller_manager.launch.xml
│ │ │ ├── ur10_e_moveit_planning_execution.launch
│ │ │ ├── ur10_e_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur10_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur10.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur10_moveit_controller_manager.launch.xml
│ │ │ ├── ur10_moveit_planning_execution.launch
│ │ │ ├── ur10_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur3_e_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur3e.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── joystick_control.launch
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur3_e_moveit_controller_manager.launch.xml
│ │ │ ├── ur3_e_moveit_planning_execution.launch
│ │ │ ├── ur3_e_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur3_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur3.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── joystick_control.launch
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur3_moveit_controller_manager.launch.xml
│ │ │ ├── ur3_moveit_planning_execution.launch
│ │ │ ├── ur3_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur5_e_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur5e.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur5_e_moveit_controller_manager.launch.xml
│ │ │ ├── ur5_e_moveit_planning_execution.launch
│ │ │ ├── ur5_e_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur5_moveit_config
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── controllers.yaml
│ │ │ ├── fake_controllers.yaml
│ │ │ ├── joint_limits.yaml
│ │ │ ├── kinematics.yaml
│ │ │ ├── ompl_planning.yaml
│ │ │ └── ur5.srdf
│ │ ├── launch
│ │ │ ├── default_warehouse_db.launch
│ │ │ ├── demo.launch
│ │ │ ├── fake_moveit_controller_manager.launch.xml
│ │ │ ├── move_group.launch
│ │ │ ├── moveit.rviz
│ │ │ ├── moveit_rviz.launch
│ │ │ ├── ompl_planning_pipeline.launch.xml
│ │ │ ├── planning_context.launch
│ │ │ ├── planning_pipeline.launch.xml
│ │ │ ├── run_benchmark_ompl.launch
│ │ │ ├── sensor_manager.launch.xml
│ │ │ ├── setup_assistant.launch
│ │ │ ├── trajectory_execution.launch.xml
│ │ │ ├── ur5_moveit_controller_manager.launch.xml
│ │ │ ├── ur5_moveit_planning_execution.launch
│ │ │ ├── ur5_moveit_sensor_manager.launch.xml
│ │ │ ├── warehouse.launch
│ │ │ └── warehouse_settings.launch.xml
│ │ ├── package.xml
│ │ └── tests
│ │ └── moveit_planning_execution.xml
│ ├── ur_bringup
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── ur10_bringup_joint_limited.launch
│ │ │ ├── ur10_bringup.launch
│ │ │ ├── ur3_bringup_joint_limited.launch
│ │ │ ├── ur3_bringup.launch
│ │ │ ├── ur5_bringup_joint_limited.launch
│ │ │ ├── ur5_bringup.launch
│ │ │ └── ur_common.launch
│ │ ├── package.xml
│ │ └── tests
│ │ └── roslaunch_test.xml
│ ├── ur_description
│ │ ├── cfg
│ │ │ └── view_robot.rviz
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── ur10_upload.launch
│ │ │ ├── ur3_upload.launch
│ │ │ ├── ur5_upload.launch
│ │ │ ├── view_ur10.launch
│ │ │ ├── view_ur3.launch
│ │ │ └── view_ur5.launch
│ │ ├── meshes
│ │ │ ├── ur10
│ │ │ │ ├── collision
│ │ │ │ │ ├── base.stl
│ │ │ │ │ ├── forearm.stl
│ │ │ │ │ ├── shoulder.stl
│ │ │ │ │ ├── upperarm.stl
│ │ │ │ │ ├── wrist1.stl
│ │ │ │ │ ├── wrist2.stl
│ │ │ │ │ └── wrist3.stl
│ │ │ │ └── visual
│ │ │ │ ├── base.dae
│ │ │ │ ├── forearm.dae
│ │ │ │ ├── shoulder.dae
│ │ │ │ ├── upperarm.dae
│ │ │ │ ├── wrist1.dae
│ │ │ │ ├── wrist2.dae
│ │ │ │ └── wrist3.dae
│ │ │ ├── ur3
│ │ │ │ ├── collision
│ │ │ │ │ ├── base.stl
│ │ │ │ │ ├── forearm.stl
│ │ │ │ │ ├── shoulder.stl
│ │ │ │ │ ├── upperarm.stl
│ │ │ │ │ ├── wrist1.stl
│ │ │ │ │ ├── wrist2.stl
│ │ │ │ │ └── wrist3.stl
│ │ │ │ └── visual
│ │ │ │ ├── base.dae
│ │ │ │ ├── forearm.dae
│ │ │ │ ├── shoulder.dae
│ │ │ │ ├── upperarm.dae
│ │ │ │ ├── wrist1.dae
│ │ │ │ ├── wrist2.dae
│ │ │ │ └── wrist3.dae
│ │ │ └── ur5
│ │ │ ├── collision
│ │ │ │ ├── base.stl
│ │ │ │ ├── forearm.stl
│ │ │ │ ├── shoulder.stl
│ │ │ │ ├── upperarm.stl
│ │ │ │ ├── wrist1.stl
│ │ │ │ ├── wrist2.stl
│ │ │ │ └── wrist3.stl
│ │ │ └── visual
│ │ │ ├── base.dae
│ │ │ ├── forearm.dae
│ │ │ ├── shoulder.dae
│ │ │ ├── upperarm.dae
│ │ │ ├── wrist1.dae
│ │ │ ├── wrist2.dae
│ │ │ └── wrist3.dae
│ │ ├── model.pdf
│ │ ├── package.xml
│ │ └── urdf
│ │ ├── common.gazebo.xacro
│ │ ├── ur10_joint_limited_robot.urdf.xacro
│ │ ├── ur10_robot.urdf.xacro
│ │ ├── ur10.urdf.xacro
│ │ ├── ur3_joint_limited_robot.urdf.xacro
│ │ ├── ur3_robot.urdf.xacro
│ │ ├── ur3.urdf.xacro
│ │ ├── ur5_joint_limited_robot.urdf.xacro
│ │ ├── ur5_robot.urdf.xacro
│ │ ├── ur5.urdf.xacro
│ │ ├── ur.gazebo.xacro
│ │ └── ur.transmission.xacro
│ ├── ur_driver
│ │ ├── cfg
│ │ │ └── URDriver.cfg
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── package.xml
│ │ ├── prog
│ │ ├── prog_reset
│ │ ├── setup.py
│ │ ├── src
│ │ │ └── ur_driver
│ │ │ ├── deserialize.py
│ │ │ ├── deserializeRT.py
│ │ │ ├── driver.py
│ │ │ ├── __init__.py
│ │ │ ├── io_interface.py
│ │ │ ├── test_comm.py
│ │ │ └── testRT_comm.py
│ │ ├── test_io.py
│ │ └── test_move.py
│ ├── ur_e_description
│ │ ├── cfg
│ │ │ └── view_robot.rviz
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── ur10e_upload.launch
│ │ │ ├── ur3e_upload.launch
│ │ │ ├── ur5e_upload.launch
│ │ │ ├── view_ur10e.launch
│ │ │ ├── view_ur3e.launch
│ │ │ └── view_ur5e.launch
│ │ ├── meshes
│ │ │ ├── ur10e
│ │ │ │ ├── collision
│ │ │ │ │ ├── base.stl
│ │ │ │ │ ├── forearm.stl
│ │ │ │ │ ├── shoulder.stl
│ │ │ │ │ ├── upperarm.stl
│ │ │ │ │ ├── wrist1.stl
│ │ │ │ │ ├── wrist2.stl
│ │ │ │ │ └── wrist3.stl
│ │ │ │ └── visual
│ │ │ │ ├── base.dae
│ │ │ │ ├── forearm.dae
│ │ │ │ ├── shoulder.dae
│ │ │ │ ├── upperarm.dae
│ │ │ │ ├── wrist1.dae
│ │ │ │ ├── wrist2.dae
│ │ │ │ └── wrist3.dae
│ │ │ ├── ur3e
│ │ │ │ ├── collision
│ │ │ │ │ ├── base.stl
│ │ │ │ │ ├── forearm.stl
│ │ │ │ │ ├── shoulder.stl
│ │ │ │ │ ├── upperarm.stl
│ │ │ │ │ ├── wrist1.stl
│ │ │ │ │ ├── wrist2.stl
│ │ │ │ │ └── wrist3.stl
│ │ │ │ └── visual
│ │ │ │ ├── base.dae
│ │ │ │ ├── forearm.dae
│ │ │ │ ├── shoulder.dae
│ │ │ │ ├── upperarm.dae
│ │ │ │ ├── wrist1.dae
│ │ │ │ ├── wrist2.dae
│ │ │ │ └── wrist3.dae
│ │ │ └── ur5e
│ │ │ ├── collision
│ │ │ │ ├── base.stl
│ │ │ │ ├── forearm.stl
│ │ │ │ ├── shoulder.stl
│ │ │ │ ├── upperarm.stl
│ │ │ │ ├── wrist1.stl
│ │ │ │ ├── wrist2.stl
│ │ │ │ └── wrist3.stl
│ │ │ └── visual
│ │ │ ├── base.dae
│ │ │ ├── forearm.dae
│ │ │ ├── shoulder.dae
│ │ │ ├── upperarm.dae
│ │ │ ├── wrist1.dae
│ │ │ ├── wrist2.dae
│ │ │ └── wrist3.dae
│ │ ├── package.xml
│ │ └── urdf
│ │ ├── common.gazebo.xacro
│ │ ├── ur10e_joint_limited_robot.urdf.xacro
│ │ ├── ur10e_robot.urdf.xacro
│ │ ├── ur10e.urdf.xacro
│ │ ├── ur3e_joint_limited_robot.urdf.xacro
│ │ ├── ur3e_robot.urdf.xacro
│ │ ├── ur3e.urdf.xacro
│ │ ├── ur5e_joint_limited_robot.urdf.xacro
│ │ ├── ur5e_robot.urdf.xacro
│ │ ├── ur5e.urdf.xacro
│ │ ├── ur.gazebo.xacro
│ │ └── ur.transmission.xacro
│ ├── ur_e_gazebo
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── controller
│ │ │ ├── arm_controller_ur10e.yaml
│ │ │ ├── arm_controller_ur3e.yaml
│ │ │ ├── arm_controller_ur5e.yaml
│ │ │ └── joint_state_controller.yaml
│ │ ├── launch
│ │ │ ├── controller_utils.launch
│ │ │ ├── ur10e_joint_limited.launch
│ │ │ ├── ur10e.launch
│ │ │ ├── ur3e_joint_limited.launch
│ │ │ ├── ur3e.launch
│ │ │ ├── ur5e_joint_limited.launch
│ │ │ └── ur5e.launch
│ │ ├── package.xml
│ │ └── tests
│ │ └── roslaunch_test.xml
│ ├── ur_gazebo
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── controller
│ │ │ ├── arm_controller_ur10.yaml
│ │ │ ├── arm_controller_ur3.yaml
│ │ │ ├── arm_controller_ur5.yaml
│ │ │ └── joint_state_controller.yaml
│ │ ├── launch
│ │ │ ├── controller_utils.launch
│ │ │ ├── ur10_joint_limited.launch
│ │ │ ├── ur10.launch
│ │ │ ├── ur3_joint_limited.launch
│ │ │ ├── ur3.launch
│ │ │ ├── ur5_joint_limited.launch
│ │ │ └── ur5.launch
│ │ ├── package.xml
│ │ └── tests
│ │ └── roslaunch_test.xml
│ ├── ur_kinematics
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── ur_kinematics
│ │ │ ├── ikfast.h
│ │ │ ├── ur_kin.h
│ │ │ └── ur_moveit_plugin.h
│ │ ├── package.xml
│ │ ├── setup.py
│ │ ├── src
│ │ │ ├── ur_kin.cpp
│ │ │ ├── ur_kinematics
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_analytical_ik.py
│ │ │ ├── ur_kin_py.cpp
│ │ │ └── ur_moveit_plugin.cpp
│ │ └── ur_moveit_plugins.xml
│ └── ur_msgs
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── msg
│ │ ├── Analog.msg
│ │ ├── Digital.msg
│ │ ├── IOStates.msg
│ │ ├── MasterboardDataMsg.msg
│ │ ├── RobotModeDataMsg.msg
│ │ ├── RobotStateRTMsg.msg
│ │ └── ToolDataMsg.msg
│ ├── package.xml
│ └── srv
│ ├── SetIO.srv
│ ├── SetPayload.srv
│ └── SetSpeedSliderFraction.srv
└── ur_modern_driver
├── CMakeLists.txt
├── config
│ ├── ur10_controllers.yaml
│ ├── ur3_controllers.yaml
│ └── ur5_controllers.yaml
├── include
│ └── ur_modern_driver
│ ├── bin_parser.h
│ ├── event_counter.h
│ ├── log.h
│ ├── pipeline.h
│ ├── queue
│ │ ├── atomicops.h
│ │ ├── LICENSE.md
│ │ └── readerwriterqueue.h
│ ├── ros
│ │ ├── action_server.h
│ │ ├── action_trajectory_follower_interface.h
│ │ ├── controller.h
│ │ ├── hardware_interface.h
│ │ ├── io_service.h
│ │ ├── lowbandwidth_trajectory_follower.h
│ │ ├── mb_publisher.h
│ │ ├── rt_publisher.h
│ │ ├── service_stopper.h
│ │ ├── trajectory_follower.h
│ │ └── urscript_handler.h
│ ├── tcp_socket.h
│ ├── test
│ │ ├── random_data.h
│ │ └── utils.h
│ ├── types.h
│ └── ur
│ ├── commander.h
│ ├── consumer.h
│ ├── factory.h
│ ├── master_board.h
│ ├── messages.h
│ ├── messages_parser.h
│ ├── parser.h
│ ├── producer.h
│ ├── robot_mode.h
│ ├── rt_parser.h
│ ├── rt_state.h
│ ├── server.h
│ ├── state.h
│ ├── state_parser.h
│ └── stream.h
├── launch
│ ├── ur10_bringup_compatible.launch
│ ├── ur10_bringup_joint_limited.launch
│ ├── ur10_bringup.launch
│ ├── ur10_ros_control.launch
│ ├── ur3_bringup_joint_limited.launch
│ ├── ur3_bringup.launch
│ ├── ur3_ros_control.launch
│ ├── ur5_bringup_compatible.launch
│ ├── ur5_bringup_joint_limited.launch
│ ├── ur5_bringup.launch
│ ├── ur5_ros_control.launch
│ └── ur_common.launch
├── LICENSE
├── package.xml
├── README.md
├── src
│ ├── ros
│ │ ├── action_server.cpp
│ │ ├── controller.cpp
│ │ ├── hardware_interface.cpp
│ │ ├── lowbandwidth_trajectory_follower.cpp
│ │ ├── mb_publisher.cpp
│ │ ├── rt_publisher.cpp
│ │ ├── service_stopper.cpp
│ │ ├── trajectory_follower.cpp
│ │ └── urscript_handler.cpp
│ ├── ros_main.cpp
│ ├── tcp_socket.cpp
│ └── ur
│ ├── commander.cpp
│ ├── master_board.cpp
│ ├── messages.cpp
│ ├── robot_mode.cpp
│ ├── rt_state.cpp
│ ├── server.cpp
│ └── stream.cpp
├── test_move.py
└── tests
├── main.cpp
└── ur
├── master_board.cpp
├── robot_mode.cpp
└── rt_state.cpp
These ROS repositories or packages form the basis for the implementation to be developed, i.e. they serve as system resources.
Preparation for the implementation of the multi-robot system
Once all the necessary resources for the system are properly installed, we will proceed with the creation of the package that contains the various proposed solutions with their advantages and disadvantages.
It has been decided to organize the package in such a way that the common resources are shared by the different implementations and the specific changes that need to be made are stored in their respective directories. In this way, the modified files can be run instead of the original files from which they originated, simply by modifying the file contained in the files with the launch extension.
For this reason, we first create the directory that will contain all the proposed solutions:
cd ~/MultiCobot-UR10-Gripper/src
mkdir multirobot
This directory will be the root directory of the deployments and this will complete the preparation for the reproduction of the various solutions.
Add that the changes that are frequently made to all the solutions will be changed on the shared resources.