Skip to content

Commit

Permalink
Merge pull request #120 from Nishida-Lab/fix-travis-indigo
Browse files Browse the repository at this point in the history
Fix travis indigo
  • Loading branch information
TakakiNishio authored Aug 20, 2018
2 parents d5a229e + 072ad0e commit 01eb659
Show file tree
Hide file tree
Showing 53 changed files with 517 additions and 511 deletions.
21 changes: 21 additions & 0 deletions .ci.rosinstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- git:
local-name: motoman
uri: https://github.com/Nishida-Lab/motoman.git
version: indigo-devel
- git:
local-name: motoman_tools/iai_kinect2
uri: https://github.com/code-iai/iai_kinect2.git
version: master
- git:
local-name: motoman_tools/ar_tools
uri: https://github.com/MoriKen254/ar_tools.git
version: w/o_artoolkit
- git:
local-name: motoman_tools/dhand_ros_pkg
uri: https://github.com/Nishida-Lab/dhand_ros_pkg.git
version: master
- git:
local-name: libs/libfreenect2
uri: https://github.com/OpenKinect/libfreenect2.git
version: master

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
core
*~
*.swp
60 changes: 60 additions & 0 deletions .preprocess.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
PWD_DIR=$(pwd)
echo "***************************************"
echo "***** for freenect *****"
echo "***************************************"
echo "***** apt-get install software-properties-common python-software-properties *****"
apt-get install -y software-properties-common python-software-properties
echo "***** apt-get install build-essential cmake pkg-config *****"
apt-get install -y build-essential cmake pkg-config
echo "***** yes | yes | apt-add-repository ppa:floe/libusb && apt-get update -qq && apt-get install -y libusb-1.0-0-dev libusb-1.0-0-dev *****"
yes | apt-add-repository ppa:floe/libusb && apt-get update -qq && apt-get install -y libusb-1.0-0-dev libusb-1.0-0-dev
echo "***** apt-get install -y libturbojpeg libjpeg-turbo8-dev *****"
apt install -y libturbojpeg libjpeg-turbo8-dev
echo "***** dpkg -i debs/libglfw3*deb; apt-get install -f; apt-get install -y libgl1-mesa-dri-lts-vivid *****"
dpkg -i debs/libglfw3*deb; apt install -f; apt install -y libgl1-mesa-dri-lts-vivid
echo "***** yes | apt-add-repository ppa:pmjdebruijn/beignet-testing; apt-get update -qq; apt-get install -y beignet-dev; *****"
yes | apt-add-repository ppa:pmjdebruijn/beignet-testing; apt update -qq; apt install -y beignet-dev;
echo "***** pwd *****"
pwd
echo "***** ls -l *****"
ls -l
echo "***** cd /root/catkin_ws/src/libs/libfreenect2 *****"
cd /root/catkin_ws/src/libs/libfreenect2
echo "***** pwd *****"
pwd
echo "***** ls -l *****"
ls -l
echo "***** cmake . *****"
cmake .
echo "***** make *****"
make
echo "***** make install *****"
make install

echo "***************************************"
echo "***** for PCL 1.7 *****"
echo "***************************************"
echo "***** yes | apt-add-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl; apt-get update -qq; apt-get install -y libpcl-all; *****"
yes | apt-add-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl; apt-get update -qq; apt-get install -y libpcl-all;

echo "***************************************"
echo "***** for AR Toolkit *****"
echo "***************************************"
echo "***** apt install libv4l-dev *****"
apt install -y libv4l-dev
echo "***** cd /usr/include/linux *****"
cd /usr/include/linux
echo "***** ln -s ../libv4l1-videodev.h videodev.h *****"
ln -s ../libv4l1-videodev.h videodev.h
echo "***** wget https://github.com/MoriKen254/ARToolKit_Release/raw/master/ARToolKit_2.72.1_Ubuntu_amd64.deb *****"
wget https://github.com/MoriKen254/ARToolKit_Release/raw/master/ARToolKit_2.72.1_Ubuntu_amd64.deb
yes|dpkg -i ARToolKit_2.72.1_Ubuntu_amd64.deb

echo "***************************************"
echo "***** Apply Lib Pkgs *****"
echo "***************************************"
echo "***** ldconfig *****"
ldconfig
echo "***** ldconfig -p *****"
ldconfig -p
cd ${PWD_DIR}
155 changes: 22 additions & 133 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,141 +1,30 @@
# Generic .travis.yml file for running continuous integration on Travis-CI with
# any ROS package.
#
# This installs ROS on a clean Travis-CI virtual machine, creates a ROS
# workspace, resolves all listed dependencies, and sets environment variables
# (setup.bash). Then, it compiles the entire ROS workspace (ensuring there are
# no compilation errors), and runs all the tests. If any of the compilation/test
# phases fail, the build is marked as a failure.
#
# We handle two types of package dependencies:
# - packages (ros and otherwise) available through apt-get. These are installed
# using rosdep, based on the information in the ROS package.xml.
# - dependencies that must be checked out from source. These are handled by
# 'wstool', and should be listed in a file named dependencies.rosinstall.
#
# There are two variables you may want to change:
# - ROS_DISTRO (default is indigo). Note that packages must be available for
# ubuntu 14.04 trusty.
# - ROSINSTALL_FILE (default is dependencies.rosinstall inside the repo
# root). This should list all necessary repositories in wstool format (see
# the ros wiki). If the file does not exists then nothing happens.
#
# See the README.md for more information.
#
# Author: Felix Duvallet <[email protected]>

# NOTE: The build lifecycle on Travis.ci is something like this:
# before_install
# install
# before_script
# script
# after_success or after_failure
# after_script
# OPTIONAL before_deploy
# OPTIONAL deploy
# OPTIONAL after_deploy

################################################################################

# Use ubuntu trusty (14.04) with sudo privileges.
dist: trusty
sudo: required
language:
- generic
- cpp
- python
cache:
- apt
python:
- "2.7"
# This config file for Travis CI utilizes ros-industrial/industrial_ci package.
# For more info for the package, see https://github.com/ros-industrial/industrial_ci/blob/master/README.rst
sudo: required
dist: trusty
services:
- docker
language: generic
compiler:
- gcc
notifications:
email:
on_success: never
on_failue: never
slack: nishida-lab:Sczvu4bdpbngcXGeiZAEdHGx

# Configuration variables. All variables are global now, but this can be used to
# trigger a build matrix for different ROS distributions if desired.
on_success: change
on_failue: always
env:
global:
- ROS_DISTRO=indigo
- ROS_CI_DESKTOP="`lsb_release -cs`" # e.g. [precise|trusty|...]
- CI_SOURCE_PATH=$(pwd)
- ROSINSTALL_FILE=$CI_SOURCE_PATH/dependencies.rosinstall
- CATKIN_OPTIONS=$CI_SOURCE_PATH/catkin.options
- ROS_PARALLEL_JOBS='-j8 -l6'

################################################################################

before_install:
# Install system dependencies, namely a very barebones ROS setup.
- sudo sh -c "echo \"deb http://packages.ros.org/ros/ubuntu $ROS_CI_DESKTOP main\" > /etc/apt/sources.list.d/ros-latest.list"
- wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
- sudo apt-get update -qq
- sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin
- source /opt/ros/$ROS_DISTRO/setup.bash
# Install PCL
- yes | sudo apt-add-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl; sudo apt-get update -qq; sudo apt-get install -y libpcl-all;
# Install OpenCV
- sudo apt-get install -y libopencv-dev python-opencv
# Prepare rosdep to install dependencies.
- sudo rosdep init
- rosdep update
# Arduino Makefile
- sudo apt-get install -y arduino-mk screen
# libfreenect2
- yes | sudo apt-add-repository ppa:floe/libusb && sudo apt-get update -qq && sudo apt-get install -y libusb-1.0-0-dev
- sudo apt-get install -y libturbojpeg libjpeg-turbo8-dev
- sudo dpkg -i debs/libglfw3*deb; sudo apt-get install -f; sudo apt-get install -y libgl1-mesa-dri-lts-vivid
- yes | sudo apt-add-repository ppa:pmjdebruijn/beignet-testing; sudo apt-get update -qq; sudo apt-get install -y beignet-dev;
- git clone https://github.com/OpenKinect/libfreenect2.git
- cd libfreenect2
- mkdir build && cd build
- cmake ..
- make
- sudo make install
- sudo ldconfig
- cd ~

# Create a catkin workspace with the package under integration.
- CATKIN_PARALLEL_JOBS=-p1
- CATKIN_PARALLEL_TEST_JOBS=-p1
- ROS_PARALLEL_TEST_JOBS=-j1
- NOT_TEST_INSTALL=true
- ROSDEP_SKIP_KEYS="artoolkit ar_tools ar_pose motoman_description motoman_gazebo motoman_control motoman_sia5_moveit_config motoman_moveit"
- UPSTREAM_WORKSPACE=file
- ROSINSTALL_FILENAME=.ci.rosinstall
- BEFORE_SCRIPT='./.preprocess.sh'
matrix:
- ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu
- ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu
install:
- mkdir -p ~/catkin_ws/src
- cd ~/catkin_ws/src
- catkin_init_workspace
# Create the devel/setup.bash (run catkin_make with an empty workspace) and
# source it to set the path variables.
- cd ~/catkin_ws
- catkin_make
- source devel/setup.bash
# Add the package under integration to the workspace using a symlink.
- cd ~/catkin_ws/src
- ln -s $CI_SOURCE_PATH .

# Install all dependencies, using wstool and rosdep.
# wstool looks for a ROSINSTALL_FILE defined in the environment variables.
before_script:
# source dependencies: install using wstool.
- cd ~/catkin_ws/src
- wstool init
- if [[ -f $ROSINSTALL_FILE ]] ; then wstool merge $ROSINSTALL_FILE ; fi
- wstool up
# package depdencies: install using rosdep.
- cd ~/catkin_ws
- rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

# Compile and test. If the CATKIN_OPTIONS file exists, use it as an argument to
# catkin_make.
- git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
script:
# for Arduino
- cd ~/catkin_ws/src/motoman_project/motoman_gripper/Arduino/JammingTest
- make
- cd ~/catkin_ws/src/motoman_project/motoman_gripper/Arduino/Kawashima
- make
# for ROS
- cd ~/catkin_ws
- catkin_make $( [ -f $CATKIN_OPTIONS ] && cat $CATKIN_OPTIONS )
# Testing: Use both run_tests (to see the output) and test (to error out).
- catkin_make run_tests # This always returns 0, but looks pretty.
- catkin_make test # This will return non-zero if a test fails.
- source .ci_config/travis.sh
7 changes: 6 additions & 1 deletion dependencies.rosinstall
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,9 @@
- git:
local-name: motoman_tools/dhand_ros_pkg
uri: https://github.com/Nishida-Lab/dhand_ros_pkg.git
version: master
version: master
- git:
local-name: libs/libfreenect2
uri: https://github.com/OpenKinect/libfreenect2.git
version: master

43 changes: 26 additions & 17 deletions motoman_control/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,45 +1,54 @@
cmake_minimum_required(VERSION 2.8.3)
project(motoman_control)

find_package(catkin REQUIRED COMPONENTS
roscpp
actionlib
actionlib_msgs
trajectory_msgs
control_msgs
motoman_description
roscpp
roslaunch
sensor_msgs
trajectory_msgs
)

catkin_package(
CATKIN_DEPENDS actionlib_msgs
)

# Build
add_definitions("-std=c++11")


find_package(roslaunch)
roslaunch_add_file_check(test/sia5_launch_test.xml)
roslaunch_add_file_check(test/sia5_with_jamming_launch_test.xml)
roslaunch_add_file_check(test/sia5_with_jamming_and_kinectv2_launch_test.xml)
roslaunch_add_file_check(test/sia5_with_kinectv2_launch_test.xml)
roslaunch_add_file_check(test/sia5_with_dhand_launch_test.xml)
roslaunch_add_file_check(test/sia5_with_dhand_and_multi_kinect_launch_test.xml)


include_directories(
${catkin_INCLUDE_DIRS}
)

## Declare a cpp executable
add_executable(motoman_control_node
src/motoman_control_node.cpp
)


## Add cmake target dependencies of the executable/library
## as an example, message headers may need to be generated before nodes
add_dependencies(motoman_control_node motoman_control_generate_messages_cpp)

## Specify libraries to link a library or executable target against
target_link_libraries(motoman_control_node
${catkin_LIBRARIES}
)

# Install
foreach(modules motoman_control_node)
install(TARGETS ${modules}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
endforeach(modules)

foreach(dir config launch)
install(DIRECTORY ${dir}/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir})
endforeach(dir)

# Test
if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(launch)
endif()
1 change: 1 addition & 0 deletions motoman_control/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<run_depend>robot_state_publisher</run_depend>
<run_depend>ros_controllers</run_depend>
<run_depend>motoman_driver</run_depend>
<run_depend>motoman_description</run_depend>
<run_depend>industrial_robot_client</run_depend>
<run_depend>dhand_control</run_depend>

Expand Down
24 changes: 21 additions & 3 deletions motoman_demo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,32 @@
cmake_minimum_required(VERSION 2.8.3)
project(motoman_demo)
find_package(catkin REQUIRED
rospy
#ar_pose
image_proc
motoman_demo_msgs
moveit_commander
tf
motoman_demo_msgs
sensor_msgs
rosbridge_server
roslaunch
rospy
)


catkin_package(
CATKIN_DEPENDS
)

# Install
foreach(dir config launch)
install(DIRECTORY ${dir}/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir})
endforeach(dir)

# Test
if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(launch/ar_pose_multip.launch)
roslaunch_add_file_check(launch/ar_pose_single.launch)
roslaunch_add_file_check(launch/handring_parallel.launch)
roslaunch_add_file_check(launch/pepper_websocket.launch)
endif()
Loading

0 comments on commit 01eb659

Please sign in to comment.