From 83ea7b8f54eb623120488a9dce19c31d733facaa Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Thu, 11 Oct 2018 16:36:41 +0300 Subject: [PATCH 01/16] image: Update cv_camera --- builder/assets/kinetic-rosdep-clever.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/assets/kinetic-rosdep-clever.yaml b/builder/assets/kinetic-rosdep-clever.yaml index dcb28c28..198f6492 100644 --- a/builder/assets/kinetic-rosdep-clever.yaml +++ b/builder/assets/kinetic-rosdep-clever.yaml @@ -42,7 +42,7 @@ cv_bridge: stretch: [ros-kinetic-cv-bridge] cv_camera: debian: - stretch: [ros-kinetic-cv-camera] + stretch: [ros-kinetic-cv-camera=0.3.1-0] diagnostic_msgs: debian: stretch: [ros-kinetic-diagnostic-msgs] From 62c22d35396d51265906ff915807283eb7d7cfe8 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 16:50:38 +0300 Subject: [PATCH 02/16] image: Add ros_comm & rosbash Doesn't work roscd & rosrun --- clever/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/clever/package.xml b/clever/package.xml index 5180b43b..b21398a1 100644 --- a/clever/package.xml +++ b/clever/package.xml @@ -29,6 +29,7 @@ mjpg-streamer rosbridge_server web_video_server + ros_commr From cbb19271bf3672f89ab62fd5775abb752e07ab4d Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 18:37:07 +0300 Subject: [PATCH 03/16] image: Debug install packages w versions --- builder/assets/kinetic-rosdep-clever.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builder/assets/kinetic-rosdep-clever.yaml b/builder/assets/kinetic-rosdep-clever.yaml index 198f6492..2ea582a0 100644 --- a/builder/assets/kinetic-rosdep-clever.yaml +++ b/builder/assets/kinetic-rosdep-clever.yaml @@ -42,7 +42,7 @@ cv_bridge: stretch: [ros-kinetic-cv-bridge] cv_camera: debian: - stretch: [ros-kinetic-cv-camera=0.3.1-0] + stretch: [ros-kinetic-cv-camera:0.3.1-0] diagnostic_msgs: debian: stretch: [ros-kinetic-diagnostic-msgs] @@ -84,7 +84,7 @@ libmavconn: stretch: [ros-kinetic-libmavconn] lxml: debian: - stretch: [python-lxml=3.7.1-1] + stretch: [python-lxml:3.7.1-1] mavlink: debian: stretch: [ros-kinetic-mavlink] @@ -108,7 +108,7 @@ message_runtime: stretch: [ros-kinetic-message-runtime] mjpg-streamer: debian: - stretch: [mjpg-streamer=2.0] + stretch: [mjpg-streamer:2.0] mk: debian: stretch: [ros-kinetic-mk] From 2099c75fa8f0110c39a0f7704912651b209d631d Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 18:37:43 +0300 Subject: [PATCH 04/16] image: Add dependencies for compressed-image-transport --- builder/assets/kinetic-rosdep-clever.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/builder/assets/kinetic-rosdep-clever.yaml b/builder/assets/kinetic-rosdep-clever.yaml index 2ea582a0..40fba69a 100644 --- a/builder/assets/kinetic-rosdep-clever.yaml +++ b/builder/assets/kinetic-rosdep-clever.yaml @@ -511,3 +511,18 @@ yaml-cpp: zlib: debian: stretch: [zlib1g-dev] +compressed_depth_image_transport: + debian: + stretch: [ros-kinetic-compressed-depth-image-transport] +compressed_image_transport: + debian: + stretch: [ros-kinetic-compressed-image-transport] +dynamic_reconfigure: + debian: + stretch: [ros-kinetic-dynamic-reconfigure] +theora_image_transport: + debian: + stretch: [ros-kinetic-theora-image-transport] +libogg: + debian: + stretch: [libtheora0:1.1.1+dfsg.1-14] From 74a1e1cbee07db5ed42a917dabe25d1b50807f23 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 18:37:59 +0300 Subject: [PATCH 05/16] image: Fix rosdep key --- clever/package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clever/package.xml b/clever/package.xml index b21398a1..4a018903 100644 --- a/clever/package.xml +++ b/clever/package.xml @@ -20,7 +20,7 @@ catkin catkin - ros_cpp + roscpp nodelet mavros mavros_extras From 280a0003edd7d69eeb0a717bf3ac92845b4a155b Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 18:54:30 +0300 Subject: [PATCH 06/16] image: Replace : to = for versions --- builder/assets/kinetic-rosdep-clever.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/builder/assets/kinetic-rosdep-clever.yaml b/builder/assets/kinetic-rosdep-clever.yaml index 40fba69a..3ded6c21 100644 --- a/builder/assets/kinetic-rosdep-clever.yaml +++ b/builder/assets/kinetic-rosdep-clever.yaml @@ -42,7 +42,7 @@ cv_bridge: stretch: [ros-kinetic-cv-bridge] cv_camera: debian: - stretch: [ros-kinetic-cv-camera:0.3.1-0] + stretch: [ros-kinetic-cv-camera=0.3.1-0] diagnostic_msgs: debian: stretch: [ros-kinetic-diagnostic-msgs] @@ -84,7 +84,7 @@ libmavconn: stretch: [ros-kinetic-libmavconn] lxml: debian: - stretch: [python-lxml:3.7.1-1] + stretch: [python-lxml=3.7.1-1] mavlink: debian: stretch: [ros-kinetic-mavlink] @@ -108,7 +108,7 @@ message_runtime: stretch: [ros-kinetic-message-runtime] mjpg-streamer: debian: - stretch: [mjpg-streamer:2.0] + stretch: [mjpg-streamer=2.0] mk: debian: stretch: [ros-kinetic-mk] @@ -525,4 +525,4 @@ theora_image_transport: stretch: [ros-kinetic-theora-image-transport] libogg: debian: - stretch: [libtheora0:1.1.1+dfsg.1-14] + stretch: [libtheora0=1.1.1+dfsg.1-14] From 76347bf4cc7c7ed8a478eb2a09b8344c09726993 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 19:11:36 +0300 Subject: [PATCH 07/16] image: Change monkey startup --- builder/assets/monkey.service | 9 +++++++++ builder/image-build.sh | 1 + builder/image-software.sh | 4 +++- clever/launch/clever.launch | 4 ---- clever/src/monkey | 3 --- 5 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 builder/assets/monkey.service delete mode 100755 clever/src/monkey diff --git a/builder/assets/monkey.service b/builder/assets/monkey.service new file mode 100644 index 00000000..be363c48 --- /dev/null +++ b/builder/assets/monkey.service @@ -0,0 +1,9 @@ +[Unit] +Description=Monkey web-server + +[Service] +ExecStart=/usr/sbin/monkey +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/builder/image-build.sh b/builder/image-build.sh index db3b3d33..be38d9fe 100755 --- a/builder/image-build.sh +++ b/builder/image-build.sh @@ -87,6 +87,7 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/index.h # Butterfly ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.service' '/root/' ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.socket' '/root/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/root/' # software install ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh' # network setup diff --git a/builder/image-software.sh b/builder/image-software.sh index ef3ab9cb..034c74de 100755 --- a/builder/image-software.sh +++ b/builder/image-software.sh @@ -119,7 +119,9 @@ systemctl enable butterfly.socket echo_stamp "Setup Monkey" mv /etc/monkey/sites/default /etc/monkey/sites/default.orig -ln -s /root/monkey-clever /etc/monkey/sites/default +mv /root/monkey-clever /etc/monkey/sites/default +ln -s /root/monkey.socket /lib/systemd/system/ +systemctl enable monkey.socket echo_stamp "Add .vimrc" cat << EOF > /home/pi/.vimrc diff --git a/clever/launch/clever.launch b/clever/launch/clever.launch index ebf83c90..53d13223 100644 --- a/clever/launch/clever.launch +++ b/clever/launch/clever.launch @@ -20,10 +20,6 @@ - - - - diff --git a/clever/src/monkey b/clever/src/monkey deleted file mode 100755 index ea5a5d7c..00000000 --- a/clever/src/monkey +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -exec /usr/sbin/monkey --port 80 --workers 1 From 2aef7fbfba1aefcd8f0e9c167f9ed3ba680f2108 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 19:13:34 +0300 Subject: [PATCH 08/16] image: Don't use symlink --- builder/assets/roscore.service | 2 +- builder/image-build.sh | 12 ++++++------ builder/image-software.sh | 3 --- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/builder/assets/roscore.service b/builder/assets/roscore.service index b8cf1919..5e3a5a7e 100644 --- a/builder/assets/roscore.service +++ b/builder/assets/roscore.service @@ -3,7 +3,7 @@ Description=Launcher for the ROS master, parameter server and rosout logging nod After=network.target [Service] -EnvironmentFile=/root/roscore.env +EnvironmentFile=/lib/systemd/system/roscore.env ExecStart=/opt/ros/kinetic/bin/roscore Restart=on-abort diff --git a/builder/image-build.sh b/builder/image-build.sh index be38d9fe..27656508 100755 --- a/builder/image-build.sh +++ b/builder/image-build.sh @@ -85,9 +85,9 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey- ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/index.html' '/usr/share/monkey-static/' # Butterfly -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.service' '/root/' -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.socket' '/root/' -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/root/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.service' '/lib/systemd/system/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/butterfly.socket' '/lib/systemd/system/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/lib/systemd/system/' # software install ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh' # network setup @@ -96,9 +96,9 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-network. # If RPi then use a one thread to build a ROS package on RPi, else use all [[ $(arch) == 'armv7l' ]] && NUMBER_THREADS=1 || NUMBER_THREADS=$(nproc --all) # Clever -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/clever.service' '/root/' -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/roscore.env' '/root/' -${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/roscore.service' '/root/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/clever.service' '/lib/systemd/system/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/roscore.env' '/lib/systemd/system/' +${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/roscore.service' '/lib/systemd/system/' ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/kinetic-rosdep-clever.yaml' '/etc/ros/rosdep/' # ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/kinetic-ros-clever.rosinstall' '/home/pi/ros_catkin_ws/' ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-ros.sh' ${REPO_URL} ${IMAGE_VERSION} false false ${NUMBER_THREADS} diff --git a/builder/image-software.sh b/builder/image-software.sh index 034c74de..034e8a99 100755 --- a/builder/image-software.sh +++ b/builder/image-software.sh @@ -113,14 +113,11 @@ my_travis_retry pip3 install --upgrade pip3 echo_stamp "Install and enable Butterfly (web terminal)" my_travis_retry pip3 install butterfly my_travis_retry pip3 install butterfly[systemd] -ln -s /root/butterfly.service /lib/systemd/system/ -ln -s /root/butterfly.socket /lib/systemd/system/ systemctl enable butterfly.socket echo_stamp "Setup Monkey" mv /etc/monkey/sites/default /etc/monkey/sites/default.orig mv /root/monkey-clever /etc/monkey/sites/default -ln -s /root/monkey.socket /lib/systemd/system/ systemctl enable monkey.socket echo_stamp "Add .vimrc" From 7e7cb1c0856ed79668b1f78d300567a88c75572c Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 19:23:20 +0300 Subject: [PATCH 09/16] image: Remove sudo --- builder/image-software.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builder/image-software.sh b/builder/image-software.sh index 034e8a99..700c3cf2 100755 --- a/builder/image-software.sh +++ b/builder/image-software.sh @@ -103,8 +103,8 @@ monkey=1.6.9-1 \ || (echo_stamp "Some packages wasn't installed!" "ERROR"; exit 1) # Deny byobu to check available updates -sudo sed -i "s/updates_available//" /usr/share/byobu/status/status -# sudo sed -i "s/updates_available//" /home/pi/.byobu/status +sed -i "s/updates_available//" /usr/share/byobu/status/status +# sed -i "s/updates_available//" /home/pi/.byobu/status echo_stamp "Upgrade pip" my_travis_retry pip install --upgrade pip From 660d26bbce87f4d8adff0eb3b91d6e5fb426def2 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 19:25:23 +0300 Subject: [PATCH 10/16] image: Fix bug --- builder/image-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/image-software.sh b/builder/image-software.sh index 700c3cf2..ce4758d1 100755 --- a/builder/image-software.sh +++ b/builder/image-software.sh @@ -118,7 +118,7 @@ systemctl enable butterfly.socket echo_stamp "Setup Monkey" mv /etc/monkey/sites/default /etc/monkey/sites/default.orig mv /root/monkey-clever /etc/monkey/sites/default -systemctl enable monkey.socket +systemctl enable monkey.service echo_stamp "Add .vimrc" cat << EOF > /home/pi/.vimrc From 6e1aa44f2d5b7d1e51d20c4168511f09da5c1034 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 20:38:30 +0300 Subject: [PATCH 11/16] image: Fix version cv_camera --- builder/assets/kinetic-rosdep-clever.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/assets/kinetic-rosdep-clever.yaml b/builder/assets/kinetic-rosdep-clever.yaml index 3ded6c21..80ad31f5 100644 --- a/builder/assets/kinetic-rosdep-clever.yaml +++ b/builder/assets/kinetic-rosdep-clever.yaml @@ -42,7 +42,7 @@ cv_bridge: stretch: [ros-kinetic-cv-bridge] cv_camera: debian: - stretch: [ros-kinetic-cv-camera=0.3.1-0] + stretch: [ros-kinetic-cv-camera=0.3.1-0stretch] diagnostic_msgs: debian: stretch: [ros-kinetic-diagnostic-msgs] From c17dde8f8ff2cddbc86a70931a583645bb398531 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Fri, 12 Oct 2018 20:38:49 +0300 Subject: [PATCH 12/16] image: Remove symlink --- builder/image-ros.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/builder/image-ros.sh b/builder/image-ros.sh index facbd6f3..6d250c67 100755 --- a/builder/image-ros.sh +++ b/builder/image-ros.sh @@ -155,8 +155,6 @@ echo_stamp "Installing CLEVER" \ && my_travis_retry pip install -r /home/pi/catkin_ws/src/clever/clever/requirements.txt \ && source /opt/ros/kinetic/setup.bash \ && catkin_make -j${NUMBER_THREADS} -DCMAKE_BUILD_TYPE=Release \ -&& ln -s /root/roscore.service /lib/systemd/system/roscore.service \ -&& ln -s /root/clever.service /lib/systemd/system/clever.service \ && systemctl enable roscore \ && systemctl enable clever \ && echo_stamp "All CLEVER was installed!" "SUCCESS" \ From 89cee43d38e84a08751e4329258e867f001f3b0c Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Sun, 14 Oct 2018 05:17:48 +0300 Subject: [PATCH 13/16] image: Move my repeat func to my_travis_retry --- builder/image-ros.sh | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/builder/image-ros.sh b/builder/image-ros.sh index 6d250c67..1ec9454c 100755 --- a/builder/image-ros.sh +++ b/builder/image-ros.sh @@ -75,20 +75,7 @@ resolve_rosdep() { echo_stamp "Installing dependencies apps with rosdep in ${CATKIN_PATH}" cd ${CATKIN_PATH} - set +e - # Successfull unmount flag (false at thismoment) - install_ok=false - # Repeat 5 times - for i in {1..5}; do - # Resolving Dependencies with rosdep - rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -r --os=${OS_DISTRO}:${OS_VERSION} \ - && install_ok=true && break || (echo_stamp "rosdep iteration #$i failed!" "ERROR"; sleep 2) - done - set -e - # Stage fail if this condition is not true - [[ $install_ok ]] \ - && echo_stamp "All rosdep dependencies was installed!" "SUCCESS" \ - || (echo_stamp "Rosdep installation was failed!" "ERROR"; exit 1) + my_travis_retry rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -r --os=${OS_DISTRO}:${OS_VERSION} } INSTALL_ROS_PACK_SOURCES=${INSTALL_ROS_PACK_SOURCES:='false'} From 6701c173329bda243b1007f5b968d031e05b814f Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Sun, 14 Oct 2018 06:59:49 +0300 Subject: [PATCH 14/16] image: Add debug output --- builder/image-ros.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/builder/image-ros.sh b/builder/image-ros.sh index 1ec9454c..81f74956 100755 --- a/builder/image-ros.sh +++ b/builder/image-ros.sh @@ -135,6 +135,7 @@ fi echo_stamp "Installing CLEVER" \ && git clone ${REPO} /home/pi/catkin_ws/src/clever \ && cd /home/pi/catkin_ws/src/clever \ +&& echo "REF: ${REF}" \ && git checkout ${REF} \ && cd /home/pi/catkin_ws \ && resolve_rosdep $(pwd) \ From 6f473816a106780c2cc72d2bea067676a99c499f Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Sun, 14 Oct 2018 08:33:09 +0300 Subject: [PATCH 15/16] image: Fix path to roscore.env --- builder/assets/clever.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/assets/clever.service b/builder/assets/clever.service index ed6374fe..1aeb0604 100644 --- a/builder/assets/clever.service +++ b/builder/assets/clever.service @@ -4,7 +4,7 @@ Requires=roscore.service After=roscore.service [Service] -EnvironmentFile=/root/roscore.env +EnvironmentFile=/lib/systemd/system/roscore.env ExecStart=/opt/ros/kinetic/bin/roslaunch clever clever.launch --wait Restart=on-abort From 572d8dc55f04266b599666968da6a9734ef924a7 Mon Sep 17 00:00:00 2001 From: Artem Smirnov Date: Sun, 14 Oct 2018 08:33:23 +0300 Subject: [PATCH 16/16] image: Delete enable web server param --- clever/launch/clever.launch | 1 - 1 file changed, 1 deletion(-) diff --git a/clever/launch/clever.launch b/clever/launch/clever.launch index 53d13223..0b93b5b5 100644 --- a/clever/launch/clever.launch +++ b/clever/launch/clever.launch @@ -2,7 +2,6 @@ -