Skip to content

Intallation

Daniel Ordonez edited this page Aug 13, 2019 · 15 revisions

Installation instructions

The following section will explain the required steps to bring the project to work.

Initially, this repository supports ROS Kinetic and newer distributions.

Prerequisites

  • ROS Kinetic: For obtaining and configuring ROS follow the installation instructions for full-desktop kinetic installation.
  • Catkin workspace: If you don't have a workspace already configured follow this instructions to create one (it is recommended to create it in a directory where you have full access permissions).

Required Repositories

Clone this and the following repositories in your catkin workspace (some of the packages have installation instructions to follow):

Robot related dependencies

Robotiq gripper related dependencies

Force/Torque sensing dependencies

IDS N35 cameras dependencies

  • ensenso/ros_driver: Required only for the invite-vision package. (Delete it in case it wont be used)

Mysc

  • ros-drivers/audio_common: ROS package containing functionalities for speech synthesize (sometimes our Robot likes to talk)

For most of this repositories installation through apt-get or synaptic is not possible

Dependencies

To automatically install any missing dependencies of your ROS installation run the following commands on your terminal:

#------------------------ Install third party dependencies
sudo apt-get update
# Move to the root of the workspace
cd [path_to_your_catkin_package]
# Install all dependencies of packages in the workspace
rosdep install --from-paths src --ignore-src -r -y
# Build your workspace
catkin_make
source devel/setup.bash

Once the workspace build process is completed you are ready to start playing...have fun.

Install missing dependencies

If the catkin build fails, it occurs usually to missing package dependencies or missing third party (non-ros) packages. When this occurs the build log in the terminal indicates the name of the package dependency that it is missing, then try:

sudo apt-get update ros-kinetic-[package-name]
# separate the package name words with a '-'

If a package is not found it is probably a third-party dependency, google the name of the package and search for installation instructions: s.

Consistent USB port assignment

For the correct operation of the grippers and the force sensors, which are all connected through USB adapters (in the case of the Robotiq grippers and sensors) it is important to configure consistent port assignment, which is theoretically not possible on Linux (i.e. USB ports get assigned by order of connection, which creates the issue that USB port /dev/ttyUSB0 can be sometimes assigned to the left gripper and sometimes to the right force sensor). In order to get consistent port assignment you have to create an new set of udev rules on your /etc/udev/rules.d folder, that looks somewhat like this:

# File: /etc/udev/rules.d/your_awsome_rules.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="----", ATTRS{idProduct}=="----", ATTRS{serial}=="------", SYMLINK+="ttyRobotiqLeft"
SUBSYSTEM=="tty", ATTRS{idVendor}=="----", ATTRS{idProduct}=="----", ATTRS{serial}=="------", SYMLINK+="ttyRobotiqRight"
SUBSYSTEM=="tty", ATTRS{idVendor}=="----", ATTRS{idProduct}=="----", ATTRS{serial}=="------", SYMLINK+="ttyFT300Left"

Where the attributes (ATTRS) of your connected devices are specific to your hardware. What these rules do is to create a link to the USB port that was assigned to a specific device. In this case for example, once the rules are configured properly when the left gripper is connected the virtual port /dev/ttyRobotiqLeft will link to whatever USB port the left gripper was assigned to. See more information here.

Recommendations

IDE - Integrated Developing Environment

It is strongly recommended to use an IDE to edit and manage the Catkin workspace and all ROS related files, there are several IDS available that work properly with ROS, you can select the one you want, I recommend to use both of these:

  • RoboWare Studio since it is a free and specifically design for ROS application development.

  • Visual Studio Code is perfect for developing in C++, Python, XML, and other languages at the same time.

Note: You can use multiple IDS