Compare commits

..

19 Commits
tests ... arm64

Author SHA1 Message Date
Oleg Kalachev
32554f2292 Add Monkey package for ARM64 2022-02-19 19:23:15 +03:00
Oleg Kalachev
600b7ddd29 Trigger update 2021-10-30 20:24:38 +03:00
Oleg Kalachev
9ef168558a Fix 2021-10-27 20:24:00 +03:00
Oleg Kalachev
464067a7de Enable serving symlinks in Monkey 2021-10-27 14:41:23 +03:00
Oleg Kalachev
4ce7c5b849 Rename 'Gazebo PX4' shortcut to 'Gazebo Clover'
This is more clear as it runs the whole Clover
simulation, not only PX4
2021-10-08 23:29:42 +03:00
Oleg Kalachev
fe073ebed1 Clone repositories with depth=1 2021-10-05 22:18:24 +03:00
Oleg Kalachev
7911373f74 Fix jmavsim (#4)
* Install jMAVSim dependencies

* Restore jMAVSim desktop shortcut

* Try running jmavsim on validation
2021-09-04 03:07:28 +03:00
Oleg Kalachev
45d5130f4a Temporarily remove jMAVSim desktop shortcut as it doesn’t work for now 2021-09-02 20:59:00 +03:00
Oleg Kalachev
066b50def5 Add Clover Drone Kit Tools desktop shortcut 2021-09-02 20:58:26 +03:00
Oleg Kalachev
f9d6e88763 Rebuild to update Gazebo 2021-09-02 00:47:37 +03:00
Oleg Kalachev
3426114677 Update Clover 2021-08-23 22:43:29 +03:00
Oleg Kalachev
8473842e87 Fix making symlink to Clover model 2021-08-18 22:33:08 +03:00
Oleg Kalachev
25abea38ba Use original PX4 v1.12 (#3)
* Use original PX4 v1.12

* Disable patching sitl_gazebo

* Fix

* Add Clover airframe to PX4

* Fix
2021-08-16 19:13:21 +03:00
Oleg Kalachev
a5474bad7c Minor fixes 2021-07-29 23:27:01 +03:00
Oleg Kalachev
9fb343e6c4 Check px4 ROS package presence 2021-07-29 23:21:54 +03:00
Oleg Kalachev
a85dce875a Make gazebo command work from the terminal 2021-07-29 21:17:03 +03:00
Oleg Kalachev
4732c984aa Implement image validation 2021-07-29 20:29:26 +03:00
Oleg Kalachev
f0cc0a9aae Upload images to S3 only on releases 2021-07-29 20:19:51 +03:00
Oleg Kalachev
d1c37fd335 Source Gazebo’s setup.sh in .bashrc 2021-07-28 00:41:21 +03:00
7 changed files with 41 additions and 42 deletions

View File

@@ -20,6 +20,7 @@ jobs:
- name: Build - name: Build
run: ./build.sh run: ./build.sh
- name: Upload - name: Upload
if: ${{ github.event_name == 'release' }}
# Not using ready S3 actions, because they either don't run on macOS machines or don't support changing the endpoint # Not using ready S3 actions, because they either don't run on macOS machines or don't support changing the endpoint
run: | 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 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

View File

@@ -0,0 +1,7 @@
[Desktop Entry]
Version=1.0
Type=Link
Name=Clover Drone Kit Tools
Comment=Open web based Clover tools
Icon=user-bookmarks
URL=http://localhost/

View File

@@ -1,8 +1,8 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Type=Application Type=Application
Name=Gazebo PX4 Name=Gazebo Clover
Comment=Fully-featured Gazebo simulation with default PX4 settings Comment=Run Clover drone simulation in Gazebo
Exec=/bin/bash -c 'source /home/clover/catkin_ws/devel/setup.bash; roslaunch clover_simulation simulator.launch' Exec=/bin/bash -c 'source /home/clover/catkin_ws/devel/setup.bash; roslaunch clover_simulation simulator.launch'
Icon=gazebo Icon=gazebo
Path= Path=

View File

@@ -3,7 +3,7 @@ Version=1.0
Type=Application Type=Application
Name=jMAVSim Name=jMAVSim
Comment=A lightweight PX4 simulator Comment=A lightweight PX4 simulator
Exec=/bin/bash -c 'cd ~/Firmware; make px4_sitl jmavsim' Exec=/bin/bash -c 'cd ~/PX4-Autopilot; make px4_sitl jmavsim'
Icon=openjdk-8 Icon=openjdk-8
Path= Path=
Terminal=true Terminal=true

Binary file not shown.

View File

@@ -1,16 +1,3 @@
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 diff --git a/cmake/FindMAVLink.cmake b/cmake/FindMAVLink.cmake
index 8de3079..3fdae02 100644 index 8de3079..3fdae02 100644
--- a/cmake/FindMAVLink.cmake --- a/cmake/FindMAVLink.cmake
@@ -19,7 +6,7 @@ index 8de3079..3fdae02 100644
${CMAKE_SOURCE_DIR}/mavlink/ ${CMAKE_SOURCE_DIR}/mavlink/
../../mavlink/ ../../mavlink/
../mavlink/ ../mavlink/
+ $ENV{HOME}/Firmware/mavlink/include + $ENV{HOME}/PX4-Autopilot/mavlink/include
${CATKIN_DEVEL_PREFIX}/ ${CATKIN_DEVEL_PREFIX}/
) )

View File

@@ -31,26 +31,21 @@ rosdep update
# FIXME: PX4 needs pip to be installed # FIXME: PX4 needs pip to be installed
# FIXME: python2 dependencies? # FIXME: python2 dependencies?
echo "--- Downloading PX4 and installing its dependencies" echo "--- Downloading PX4 and installing its dependencies"
git clone --recursive --depth 1 --branch v1.12.0 https://github.com/PX4/PX4-Autopilot.git ${HOME}/PX4-Autopilot
# v1.11.1, TODO: update to v1.12, remove Gazebo downgrade # PX4 v1.11.1 script will happily run sudo by itself
#git clone --recursive -b v1.11.1-clover https://github.com/CopterExpress/Firmware ${HOME}/Firmware ${HOME}/PX4-Autopilot/Tools/setup/ubuntu.sh
## PX4 v1.11.1 script will happily run sudo by itself # Ubuntu 20.04 no longer sets assistive_technologies, thankfully
#${HOME}/Firmware/Tools/setup/ubuntu.sh sudo -E sh -c 'apt-get install -y ant openjdk-11-jdk' # Additional packages for jMAVSim
## 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" echo "--- Prebuilding PX4 SITL configuration"
make -C ${HOME}/Firmware px4_sitl make -C ${HOME}/PX4-Autopilot px4_sitl
echo "--- Patching gazebo plugins for SITL" echo "--- Patching gazebo plugins for SITL"
cd ${HOME}/Firmware/Tools/sitl_gazebo # cd ${HOME}/PX4-Autopilot/Tools/sitl_gazebo
patch -p1 < /tmp/patches/sitl_gazebo.patch # patch -p1 < /tmp/patches/sitl_gazebo.patch
echo 'export SVGA_VGPU10=0' >> ${HOME}/Firmware/Tools/setup_gazebo.bash echo 'export SVGA_VGPU10=0' >> ${HOME}/PX4-Autopilot/Tools/setup_gazebo.bash
echo "source /usr/share/gazebo/setup.sh" >> ~/.bashrc
echo "export SVGA_VGPU10=0" >> ~/.bashrc
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
@@ -98,13 +93,13 @@ EOF'
sudo apt-get update sudo apt-get update
rosdep update rosdep update
mkdir -p ${HOME}/catkin_ws/src mkdir -p ${HOME}/catkin_ws/src
git clone https://github.com/CopterExpress/clover ${HOME}/catkin_ws/src/clover git clone --depth 1 https://github.com/CopterExpress/clover ${HOME}/catkin_ws/src/clover
git clone https://github.com/CopterExpress/ros_led ${HOME}/catkin_ws/src/ros_led git clone --depth 1 https://github.com/CopterExpress/ros_led ${HOME}/catkin_ws/src/ros_led
# These packages are missing from Noetic release, but are required for sitl_gazebo # These packages are missing from Noetic release, but are required for sitl_gazebo
git clone https://github.com/ethz-asl/mav_comm ${HOME}/catkin_ws/src/mav_comm git clone --depth 1 https://github.com/ethz-asl/mav_comm ${HOME}/catkin_ws/src/mav_comm
# Make PX4 and Gazebo plugins visible in the workspace # Make PX4 and Gazebo plugins visible in the workspace
ln -s ${HOME}/Firmware ${HOME}/catkin_ws/src/Firmware ln -s ${HOME}/PX4-Autopilot ${HOME}/catkin_ws/src/PX4-Autopilot
ln -s ${HOME}/Firmware/Tools/sitl_gazebo ${HOME}/catkin_ws/src/sitl_gazebo ln -s ${HOME}/PX4-Autopilot/Tools/sitl_gazebo ${HOME}/catkin_ws/src/sitl_gazebo
rosdep install --from-paths ${HOME}/catkin_ws/src --ignore-src --rosdistro noetic -y rosdep install --from-paths ${HOME}/catkin_ws/src --ignore-src --rosdistro noetic -y
sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh
sudo /usr/bin/python3 -m pip install -r ${HOME}/catkin_ws/src/clover/clover/requirements.txt sudo /usr/bin/python3 -m pip install -r ${HOME}/catkin_ws/src/clover/clover/requirements.txt
@@ -112,7 +107,10 @@ source /opt/ros/noetic/setup.bash
cd ${HOME}/catkin_ws && catkin_make cd ${HOME}/catkin_ws && catkin_make
echo "source ${HOME}/catkin_ws/devel/setup.bash" >> ~/.bashrc echo "source ${HOME}/catkin_ws/devel/setup.bash" >> ~/.bashrc
sudo -E sh -c 'apt-get update; apt-get install -y gazebo9' # downgrade Gazebo to 9 to make PX4 v1.10.1 work source $HOME/catkin_ws/devel/setup.bash
echo "--- Adding Clover vehicle startup script to PX4"
ln -s "$(catkin_find clover_simulation airframes)"/* $HOME/PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/airframes/
echo "--- Installing npm" echo "--- Installing npm"
cd ${HOME} cd ${HOME}
@@ -154,6 +152,7 @@ sudo -E sh -c 'apt-get update; apt-get install -y firefox'
echo "--- Installing Monkey web server" echo "--- Installing Monkey web server"
sudo apt-get install -y /tmp/packages/monkey_1.6.9-1_amd64.deb sudo apt-get install -y /tmp/packages/monkey_1.6.9-1_amd64.deb
sed "s/pi/${USER}/g" ${HOME}/catkin_ws/src/clover/builder/assets/monkey | sudo tee /etc/monkey/sites/default sed "s/pi/${USER}/g" ${HOME}/catkin_ws/src/clover/builder/assets/monkey | sudo tee /etc/monkey/sites/default
sudo -E sh -c "sed -i 's/SymLink Off/SymLink On/' /etc/monkey/monkey.conf"
sudo cp ${HOME}/catkin_ws/src/clover/builder/assets/monkey.service /etc/systemd/system/monkey.service sudo cp ${HOME}/catkin_ws/src/clover/builder/assets/monkey.service /etc/systemd/system/monkey.service
sudo systemctl enable monkey sudo systemctl enable monkey
@@ -175,7 +174,7 @@ python2 --version
python3 --version python3 --version
# ipython --version # ipython --version
ipython3 --version ipython3 --version
gazebo --version || true # FIXME: Gazebo exist with 255 on --version somehow gazebo --version || true # FIXME: Gazebo exits with 255 on --version somehow
node -v node -v
npm -v npm -v
byobu --version byobu --version
@@ -185,9 +184,10 @@ pip --version
pip3 --version pip3 --version
monkey --version monkey --version
systemctl --version systemctl --version
# TODO: add Python tests
source $HOME/catkin_ws/devel/setup.bash
roscore -h roscore -h
rosversion px4
rosversion clover rosversion clover
rosversion aruco_pose rosversion aruco_pose
rosversion mavros rosversion mavros
@@ -204,3 +204,7 @@ rosversion nodelet
echo "Trying running the Gazebo simulator, check the output" echo "Trying running the Gazebo simulator, check the output"
timeout --preserve-status 30 roslaunch clover_simulation simulator.launch gui:=false --screen timeout --preserve-status 30 roslaunch clover_simulation simulator.launch gui:=false --screen
echo "Trying running jMAVSim, check the output"
cd ~/PX4-Autopilot
HEADLESS=1 timeout --preserve-status 30 make px4_sitl jmavsim