Compare commits

..

23 Commits

Author SHA1 Message Date
Oleg Kalachev
496d92c3bc Fix 2021-07-20 15:41:38 +03:00
Oleg Kalachev
810455e08f Install python3-pip 2021-07-20 14:18:48 +03:00
Oleg Kalachev
8aba80a08c Downgrade PX4 to v1.10.1-clover 2021-07-20 13:31:57 +03:00
Oleg Kalachev
55eb216b0c Temporarily remove jMAVSim + Clover shortcut as it doesn’t work properly 2021-07-09 10:17:28 +03:00
Oleg Kalachev
44d413e3ae Make link to latest release in readme 2021-06-30 16:09:18 +03:00
Oleg Kalachev
8b02b85b69 Create LICENSE 2021-06-30 04:56:58 +03:00
Oleg Kalachev
5be68ffa65 Print link to image in upload setup 2021-06-30 04:49:34 +03:00
Oleg Kalachev
f5e3be0222 Fix examples symlink path 2021-06-29 23:37:13 +03:00
Oleg Kalachev
c7925e75a7 Add test for examples symlink validness 2021-06-29 23:36:30 +03:00
Oleg Kalachev
b4c43decb3 Add a comment 2021-06-29 17:26:14 +03:00
Oleg Kalachev
9d3e07eb6d Add README 2021-06-29 05:55:52 +03:00
Oleg Kalachev
d4f1aa5205 Disable removing rc label from image file name 2021-06-29 05:36:54 +03:00
Oleg Kalachev
c1be6a58f5 Build image on release created 2021-06-29 05:31:07 +03:00
Oleg Kalachev
1cf82a36b7 Name image file using tag name 2021-06-29 04:24:48 +03:00
Oleg Kalachev
1b1a5a5121 installSoftware.sh -> install_software.sh 2021-06-29 04:24:17 +03:00
Oleg Kalachev
d9bd9a531c Build image in GitHub Actions 2021-06-29 03:58:03 +03:00
Oleg Kalachev
3383261d3e Update PX4 to v1.11.1-clover 2021-06-29 03:28:34 +03:00
Oleg Kalachev
299427e72a Use install_gitbook.sh 2021-06-29 03:28:06 +03:00
Oleg Kalachev
fd99c500d8 Update to Ubuntu Focal and ROS Noetic 2021-06-29 03:27:36 +03:00
Oleg Kalachev
6e0ae794a8 Print image size 2021-06-29 03:14:03 +03:00
Oleg Kalachev
0ab9135864 Use apt-get not apt
apt issues warnings as it doesn’t have a stable interface
2021-06-29 03:12:40 +03:00
Oleg Kalachev
50e6b431a6 Echo commands in scripts 2021-06-29 03:11:27 +03:00
Oleg Kalachev
77d5496ede Make examples directory a symlink 2021-06-29 03:10:34 +03:00
8 changed files with 86 additions and 24 deletions

View File

@@ -5,6 +5,8 @@ on:
branches: [ '*' ]
pull_request:
branches: [ master ]
release:
types: [ created ]
jobs:
build:
@@ -18,5 +20,8 @@ jobs:
- name: Build
run: ./build.sh
- name: Upload
run: AWS_ACCESS_KEY_ID=${{secrets.S3_KEY}} AWS_SECRET_ACCESS_KEY=${{secrets.S3_SECRET_KEY}} aws s3 sync . s3://clovervm/ --acl public-read --endpoint-url https://ams3.digitaloceanspaces.com --no-progress
# Not using ready S3 actions, because they either don't run on macOS machines or don't support changing the endpoint
run: |
AWS_ACCESS_KEY_ID=${{secrets.S3_KEY}} AWS_SECRET_ACCESS_KEY=${{secrets.S3_SECRET_KEY}} aws s3 sync . s3://clovervm/ --acl public-read --endpoint-url https://ams3.digitaloceanspaces.com --no-progress
echo Uploaded https://clovervm.ams3.digitaloceanspaces.com/$(ls)
working-directory: output-virtualbox-ovf

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Copter Express Technologies
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

19
README.md Normal file
View File

@@ -0,0 +1,19 @@
# Clover drone VM image
The generator of Clover developer virtual machine image (`.ova` file) to simplify working with Clover and Clover simulation.
Download the latest image in [Releases](https://github.com/CopterExpress/clover_vm/releases/latest) section.
<img src=https://clover.coex.tech/assets/simulator.jpg width=600>
Image contains:
* Ubuntu 20.04 Focal.
* ROS Noetic.
* PX4 autopilot, QGroundControl.
* Preinstalled [Clover](https://github.com/CopterExpress/clover) and Clover simulation packages.
* Shortcuts for running Clover simulator.
* VSCode.
* Useful robotics-related software.
See detailed information in [Clover drone documentation](https://clover.coex.tech/en/simulation_vm.html).

View File

@@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=jMAVSim + Clover
Comment=A lightweight PX4 simulator + Clover services
Exec=/bin/bash -c 'source /home/clover/catkin_ws/devel/setup.bash; roslaunch clover_simulation simulator.launch type:=jmavsim'
Icon=openjdk-8
Path=
Terminal=true
StartupNotify=false

View File

@@ -1,3 +1,16 @@
diff --git a/include/gazebo_opticalflow_plugin.h b/include/gazebo_opticalflow_plugin.h
index 4fbeab2..18a192b 100644
--- a/include/gazebo_opticalflow_plugin.h
+++ b/include/gazebo_opticalflow_plugin.h
@@ -40,7 +40,7 @@
#include "flow_px4.hpp"
#define DEFAULT_RATE 20
-#define HAS_GYRO TRUE
+#define HAS_GYRO true
using namespace cv;
using namespace std;
diff --git a/cmake/FindMAVLink.cmake b/cmake/FindMAVLink.cmake
index 8de3079..3fdae02 100644
--- a/cmake/FindMAVLink.cmake

View File

@@ -32,14 +32,18 @@ ${PACKER} build ros_ide_vm.json
echo "--- Marking the VM"
GIT_REV=$(git rev-parse --short HEAD)
GIT_DESCRIBE=$(git describe --always)
VM_NAME="clover-devel_${GIT_DESCRIBE}.ova"
# if [[ $GITHUB_REF == refs/tags/*-rc* ]]; then
# remove rc label
# VERSION=${GITHUB_REF#refs/tags/}
# VERSION=${VERSION/-rc*/}
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
else
VERSION=$(git describe --always)
fi
VM_NAME="clover-devel_${VERSION}.ova"
mv ./output-virtualbox-ovf/clover-devel.ova ./output-virtualbox-ovf/${VM_NAME}
ls -l output-virtualbox-ovf
echo "--- All done!"
if [ "${CI}" == "true" ]; then
echo "Deploying to https://clovervm.ams3.digitaloceanspaces.com/${VM_NAME}"
fi

View File

@@ -65,7 +65,7 @@
},
{
"type": "shell",
"script": "scripts/installSoftware.sh",
"script": "scripts/install_software.sh",
"execute_command": "PASSWORD='{{user `password`}}' bash '{{.Path}}'"
}]
}

View File

@@ -31,10 +31,19 @@ rosdep update
# FIXME: PX4 needs pip to be installed
# FIXME: python2 dependencies?
echo "--- Downloading PX4 and installing its dependencies"
git clone --recursive -b v1.11.1-clover https://github.com/CopterExpress/Firmware ${HOME}/Firmware
# PX4 v1.11.1 script will happily run sudo by itself
${HOME}/Firmware/Tools/setup/ubuntu.sh
# Ubuntu 20.04 no longer sets assistive_technologies, thankfully
# v1.11.1, TODO: update to v1.12
#git clone --recursive -b v1.11.1-clover https://github.com/CopterExpress/Firmware ${HOME}/Firmware
## PX4 v1.11.1 script will happily run sudo by itself
#${HOME}/Firmware/Tools/setup/ubuntu.sh
## Ubuntu 20.04 no longer sets assistive_technologies, thankfully
# v1.10.1:
git clone -b v1.10.1-clover https://github.com/CopterExpress/Firmware ${HOME}/Firmware
sudo -E sh -c 'apt-get update; apt-get install -y python3-pip'
sudo -E -S sh -c '${HOME}/Firmware/Tools/setup/ubuntu.sh'
sudo -E -S sh -c 'echo "2" | update-alternatives --config java'
sudo -E -S sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
echo "--- Prebuilding PX4 SITL configuration"
make -C ${HOME}/Firmware px4_sitl
@@ -123,7 +132,8 @@ gitbook build
touch node_modules/CATKIN_IGNORE docs/CATKIN_IGNORE _book/CATKIN_IGNORE clover/www/CATKIN_IGNORE # ignore documentation files by catkin
echo "--- Exposing examples"
ln -s ${HOME}/catkin_ws/src/clover/builder/assets/examples ${HOME}/
ln -s ${HOME}/catkin_ws/src/clover/clover/examples ${HOME}/
[[ -d ${HOME}/examples ]] # test symlink is valid
echo "--- Enabling roscore service"
sed -i "s/pi/${USER}/g" ${HOME}/catkin_ws/src/clover/builder/assets/roscore.service