mirror of
https://github.com/CopterExpress/clover.git
synced 2026-06-01 07:29:32 +00:00
Compare commits
5 Commits
clover-min
...
0.21.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53a00ef5e7 | ||
|
|
6809c0e852 | ||
|
|
03b87ee336 | ||
|
|
a2c3b77c62 | ||
|
|
cbeb46fac3 |
0
_book/file
Normal file
0
_book/file
Normal file
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<package format="2">
|
<package format="2">
|
||||||
<name>aruco_pose</name>
|
<name>aruco_pose</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>Positioning with ArUco markers</description>
|
<description>Positioning with ArUco markers</description>
|
||||||
|
|
||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
|
|||||||
@@ -79,14 +79,4 @@ if ! grep -q "^bcm2835-v4l2" /etc/modules;
|
|||||||
then printf "bcm2835-v4l2\n" >> /etc/modules
|
then printf "bcm2835-v4l2\n" >> /etc/modules
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo_stamp "#8 Check if Compute Module 4"
|
echo_stamp "#8 End of configure hardware interfaces"
|
||||||
if grep -q "Compute Module 4" "/proc/device-tree/model"; then
|
|
||||||
echo_stamp "Enable USB on Compute Module 4"
|
|
||||||
echo "dtoverlay=dwc2,dr_mode=host" >> /boot/config.txt
|
|
||||||
|
|
||||||
echo_stamp "Enable OV7251 camera overlay"
|
|
||||||
echo "#dtoverlay=ov7251 # OV7251 camera on CAM1" >> /boot/config.txt
|
|
||||||
echo "dtoverlay=ov7251cam0 # OV7251 camera on CAM0" >> /boot/config.txt
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_stamp "#9 End of configure hardware interfaces"
|
|
||||||
|
|||||||
@@ -1,111 +0,0 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
// Definitions for OV7251 camera module on VC I2C bus
|
|
||||||
/dts-v1/;
|
|
||||||
/plugin/;
|
|
||||||
|
|
||||||
//#include <dt-bindings/gpio/gpio.h>
|
|
||||||
|
|
||||||
/{
|
|
||||||
compatible = "brcm,bcm2835";
|
|
||||||
|
|
||||||
fragment@0 {
|
|
||||||
target = <&i2c_vc>;
|
|
||||||
__overlay__ {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
ov7251: ov7251@60 {
|
|
||||||
compatible = "ovti,ov7251";
|
|
||||||
reg = <0x60>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
clocks = <&ov7251_clk>;
|
|
||||||
clock-names = "xclk";
|
|
||||||
clock-frequency = <24000000>;
|
|
||||||
|
|
||||||
vdddo-supply = <&ov7251_dovdd>;
|
|
||||||
vdda-supply = <&ov7251_avdd>;
|
|
||||||
vddd-supply = <&ov7251_dvdd>;
|
|
||||||
|
|
||||||
enable-gpios = <&gpio 41 0>;
|
|
||||||
|
|
||||||
port {
|
|
||||||
ov7251_0: endpoint {
|
|
||||||
remote-endpoint = <&csi0_ep>;
|
|
||||||
clock-lanes = <0>;
|
|
||||||
data-lanes = <1>;
|
|
||||||
clock-noncontinuous;
|
|
||||||
link-frequencies =
|
|
||||||
/bits/ 64 <456000000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fragment@1 {
|
|
||||||
target = <&csi0>;
|
|
||||||
__overlay__ {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
port {
|
|
||||||
csi0_ep: endpoint {
|
|
||||||
remote-endpoint = <&ov7251_0>;
|
|
||||||
data-lanes = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fragment@2 {
|
|
||||||
target = <&i2c0if>;
|
|
||||||
__overlay__ {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fragment@3 {
|
|
||||||
target-path="/";
|
|
||||||
__overlay__ {
|
|
||||||
ov7251_avdd: fixedregulator@0 {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "ov7251_avdd";
|
|
||||||
regulator-min-microvolt = <2800000>;
|
|
||||||
regulator-max-microvolt = <2800000>;
|
|
||||||
};
|
|
||||||
ov7251_dovdd: fixedregulator@1 {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "ov7251_dovdd";
|
|
||||||
regulator-min-microvolt = <1800000>;
|
|
||||||
regulator-max-microvolt = <1800000>;
|
|
||||||
};
|
|
||||||
ov7251_dvdd: fixedregulator@2 {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "ov7251_dvdd";
|
|
||||||
regulator-min-microvolt = <1200000>;
|
|
||||||
regulator-max-microvolt = <1200000>;
|
|
||||||
};
|
|
||||||
ov7251_clk: ov7251-clk {
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
#clock-cells = <0>;
|
|
||||||
clock-frequency = <24000000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fragment@4 {
|
|
||||||
target = <&i2c0mux>;
|
|
||||||
__overlay__ {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fragment@5 {
|
|
||||||
target-path="/__overrides__";
|
|
||||||
__overlay__ {
|
|
||||||
cam0-pwdn-ctrl = <&ov7251>,"enable-gpios:0";
|
|
||||||
cam0-pwdn = <&ov7251>,"enable-gpios:4";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -15,8 +15,7 @@
|
|||||||
|
|
||||||
set -e # Exit immidiately on non-zero result
|
set -e # Exit immidiately on non-zero result
|
||||||
|
|
||||||
# https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
|
SOURCE_IMAGE="https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-01-12/2021-01-11-raspios-buster-armhf-lite.zip"
|
||||||
SOURCE_IMAGE="https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-03-25/2021-03-04-raspios-buster-armhf-lite.zip"
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:='noninteractive'}
|
export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:='noninteractive'}
|
||||||
export LANG=${LANG:='C.UTF-8'}
|
export LANG=${LANG:='C.UTF-8'}
|
||||||
@@ -103,8 +102,6 @@ ${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/rsysrot
|
|||||||
${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.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/butterfly.socket' '/lib/systemd/system/'
|
||||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/lib/systemd/system/'
|
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} copy ${SCRIPTS_DIR}'/assets/monkey.service' '/lib/systemd/system/'
|
||||||
# build hardware drivers
|
|
||||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-hardware.sh'
|
|
||||||
# software install
|
# software install
|
||||||
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh'
|
${BUILDER_DIR}/image-chroot.sh ${IMAGE_PATH} exec ${SCRIPTS_DIR}'/image-software.sh'
|
||||||
# examples
|
# examples
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
echo "Build overlay for OV7251 camera on CAM0"
|
|
||||||
|
|
||||||
# TODO: check Raspberry Pi OS version /boot/issue.txt
|
|
||||||
|
|
||||||
dtc -I dts -O dtb -o /boot/overlays/ov7251cam0.dtbo /home/pi/catkin_ws/src/clover/builder/assets/ov7251cam0-overlay.dts
|
|
||||||
@@ -60,24 +60,4 @@ domain-needed
|
|||||||
quiet-dhcp6
|
quiet-dhcp6
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo_stamp "#4 Build the RTL8814AU Wi-Fi adapter driver"
|
echo_stamp "#4 End of network installation"
|
||||||
cd /home/pi
|
|
||||||
git clone https://github.com/aircrack-ng/rtl8812au.git --depth=1
|
|
||||||
cd rtl8812au
|
|
||||||
echo kernel version: $(uname -r)
|
|
||||||
echo kernel version from procfs: $(cat /proc/version)
|
|
||||||
echo version: $(git describe --tags --always)
|
|
||||||
sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile # https://github.com/aircrack-ng/rtl8812au#for-raspberry-rpi
|
|
||||||
sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile
|
|
||||||
# sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefile
|
|
||||||
apt-cache policy raspberrypi-kernel-headers
|
|
||||||
apt-get install -y raspberrypi-kernel-headers dkms
|
|
||||||
ls /lib/modules
|
|
||||||
KERNEL_VERSION=$(cd /lib/modules && echo *-v7l+) # can't use `uname` as it gives incorrect value in emulated environment
|
|
||||||
echo make
|
|
||||||
make KERNEL_VER=$KERNEL_VERSION KVER=$KERNEL_VERSION
|
|
||||||
echo make install
|
|
||||||
make install KERNEL_VER=$KERNEL_VERSION KVER=$KERNEL_VERSION
|
|
||||||
# TODO: rm -rf /home/pi/rtl8812au
|
|
||||||
|
|
||||||
echo_stamp "#5 End of network installation"
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ find_package(catkin REQUIRED COMPONENTS
|
|||||||
tf2_ros
|
tf2_ros
|
||||||
image_transport
|
image_transport
|
||||||
cv_bridge
|
cv_bridge
|
||||||
|
catkin_virtualenv
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
|
||||||
@@ -132,6 +133,16 @@ generate_messages(
|
|||||||
## LIBRARIES: libraries you create in this project that dependent projects also need
|
## LIBRARIES: libraries you create in this project that dependent projects also need
|
||||||
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
||||||
## DEPENDS: system dependencies of this project that dependent projects also need
|
## DEPENDS: system dependencies of this project that dependent projects also need
|
||||||
|
|
||||||
|
# Generate the virtualenv
|
||||||
|
catkin_generate_virtualenv(INPUT_REQUIREMENTS requirements.in)
|
||||||
|
|
||||||
|
# Make sure your python executables are installed using `catkin_install_python`:
|
||||||
|
catkin_install_python(
|
||||||
|
PROGRAMS
|
||||||
|
src/selfcheck.py
|
||||||
|
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
|
||||||
|
|
||||||
catkin_package(
|
catkin_package(
|
||||||
# INCLUDE_DIRS include
|
# INCLUDE_DIRS include
|
||||||
LIBRARIES ${PROJECT_NAME}
|
LIBRARIES ${PROJECT_NAME}
|
||||||
@@ -248,11 +259,8 @@ target_link_libraries(${PROJECT_NAME}
|
|||||||
# )
|
# )
|
||||||
|
|
||||||
## Mark other files for installation (e.g. launch and bag files, etc.)
|
## Mark other files for installation (e.g. launch and bag files, etc.)
|
||||||
# install(FILES
|
install(FILES requirements.in
|
||||||
# # myfile1
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
|
||||||
# # myfile2
|
|
||||||
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
|
||||||
# )
|
|
||||||
|
|
||||||
# Only install udev rules when building a Debian package
|
# Only install udev rules when building a Debian package
|
||||||
# FIXME: Other operating systems may have other prefixes
|
# FIXME: Other operating systems may have other prefixes
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
image_width: 640
|
|
||||||
image_height: 480
|
|
||||||
distortion_model: rational_polynomial
|
|
||||||
camera_name: main_camera_optical
|
|
||||||
camera_matrix:
|
|
||||||
rows: 3
|
|
||||||
cols: 3
|
|
||||||
data: [ 279.33, 0, 304.288, 0, 280.417, 268.697, 0, 0, 1, ]
|
|
||||||
distortion_coefficients:
|
|
||||||
rows: 1
|
|
||||||
cols: 14
|
|
||||||
data: [ 0.155023, -0.0432218, 0.00152622, 6.48563e-05, 0.00390709, 0.495321, -0.0748121, 0.00553976, 0, 0, 0, 0, 0, 0, ]
|
|
||||||
rectification_matrix:
|
|
||||||
rows: 3
|
|
||||||
cols: 3
|
|
||||||
data: [ 1, 0, 0, 0, 1, 0, 0, 0, 1, ]
|
|
||||||
projection_matrix:
|
|
||||||
rows: 3
|
|
||||||
cols: 4
|
|
||||||
data: [ 279.33, 0, 304.288, 0, 0, 280.417, 268.697, 0, 0, 0, 1, 0, ]
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<package format="2">
|
<package format="2">
|
||||||
<name>clover</name>
|
<name>clover</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>The Clover package</description>
|
<description>The Clover package</description>
|
||||||
|
|
||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
<!-- Package format specifier version 2.0 allows specifying dependencies for both
|
<!-- Package format specifier version 2.0 allows specifying dependencies for both
|
||||||
build- and runtime in a single <depend> element -->
|
build- and runtime in a single <depend> element -->
|
||||||
|
<build_depend>catkin_virtualenv</build_depend>
|
||||||
<depend>message_generation</depend>
|
<depend>message_generation</depend>
|
||||||
<depend>roscpp</depend>
|
<depend>roscpp</depend>
|
||||||
<depend>rospy</depend>
|
<depend>rospy</depend>
|
||||||
@@ -38,7 +39,8 @@
|
|||||||
<depend>web_video_server</depend>
|
<depend>web_video_server</depend>
|
||||||
<depend>tf2_web_republisher</depend>
|
<depend>tf2_web_republisher</depend>
|
||||||
<depend>python-lxml</depend>
|
<depend>python-lxml</depend>
|
||||||
<exec_depend>python-pymavlink</exec_depend>
|
<test_depend>ros_pytest</test_depend>
|
||||||
|
<!-- <exec_depend>python-pymavlink</exec_depend> -->
|
||||||
<!-- Use test_depend for packages you need only for testing: -->
|
<!-- Use test_depend for packages you need only for testing: -->
|
||||||
<!-- <test_depend>gtest</test_depend> -->
|
<!-- <test_depend>gtest</test_depend> -->
|
||||||
|
|
||||||
@@ -46,5 +48,6 @@
|
|||||||
<export>
|
<export>
|
||||||
<nodelet plugin="${prefix}/nodelet_plugins.xml" />
|
<nodelet plugin="${prefix}/nodelet_plugins.xml" />
|
||||||
<!-- Other tools can request additional information be placed here -->
|
<!-- Other tools can request additional information be placed here -->
|
||||||
|
<pip_requirements>requirements.in</pip_requirements>
|
||||||
</export>
|
</export>
|
||||||
</package>
|
</package>
|
||||||
|
|||||||
13
clover/requirements.in
Normal file
13
clover/requirements.in
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
click>=7.1.2
|
||||||
|
docopt>=0.6.2
|
||||||
|
flask>=1.1.1
|
||||||
|
future>=0.18.2
|
||||||
|
geopy>=1.11.0
|
||||||
|
itsdangerous>=1.1.0
|
||||||
|
jinja2>=2.11.3
|
||||||
|
lxml>=4.6.3
|
||||||
|
markupsafe>=1.1.1
|
||||||
|
pymavlink>=2.4.14
|
||||||
|
smbus2>=0.3.0
|
||||||
|
vl53l1x>=0.0.5
|
||||||
|
werkzeug>=1.0.1
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
flask==1.1.1
|
|
||||||
docopt==0.6.2
|
|
||||||
geopy==1.11.0
|
|
||||||
smbus2==0.3.0
|
|
||||||
VL53L1X==0.0.5
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<package format="2">
|
<package format="2">
|
||||||
<name>clover_blocks</name>
|
<name>clover_blocks</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>Blockly programming support for Clover</description>
|
<description>Blockly programming support for Clover</description>
|
||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
<license>MIT</license>
|
<license>MIT</license>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<package format="2">
|
<package format="2">
|
||||||
<name>clover_description</name>
|
<name>clover_description</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>The clover_description package provides URDF models of the Clover series of quadcopters.</description>
|
<description>The clover_description package provides URDF models of the Clover series of quadcopters.</description>
|
||||||
|
|
||||||
<maintainer email="sfalexrog@gmail.com">Alexey Rogachevskiy</maintainer>
|
<maintainer email="sfalexrog@gmail.com">Alexey Rogachevskiy</maintainer>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<package format="2">
|
<package format="2">
|
||||||
<name>clover_simulation</name>
|
<name>clover_simulation</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>The clover_simulation package provides worlds and launch files for Gazebo.</description>
|
<description>The clover_simulation package provides worlds and launch files for Gazebo.</description>
|
||||||
|
|
||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<package format="2">
|
<package format="2">
|
||||||
<name>roswww_static</name>
|
<name>roswww_static</name>
|
||||||
<version>0.21.1</version>
|
<version>0.21.2</version>
|
||||||
<description>Static web pages for ROS packages</description>
|
<description>Static web pages for ROS packages</description>
|
||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
<license>MIT</license>
|
<license>MIT</license>
|
||||||
|
|||||||
Reference in New Issue
Block a user