Mobile Manipulator Blitz Driver & IO Wrapper

This is the repository for the driver ROS launch files, packages, and other IO wrapper programs of the mobile manipulator Blitz(working title), which is the custom mobile manipulator belongs to the SNU Biointelligence Lab

1. Blitz Prerequisites

1.1. Hardware & Environments

We only experimented on the below environments. The whole system may not work on different situations.

1.1.1. Robots

  • Fetch Robotics : Freight (Ubuntu 18.04, ROS Melodic, works as ROS master)
  • Universal Robots : UR5
  • Robotiq : 2F-140 Adaptive Gripper
  • Intel : RealSense D435
  • ASUS : Xtion PRO LIVE

1.1.2. Client Computer

  • Ubuntu 14.04, ROS Indigo

  • Intel i7-6700 @ 3.40GHz

  • NVIDIA TITAN X Pascal, CUDA=8.0, cuDNN=5.0

    ROS Installation Guide

1.2. Library Dependencies

1.2.1. Robot Packages Setup

1.2.2. Client Computer Setup

2. Blitz Installation

  1. Put blitz_io folder in the client computer, and blitz_setup in the Freight. my_blitz should be put in the ROS catkin workspaces of the both client & master. blitz_robot_moveit_config and blitz_robot_ikfast_ur5_plugin should be only put in the catkin workspace in the ROS master.

  2. For visualization purpose, change reuleaux source file at (catkin workspace directory)/src/reuleaux/map_creator/src/load_reachability_map.cpp. Change ws.header.frame_id from "base_link" to "arm_base_link".

  3. Catkin make both catkin workspaces.

    You can customize MoveIt! of the Blitz for your own purpose.
    MoveIt! Setup
    MoveIt! IKFast Kinematics Setup

3. Blitz Execution

  • Before you execute, you should check darknet weight, Google API Key file, IPs, file paths, etc to your own settings.
  1. After turning on every robot, launch bringup file in the ROS Master.
$ roslaunch ~/blitz_setup/blitz_bringup.launch
  1. Execute server python scripts in the ROS Master
$ python ~/blitz_setup/blitz_arm_server.py
$ python ~/blitz_setup/sound_play_server.py
  1. Launch navigation & RVIZ in the client computer.
$ roslaunch my_blitz blitz_total.launch
  1. Now you can use Blitz by importing scripts in blitz_io.
$ python blitz_navigate_and_pick.py