Installation of ay_tools
- Operating System
- Install Dependencies
- Install ay_tools
Operating System †
All programs are developed and tested on Ubuntu. In the following installation, Ubuntu is assumed.
Ubuntu Version †
The program is tested on Ubuntu 18.04 (Bionic).
Install Dependencies †
Basic Tools (Required) †
Necessary to build and use ay_tools:
$ sudo apt-get -f install git g++ make cmake automake libtool pkg-config $ sudo apt-get -f install libboost-all-dev libboost-dev $ sudo apt-get -f install python-setuptools python python-numpy python-scipy python-sklearn python-matplotlib python-tk
Basic Tools (Optional) †
These are optional packages (useful).
$ sudo apt-get -f install openssh-server tcsh lv tig htop dstat nkf w3m xclip units cmake-curses-gui gcc-doc glibc-doc $ sudo apt-get -f install gnuplot gnuplot-qt $ sudo apt-get -f install kwrite kate konsole dolphin ark yakuake kdiff3 kompare
Dynamixel SDK †
When using Dynamixel gripper, Mikata arm, etc.
$ mkdir -p ~/prg && cd ~/prg/ $ git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git $ cd DynamixelSDK/python/ $ python setup.py install --user # THIS WILL INSTALL TO ~/.local/lib/python2.7/site-packages
Add your user account to dialout group to handle USB:
$ sudo usermod -a -G dialout $USER
Open Dynamics Engine (ay_sim) †
The simulator (ay_sim) is currently not maintained.
ODE is an open source dynamics simulator.
$ mkdir ~/prg $ cd ~/prg $ git clone https://github.com/akihikoy/libode.git $ cd libode $ tar jxvf arc/ode-0.13.tar.bz2 $ cd ode-0.13 (Older versions: ) ( $ ./configure --with-double-precision ) Newer versions: $ ./configure --enable-double-precision --enable-shared (Build with a single CPU: ) ( $ make ) If you have many cores: $ make -j8
Testing ODE installation:
ode/demo/demo_chain1 ode/demo/demo_chain2 ode/demo/demo_buggy ode/demo/demo_crash ode/demo/demo_boxstack
OpenCV (ay_vision, ay_3dvision, fingervision) †
Install OpenCV 3.2.x:
$ sudo apt-get -f install libopencv-calib3d-dev libopencv-calib3d3.2 libopencv-contrib-dev libopencv-contrib3.2 libopencv-core-dev libopencv-core3.2 libopencv-dev libopencv-features2d-dev libopencv-features2d3.2 libopencv-flann-dev libopencv-flann3.2 libopencv-highgui-dev libopencv-highgui3.2 libopencv-imgcodecs-dev libopencv-imgcodecs3.2 libopencv-imgproc-dev libopencv-imgproc3.2 libopencv-ml-dev libopencv-ml3.2 libopencv-objdetect-dev libopencv-objdetect3.2 libopencv-photo-dev libopencv-photo3.2 libopencv-shape-dev libopencv-shape3.2 libopencv-stitching-dev libopencv-stitching3.2 libopencv-superres-dev libopencv-superres3.2 libopencv-ts-dev libopencv-video-dev libopencv-video3.2 libopencv-videoio-dev libopencv-videoio3.2 libopencv-videostab-dev libopencv-videostab3.2 libopencv-viz-dev libopencv-viz3.2 opencv-data opencv-doc python3-opencv
MJPG-Streamer (Optional/fingervision) †
cf. FingerVision/MJPG-Streamer
$ sudo apt-get install git cmake libjpeg8-dev uvcdynctrl v4l-utils $ mkdir ~/prg && cd ~/prg/ $ git clone https://github.com/akihikoy/mjpg-streamer.git mjpg-streamer2 $ cd mjpg-streamer2/mjpg-streamer-experimental $ make
Chainer (Optional/ay_py) †
Chainer-related code is no longer maintained.
$ cd ~/prg $ git clone akihikoy@cga12:prg/chainer $ cd chainer $ git checkout 71f4eb34739badecbb7d05614a6e80e08a2b6722 $ python setup.py install --user
ROS (Required/ay_vision, ay_3dvision, ay_sim, ay_trick, ay_util, fingervision) †
- cf. ROS
- cf. Ubuntu install of ROS Melodic
Typical installation (ROS Melodic = LTS version):
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install ros-melodic-desktop-full
$ sudo apt-get -f install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
Initialization †
$ . /opt/ros/melodic/setup.bash $ sudo rosdep init $ rosdep update
Additional packages †
ay_util depends on:
$ sudo apt-get -f install ros-melodic-moveit-commander ros-melodic-moveit-planners ros-melodic-moveit-plugins ros-melodic-moveit-ros ros-melodic-moveit-resources ros-melodic-cmake-modules ros-melodic-usb-cam ros-melodic-rviz-visual-tools $ sudo apt-get -f install ros-melodic-joy $ sudo apt-get -f install ros-melodic-urdfdom-py ros-melodic-kdl-parser-py
(Robotiq gripper code is no longer maintained)
When using Robotiq gripper:
$ sudo apt-get -f install ros-kinetic-control-msgs ros-kinetic-gazebo-plugins ros-kinetic-gazebo-ros $ sudo apt-get -f install ros-kinetic-soem ros-kinetic-controller-manager ros-kinetic-socketcan-interface
(Motoman code is no longer maintained)
When using Motoman:
$ sudo apt-get install ros-kinetic-industrial-core
Setup environment †
$ nano ~/.bashrc (Add the following lines to the end of the file) #ROS Configuration #ROS_DISTR=kinetic ROS_DISTR=melodic . /opt/ros/$ROS_DISTR/setup.bash . ~/catkin_ws/devel/setup.bash . /opt/ros/$ROS_DISTR/share/rosbash/rosbash export ROS_MASTER_URI=http://localhost:11311 export ROS_IP=127.0.0.1 export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:$HOME/ros_ws:${HOME}/prg/ay_test/ros
Log out, and log in (or source .bashrc).
Catkin packages †
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src/ $ git clone [REPOSITORY] $ cd .. $ catkin_make
Motoman:
$ git clone https://github.com/ros-industrial/motoman.git
Mikata arm:
$ git clone https://github.com/akihikoy/mikata_arm_description.git $ git clone https://github.com/akihikoy/mikata_arm_6dof_description.git
Universal Robots:
Additional ROS packages are necessary: $ sudo apt-get -f install ros-$ROS_DISTR-ur-msgs ros-$ROS_DISTR-industrial-robot-status-interface ros-$ROS_DISTR-ur-client-library ros-$ROS_DISTR-joint-trajectory-controller ros-$ROS_DISTR-joint-state-controller ros-$ROS_DISTR-velocity-controllers ros-$ROS_DISTR-controller-manager ros-$ROS_DISTR-force-torque-sensor-controller ros-$ROS_DISTR-scaled-joint-trajectory-controller ros-$ROS_DISTR-speed-scaling-interface ros-$ROS_DISTR-speed-scaling-state-controller ros-$ROS_DISTR-pass-through-controllers Catkin packages: $ git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git $ git clone -b calibration_devel https://github.com/fmauch/universal_robot.git
Install ay_tools †
We use rosws:
$ sudo apt-get -f install python-rosinstall
If you use ay_py/py_gui.py:
$ sudo apt-get -f install python-qt4 tmux rxvt-unicode-256color
Download ay_tools:
$ mkdir ~/ros_ws/ $ cd ~/ros_ws/ $ rosws init $ rosws merge https://raw.githubusercontent.com/akihikoy/ay_common/master/ay_ros/ay_tools.rosinstall (Alternatively,) FV+Mikata arm demo: $ rosws merge https://raw.githubusercontent.com/akihikoy/ay_common/master/ay_ros/ay_tools_fvmikata.rosinstall $ rosws update $ rospack profile
Build:
$ rosmake ay_util $ rosmake fingervision
(Currently not maintained)
$ rosmake ay_vision $ rosmake ay_sim $ rosmake ay_3dvision