├── repos ├── urdfdom.repos ├── tinyxml2.repos ├── poco.repos ├── urdfdom_headers.repos ├── console_bridge.repos ├── pepper_ament.repos ├── ros1_dependencies.repos ├── pepper_ros2.repos └── pepper_ros1.repos ├── cmake └── eigen3-config.cmake ├── .gitignore ├── ros1_dependencies_build_scripts ├── 0006-SDL ├── 0001-uuid ├── 0007-SDL_image ├── 0002-poco ├── 0000-console_bridge ├── 0003-urdfdom_headers ├── 0004-urdfdom ├── 0005-tinyxml2 ├── 0010-qhull ├── 0009-yaml-cpp ├── 0008-bullet ├── 0011-flann └── 0012-pcl ├── setup_ros1_pepper.bash ├── setup_ros2_pepper.bash ├── install.sh ├── docker ├── Dockerfile_ros1 └── Dockerfile_ros2 ├── prepare_requirements_ros2.sh ├── prepare_requirements_ros1.sh ├── README.md ├── LICENSE └── ctc-cmake-toolchain.cmake /repos/urdfdom.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | urdfdom: 3 | type: git 4 | url: https://github.com/ros/urdfdom.git 5 | version: 0.4.2 6 | -------------------------------------------------------------------------------- /repos/tinyxml2.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | tinyxml2: 3 | type: git 4 | url: https://github.com/leethomason/tinyxml2.git 5 | version: 5.0.1 6 | -------------------------------------------------------------------------------- /repos/poco.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | poco: 3 | type: git 4 | url: https://github.com/pocoproject/poco.git 5 | version: poco-1.7.8p3-release 6 | -------------------------------------------------------------------------------- /repos/urdfdom_headers.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | urdfdom_headers: 3 | type: git 4 | url: https://github.com/ros/urdfdom_headers.git 5 | version: 0.4.2 6 | -------------------------------------------------------------------------------- /cmake/eigen3-config.cmake: -------------------------------------------------------------------------------- 1 | set(_eigen_root "${ALDE_CTC_CROSS}/eigen3") 2 | 3 | set(EIGEN3_INCLUDE_DIRS 4 | ${_eigen_root}/include/eigen3 5 | CACHE INTERNAL "" FORCE 6 | ) -------------------------------------------------------------------------------- /repos/console_bridge.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | console_bridge: 3 | type: git 4 | url: https://github.com/ros/console_bridge.git 5 | version: 8c3c62501bf8521dcf53705b497ea982b874c25d 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | CMakeCache.txt 2 | CMakeFiles 3 | CMakeScripts 4 | Testing 5 | Makefile 6 | cmake_install.cmake 7 | install_manifest.txt 8 | compile_commands.json 9 | CTestTestfile.cmake 10 | *_ws/ 11 | Python-* 12 | *_sources/ 13 | .ros-root/ 14 | ccache-build -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0006-SDL: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/SDL 4 | cd /home/nao/ros1_dependencies_sources/src/SDL 5 | ./autogen.sh 6 | cd /home/nao/ros1_dependencies_sources/build/SDL 7 | ../../src/SDL/configure \ 8 | --prefix=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 9 | --host=i686-aldebaran-linux-gnu \ 10 | --build=x86_64-linux \ 11 | --enable-shared 12 | make -j4 install 13 | -------------------------------------------------------------------------------- /setup_ros1_pepper.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PYTHONHOME="/home/nao/.ros-root/Python-2.7.13" 4 | export PATH="${PYTHONHOME}/bin:${PATH}" 5 | export LD_LIBRARY_PATH="/home/nao/.ros-root/ros1_dependencies/lib:${PYTHONHOME}/lib:${LD_LIBRARY_PATH}" 6 | export ROS_IP=$(ip addr show wlan0 | grep -Po '(?<= inet )([0-9]{1,3}.){3}[0-9]{1,3}') 7 | export NAO_IP=$ROS_IP 8 | export ROS_MASTER_URI=http://127.0.0.1:11311 9 | 10 | source /home/nao/.ros-root/ros1_inst/setup.bash 11 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0001-uuid: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/uuid 4 | cd /home/nao/ros1_dependencies_sources/build/uuid 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | ../../src/uuid 11 | make -j4 install 12 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0007-SDL_image: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/SDL_image 4 | export PATH=$PATH:/home/nao/${INSTALL_ROOT}/ros1_dependencies/bin 5 | cd /home/nao/ros1_dependencies_sources/build/SDL_image 6 | ../../src/SDL_image/configure \ 7 | --prefix=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 8 | --host=i686-aldebaran-linux-gnu \ 9 | --build=x86_64-linux \ 10 | --enable-shared 11 | make -j4 install 12 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0002-poco: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/poco 4 | cd /home/nao/ros1_dependencies_sources/build/poco 5 | cmake \ 6 | -DWITH_QT=OFF \ 7 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 8 | -DCMAKE_BUILD_TYPE=Release \ 9 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 10 | -DALDE_CTC_CROSS=/home/nao/ctc \ 11 | ../../src/poco 12 | make -j4 install 13 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0000-console_bridge: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/console_bridge 4 | cd /home/nao/ros1_dependencies_sources/build/console_bridge 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | ../../src/console_bridge 11 | make -j4 install 12 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0003-urdfdom_headers: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/urdfdom_headers 4 | cd /home/nao/ros1_dependencies_sources/build/urdfdom_headers 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | ../../src/urdfdom_headers 11 | make -j4 install 12 | -------------------------------------------------------------------------------- /setup_ros2_pepper.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source /home/nao/.ros-root/setup_ros1_pepper.bash 4 | 5 | export PYTHONHOME="/home/nao/.ros-root/Python-3.6.1" 6 | export PATH="${PYTHONHOME}/bin:${PATH}" 7 | export LD_LIBRARY_PATH="/home/nao/.ros-root/ros1_dependencies/lib:${PYTHONHOME}/lib:${LD_LIBRARY_PATH}" 8 | export ROS_IP=$(ip addr show wlan0 | grep -Po '(?<= inet )([0-9]{1,3}.){3}[0-9]{1,3}') 9 | export NAO_IP=$ROS_IP 10 | export ROS_MASTER_URI=http://127.0.0.1:11311 11 | 12 | source /home/nao/.ros-root/ros2_inst/local_setup.bash 13 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0004-urdfdom: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/urdfdom 4 | cd /home/nao/ros1_dependencies_sources/build/urdfdom 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/${INSTALL_ROOT}/ros1_dependencies;/home/nao/ctc" \ 11 | ../../src/urdfdom 12 | make -j4 install 13 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0005-tinyxml2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/tinyxml2 4 | cd /home/nao/ros1_dependencies_sources/build/tinyxml2 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/${INSTALL_ROOT}/ros1_dependencies;/home/nao/ctc" \ 11 | ../../src/tinyxml2 12 | make -j4 install 13 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0010-qhull: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/qhull 4 | cd /home/nao/ros1_dependencies_sources/build/qhull 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/ros1_dependencies;/home/nao/ctc" \ 11 | -DBUILD_SHARED_LIBS=ON \ 12 | ../../src/qhull 13 | make -j4 install 14 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0009-yaml-cpp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/yaml-cpp 4 | cd /home/nao/ros1_dependencies_sources/build/yaml-cpp 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/ros1_dependencies;/home/nao/ctc" \ 11 | -DBUILD_SHARED_LIBS=ON \ 12 | ../../src/yaml-cpp 13 | make -j4 install 14 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0008-bullet: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/bullet 4 | cd /home/nao/ros1_dependencies_sources/build/bullet 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/ros1_dependencies;/home/nao/ctc" \ 11 | -BUILD_CPU_DEMOS=OFF \ 12 | -DBUILD_SHARED_LIBS=ON \ 13 | ../../src/bullet3 14 | make -j4 install -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0011-flann: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/flann 4 | cd /home/nao/ros1_dependencies_sources/build/flann 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/ros1_dependencies;/home/nao/ctc" \ 11 | -DBUILD_SHARED_LIBS=ON \ 12 | -DBUILD_TESTS=OFF \ 13 | -DBUILD_PYTHON_BINDINGS=OFF \ 14 | -DBUILD_MATLAB_BINDINGS=OFF \ 15 | -DBUILD_EXAMPLES=OFF \ 16 | ../../src/flann 17 | make -j4 install 18 | -------------------------------------------------------------------------------- /ros1_dependencies_build_scripts/0012-pcl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euf -o pipefail 3 | mkdir -p /home/nao/ros1_dependencies_sources/build/pcl 4 | cd /home/nao/ros1_dependencies_sources/build/pcl 5 | cmake \ 6 | -DCMAKE_INSTALL_PREFIX=/home/nao/${INSTALL_ROOT}/ros1_dependencies \ 7 | -DCMAKE_BUILD_TYPE=Release \ 8 | -DCMAKE_TOOLCHAIN_FILE=/home/nao/pepper_ros1_ws/ctc-cmake-toolchain.cmake \ 9 | -DALDE_CTC_CROSS=/home/nao/ctc \ 10 | -DCMAKE_FIND_ROOT_PATH="/home/nao/${INSTALL_ROOT}/ros1_dependencies;/home/nao/ctc" \ 11 | -DBUILD_SHARED_LIBS=ON \ 12 | -DWITH_VTK=OFF \ 13 | -DWITH_QT=OFF \ 14 | -DWITH_OPENGL=OFF \ 15 | -DBUILD_segmentation=ON \ 16 | -DBUILD_surface=ON \ 17 | -DQHULL_USE_STATIC=OFF \ 18 | -DQHULL_ROOT=/home/nao/${INSTALL_ROOT}/ros1_dependencies/ \ 19 | -DPCL_ENABLE_SSE=OFF \ 20 | -DEIGEN_ROOT=${ALDE_CTC_CROSS}/eigen3 \ 21 | ../../src/pcl 22 | make -j4 install 23 | -------------------------------------------------------------------------------- /repos/pepper_ament.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | ament/ament_cmake: 3 | type: git 4 | url: https://github.com/ament/ament_cmake.git 5 | version: master 6 | ament/ament_index: 7 | type: git 8 | url: https://github.com/ament/ament_index.git 9 | version: master 10 | ament/ament_lint: 11 | type: git 12 | url: https://github.com/ament/ament_lint.git 13 | version: master 14 | ament/ament_package: 15 | type: git 16 | url: https://github.com/ament/ament_package.git 17 | version: master 18 | ament/ament_python: 19 | type: git 20 | url: https://github.com/ament/ament_python.git 21 | version: master 22 | ament/ament_tools: 23 | type: git 24 | url: https://github.com/ament/ament_tools.git 25 | version: master 26 | ament/gmock_vendor: 27 | type: git 28 | url: https://github.com/ament/gmock_vendor.git 29 | version: master 30 | ament/gtest_vendor: 31 | type: git 32 | url: https://github.com/ament/gtest_vendor.git 33 | version: master 34 | ament/osrf_pycommon: 35 | type: git 36 | url: https://github.com/osrf/osrf_pycommon.git 37 | version: master 38 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Check if ros has been cross-compilled 4 | if [ ! -d "$(pwd)/.ros-root" ]; then 5 | echo "ERROR: .ros-root directory is not found" 1>&2 6 | echo "ERROR: please build ros for pepper first" 1>&2 7 | exit 1 8 | fi 9 | 10 | # Receive pepper hostname or ip 11 | echo 'Automatic install script for ros pepper \n' 12 | echo 'Supply peppers hostname or ip address:' 13 | read hostname 14 | 15 | # Check if pepper is reachable 16 | reachability=$(ping -c4 $hostname 2>/dev/null | awk '/---/,0' | grep -Po '[0-9]{1,3}(?=% packet loss)') 17 | 18 | if [ -z "$reachability" ] || [ "$reachability" == 100 ]; then 19 | echo "ERROR: $hostname unreachable" 1>&2 20 | exit 2 21 | fi 22 | 23 | # Get ip address of network interface whereover pepper is available. 24 | local_ip=$(ip route get $hostname | grep -Po '(?<=src )([0-9]{1,3}.){3}[0-9]{1,3}') 25 | 26 | echo "Supply roscore hostname or ip address empty for [$local_ip]:" 27 | read master_ip 28 | if [ -z "$master_ip" ]; then 29 | master_ip=$local_ip 30 | fi 31 | # Set ROS Master URI to ip of which ros is installed (this most probably will te the ros master) 32 | copy_script="sed -i.bak 's/^\(export\s*ROS_MASTER_URI\s*=\s*\).*$/\http:\/\/$master_ip:11311/' .ros-root/setup_ros1_pepper.bash" 33 | echo 'if ssh public keys are not exchanged password will be asked twice' 34 | # Copy .ros-root folder to pepper home folder 35 | scp -r '.ros-root' nao@$hostname:'~' 36 | # execute install script inside pepper 37 | ssh nao@$hostname $copy_script 38 | -------------------------------------------------------------------------------- /repos/ros1_dependencies.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | bullet3: 3 | type: git 4 | url: https://github.com/bulletphysics/bullet3.git 5 | version: 19f999ac087e68ffc2551ffb73e35e60271a0d27 6 | console_bridge: 7 | type: git 8 | url: https://github.com/ros/console_bridge.git 9 | version: 8c3c62501bf8521dcf53705b497ea982b874c25d 10 | flann: 11 | type: git 12 | url: https://github.com/mariusmuja/flann.git 13 | version: master 14 | pcl: 15 | type: git 16 | url: https://github.com/PointCloudLibrary/pcl.git 17 | version: master 18 | poco: 19 | type: git 20 | url: https://github.com/pocoproject/poco.git 21 | version: poco-1.7.8p3-release 22 | qhull: 23 | type: git 24 | url: https://github.com/qhull/qhull.git 25 | version: 5a79a0009454c86e9848646b3c296009125231bf 26 | SDL: 27 | type: git 28 | url: https://github.com/SDL-mirror/SDL.git 29 | version: SDL-1.2 30 | SDL_image: 31 | type: git 32 | url: https://github.com/SDL-mirror/SDL_image.git 33 | version: SDL-1.2 34 | tinyxml2: 35 | type: git 36 | url: https://github.com/leethomason/tinyxml2.git 37 | version: 5.0.1 38 | urdfdom_headers: 39 | type: git 40 | url: https://github.com/ros/urdfdom_headers.git 41 | version: 0.4.2 42 | urdfdom: 43 | type: git 44 | url: https://github.com/ros/urdfdom.git 45 | version: 0.4.2 46 | uuid: 47 | type: git 48 | url: https://github.com/certik/uuid.git 49 | version: f895102e2ddaf86387a62c3544abb78c0a5cfbae 50 | yaml-cpp: 51 | type: git 52 | url: https://github.com/jbeder/yaml-cpp.git 53 | version: 998d7bf31e1bab4e45221c28fad8e00ddcf8855e 54 | -------------------------------------------------------------------------------- /docker/Dockerfile_ros1: -------------------------------------------------------------------------------- 1 | FROM ubuntu:xenial 2 | MAINTAINER esteve@apache.org 3 | RUN dpkg --add-architecture i386 4 | RUN apt-get update 5 | RUN apt-get install -y --no-install-recommends locales 6 | RUN locale-gen en_US en_US.UTF-8 7 | RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 8 | ENV LANG en_US.UTF-8 9 | RUN apt-get install -y --no-install-recommends lsb-release software-properties-common 10 | RUN apt-get install -y --no-install-recommends apt-transport-https 11 | RUN echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list 12 | RUN apt-key adv --keyserver hkps.pool.sks-keyservers.net --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116 13 | RUN apt-get update 14 | RUN apt-get install -y --no-install-recommends libc6-i386 15 | RUN apt-get install -y --no-install-recommends apt-transport-https 16 | RUN apt-get install -y --no-install-recommends build-essential cmake git libssl-dev wget zlib1g-dev 17 | RUN apt-get install -y --no-install-recommends python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential 18 | RUN apt-get install -y --no-install-recommends python3-vcstool python3-empy 19 | RUN apt-get install -y --no-install-recommends automake pkg-config libtool 20 | RUN apt-get install -y --no-install-recommends ccache 21 | RUN useradd -ms /bin/bash nao 22 | WORKDIR /home/nao 23 | USER nao 24 | ENV CC /home/nao/ctc/bin/i686-aldebaran-linux-gnu-cc 25 | ENV CPP /home/nao/ctc/bin/i686-aldebaran-linux-gnu-cpp 26 | ENV CXX /home/nao/ctc/bin/i686-aldebaran-linux-gnu-c++ 27 | ENV RANLIB /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ranlib 28 | ENV AR /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ar 29 | ENV AAL /home/nao/ctc/bin/i686-aldebaran-linux-gnu-aal 30 | ENV LD /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ld 31 | ENV READELF /home/nao/ctc/bin/i686-aldebaran-linux-gnu-readelf 32 | ENV CFLAGS -isysroot /home/nao/ctc/i686-aldebaran-linux-gnu/sysroot 33 | ENV CPPFLAGS -I/home/nao/ctc/zlib/include -I/home/nao/ctc/bzip2/include -I/home/nao/ctc/openssl/include 34 | ENV LDFLAGS -L/home/nao/ctc/zlib/lib -L/home/nao/ctc/bzip2/lib -L/home/nao/ctc/openssl/lib 35 | -------------------------------------------------------------------------------- /docker/Dockerfile_ros2: -------------------------------------------------------------------------------- 1 | FROM ubuntu:xenial 2 | MAINTAINER esteve@apache.org 3 | RUN dpkg --add-architecture i386 4 | RUN apt-get update 5 | RUN apt-get install -y --no-install-recommends locales 6 | RUN locale-gen en_US en_US.UTF-8 7 | RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 8 | ENV LANG en_US.UTF-8 9 | RUN apt-get install -y --no-install-recommends lsb-release software-properties-common 10 | RUN apt-get install -y --no-install-recommends apt-transport-https 11 | RUN echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list 12 | RUN apt-key adv --keyserver hkps.pool.sks-keyservers.net --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116 13 | RUN apt-get update 14 | RUN apt-get install -y --no-install-recommends libc6-i386 15 | RUN apt-get install -y --no-install-recommends apt-transport-https 16 | RUN apt-get install -y --no-install-recommends build-essential cmake git libssl-dev wget zlib1g-dev 17 | RUN apt-get install -y --no-install-recommends python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential 18 | RUN apt-get install -y --no-install-recommends python3-vcstool python3-empy 19 | RUN apt-get install -y --no-install-recommends automake pkg-config libtool 20 | RUN apt-get install -y --no-install-recommends ccache 21 | RUN useradd -ms /bin/bash nao 22 | WORKDIR /home/nao 23 | USER nao 24 | ENV CC /home/nao/ctc/bin/i686-aldebaran-linux-gnu-cc 25 | ENV CPP /home/nao/ctc/bin/i686-aldebaran-linux-gnu-cpp 26 | ENV CXX /home/nao/ctc/bin/i686-aldebaran-linux-gnu-c++ 27 | ENV RANLIB /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ranlib 28 | ENV AR /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ar 29 | ENV AAL /home/nao/ctc/bin/i686-aldebaran-linux-gnu-aal 30 | ENV LD /home/nao/ctc/bin/i686-aldebaran-linux-gnu-ld 31 | ENV READELF /home/nao/ctc/bin/i686-aldebaran-linux-gnu-readelf 32 | ENV CFLAGS -isysroot /home/nao/ctc/i686-aldebaran-linux-gnu/sysroot 33 | ENV CPPFLAGS -I/home/nao/ctc/zlib/include -I/home/nao/ctc/bzip2/include -I/home/nao/ctc/openssl/include 34 | ENV LDFLAGS -L/home/nao/ctc/zlib/lib -L/home/nao/ctc/bzip2/lib -L/home/nao/ctc/openssl/lib 35 | -------------------------------------------------------------------------------- /repos/pepper_ros2.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | eProsima/Fast-CDR: 3 | type: git 4 | url: https://github.com/eProsima/Fast-CDR.git 5 | version: master 6 | eProsima/Fast-RTPS: 7 | type: git 8 | url: https://github.com/eProsima/Fast-RTPS.git 9 | version: master 10 | naoqi_bridge_msgs: 11 | type: git 12 | url: https://github.com/esteve/naoqi_bridge_msgs.git 13 | version: ros2 14 | naoqi_driver: 15 | type: git 16 | url: https://github.com/esteve/naoqi_driver.git 17 | version: ros2 18 | ros/class_loader: 19 | type: git 20 | url: https://github.com/ros/class_loader.git 21 | version: ros2 22 | ros2/ament_cmake_ros: 23 | type: git 24 | url: https://github.com/ros2/ament_cmake_ros.git 25 | version: master 26 | ros2/common_interfaces: 27 | type: git 28 | url: https://github.com/ros2/common_interfaces.git 29 | version: master 30 | ros2/example_interfaces: 31 | type: git 32 | url: https://github.com/ros2/example_interfaces.git 33 | version: master 34 | ros2/examples: 35 | type: git 36 | url: https://github.com/ros2/examples.git 37 | version: master 38 | ros2/poco_vendor: 39 | type: git 40 | url: https://github.com/ros2/poco_vendor.git 41 | version: master 42 | ros2/rcl: 43 | type: git 44 | url: https://github.com/ros2/rcl.git 45 | version: master 46 | ros2/rcl_interfaces: 47 | type: git 48 | url: https://github.com/ros2/rcl_interfaces.git 49 | version: master 50 | ros2/rclcpp: 51 | type: git 52 | url: https://github.com/ros2/rclcpp.git 53 | version: master 54 | ros2/rcutils: 55 | type: git 56 | url: https://github.com/ros2/rcutils.git 57 | version: master 58 | ros2/rmw: 59 | type: git 60 | url: https://github.com/ros2/rmw.git 61 | version: master 62 | ros2/rmw_fastrtps: 63 | type: git 64 | url: https://github.com/ros2/rmw_fastrtps.git 65 | version: master 66 | ros2/rmw_implementation: 67 | type: git 68 | url: https://github.com/ros2/rmw_implementation.git 69 | version: master 70 | ros2/rosidl: 71 | type: git 72 | url: https://github.com/esteve/rosidl.git 73 | version: c11 74 | ros2/rosidl_dds: 75 | type: git 76 | url: https://github.com/ros2/rosidl_dds.git 77 | version: master 78 | ros2/rosidl_typesupport: 79 | type: git 80 | url: https://github.com/ros2/rosidl_typesupport.git 81 | version: master 82 | vendor/console_bridge: 83 | type: git 84 | url: https://github.com/ros/console_bridge.git 85 | version: master 86 | -------------------------------------------------------------------------------- /prepare_requirements_ros2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euf -o pipefail 4 | 5 | PYTHON3_VERSION=3.6.1 6 | 7 | INSTALL_ROOT=.ros-root 8 | 9 | if [ -z "$ALDE_CTC_CROSS" ]; then 10 | echo "Please define the ALDE_CTC_CROSS variable with the path to Aldebaran's Crosscompiler toolchain" 11 | exit 1 12 | fi 13 | 14 | docker build -t ros2-pepper -f docker/Dockerfile_ros2 docker/ 15 | 16 | if [ ! -e "Python-${PYTHON3_VERSION}.tar.xz" ]; then 17 | wget -cN https://www.python.org/ftp/python/$PYTHON3_VERSION/Python-${PYTHON3_VERSION}.tar.xz 18 | tar xvf Python-${PYTHON3_VERSION}.tar.xz 19 | fi 20 | 21 | mkdir -p ccache-build/ 22 | mkdir -p ${PWD}/Python-${PYTHON3_VERSION}-host 23 | mkdir -p ${PWD}/${INSTALL_ROOT}/Python-${PYTHON3_VERSION} 24 | 25 | USE_TTY="" 26 | if [ -z "$ROS_PEPPER_CI" ]; then 27 | USE_TTY="-it" 28 | fi 29 | 30 | docker run ${USE_TTY} --rm \ 31 | -u $(id -u) \ 32 | -e INSTALL_ROOT=${INSTALL_ROOT} \ 33 | -e PYTHON3_VERSION=${PYTHON3_VERSION} \ 34 | -v ${PWD}/ccache-build:/home/nao/.ccache \ 35 | -v ${PWD}/Python-${PYTHON3_VERSION}:/home/nao/Python-${PYTHON3_VERSION}-src \ 36 | -v ${PWD}/Python-${PYTHON3_VERSION}-host:/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION} \ 37 | -v ${ALDE_CTC_CROSS}:/home/nao/ctc \ 38 | -e CC \ 39 | -e CPP \ 40 | -e CXX \ 41 | -e RANLIB \ 42 | -e AR \ 43 | -e AAL \ 44 | -e LD \ 45 | -e READELF \ 46 | -e CFLAGS \ 47 | -e CPPFLAGS \ 48 | -e LDFLAGS \ 49 | ros2-pepper \ 50 | bash -c "\ 51 | set -euf -o pipefail && \ 52 | mkdir -p Python-${PYTHON3_VERSION}-src/build-host && \ 53 | cd Python-${PYTHON3_VERSION}-src/build-host && \ 54 | export PATH=/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin:\${PATH} && \ 55 | ../configure \ 56 | --prefix=/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION} \ 57 | --enable-shared \ 58 | --disable-ipv6 \ 59 | ac_cv_file__dev_ptmx=yes \ 60 | ac_cv_file__dev_ptc=no && \ 61 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/lib && \ 62 | make -j4 install && \ 63 | wget -O - -q https://bootstrap.pypa.io/get-pip.py | /home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin/python3 && \ 64 | /home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin/pip3 install empy catkin-pkg setuptools vcstool pyparsing" 65 | 66 | docker run ${USE_TTY} --rm \ 67 | -u $(id -u) \ 68 | -e INSTALL_ROOT=${INSTALL_ROOT} \ 69 | -e PYTHON3_VERSION=${PYTHON3_VERSION} \ 70 | -v ${PWD}/ccache-build:/home/nao/.ccache \ 71 | -v ${PWD}/Python-${PYTHON3_VERSION}:/home/nao/Python-${PYTHON3_VERSION}-src \ 72 | -v ${PWD}/Python-${PYTHON3_VERSION}-host:/home/nao/Python-${PYTHON3_VERSION}-host \ 73 | -v ${PWD}/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}:/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION} \ 74 | -v ${ALDE_CTC_CROSS}:/home/nao/ctc \ 75 | ros2-pepper \ 76 | bash -c "\ 77 | set -euf -o pipefail && \ 78 | mkdir -p Python-${PYTHON3_VERSION}-src/build-pepper && \ 79 | cd Python-${PYTHON3_VERSION}-src/build-pepper && \ 80 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/Python-${PYTHON3_VERSION}-host/lib && \ 81 | export PATH=/home/nao/Python-${PYTHON3_VERSION}-host/bin:\${PATH} && \ 82 | ../configure \ 83 | --prefix=/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION} \ 84 | --host=i686-aldebaran-linux-gnu \ 85 | --build=x86_64-linux \ 86 | --enable-shared \ 87 | --disable-ipv6 \ 88 | ac_cv_file__dev_ptmx=yes \ 89 | ac_cv_file__dev_ptc=no && \ 90 | make -j4 && \ 91 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/lib && \ 92 | export PATH=/home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin:\${PATH} && \ 93 | make install && \ 94 | wget -O - -q https://bootstrap.pypa.io/get-pip.py | /home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin/python3 && \ 95 | /home/nao/${INSTALL_ROOT}/Python-${PYTHON3_VERSION}/bin/pip3 install empy catkin-pkg setuptools vcstool pyparsing" 96 | -------------------------------------------------------------------------------- /prepare_requirements_ros1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euf -o pipefail 4 | 5 | PYTHON2_VERSION=2.7.13 6 | 7 | INSTALL_ROOT=.ros-root 8 | 9 | if [ -z "$ALDE_CTC_CROSS" ]; then 10 | echo "Please define the ALDE_CTC_CROSS variable with the path to Aldebaran's Crosscompiler toolchain" 11 | exit 1 12 | fi 13 | 14 | docker build -t ros1-pepper -f docker/Dockerfile_ros1 docker/ 15 | 16 | if [ ! -e "Python-${PYTHON2_VERSION}.tar.xz" ]; then 17 | wget -cN https://www.python.org/ftp/python/$PYTHON2_VERSION/Python-${PYTHON2_VERSION}.tar.xz 18 | tar xvf Python-${PYTHON2_VERSION}.tar.xz 19 | fi 20 | 21 | mkdir -p ccache-build/ 22 | mkdir -p ${PWD}/Python-${PYTHON2_VERSION}-host 23 | mkdir -p ${PWD}/${INSTALL_ROOT}/Python-${PYTHON2_VERSION} 24 | 25 | USE_TTY="" 26 | if [ -z "$ROS_PEPPER_CI" ]; then 27 | USE_TTY="-it" 28 | fi 29 | 30 | docker run ${USE_TTY} --rm \ 31 | -u $(id -u) \ 32 | -e INSTALL_ROOT=${INSTALL_ROOT} \ 33 | -e PYTHON2_VERSION=${PYTHON2_VERSION} \ 34 | -v ${PWD}/ccache-build:/home/nao/.ccache \ 35 | -v ${PWD}/Python-${PYTHON2_VERSION}:/home/nao/Python-${PYTHON2_VERSION}-src \ 36 | -v ${PWD}/Python-${PYTHON2_VERSION}-host:/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION} \ 37 | -v ${ALDE_CTC_CROSS}:/home/nao/ctc \ 38 | -e CC \ 39 | -e CPP \ 40 | -e CXX \ 41 | -e RANLIB \ 42 | -e AR \ 43 | -e AAL \ 44 | -e LD \ 45 | -e READELF \ 46 | -e CFLAGS \ 47 | -e CPPFLAGS \ 48 | -e LDFLAGS \ 49 | ros1-pepper \ 50 | bash -c "\ 51 | set -euf -o pipefail && \ 52 | mkdir -p Python-${PYTHON2_VERSION}-src/build-host && \ 53 | cd Python-${PYTHON2_VERSION}-src/build-host && \ 54 | export PATH=/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin:\${PATH} && \ 55 | ../configure \ 56 | --prefix=/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION} \ 57 | --enable-shared \ 58 | --disable-ipv6 \ 59 | ac_cv_file__dev_ptmx=yes \ 60 | ac_cv_file__dev_ptc=no && \ 61 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/lib && \ 62 | make -j4 install && \ 63 | wget -O - -q https://bootstrap.pypa.io/get-pip.py | /home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin/python && \ 64 | /home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin/pip install empy catkin-pkg setuptools vcstool numpy rospkg defusedxml netifaces" 65 | 66 | docker run ${USE_TTY} --rm \ 67 | -u $(id -u) \ 68 | -e INSTALL_ROOT=${INSTALL_ROOT} \ 69 | -e PYTHON2_VERSION=${PYTHON2_VERSION} \ 70 | -v ${PWD}/ccache-build:/home/nao/.ccache \ 71 | -v ${PWD}/Python-${PYTHON2_VERSION}:/home/nao/Python-${PYTHON2_VERSION}-src \ 72 | -v ${PWD}/Python-${PYTHON2_VERSION}-host:/home/nao/Python-${PYTHON2_VERSION}-host \ 73 | -v ${PWD}/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}:/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION} \ 74 | -v ${ALDE_CTC_CROSS}:/home/nao/ctc \ 75 | ros1-pepper \ 76 | bash -c "\ 77 | set -euf -o pipefail && \ 78 | mkdir -p Python-${PYTHON2_VERSION}-src/build-pepper && \ 79 | cd Python-${PYTHON2_VERSION}-src/build-pepper && \ 80 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/Python-${PYTHON2_VERSION}-host/lib && \ 81 | export PATH=/home/nao/Python-${PYTHON2_VERSION}-host/bin:\${PATH} && \ 82 | ../configure \ 83 | --prefix=/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION} \ 84 | --host=i686-aldebaran-linux-gnu \ 85 | --build=x86_64-linux \ 86 | --enable-shared \ 87 | --disable-ipv6 \ 88 | ac_cv_file__dev_ptmx=yes \ 89 | ac_cv_file__dev_ptc=no && \ 90 | make -j4 && \ 91 | export LD_LIBRARY_PATH=/home/nao/ctc/openssl/lib:/home/nao/ctc/zlib/lib:/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/lib && \ 92 | export PATH=/home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin:\${PATH} && \ 93 | make install && \ 94 | wget -O - -q https://bootstrap.pypa.io/get-pip.py | /home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin/python && \ 95 | /home/nao/${INSTALL_ROOT}/Python-${PYTHON2_VERSION}/bin/pip install empy catkin-pkg setuptools vcstool numpy rospkg defusedxml netifaces" 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Introduction 2 | 3 | This project contains a set of patches and scripts to compile and run ROS 1 and ROS 2 onboard a Pepper robot, without the need of a tethered computer. 4 | 5 | ## Pre-requirements 6 | 7 | Download and extract the [NaoQi C++ framework](http://doc.aldebaran.com/2-5/index_dev_guide.html) and Softbanks's crosstool chain and point the `AL_DIR` and `ALDE_CTC_CROSS` environment variables to their respective paths: 8 | 9 | ``` 10 | export AL_DIR=/home/NaoQi <-- Or wherever you installed NaoQi 11 | export ALDE_CTC_CROSS=$AL_DIR/ctc-linux64-atom-2.5.2.74 12 | ``` 13 | 14 | ## Prepare cross-compiling environment 15 | 16 | We're going to use Docker to set up a container that will compile all the tools for cross-compiling ROS and all of its dependencies. Go to https://https://www.docker.com/community-edition to download it and install it for your Linux distribution. 17 | 18 | 19 | 1. Clone the project's repository 20 | 21 | ``` 22 | $ git clone git clone https://github.com/esteve/ros2_pepper.git 23 | $ cd ros2_pepper 24 | ``` 25 | 26 | ## ROS 1 27 | 28 | ### Prepare the requirements for ROS 1 29 | 30 | The following script will create a Docker image and compile Python interpreters suitable for both the host and the robot. 31 | 32 | ``` 33 | ./prepare_requirements_ros1.sh 34 | ``` 35 | 36 | ### Build ROS 1 dependencies 37 | 38 | Before we actually build ROS for Pepper, there's a bunch of dependencies we'll need to cross compile which are not available in Softbank's CTC: 39 | 40 | - console_bridge 41 | - poco 42 | - tinyxml2 43 | - urdfdom 44 | - urdfdom_headers 45 | 46 | ``` 47 | ./build_ros1_dependencies.sh 48 | ``` 49 | 50 | ### Build ROS 1 51 | 52 | Finally! Type the following, go grab a coffee and after a while you'll have an entire base ROS distro built for Pepper. 53 | 54 | ``` 55 | ./build_ros1.sh 56 | ``` 57 | 58 | ### Copy ROS and its dependencies to the robot 59 | 60 | By now you should have the following inside .ros-root in the current directory: 61 | 62 | - Python 2.7 built for Pepper (.ros-root/Python-2.7.13) 63 | - All the dependencies required by ROS (.ros-root/ros1_dependencies) 64 | - A ROS workspace with ROS Kinetic built for Pepper (.ros-root/ros1_inst) 65 | - A helper script that will set up the ROS workspace in the robot (.ros-root/setup_ros1_pepper.bash) 66 | 67 | We're going to copy these to the robot, assuming that your robot is connected to your network, type the following: 68 | 69 | ``` 70 | $ scp -r .ros-root nao@IP_ADDRESS_OF_YOUR_ROBOT:.ros-root 71 | ``` 72 | 73 | ### Run ROS 1 from inside Pepper 74 | 75 | Now that we have it all in the robot, let's give it a try: 76 | 77 | *SSH into the robot* 78 | 79 | ``` 80 | $ ssh nao@IP_ADDRESS_OF_YOUR_ROBOT 81 | ``` 82 | 83 | *Source (not run) the setup script* 84 | 85 | ``` 86 | $ source .ros-root/setup_ros1_pepper.bash 87 | ``` 88 | 89 | *Start naoqi_driver, note that NETWORK\_INTERFACE may be either wlan0 or eth0, pick the appropriate interface if your robot is connected via wifi or ethernet* 90 | 91 | ``` 92 | $ roslaunch naoqi_driver naoqi_driver.launch nao_ip:=IP_ADDRESS_OF_YOUR_ROBOT \ 93 | roscore_ip:=IP_ADDRESS_OF_YOUR_ROBOT network_interface:=NETWORK_INTERFACE 94 | ``` 95 | 96 | ## ROS 2 97 | 98 | BEWARE: The ROS 2 port is still experimental and incomplete, simple sensors such as the bumpers work, but the camera driver has not been ported yet. 99 | 100 | The following instructions require that you have ROS 1 built for Pepper. 101 | 102 | ### Prepare the requirements for ROS 2 103 | 104 | The following script will create a Docker image and compile Python interpreters suitable for both the host and the robot. 105 | 106 | ``` 107 | ./prepare_requirements_ros2.sh 108 | ``` 109 | 110 | ### Build ROS 2 111 | 112 | Let's now build ROS 2 for Pepper: 113 | 114 | ``` 115 | ./build_ros2.sh 116 | ``` 117 | 118 | ### Copy ROS 2 and its dependencies to the robot 119 | 120 | Besides the ROS 1 binaries and its dependencies, we'll now a few more directories inside .ros-root in our current directory: 121 | 122 | - Python 3.6 built for Pepper (.ros-root/Python-3.6.1) 123 | - A ROS 2 workspace built for Pepper (.ros-root/ros2_inst) 124 | 125 | We're going to copy these to the robot, assuming that your robot is connected to your network, type the following: 126 | 127 | ``` 128 | $ scp -r .ros-root nao@IP_ADDRESS_OF_YOUR_ROBOT:.ros-root 129 | ``` 130 | 131 | ### Run ROS 2 from inside Pepper 132 | 133 | Now that we have it all in the robot, let's give it a try: 134 | 135 | *SSH into the robot* 136 | 137 | ``` 138 | $ ssh nao@IP_ADDRESS_OF_YOUR_ROBOT 139 | ``` 140 | 141 | *Source (not run) the setup script* 142 | 143 | ``` 144 | $ source .ros-root/setup_ros2_pepper.bash 145 | ``` 146 | 147 | ROS 2 does not have a something like roslaunch yet, so you'll have to run naoqi_driver directly: 148 | 149 | *Start naoqi_driver, note that NETWORK\_INTERFACE may be either wlan0 or eth0, pick the appropriate interface if your robot is connected via wifi or ethernet* 150 | 151 | ``` 152 | $ naoqi_driver_node --qi-url=tcp://IP_ADDRESS_OF_YOUR_ROBOT:9559 \ 153 | --roscore_ip=IP_ADDRESS_OF_YOUR_ROBOT --network_interface=NETWORK_INTERFACE \ 154 | --namespace=naoqi_driver 155 | ``` 156 | 157 | ## Demos 158 | 159 | The folks at the [Universidad Rey Juan Carlos](http://robotica.gsyc.es/) and [Intelligent Robotics](http://inrobots.es/) have produced the following video showing a Pepper robot runnning ROS onboard using the code from this repository: 160 | 161 | [![Pepper Navigation](http://img.youtube.com/vi/0wIWJHMchaU/0.jpg)](https://www.youtube.com/watch?v=0wIWJHMchaU "Pepper Navigation") 162 | 163 | Enjoy! 164 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /ctc-cmake-toolchain.cmake: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | ## Based on Aldebaran's CTC toolchain 3 | ## Copyright (C) 2011-2014 Aldebaran 4 | 5 | # CMake toolchain file to cross compile on ARM 6 | 7 | ## 8 | # Utility macros 9 | #espace space (this allow ctc path with space) 10 | macro(set_escaped name) 11 | string(REPLACE " " "\\ " ${name} ${ARGN}) 12 | endmacro() 13 | #double! 14 | macro(set_escaped2 name) 15 | string(REPLACE " " "\\\\ " ${name} ${ARGN}) 16 | endmacro() 17 | 18 | set(TARGET_ARCH "i686") 19 | set(TARGET_TUPLE "${TARGET_ARCH}-aldebaran-linux-gnu") 20 | 21 | set(ALDE_CTC_CROSS $ENV{ALDE_CTC_CROSS}) 22 | 23 | 24 | if(" " STREQUAL "${ALDE_CTC_CROSS} ") 25 | message(FATAL_ERROR "Please define the ALDE_CTC_CROSS variable to the path of Aldebaran's Crosscompiler toolchain") 26 | endif() 27 | 28 | set(ALDE_CTC_SYSROOT "${ALDE_CTC_CROSS}/${TARGET_TUPLE}/sysroot") 29 | 30 | set(ROS2_PEPPER $ENV{ROS2_PEPPER}) 31 | 32 | if(" " STREQUAL "${ROS2_PEPPER} ") 33 | set(ROS2_PEPPER ${CMAKE_CURRENT_LIST_DIR}) 34 | endif() 35 | 36 | set(Eigen3_DIR ${ROS2_PEPPER}/cmake CACHE INTERNAL "" FORCE) 37 | 38 | ## 39 | # Define the target... 40 | # But first, force cross-compilation, even if we are compiling 41 | # from linux-x86 to linux-x86 ... 42 | 43 | # NOTE(esteve): disabled in favor of CMAKE_C_COMPILER and CMAKE_CXX_COMPILER, see below 44 | # include(CMakeForceCompiler) 45 | 46 | set(CMAKE_CROSSCOMPILING ON) 47 | # Then, define the target system 48 | set(CMAKE_SYSTEM_NAME "Linux") 49 | set(CMAKE_SYSTEM_PROCESSOR "${TARGET_ARCH}") 50 | set(CMAKE_EXECUTABLE_FORMAT "ELF") 51 | 52 | ## 53 | # Probe the build/host system... 54 | set(_BUILD_EXT "") 55 | # sanity checks/host detection 56 | if(WIN32) 57 | if(MSVC) 58 | # Visual studio 59 | message(FATAL_ERROR "Host not suppported") 60 | else() 61 | # mingw32 62 | set(_BUILD_EXT ".exe") 63 | endif() 64 | else() 65 | if(APPLE) 66 | # Mac OS X (assume 64bit architecture) 67 | set(_BUILD_EXT "") 68 | else() 69 | # Linux 70 | set(_BUILD_EXT "") 71 | endif() 72 | endif() 73 | 74 | set(I_AM_A_ROBOT ON CACHE BOOL "this is always defined when we target a robot (valid values: ATOM)" FORCE) 75 | 76 | # add the sysroot location to the CMAKE_PREFIX_PATH to correctly find 77 | # libraries and headers coming with the cross-compiler 78 | if(NOT DEFINED CMAKE_PREFIX_PATH) 79 | set(CMAKE_PREFIX_PATH) 80 | endif() 81 | list(APPEND CMAKE_PREFIX_PATH ${ALDE_CTC_SYSROOT}) 82 | 83 | # root of the cross compiled filesystem 84 | # should be set but we do find_path in each module outside this folder !!!! 85 | if(NOT CMAKE_FIND_ROOT_PATH) 86 | set(CMAKE_FIND_ROOT_PATH) 87 | endif() 88 | if(NOT "${ALDE_CTC_SYSROOT}" IN_LIST CMAKE_FIND_ROOT_PATH) 89 | list(INSERT CMAKE_FIND_ROOT_PATH 0 "${ALDE_CTC_SYSROOT}") 90 | endif() 91 | 92 | # search for programs in the build host directories 93 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) 94 | # for libraries and headers in the target directories 95 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 96 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 97 | # NOTE(esteve): added this to ensure more isolation from host system 98 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 99 | 100 | set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} CACHE INTERNAL "" FORCE) 101 | 102 | # NOTE(esteve): replaced this with CMAKE_C_COMPILER AND CMAKE_CXX_COMPILER so that we can 103 | # use CMAKE_C_STANDARD and CMAKE_CXX_STANDARD on our projects 104 | # CMAKE_FORCE_C_COMPILER( "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-gcc${_BUILD_EXT}" GNU) 105 | # CMAKE_FORCE_CXX_COMPILER("${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-g++${_BUILD_EXT}" GNU) 106 | set(CMAKE_C_COMPILER "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-gcc${_BUILD_EXT}") 107 | set(CMAKE_CXX_COMPILER "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-g++${_BUILD_EXT}") 108 | 109 | set(CMAKE_LINKER "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-ld${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 110 | set(CMAKE_AR "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-ar${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 111 | set(CMAKE_RANLIB "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-ranlib${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 112 | set(CMAKE_NM "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-nm${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 113 | set(CMAKE_OBJCOPY "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-objcopy${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 114 | set(CMAKE_OBJDUMP "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-objdump${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 115 | set(CMAKE_STRIP "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-strip${_BUILD_EXT}" CACHE FILEPATH "" FORCE) 116 | 117 | # If ccache is found, just use it:) 118 | find_program(CCACHE "ccache") 119 | if (CCACHE) 120 | message( STATUS "Using ccache") 121 | endif(CCACHE) 122 | 123 | if (CCACHE AND NOT FORCE_NO_CCACHE) 124 | set(CMAKE_C_COMPILER "${CCACHE}" CACHE FILEPATH "" FORCE) 125 | set(CMAKE_CXX_COMPILER "${CCACHE}" CACHE FILEPATH "" FORCE) 126 | set_escaped2(CMAKE_C_COMPILER_ARG1 "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-gcc${_BUILD_EXT}") 127 | set_escaped2(CMAKE_CXX_COMPILER_ARG1 "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-g++${_BUILD_EXT}") 128 | else(CCACHE AND NOT FORCE_NO_CCACHE) 129 | set_escaped(CMAKE_C_COMPILER "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-gcc${_BUILD_EXT}") 130 | set_escaped(CMAKE_CXX_COMPILER "${ALDE_CTC_CROSS}/bin/${TARGET_TUPLE}-g++${_BUILD_EXT}") 131 | endif(CCACHE AND NOT FORCE_NO_CCACHE) 132 | 133 | ## 134 | # Small hacks for qt: do not use the qmake from the system, 135 | # force path to moc and rcc 136 | set(QT_USE_QMAKE FALSE CACHE INTERNAL "" FORCE) 137 | 138 | if(NOT TARGET Qt5::moc) 139 | add_executable(Qt5::moc IMPORTED) 140 | set_target_properties(Qt5::moc PROPERTIES 141 | IMPORTED_LOCATION "${ALDE_CTC_CROSS}/bin/moc${_BUILD_EXT}") 142 | endif() 143 | if(NOT TARGET Qt5::rcc) 144 | add_executable(Qt5::rcc IMPORTED) 145 | set_target_properties(Qt5::rcc PROPERTIES 146 | IMPORTED_LOCATION "${ALDE_CTC_CROSS}/bin/rcc${_BUILD_EXT}") 147 | endif() 148 | 149 | ## 150 | # Set pkg-config for cross-compilation 151 | #set(PKG_CONFIG_EXECUTABLE "${ALDE_CTC_CROSS}/bin/pkg-config" CACHE INTERNAL "" FORCE) 152 | set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config" CACHE INTERNAL "" FORCE) 153 | 154 | ## 155 | # Set target flags 156 | set_escaped(ALDE_CTC_CROSS ${ALDE_CTC_CROSS}) 157 | set_escaped(ALDE_CTC_SYSROOT ${ALDE_CTC_SYSROOT}) 158 | 159 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DI_AM_A_ROBOT") 160 | 161 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --sysroot ${ALDE_CTC_SYSROOT}/") 162 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -fomit-frame-pointer") 163 | 164 | if(WITH_BREAKPAD) 165 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -ggdb -gdwarf-2") 166 | endif() 167 | 168 | if("${TARGET_ARCH}" STREQUAL "i686") 169 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i686") 170 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3 -mfpmath=sse") 171 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finline-functions-called-once -finline-small-functions") 172 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -falign-functions -falign-labels -falign-loops -falign-jumps") 173 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -freorder-blocks -freorder-blocks-and-partition -freorder-functions") 174 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -faggressive-loop-optimizations -ftree-vectorize -fpredictive-commoning") 175 | elseif("${TARGET_ARCH}" STREQUAL "arm") 176 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -O2") 177 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -mabi=aapcs-linux -marm -march=armv7-a -mcpu=cortex-a9") 178 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} --param l1-cache-line-size=64 --param l1-cache-size=16 --param l2-cache-size=2048") 179 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -mfpu=neon-vfpv4 -mfloat-abi=hard") 180 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -mbranch-likely") 181 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -falign-functions -falign-labels -falign-loops -falign-jumps") 182 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -freorder-blocks -freorder-blocks-and-partition -freorder-functions") 183 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -finline-functions-called-once -finline-small-functions") 184 | set(CMAKE_C_FLAGS="${CMAKE_C_FLAGS} -faggressive-loop-optimizations -ftree-vectorize -fpredictive-commoning") 185 | endif() 186 | 187 | if(NOT DEFINED ROS_PEPPER_LINK_DIRECTORIES) 188 | set(ROS_PEPPER_LINK_DIRECTORIES 189 | "\ 190 | -L${ALDE_CTC_CROSS}/boost/lib \ 191 | -L${ALDE_CTC_CROSS}/bzip2/lib \ 192 | -L${ALDE_CTC_CROSS}/icu/lib \ 193 | -L${ALDE_CTC_CROSS}/jpeg/lib \ 194 | -L${ALDE_CTC_CROSS}/png/lib \ 195 | -L${ALDE_CTC_CROSS}/tiff/lib \ 196 | -L${ALDE_CTC_CROSS}/zlib/lib \ 197 | -L${ALDE_CTC_CROSS}/xz_utils/lib \ 198 | -L${ALDE_CTC_CROSS}/openssl/lib \ 199 | " 200 | CACHE INTERNAL "" 201 | ) 202 | 203 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ROS_PEPPER_LINK_DIRECTORIES}" CACHE INTERNAL "") 204 | set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=gnu++11 ${ROS_PEPPER_LINK_DIRECTORIES}" CACHE INTERNAL "") 205 | endif() 206 | 207 | ## 208 | # Make sure we don't have to relink binaries when we cross-compile 209 | set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) 210 | 211 | set(Boost_NO_SYSTEM_PATHS ON CACHE INTERNAL "" FORCE) 212 | # set(Boost_ADDITIONAL_VERSIONS "1.59" CACHE INTERNAL "" FORCE) 213 | # set(Boost_USE_MULTITHREADED ON CACHE INTERNAL "" FORCE) 214 | # set(Boost_LIBRARY_DIR_RELEASE "${ALDE_CTC_CROSS}/boost/lib" CACHE INTERNAL "" FORCE) 215 | 216 | set(Boost_INCLUDE_DIR "${ALDE_CTC_CROSS}/boost/include" CACHE INTERNAL "" FORCE) 217 | set(Boost_PYTHON_FOUND 1 CACHE INTERNAL "" FORCE) 218 | set(Boost_PYTHON_LIBRARY "${ALDE_CTC_CROSS}/boost/lib/libboost_python-2.7.so" CACHE INTERNAL "" FORCE) 219 | 220 | set(Boost_DEBUG 1 CACHE INTERNAL "" FORCE) 221 | set(Boost_DETAILED_FAILURE_MSG 1 CACHE INTERNAL "" FORCE) 222 | 223 | # NOTE(esteve): manually specify paths to libraries so that find_package() finds them 224 | set(TinyXML_LIBRARY "${ALDE_CTC_CROSS}/tinyxml/lib/libtinyxml.so" CACHE INTERNAL "" FORCE) 225 | set(TinyXML_INCLUDE_DIR "${ALDE_CTC_CROSS}/tinyxml/include" CACHE INTERNAL "" FORCE) 226 | 227 | set(lz4_INCLUDE_DIRS "${ALDE_CTC_CROSS}/lz4/include" CACHE INTERNAL "" FORCE) 228 | set(lz4_LIBRARIES "${ALDE_CTC_CROSS}/lz4/lib/liblz4.so" CACHE INTERNAL "" FORCE) 229 | 230 | set(BZIP2_INCLUDE_DIR "${ALDE_CTC_CROSS}/bzip2/include" CACHE INTERNAL "" FORCE) 231 | set(BZIP2_LIBRARIES "${ALDE_CTC_CROSS}/bzip2/lib/libbz2.so" CACHE INTERNAL "" FORCE) 232 | 233 | set(JPEG_LIBRARY "${ALDE_CTC_CROSS}/jpeg/lib/libjpeg.so" CACHE INTERNAL "" FORCE) 234 | set(JPEG_INCLUDE_DIR "${ALDE_CTC_CROSS}/jpeg/include" CACHE INTERNAL "" FORCE) 235 | 236 | set(ZLIB_LIBRARY "${ALDE_CTC_CROSS}/zlib/lib/libz.so" CACHE INTERNAL "" FORCE) 237 | set(ZLIB_INCLUDE_DIR "${ALDE_CTC_CROSS}/zlib/include" CACHE INTERNAL "" FORCE) 238 | 239 | set(TIFF_LIBRARY "${ALDE_CTC_CROSS}/tiff/lib/libtiff.so" CACHE INTERNAL "" FORCE) 240 | set(TIFF_INCLUDE_DIR "${ALDE_CTC_CROSS}/tiff/include" CACHE INTERNAL "" FORCE) 241 | 242 | set(PNG_LIBRARY "${ALDE_CTC_CROSS}/png/lib/libpng.so" CACHE INTERNAL "" FORCE) 243 | set(PNG_PNG_INCLUDE_DIR "${ALDE_CTC_CROSS}/png/include" CACHE INTERNAL "" FORCE) 244 | 245 | link_directories(${ALDE_CTC_CROSS}/boost/lib) 246 | link_directories(${ALDE_CTC_CROSS}/bzip2/lib) 247 | link_directories(${ALDE_CTC_CROSS}/ffmpeg/lib) 248 | link_directories(${ALDE_CTC_CROSS}/icu/lib) 249 | link_directories(${ALDE_CTC_CROSS}/jpeg/lib) 250 | link_directories(${ALDE_CTC_CROSS}/libtheora/lib) 251 | link_directories(${ALDE_CTC_CROSS}/ogg/lib) 252 | link_directories(${ALDE_CTC_CROSS}/opencore-amr/lib) 253 | link_directories(${ALDE_CTC_CROSS}/openssl/lib) 254 | link_directories(${ALDE_CTC_CROSS}/opus/lib) 255 | link_directories(${ALDE_CTC_CROSS}/png/lib) 256 | link_directories(${ALDE_CTC_CROSS}/speex/lib) 257 | link_directories(${ALDE_CTC_CROSS}/tbb/lib) 258 | link_directories(${ALDE_CTC_CROSS}/tiff/lib) 259 | link_directories(${ALDE_CTC_CROSS}/v4l/lib) 260 | link_directories(${ALDE_CTC_CROSS}/vo-aacenc/lib) 261 | link_directories(${ALDE_CTC_CROSS}/vo-amrwbenc/lib) 262 | link_directories(${ALDE_CTC_CROSS}/vorbis/lib) 263 | link_directories(${ALDE_CTC_CROSS}/xz_utils/lib) 264 | link_directories(${ALDE_CTC_CROSS}/zlib/lib) 265 | link_directories(${ALDE_CTC_CROSS}/openssl/lib) 266 | 267 | set(_link_flags "") 268 | 269 | # NOTE(esteve): Workarounds for missing symbols in the CTC libraries (e.g. ICU in Boost.Regex) 270 | if( 271 | PROJECT_NAME STREQUAL "rosout" OR 272 | PROJECT_NAME STREQUAL "topic_tools" OR 273 | PROJECT_NAME STREQUAL "rosbag" OR 274 | PROJECT_NAME STREQUAL "rosconsole_bridge" OR 275 | PROJECT_NAME STREQUAL "image_transport" OR 276 | PROJECT_NAME STREQUAL "diagnostic_updater" OR 277 | PROJECT_NAME STREQUAL "tf2_ros" OR 278 | PROJECT_NAME STREQUAL "tf" OR 279 | PROJECT_NAME STREQUAL "kdl_parser" OR 280 | PROJECT_NAME STREQUAL "robot_state_publisher" OR 281 | PROJECT_NAME STREQUAL "nodelet") 282 | set(_link_flags 283 | "\ 284 | -licudata \ 285 | -licui18n \ 286 | -licuuc \ 287 | " 288 | ) 289 | elseif( 290 | PROJECT_NAME STREQUAL "naoqi_driver" OR 291 | PROJECT_NAME STREQUAL "image_proc" 292 | ) 293 | set(_link_flags 294 | "\ 295 | -lbz2 \ 296 | -licudata \ 297 | -licui18n \ 298 | -licuuc \ 299 | -ljpeg \ 300 | -llzma \ 301 | -lpng16 \ 302 | -ltiff \ 303 | -lz \ 304 | " 305 | ) 306 | elseif(PROJECT_NAME STREQUAL "urdfdom") 307 | set(_link_flags 308 | "\ 309 | -lboost_timer \ 310 | " 311 | ) 312 | elseif( 313 | PROJECT_NAME STREQUAL "rospack" 314 | ) 315 | set(_link_flags 316 | "\ 317 | -ldl \ 318 | -lutil \ 319 | " 320 | ) 321 | elseif( 322 | PROJECT_NAME STREQUAL "OpenCV" 323 | ) 324 | set(_link_flags 325 | "\ 326 | -ljpeg \ 327 | -llzma \ 328 | -lpng16 \ 329 | -ltiff \ 330 | -lz \ 331 | " 332 | ) 333 | elseif( 334 | PROJECT_NAME STREQUAL "PCL" 335 | ) 336 | set(_link_flags 337 | "\ 338 | -lbz2 \ 339 | -lz \ 340 | " 341 | ) 342 | elseif( 343 | PROJECT_NAME STREQUAL "rosauth" 344 | ) 345 | set(_link_flags 346 | "\ 347 | -licudata \ 348 | -licui18n \ 349 | -licuuc \ 350 | -lcrypto \ 351 | -lz \ 352 | " 353 | ) 354 | endif() 355 | 356 | set(EIGEN3_INCLUDE_DIR ${ALDE_CTC_CROSS}/eigen3/include/eigen3/ CACHE INTERNAL "" FORCE) 357 | set(EIGEN3_FOUND TRUE CACHE INTERNAL "" FORCE) 358 | 359 | set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--sysroot,${ALDE_CTC_SYSROOT}/ ${_link_flags}" CACHE INTERNAL "") 360 | set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--as-needed,--sysroot,${ALDE_CTC_SYSROOT}/ ${_link_flags}" CACHE INTERNAL "") 361 | set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed,--sysroot,${ALDE_CTC_SYSROOT}/ ${_link_flags}" CACHE INTERNAL "") 362 | 363 | # set(OpenCV_DIR ${ALDE_CTC_CROSS}/opencv2/share/OpenCV/ CACHE INTERNAL "" FORCE) 364 | -------------------------------------------------------------------------------- /repos/pepper_ros1.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | actionlib: 3 | type: git 4 | url: https://github.com/ros-gbp/actionlib-release.git 5 | version: f367757d8b172fdf37bed05e3373584eadcdfe2a 6 | angles: 7 | type: git 8 | url: https://github.com/ros-gbp/geometry_angles_utils-release.git 9 | version: 6e1dc72922c0b8c07bf4a9b67e81d36d407d2f2b 10 | catkin: 11 | type: git 12 | url: https://github.com/ros-gbp/catkin-release.git 13 | version: 716fe09b957a07ac1632ce96f8e3cff8ef6d9374 14 | class_loader: 15 | type: git 16 | url: https://github.com/ros-gbp/class_loader-release.git 17 | version: 5f37e36cdab03f732a6d4c535837ad85e72e2940 18 | cmake_modules: 19 | type: git 20 | url: https://github.com/ros-gbp/cmake_modules-release.git 21 | version: 75f24c23e3895bee084d760d5050af60d11aa0ab 22 | common_msgs/actionlib_msgs: 23 | type: git 24 | url: https://github.com/ros-gbp/common_msgs-release.git 25 | version: 41ff39e3c3950f3bbb95ea932507aa8fa9868588 26 | common_msgs/diagnostic_msgs: 27 | type: git 28 | url: https://github.com/ros-gbp/common_msgs-release.git 29 | version: ec8e0153e864432e9ee060ec8ca029aa135cae87 30 | common_msgs/geometry_msgs: 31 | type: git 32 | url: https://github.com/ros-gbp/common_msgs-release.git 33 | version: 78b06a7c98f6e50924dfc17f6db6d23442e1200c 34 | common_msgs/nav_msgs: 35 | type: git 36 | url: https://github.com/ros-gbp/common_msgs-release.git 37 | version: 84d4e89f428454b763d62d0853388566738566ad 38 | common_msgs/sensor_msgs: 39 | type: git 40 | url: https://github.com/ros-gbp/common_msgs-release.git 41 | version: 0f04150826ff8f0dc2acdf47fad44557035857cf 42 | common_msgs/trajectory_msgs: 43 | type: git 44 | url: https://github.com/ros-gbp/common_msgs-release.git 45 | version: 12d87e83e5961f665c09ed710444bbcbdc1464a4 46 | diagnostics/diagnostic_updater: 47 | type: git 48 | url: https://github.com/ros-gbp/diagnostics-release.git 49 | version: e077c19c8eb1c96a0e3d5fa66938f4f7e03f0023 50 | gencpp: 51 | type: git 52 | url: https://github.com/ros-gbp/gencpp-release.git 53 | version: 4c1a9a1857bd2ae2670a2775d77e173ec47ae152 54 | geneus: 55 | type: git 56 | url: https://github.com/tork-a/geneus-release.git 57 | version: cc2b229a6bfd430b0a8c0b3a42b8566b19c748b1 58 | genlisp: 59 | type: git 60 | url: https://github.com/ros-gbp/genlisp-release.git 61 | version: f12a05e749e3b65d02523d43d541eeaaa1010dea 62 | genmsg: 63 | type: git 64 | url: https://github.com/ros-gbp/genmsg-release.git 65 | version: ed72ac7a4b7fb6b85b2dbfc3534bde1b03f3e74e 66 | gennodejs: 67 | type: git 68 | url: https://github.com/RethinkRobotics-release/gennodejs-release.git 69 | version: 82a06c269d34a3b00f6c0541950a01a5a063ea7f 70 | genpy: 71 | type: git 72 | url: https://github.com/ros-gbp/genpy-release.git 73 | version: 65318066a2b713194ccb81efae5fc95a084fda1c 74 | geometry/tf: 75 | type: git 76 | url: https://github.com/ros-gbp/geometry-release.git 77 | version: 101d5e873ac062ba83c857caa69b1602bac3b977 78 | geometry/eigen_conversions: 79 | type: git 80 | url: https://github.com/ros-gbp/geometry-release.git 81 | version: ce045728b7bcf6a9402390e08234d52a62bd198b 82 | geometry2/tf2: 83 | type: git 84 | url: https://github.com/ros-gbp/geometry2-release.git 85 | version: 704747b7bc1456710dcd94cab4b480f4c4a6ca7d 86 | geometry2/tf2_geometry_msgs: 87 | type: git 88 | url: https://github.com/ros-gbp/geometry2-release.git 89 | version: 5c394963f63ee989e9b1259764b5198b1c3b068a 90 | geometry2/tf2_kdl: 91 | type: git 92 | url: https://github.com/ros-gbp/geometry2-release.git 93 | version: bab9c18e91ce66b399bb84a7c6743ee30c1da897 94 | geometry2/tf2_msgs: 95 | type: git 96 | url: https://github.com/ros-gbp/geometry2-release.git 97 | version: 098becbb70d9414ceb11b2e23ae4a8c8371f5b71 98 | geometry2/tf2_py: 99 | type: git 100 | url: https://github.com/ros-gbp/geometry2-release.git 101 | version: 1bca8cf6d095d5e3ffa02ab04f63a693e43b0224 102 | geometry2/tf2_ros: 103 | type: git 104 | url: https://github.com/ros-gbp/geometry2-release.git 105 | version: e99e6f727a2d2262ae301d0a23df84d6c42011ed 106 | image_common/image_transport: 107 | type: git 108 | url: https://github.com/ros-gbp/image_common-release.git 109 | version: 6abab778faf5be08d63386031752ddd00bb184fa 110 | kdl_parser/kdl_parser: 111 | type: git 112 | url: https://github.com/ros-gbp/kdl_parser-release.git 113 | version: 7dc07e5e57af33fc2ddd094b877a18508417a3ff 114 | message_generation: 115 | type: git 116 | url: https://github.com/ros-gbp/message_generation-release.git 117 | version: c820f191d66d75412c171e36fdc607317d3ce1df 118 | message_runtime: 119 | type: git 120 | url: https://github.com/ros-gbp/message_runtime-release.git 121 | version: 3a1adf17046b8d0f7910b708224a08b79d971053 122 | naoqi_bridge_msgs: 123 | type: git 124 | url: https://github.com/ros-naoqi/naoqi_bridge_msgs-release.git 125 | version: e25d4dc6b0e1cb5406be183cd9c486086a41dc82 126 | naoqi_driver: 127 | type: git 128 | url: https://github.com/esteve/naoqi_driver.git 129 | version: bz2-cmake 130 | naoqi_libqi: 131 | type: git 132 | url: https://github.com/esteve/libqi-release.git 133 | version: boost-cmake 134 | naoqi_libqicore: 135 | type: git 136 | url: https://github.com/esteve/libqicore-release.git 137 | version: boost-cmake 138 | opencv3: 139 | type: git 140 | url: https://github.com/ros-gbp/opencv3-release.git 141 | version: 998c2bf07922d13a6533a8bc682c3ece88361ae0 142 | orocos_kinematics_dynamics/orocos_kdl: 143 | type: git 144 | url: https://github.com/smits/orocos-kdl-release.git 145 | version: 07bd9074f00082c7f39d7debdb807750ecf630a3 146 | orocos_kinematics_dynamics/python_orocos_kdl: 147 | type: git 148 | url: https://github.com/smits/orocos-kdl-release.git 149 | version: 56c5c0622c15b672f6523ac50c2e4d697893d4a7 150 | pluginlib: 151 | type: git 152 | url: https://github.com/ros-gbp/pluginlib-release.git 153 | version: cc30c98c31b6a3d553a6c0f640d594c7780111ba 154 | robot_state_publisher: 155 | type: git 156 | url: https://github.com/ros-gbp/robot_state_publisher-release.git 157 | version: 66fc44c4a335b28c104217c59ea7a9fa745f9e56 158 | ros/rosbuild: 159 | type: git 160 | url: https://github.com/ros-gbp/ros-release.git 161 | version: 8cec7c4f63de13708060859f873bc6cefece8b5e 162 | ros/rosclean: 163 | type: git 164 | url: https://github.com/ros-gbp/ros-release.git 165 | version: 1337e4cd5e032966105211ec73e33be78bf0ce2b 166 | ros/roslang: 167 | type: git 168 | url: https://github.com/ros-gbp/ros-release.git 169 | version: 03b3ce61070044254d4e22b75d6f53b75b207a28 170 | ros/roslib: 171 | type: git 172 | url: https://github.com/ros-gbp/ros-release.git 173 | version: 018b7779ce47dc4c139bc4d4a4fa701dfe0b015c 174 | ros/rosunit: 175 | type: git 176 | url: https://github.com/ros-gbp/ros-release.git 177 | version: a44ad22b39fa838cfd10eeb4a839438768d0a815 178 | ros_comm/message_filters: 179 | type: git 180 | url: https://github.com/ros-gbp/ros_comm-release.git 181 | version: 659682bf50502d7bd31c1646b144b110b8af367a 182 | ros_comm/rosbag: 183 | type: git 184 | url: https://github.com/ros-gbp/ros_comm-release.git 185 | version: 8e353887a6c35f16c8eff6b0bae84b55ceee45cf 186 | ros_comm/rosbag_storage: 187 | type: git 188 | url: https://github.com/ros-gbp/ros_comm-release.git 189 | version: cf0fe556206cb8b46e1aced90f22abb0f43ca816 190 | ros_comm/rosconsole: 191 | type: git 192 | url: https://github.com/ros-gbp/ros_comm-release.git 193 | version: 65b904b8701c6895c940de25b86708635fc08f57 194 | ros_comm/roscpp: 195 | type: git 196 | url: https://github.com/ros-gbp/ros_comm-release.git 197 | version: 15cd403fc55f7a68ab6d393de58fa20ab027718a 198 | ros_comm/rosgraph: 199 | type: git 200 | url: https://github.com/ros-gbp/ros_comm-release.git 201 | version: c002837b35e46b9e79b7d8858846b2b6ab0d2350 202 | ros_comm/roslaunch: 203 | type: git 204 | url: https://github.com/ros-gbp/ros_comm-release.git 205 | version: a39b56de2a96e01ce0b254eabc5e2dbfe17b8802 206 | ros_comm/roslz4: 207 | type: git 208 | url: https://github.com/ros-gbp/ros_comm-release.git 209 | version: a8d4cb4ed313c9972d93846a35c6fcc4deb045cf 210 | ros_comm/rosmaster: 211 | type: git 212 | url: https://github.com/ros-gbp/ros_comm-release.git 213 | version: f40e854549a6120c8874226d18bd7b95e4f86b19 214 | ros_comm/rosmsg: 215 | type: git 216 | url: https://github.com/ros-gbp/ros_comm-release.git 217 | version: 2b1fe96f2eb24634c1c42327929cd7369f1af2ab 218 | ros_comm/rosnode: 219 | type: git 220 | url: https://github.com/ros-gbp/ros_comm-release.git 221 | version: de764774ad6edf0c68bfa1119e9b166c1f2bd84f 222 | ros_comm/rosout: 223 | type: git 224 | url: https://github.com/ros-gbp/ros_comm-release.git 225 | version: a96f1f7f19eec26488884387e6237d4e2782539e 226 | ros_comm/rosparam: 227 | type: git 228 | url: https://github.com/ros-gbp/ros_comm-release.git 229 | version: eeaf81a9195bfcc2b2f46ebf94dc787bd8c65edc 230 | ros_comm/rospy: 231 | type: git 232 | url: https://github.com/ros-gbp/ros_comm-release.git 233 | version: 80566de5a7a2e2189869272859edfaa760004f70 234 | ros_comm/rosservice: 235 | type: git 236 | url: https://github.com/ros-gbp/ros_comm-release.git 237 | version: 1bc36b8e9ebd125ffaa86e631776c9fbbeb1514d 238 | ros_comm/rostest: 239 | type: git 240 | url: https://github.com/ros-gbp/ros_comm-release.git 241 | version: 0f0047ed868e5c5310943264ea4932b565d4477d 242 | ros_comm/rostopic: 243 | type: git 244 | url: https://github.com/ros-gbp/ros_comm-release.git 245 | version: 6e87666d63f7a686eabcb7ce08cd0909729950f6 246 | ros_comm/roswtf: 247 | type: git 248 | url: https://github.com/ros-gbp/ros_comm-release.git 249 | version: 451284f2a30b8f1fb0921beeaf935d2ee684853c 250 | ros_comm/topic_tools: 251 | type: git 252 | url: https://github.com/ros-gbp/ros_comm-release.git 253 | version: 8c81c274c5267c47f3893d7b4a299555af537b4d 254 | ros_comm/xmlrpcpp: 255 | type: git 256 | url: https://github.com/ros-gbp/ros_comm-release.git 257 | version: daaeeadf5ae79856c41f33757657ab741ecf88b3 258 | ros_comm_msgs/rosgraph_msgs: 259 | type: git 260 | url: https://github.com/ros-gbp/ros_comm_msgs-release.git 261 | version: 3b5b669a7bcfd0f2acd9b45d09f77bfcea7059b0 262 | ros_comm_msgs/std_srvs: 263 | type: git 264 | url: https://github.com/ros-gbp/ros_comm_msgs-release.git 265 | version: 63fd4c1a1bea2f285041455b9f816d46e9057134 266 | rosbag_migration_rule: 267 | type: git 268 | url: https://github.com/ros-gbp/rosbag_migration_rule-release.git 269 | version: d875aae40a1e1751894b0da30793cea123b9a896 270 | rosconsole_bridge: 271 | type: git 272 | url: https://github.com/ros-gbp/rosconsole_bridge-release.git 273 | version: 37b9656072ece4ce1fab4089cb52d07a6b9b5f28 274 | roscpp_core/cpp_common: 275 | type: git 276 | url: https://github.com/ros-gbp/roscpp_core-release.git 277 | version: fc6b5b6ebdf6712ad0fa08ff57b99597b801bdc1 278 | roscpp_core/roscpp_serialization: 279 | type: git 280 | url: https://github.com/ros-gbp/roscpp_core-release.git 281 | version: 2f63d8d833c70cb47d55294b21faf70b3de9fa10 282 | roscpp_core/roscpp_traits: 283 | type: git 284 | url: https://github.com/ros-gbp/roscpp_core-release.git 285 | version: 6f2af2873a57af51439680c439aacdb41e6ff598 286 | roscpp_core/rostime: 287 | type: git 288 | url: https://github.com/ros-gbp/roscpp_core-release.git 289 | version: 8ffbac0e64d48bbf458a2a16020ce15e4760f0d7 290 | rospack: 291 | type: git 292 | url: https://github.com/ros-gbp/rospack-release.git 293 | version: 941740fa17e39e441ec2bf7411465cb6cb13e056 294 | std_msgs: 295 | type: git 296 | url: https://github.com/ros-gbp/std_msgs-release.git 297 | version: 219fd1423bbad7513f595c3062d97706ea4811b7 298 | urdf: 299 | type: git 300 | url: https://github.com/esteve/urdf.git 301 | version: missing-dependencies 302 | vision_opencv/cv_bridge: 303 | type: git 304 | url: https://github.com/ros-gbp/vision_opencv-release.git 305 | version: d528ee7b79dcb591c4d5fc946cfc5a3d26b00628 306 | vision_opencv/image_geometry: 307 | type: git 308 | url: https://github.com/ros-gbp/vision_opencv-release.git 309 | version: acc2d1208bea76148e820a657a6e55c2a6613b2b 310 | rgbd_launch: 311 | type: git 312 | url: https://github.com/ros-gbp/rgbd_launch-release.git 313 | version: 993b172498cf01c7067c952b76a5eaebf538fc1d 314 | common_msgs/stereo_msgs: 315 | type: git 316 | url: https://github.com/ros-gbp/common_msgs-release.git 317 | version: 7815043460942a23c805773c2bc256b801a900fb 318 | image_pipeline/image_proc: 319 | type: git 320 | url: https://github.com/ros-gbp/image_pipeline-release.git 321 | version: 29aeaf7556e5e36ac08bab7c50c30db3fe5a9701 322 | image_pipeline/depth_image_proc: 323 | type: git 324 | url: https://github.com/ros-gbp/image_pipeline-release.git 325 | version: b0ad2028cbd80900a49f3efe76b56fef344685b6 326 | dynamic_reconfigure: 327 | type: git 328 | url: https://github.com/ros-gbp/dynamic_reconfigure-release.git 329 | version: 972e59a2368ffd2e734212980c8ef553b837b9aa 330 | nodelet_core/nodelet: 331 | type: git 332 | url: https://github.com/ros-gbp/nodelet_core-release.git 333 | version: 99add8314b739a6ba1296a9e6274ed955d87100b 334 | nodelet_core/nodelet_topic_tools: 335 | type: git 336 | url: https://github.com/ros-gbp/nodelet_core-release.git 337 | version: 312db26116e5849b6398a53d3da0a2f052eb43f6 338 | bond_core/bondcpp: 339 | type: git 340 | url: https://github.com/ros-gbp/bond_core-release.git 341 | version: 2ae094648e4acaf630c796ae5842387c1e5802e2 342 | bond_core/bond: 343 | type: git 344 | url: https://github.com/ros-gbp/bond_core-release.git 345 | version: eb6ab018d58c93518abef3824afe4b749cee1395 346 | bond_core/smclib: 347 | type: git 348 | url: https://github.com/ros-gbp/bond_core-release.git 349 | version: 8b5f555a86698e43a35cd5e2cd0c59f2ad668d69 350 | image_transport_plugins/compressed_depth_image_transport: 351 | type: git 352 | url: https://github.com/ros-gbp/image_transport_plugins-release.git 353 | version: 64c13f8390904fe1e9ef82762c601fb1dae8864f 354 | image_transport_plugins/compressed_image_transport: 355 | type: git 356 | url: https://github.com/ros-gbp/image_transport_plugins-release.git 357 | version: 41be5d5e0651842e1c0bf2c2f8c403cacca285ed 358 | rosauth: 359 | type: git 360 | url: https://github.com/esteve/rosauth.git 361 | version: fix-openssl 362 | --------------------------------------------------------------------------------