Skip to content

inria-paris-robotics-lab/prl_ur5_robot

Repository files navigation

prl_ur5_robot

ROS stack for the bimanual UR5 robot

Components

Start robot

In order to be able to start the robot (in sim or real), you need to setup some environment variable in your terminal:

source /opt/ros/noetic/setup.bash # ONLY IF YOU ARE USING ROS FROM APT
source ~/catkin_ws/devel/setup.bash # Make ros able to find packaged that you build manually (using catkin)

source ~/catkin_ws/src/prl_ur5_robot_configuration/script/setup_env.bash # To have the robot specific configurations

To start real robot control use:

roslaunch prl_ur5_run real.launch [setup:=standart_setup] [sensors:=false] [moveit:=true] [rviz:=true] [pipeline:=ompl] [debug:=false]

To run simulation in Gazebo use:

roslaunch prl_ur5_run sim.launch [setup:=standart_setup] [sensors:=false] [gazebo_gui:=true] [moveit:=true] [rviz:=true] [pipeline:=ompl] [debug:=false]

Possible arguments:

  • setup: robot setup (details here), default="standart_setup"
  • sensors: start sensors or not, default="false"
  • moveit: start MoveIt or not, default="true"
  • rviz: open RViz window or not, default="true"
  • pipeline: MoveIt planning pipeline, default="ompl"
  • gazebo_gui: open Gazebo GUI window or not, default="true"
  • debug: run in the debug mode, default="false"

Run demos

See instructions here.

Using with docker

See instructions here.

Install from sources

The following section contains instructions that can be specific to apt or conda.

  1. Install Noetic ROS version (Desktop-Full Install recomended):
Conda
conda create -n my_ros -c conda-forge -c robostack -c default ros-noetic-desktop python=3.8.* --no-default-packages
# For micromamba users, remove the "--no-default-packages" option
Apt

instructions here.

  1. Make sure that ROS is correctly sourced:
Conda
conda activate my_ros
Apt
source /opt/ros/noetic/setup.bash
  1. Install wstool and rosdep:
Conda
conda install -c conda-forge catkin_tools wstool compilers cxx-compiler cmake
Apt
sudo apt-get install python3-catkin-tools python3-wstool python3-rosdep
  1. Make a folder for catkin workspace:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
  1. Clone the repo, (automatically) clone the depencies that needs to be installed from source and install the other dependencies:
git clone -b master https://github.com/inria-paris-robotics-lab/prl_ur5_robot src/prl_ur5_robot
wstool init src ./src/prl_ur5_robot/prl_ur5_robot.rosinstall
rosdep update
rosdep install --from-paths src --ignore-src --skip-keys=python-pymodbus -r -y
  1. Get the robot configuration:
  • Option 1 : Clone the repo in your catkin workspace:
git clone -b master https://github.com/inria-paris-robotics-lab/prl_ur5_robot_configuration src/prl_ur5_robot_configuration
  • Option 2 : Create a symbolic link to an already existing configuration folder:
ln -s /path/to/existing/folder src/prl_ur5_robot_configuration
  1. Init the workspace:
Conda
catkin config --init --extend $CONDA_PREFIX
Apt
catkin config --init --extend /opt/ros/${ROS_DISTRO}/
catkin config --blacklist robotiq_3f_gripper_articulated_gazebo_plugins
  1. Build everything
catkin build
  1. [optionnal - only for APT] Add a link to setup in your bashrc:
Apt
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
  1. Setup local ros environment variables
source ~/catkin_ws/devel/setup.bash
source ~/catkin_ws/src/prl_ur5_robot_configuration/script/setup_env.bash
  1. Set custom environment variables (for log files):
export PRL_LOG_PATH=/my/log/path

Known issues

[Click here to expand]

Rosdep install fail / Missing dependencies during catkin build

Error
  • Rosdep install print messages such as Unsupported OS [robostack]
  • During the catkin build phase many ros packages are missing as dependencies

Solution

Here is a list of conda packages to install "by hand" to solve most of the dependencies issues :

conda install -c conda-forge -c robostack -c default console_bridge ros-noetic-gazebo-ros ros-noetic-urdfdom-py ros-noetic-moveit-core ros-noetic-moveit-kinematics ros-noetic-moveit-ros-planning ros-noetic-camera-info-manager ros-noetic-hardware-interface ros-noetic-moveit-ros-move-group ros-noetic-moveit-planners-ompl ros-noetic-moveit-ros-visualization ros-noetic-moveit-fake-controller-manager ros-noetic-moveit-simple-controller-manager ros-noetic-moveit-planners-chomp ros-noetic-moveit-setup-assistant ros-noetic-soem ros-noetic-controller-manager ros-noetic-effort-controllers ros-noetic-gazebo-ros-control ros-noetic-joint-state-controller ros-noetic-joint-trajectory-controller ros-noetic-position-controllers ros-noetic-ur-client-library ros-noetic-ros-controllers ros-noetic-gazebo-ros-control-select-joints ros-noetic-ros-control ros-noetic-industrial-robot-status-controller ros-noetic-realsense2-camera ros-noetic-gazebo-plugins ros-noetic-gazebo-msgs ros-noetic-controller-interface ros-noetic-realtime-tools ros-noetic-control-toolbox ros-noetic-forward-command-controller ros-noetic-industrial-robot-status-interface ros-noetic-controller-manager-msgs ros-noetic-pass-through-controllers ros-noetic-cartesian-trajectory-controller ros-noetic-force-torque-sensor-controller socat ros-noetic-twist-controller ros-noetic-velocity-controllers ros-noetic-moveit-commander ros-noetic-socketcan-interface ros-noetic-realsense2-description

Moveit is not starting (with conda)

Error
  • Moveit is not appearing in RViz
  • In the terminal
    PluginlibFactory: The plugin for class 'moveit_rviz_plugin/MotionPlanning' failed to load.  Error: Failed to load library <my_home>/micromamba/envs/prl_ros/lib/libmoveit_motion_planning_rviz_plugin.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libmoveit_semantic_world.so.1.1.0: cannot open shared object file: No such file or directory)
Solution

libmoveit_semantic_world is probably installed already but with a slightly different version. Just create a simlink to it

ln -s $CONDA_PREFIX/lib/libmoveit_semantic_world.so $CONDA_PREFIX/lib/libmoveit_semantic_world.so.1.1.0

About

ROS stack for the bimanual UR5 robot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published