Skip to content

roamlab/arm_teleop_ur5

Repository files navigation

Arm Teleoperation - Universal Robot

Prerequisite and dependencies

  • Install ROS
  • Install ROS-Industrial
    sudo apt-get install ros-kinetic-industrial-core
    sudo apt-get install ros-kinetic-universal-robot
  • Install MoveIt!
  • Downlaod and build cisst-saw, using catkin build tools in a seperate workspace, following instructions in the documentation. Go under sawUniversalRobot, check the git branch to be [devel], and compile again.
    Note: In this application, we use the sawUniversalRobot component to establish an interface that we can set velocities at 125 Hz.
  • As a web-based implementation, ros web tool utilities are also needed if one wishes to run a teleoperation via a browser. The code is available at roamlab/teelop-ros-web-util. And rosbridge_server is needed, which can be installed:
    sudo apt-get install ros-kinetic-rosbridge-server
    sudo apt-get install ros-kinetic-tf2-web-republisher
    sudo apt-get install ros-kinetic-interactive-marker-proxy
    sudo apt-get install ros-kinetic-web-video-server
    sudo apt-get install ros-kinetic-video-stream-opencv

[Optional] Debuggin interface and tools

  • Install iPython
    sudo apt-get install ipython
  • Install ipdb for setting break point in command line ipython
    sudo apt-get install python-ipdb
  • Install MoveIt
    sudo apt-get install ros-kinetic-moveit

Downlaod & Compiling

We are using catkin_make for this repo, and first, let's set up the workspace:

  • mkdir -p catkin_ws/src
  • cd catkin_ws
  • catkin_make

Then, let's get the code (if this is the first time you download this repo):

  • cd src
  • git clone git@github.com:roamlab/arm_teleop_ur5.git --recursive
  • cd arm_teleop_ur5
  • bash update_repo.sh

Finally, to compile, since this repo depends on another catkin workspace, we need to overlay workspaces

  • cd catkin_ws
  • rm -rf build & rm -rf devel
  • IMPORTANT source <cisst_catkin_ws/devel_release/setup.bash>
  • catkin_make
    Note that if the first time catkin_make failed, try it again, it should succeed in the second time.

Running Instructions

Environment

Before running the code, you need to source and define env var:
source <teleop_catkin_workspace>/devel/setup.bash
export ARM_TELEOP_UR5_SRC="<src/arm_teleop_ur5>"
You may also choose to copy them at the end of your ~/.bashrc file

Check camera setup for teleoperation

  • run
    ls -ltrh /dev/video*
  • you should see at least two video sources, something like /dev/video[X], and they correspond to the video parameters video_stream_provider in the lannch file teleop_arm_hand_web.launch

Main script

run roslaunch teleop teleop_arm_hand_web.launch
Note: although the website interface include the control interface for a hand, you need to launch the hand ros program seperately. For example:
run roslaunch nasa_hand_robot nasa_hand_no_UI.launch
and see https://github.com/roamlab/nasa_hand for more details.

Camera Calibration

A camera is mounted on the end-effector (EE), and the frame offset between the camera and the EE needs calibrating for supervised autonomy. The calibration steps include:

  • run the robot using teach pandent to a pose that the camera can see its base
  • run roslaunch teleop camera_calibration.launch
  • adjust the interactive marker such that the pointcloud of the robot base and the urdf rendering overlap
  • copy the result output from the command line and input it in the config.cfg files

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •