mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 03:37:58 +00:00
Change documentation domain
This commit is contained in:
4
.github/workflows/docs.yml
vendored
4
.github/workflows/docs.yml
vendored
@@ -62,8 +62,8 @@ jobs:
|
|||||||
if: ${{ !steps.generate-pdf.outputs.GITBOOK_PDF_OK }}
|
if: ${{ !steps.generate-pdf.outputs.GITBOOK_PDF_OK }}
|
||||||
run: |
|
run: |
|
||||||
rm -f _book/clover*.pdf
|
rm -f _book/clover*.pdf
|
||||||
wget --no-verbose https://clover.coex.tech/clover_ru.pdf -P _book/
|
wget --no-verbose https://clovercoex.tech/clover_ru.pdf -P _book/
|
||||||
wget --no-verbose https://clover.coex.tech/clover_en.pdf -P _book/
|
wget --no-verbose https://clovercoex.tech/clover_en.pdf -P _book/
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
uses: actions/upload-pages-artifact@v3
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Clover is an open source [ROS](https://www.ros.org)-based framework, providing u
|
|||||||
|
|
||||||
COEX Clover Drone is an educational programmable drone kit, suited perfectly for running clover software. The kit is shipped unassembled and includes Pixracer-compatible autopilot running PX4 firmware, Raspberry Pi 4 as a companion computer, a camera for computer vision navigation as well as additional sensors and peripheral devices. Batteries included.
|
COEX Clover Drone is an educational programmable drone kit, suited perfectly for running clover software. The kit is shipped unassembled and includes Pixracer-compatible autopilot running PX4 firmware, Raspberry Pi 4 as a companion computer, a camera for computer vision navigation as well as additional sensors and peripheral devices. Batteries included.
|
||||||
|
|
||||||
The main documentation is available at [https://clover.coex.tech](https://clover.coex.tech/). Official website: [coex.tech/clover](https://coex.tech/clover).
|
The main documentation is available at [https://clovercoex.tech](https://clovercoex.tech/).
|
||||||
|
|
||||||
[__Support us on Kickstarter!__](https://www.kickstarter.com/projects/copterexpress/cloverdrone)
|
[__Support us on Kickstarter!__](https://www.kickstarter.com/projects/copterexpress/cloverdrone)
|
||||||
|
|
||||||
@@ -30,11 +30,11 @@ Image features:
|
|||||||
* Configured networking
|
* Configured networking
|
||||||
* OpenCV
|
* OpenCV
|
||||||
* [`mavros`](http://wiki.ros.org/mavros)
|
* [`mavros`](http://wiki.ros.org/mavros)
|
||||||
* Periphery drivers for ROS ([GPIO](https://clover.coex.tech/en/gpio.html), [LED strip](https://clover.coex.tech/en/leds.html), etc)
|
* Periphery drivers for ROS ([GPIO](https://clovercoex.tech/en/gpio.html), [LED strip](https://clovercoex.tech/en/leds.html), etc)
|
||||||
* `aruco_pose` package for marker-assisted navigation
|
* `aruco_pose` package for marker-assisted navigation
|
||||||
* `clover` package for autonomous drone control
|
* `clover` package for autonomous drone control
|
||||||
|
|
||||||
API description for autonomous flights is available [on GitBook](https://clover.coex.tech/en/simple_offboard.html).
|
API description for autonomous flights is available [on GitBook](https://clovercoex.tech/en/simple_offboard.html).
|
||||||
|
|
||||||
For manual package installation and running see [`clover` package documentation](clover/README.md).
|
For manual package installation and running see [`clover` package documentation](clover/README.md).
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
"blank": true
|
"blank": true
|
||||||
},
|
},
|
||||||
"sitemap": {
|
"sitemap": {
|
||||||
"hostname": "https://clover.coex.tech"
|
"hostname": "https://clovercoex.tech"
|
||||||
},
|
},
|
||||||
"toolbar": {
|
"toolbar": {
|
||||||
"buttons":
|
"buttons":
|
||||||
|
|||||||
@@ -50,6 +50,6 @@ To start connection to the flight controller, use:
|
|||||||
roslaunch clover clover.launch
|
roslaunch clover clover.launch
|
||||||
```
|
```
|
||||||
|
|
||||||
For the simulation information see the [corresponding article](https://clover.coex.tech/en/simulation.html).
|
For the simulation information see the [corresponding article](https://clovercoex.tech/en/simulation.html).
|
||||||
|
|
||||||
> Note that the package is configured to connect to `/dev/px4fmu` by default (see [previous section](#manual-installation)). Install udev rules or specify path to your FCU device in `mavros.launch`.
|
> Note that the package is configured to connect to `/dev/px4fmu` by default (see [previous section](#manual-installation)). Install udev rules or specify path to your FCU device in `mavros.launch`.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/camera
|
# Information: https://clovercoex.tech/camera
|
||||||
|
|
||||||
# Example on basic working with the camera and image processing:
|
# Example on basic working with the camera and image processing:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/programming
|
# Information: https://clovercoex.tech/programming
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from clover import srv
|
from clover import srv
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/aruco
|
# Information: https://clovercoex.tech/aruco
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from clover import srv
|
from clover import srv
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/en/simple_offboard.html#gettelemetry
|
# Information: https://clovercoex.tech/en/simple_offboard.html#gettelemetry
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from clover import srv
|
from clover import srv
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/en/simple_offboard.html#navigateglobal
|
# Information: https://clovercoex.tech/en/simple_offboard.html#navigateglobal
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from clover import srv
|
from clover import srv
|
||||||
@@ -16,7 +16,7 @@ set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
|
|||||||
set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
|
set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
|
||||||
land = rospy.ServiceProxy('land', Trigger)
|
land = rospy.ServiceProxy('land', Trigger)
|
||||||
|
|
||||||
# https://clover.coex.tech/en/snippets.html#wait_arrival
|
# https://clovercoex.tech/en/snippets.html#wait_arrival
|
||||||
def wait_arrival(tolerance=0.2):
|
def wait_arrival(tolerance=0.2):
|
||||||
while not rospy.is_shutdown():
|
while not rospy.is_shutdown():
|
||||||
telem = get_telemetry(frame_id='navigate_target')
|
telem = get_telemetry(frame_id='navigate_target')
|
||||||
@@ -27,7 +27,7 @@ def wait_arrival(tolerance=0.2):
|
|||||||
start = get_telemetry()
|
start = get_telemetry()
|
||||||
|
|
||||||
if math.isnan(start.lat):
|
if math.isnan(start.lat):
|
||||||
raise Exception('No global position, install and configure GPS sensor: https://clover.coex.tech/gps')
|
raise Exception('No global position, install and configure GPS sensor: https://clovercoex.tech/gps')
|
||||||
|
|
||||||
print('Start point global position: lat={}, lon={}'.format(start.lat, start.lon))
|
print('Start point global position: lat={}, lon={}'.format(start.lat, start.lon))
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/led
|
# Information: https://clovercoex.tech/led
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from clover.srv import SetLEDEffect
|
from clover.srv import SetLEDEffect
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/en/snippets.html#navigate_wait
|
# Information: https://clovercoex.tech/en/snippets.html#navigate_wait
|
||||||
|
|
||||||
import math
|
import math
|
||||||
import rospy
|
import rospy
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# This example makes the drone find and follow the red circle.
|
# This example makes the drone find and follow the red circle.
|
||||||
# To test in the simulator, place 'Red Circle' model on the floor.
|
# To test in the simulator, place 'Red Circle' model on the floor.
|
||||||
# More information: https://clover.coex.tech/red_circle
|
# More information: https://clovercoex.tech/red_circle
|
||||||
|
|
||||||
# Input topic: main_camera/image_raw (camera image)
|
# Input topic: main_camera/image_raw (camera image)
|
||||||
# Output topics:
|
# Output topics:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Information: https://clover.coex.tech/en/laser.html
|
# Information: https://clovercoex.tech/en/laser.html
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
from sensor_msgs.msg import Range
|
from sensor_msgs.msg import Range
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<arg name="length" default="0.22"/> <!-- not-in-map markers length, m -->
|
<arg name="length" default="0.22"/> <!-- not-in-map markers length, m -->
|
||||||
<arg name="map" default="map.txt"/> <!-- markers map file name -->
|
<arg name="map" default="map.txt"/> <!-- markers map file name -->
|
||||||
|
|
||||||
<!-- For additional help go to https://clover.coex.tech/aruco -->
|
<!-- For additional help go to https://clovercoex.tech/aruco -->
|
||||||
|
|
||||||
<arg name="force_init" default="false"/>
|
<arg name="force_init" default="false"/>
|
||||||
<arg name="disable" default="false"/> <!-- only force init -->
|
<arg name="disable" default="false"/> <!-- only force init -->
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<arg name="simulator" default="false"/>
|
<arg name="simulator" default="false"/>
|
||||||
|
|
||||||
<!-- For additional help go to https://clover.coex.tech/led -->
|
<!-- For additional help go to https://clovercoex.tech/led -->
|
||||||
|
|
||||||
<!-- ws281x led strip driver -->
|
<!-- ws281x led strip driver -->
|
||||||
<node pkg="ws281x" name="led" type="ws281x_node" clear_params="true" output="screen" if="$(eval ws281x and not simulator)">
|
<node pkg="ws281x" name="led" type="ws281x_node" clear_params="true" output="screen" if="$(eval ws281x and not simulator)">
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<launch>
|
<launch>
|
||||||
<!-- article about camera setup: https://clover.coex.tech/camera_setup -->
|
<!-- article about camera setup: https://clovercoex.tech/camera_setup -->
|
||||||
|
|
||||||
<arg name="direction_z" default="down"/> <!-- direction the camera points: down, up -->
|
<arg name="direction_z" default="down"/> <!-- direction the camera points: down, up -->
|
||||||
<arg name="direction_y" default="backward"/> <!-- direction the camera cable points: backward, forward -->
|
<arg name="direction_y" default="backward"/> <!-- direction the camera cable points: backward, forward -->
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
<maintainer email="okalachev@gmail.com">Oleg Kalachev</maintainer>
|
||||||
<license>MIT</license>
|
<license>MIT</license>
|
||||||
|
|
||||||
<url type="website">https://clover.coex.tech/</url>
|
<url type="website">https://clovercoex.tech/</url>
|
||||||
<author email="okalachev@gmail.com">Oleg Kalachev</author>
|
<author email="okalachev@gmail.com">Oleg Kalachev</author>
|
||||||
<author email="urpylka@gmail.com">Artem Smirnov</author>
|
<author email="urpylka@gmail.com">Artem Smirnov</author>
|
||||||
|
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ def check_fcu():
|
|||||||
info(line[len('HW arch: '):])
|
info(line[len('HW arch: '):])
|
||||||
|
|
||||||
if not clover_fw:
|
if not clover_fw:
|
||||||
info('not Clover PX4 firmware, check https://clover.coex.tech/firmware')
|
info('not Clover PX4 firmware, check https://clovercoex.tech/firmware')
|
||||||
|
|
||||||
est = get_param('SYS_MC_EST_GROUP')
|
est = get_param('SYS_MC_EST_GROUP')
|
||||||
if est == 1:
|
if est == 1:
|
||||||
@@ -300,7 +300,7 @@ def check_fcu():
|
|||||||
try:
|
try:
|
||||||
battery = rospy.wait_for_message('mavros/battery', BatteryState, timeout=3)
|
battery = rospy.wait_for_message('mavros/battery', BatteryState, timeout=3)
|
||||||
if not battery.cell_voltage:
|
if not battery.cell_voltage:
|
||||||
failure('cell voltage is not available, https://clover.coex.tech/power')
|
failure('cell voltage is not available, https://clovercoex.tech/power')
|
||||||
else:
|
else:
|
||||||
cell = battery.cell_voltage[0]
|
cell = battery.cell_voltage[0]
|
||||||
# number of cells 1 means this is overall voltage
|
# number of cells 1 means this is overall voltage
|
||||||
@@ -312,7 +312,7 @@ def check_fcu():
|
|||||||
cell /= n_cells
|
cell /= n_cells
|
||||||
|
|
||||||
if cell > 4.3 or cell < 3.0:
|
if cell > 4.3 or cell < 3.0:
|
||||||
failure('incorrect cell voltage: %.2f V, https://clover.coex.tech/power', cell)
|
failure('incorrect cell voltage: %.2f V, https://clovercoex.tech/power', cell)
|
||||||
elif cell < 3.7:
|
elif cell < 3.7:
|
||||||
failure('critically low cell voltage: %.2f V, recharge battery', cell)
|
failure('critically low cell voltage: %.2f V, recharge battery', cell)
|
||||||
except rospy.ROSException:
|
except rospy.ROSException:
|
||||||
@@ -881,7 +881,7 @@ def check_network():
|
|||||||
if ros_hostname in parts:
|
if ros_hostname in parts:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
failure('not found %s in /etc/hosts, ROS will malfunction if network interfaces are down, https://clover.coex.tech/hostname', ros_hostname)
|
failure('not found %s in /etc/hosts, ROS will malfunction if network interfaces are down, https://clovercoex.tech/hostname', ros_hostname)
|
||||||
|
|
||||||
|
|
||||||
@check('RPi health')
|
@check('RPi health')
|
||||||
|
|||||||
@@ -646,7 +646,7 @@ inline void checkState()
|
|||||||
throw std::runtime_error("State timeout, check mavros settings");
|
throw std::runtime_error("State timeout, check mavros settings");
|
||||||
|
|
||||||
if (!state.connected)
|
if (!state.connected)
|
||||||
throw std::runtime_error("No connection to FCU, https://clover.coex.tech/connection");
|
throw std::runtime_error("No connection to FCU, https://clovercoex.tech/connection");
|
||||||
}
|
}
|
||||||
|
|
||||||
void publishState()
|
void publishState()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<h1>Clover Drone Kit Tools</h1>
|
<h1>Clover Drone Kit Tools</h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="docs">View documentation</a> (snapshot of <a href="https://clover.coex.tech">clover.coex.tech</a>)</li>
|
<li><a href="docs">View documentation</a> (snapshot of <a href="https://clovercoex.tech">clovercoex.tech</a>)</li>
|
||||||
<li><a href="topics.html">View topics</a></li>
|
<li><a href="topics.html">View topics</a></li>
|
||||||
<li><a href="" id="wvs">View image topics</a> (<code>web_video_server</code>)</li>
|
<li><a href="" id="wvs">View image topics</a> (<code>web_video_server</code>)</li>
|
||||||
<li><a href="" id="butterfly">Open web terminal</a> (<code>Butterfly</code>)</li>
|
<li><a href="" id="butterfly">Open web terminal</a> (<code>Butterfly</code>)</li>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Blockly programming support for Clover.
|
|||||||
|
|
||||||
<img src="screenshot.png" width=700>
|
<img src="screenshot.png" width=700>
|
||||||
|
|
||||||
See user documentation at the [main Clover documentation site](https://clover.coex.tech/en/blocks.html).
|
See user documentation at the [main Clover documentation site](https://clovercoex.tech/en/blocks.html).
|
||||||
|
|
||||||
Internal package documentation is given below.
|
Internal package documentation is given below.
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const COLOR_FLIGHT = 293;
|
|||||||
const COLOR_STATE = 36;
|
const COLOR_STATE = 36;
|
||||||
const COLOR_LED = 143;
|
const COLOR_LED = 143;
|
||||||
const COLOR_GPIO = 200;
|
const COLOR_GPIO = 200;
|
||||||
const DOCS_URL = 'https://clover.coex.tech/en/blocks.html';
|
const DOCS_URL = 'https://clovercoex.tech/en/blocks.html';
|
||||||
|
|
||||||
var frameIds = [["body", "BODY"], ["markers map", "ARUCO_MAP"], ["marker", "ARUCO"], ["last navigate target", "NAVIGATE_TARGET"], ["map", "MAP"]];
|
var frameIds = [["body", "BODY"], ["markers map", "ARUCO_MAP"], ["marker", "ARUCO"], ["last navigate target", "NAVIGATE_TARGET"], ["map", "MAP"]];
|
||||||
var frameIdsWithTerrain = frameIds.concat([["terrain", "TERRAIN"]]);
|
var frameIdsWithTerrain = frameIds.concat([["terrain", "TERRAIN"]]);
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ If you have studied the documentation but have not found an answer to your quest
|
|||||||
|
|
||||||
We also have a chat for programmers coding for PX4, autonomous navigation indoors, and drone swarms: [@DroneCode](tg://resolve?domain=DroneCode).
|
We also have a chat for programmers coding for PX4, autonomous navigation indoors, and drone swarms: [@DroneCode](tg://resolve?domain=DroneCode).
|
||||||
|
|
||||||
You can download [PDF-version](https://clover.coex.tech/clover_en.pdf) of this documentation.
|
You can download [PDF-version](https://clovercoex.tech/clover_en.pdf) of this documentation.
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ Prepare your article and send it as a pull request to the [Clover repository](ht
|
|||||||
<img src="../assets/github-pull-request-create.png" alt="GitHub Create Pull">
|
<img src="../assets/github-pull-request-create.png" alt="GitHub Create Pull">
|
||||||
|
|
||||||
10. Wait for the review, be ready to make changes if needed.
|
10. Wait for the review, be ready to make changes if needed.
|
||||||
11. Look at your new and useful article at https://clover.coex.tech !
|
11. Look at your new and useful article at https://clovercoex.tech !
|
||||||
|
|
||||||
## Easy way
|
## Easy way
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ See all points by criteria in the [full table](https://docs.google.com/spreadshe
|
|||||||
Teams are welcome to dive into the development of the following company cases:
|
Teams are welcome to dive into the development of the following company cases:
|
||||||
|
|
||||||
1. Develop the Pixhawk FMUv6U flight controller board with the dimensions 55x40 mm and the compatibility of a Raspberry Pi CM 4 installation.
|
1. Develop the Pixhawk FMUv6U flight controller board with the dimensions 55x40 mm and the compatibility of a Raspberry Pi CM 4 installation.
|
||||||
2. Cloud platform for the [Clover simulator](https://clover.coex.tech/ru/simulation.html) similar as to/based on [ROS Development Studio](https://app.theconstructsim.com/).
|
2. Cloud platform for the [Clover simulator](https://clovercoex.tech/ru/simulation.html) similar as to/based on [ROS Development Studio](https://app.theconstructsim.com/).
|
||||||
|
|
||||||
The list of cases may be expanded in future.
|
The list of cases may be expanded in future.
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ The main goal of the contest is aerial robotics popularization and community de
|
|||||||
### Lecture requirements
|
### Lecture requirements
|
||||||
|
|
||||||
* The topic of the lecture is of free choice. Programmable quadcopter kit COEX Clover 4 and/or The Clover simulation environment should be used as the main tool in the lecture.
|
* The topic of the lecture is of free choice. Programmable quadcopter kit COEX Clover 4 and/or The Clover simulation environment should be used as the main tool in the lecture.
|
||||||
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clover.coex.tech/en/assemble_4.html). The virtual machine image is not earlier than [version 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clovercoex.tech/en/assemble_4.html). The virtual machine image is not earlier than [version 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
||||||
* The video is uploaded on YouTube or another public platform and is public accessible.
|
* The video is uploaded on YouTube or another public platform and is public accessible.
|
||||||
* The language of the lecture is any. The video contains subtitles in English in case the language is made neither of English nor Russian.
|
* The language of the lecture is any. The video contains subtitles in English in case the language is made neither of English nor Russian.
|
||||||
* The duration of the lecture is limited from 15 min. to 3 hours.
|
* The duration of the lecture is limited from 15 min. to 3 hours.
|
||||||
@@ -47,7 +47,7 @@ The main goal of the contest is aerial robotics popularization and community de
|
|||||||
### Lesson requirements
|
### Lesson requirements
|
||||||
|
|
||||||
* Programmable quadcopter kit COEX Clover 4 should be used as the main tool for the lesson.
|
* Programmable quadcopter kit COEX Clover 4 should be used as the main tool for the lesson.
|
||||||
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clover.coex.tech/en/assemble_4.html).
|
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clovercoex.tech/en/assemble_4.html).
|
||||||
* Integration of the quadcopter into any of the general education disciplines (physics, mathematics, computer science, etc.).
|
* Integration of the quadcopter into any of the general education disciplines (physics, mathematics, computer science, etc.).
|
||||||
* Practical use of the main tool in the lesson.
|
* Practical use of the main tool in the lesson.
|
||||||
* Grade - no restrictions (primary, high school).
|
* Grade - no restrictions (primary, high school).
|
||||||
@@ -88,7 +88,7 @@ The course is evaluated according to a separate, publicly available lesson submi
|
|||||||
|
|
||||||
* The course is related to the direction of Aerial robotics.
|
* The course is related to the direction of Aerial robotics.
|
||||||
* Programmable quadcopter kit COEX Clover 4 and/or The Clover simulation environment should be used as the main tool in the course;
|
* Programmable quadcopter kit COEX Clover 4 and/or The Clover simulation environment should be used as the main tool in the course;
|
||||||
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clover.coex.tech/en/assemble_4.html). The virtual machine image is not earlier than [version 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
> **Note** *The version of COEX Clover is not earlier than [version 4](https://clovercoex.tech/en/assemble_4.html). The virtual machine image is not earlier than [version 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
||||||
* The course is located on a public platform (e.g., Coursera).
|
* The course is located on a public platform (e.g., Coursera).
|
||||||
* The course can be either paid or free of charge. One public lesson from the course is submitted for the competition;
|
* The course can be either paid or free of charge. One public lesson from the course is submitted for the competition;
|
||||||
* The lesson submitted for the contest should be publicly accessible.
|
* The lesson submitted for the contest should be publicly accessible.
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Before you test it you need to install on your laptop:
|
|||||||
- Install Nodejs from [here](https://nodejs.org/en/download/). For [Ubuntu installation](https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/)
|
- Install Nodejs from [here](https://nodejs.org/en/download/). For [Ubuntu installation](https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/)
|
||||||
- Install Yarn package manager from [here](https://yarnpkg.com/lang/en/docs/install/). [Usual problem](https://github.com/yarnpkg/yarn/issues/3189) while installing and using yarn with Ubuntu.
|
- Install Yarn package manager from [here](https://yarnpkg.com/lang/en/docs/install/). [Usual problem](https://github.com/yarnpkg/yarn/issues/3189) while installing and using yarn with Ubuntu.
|
||||||
- Have an experience in manual control on the drone in case of any weird behavior happen.
|
- Have an experience in manual control on the drone in case of any weird behavior happen.
|
||||||
- Worked before with COEX drones, if this is your first time to work with COEX drones check [this](https://clover.coex.tech/en/).
|
- Worked before with COEX drones, if this is your first time to work with COEX drones check [this](https://clovercoex.tech/en/).
|
||||||
|
|
||||||
and you are ready to build and use the required codes.
|
and you are ready to build and use the required codes.
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ Animation is created by [this](https://justsketchme.web.app/)
|
|||||||
## References
|
## References
|
||||||
|
|
||||||
- [Human pose estimation guide](https://blog.nanonets.com/human-pose-estimation-2d-guide/)
|
- [Human pose estimation guide](https://blog.nanonets.com/human-pose-estimation-2d-guide/)
|
||||||
- [Clover drones tutorials](https://clover.coex.tech/en/)
|
- [Clover drones tutorials](https://clovercoex.tech/en/)
|
||||||
- [Posenet GitHub repo](https://github.com/tensorflow/tfjs-models/tree/master/posenet)
|
- [Posenet GitHub repo](https://github.com/tensorflow/tfjs-models/tree/master/posenet)
|
||||||
- [Posenet meduim article](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)
|
- [Posenet meduim article](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)
|
||||||
- [Tensorflow.js demos](https://www.tensorflow.org/js/demos)
|
- [Tensorflow.js demos](https://www.tensorflow.org/js/demos)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ The list of team members:
|
|||||||
|
|
||||||
<img src="https://github.com/den250400/potential-fields-obstacle-avoidance/raw/main/assets/avoidance_sim_demo.gif" class="center"/>
|
<img src="https://github.com/den250400/potential-fields-obstacle-avoidance/raw/main/assets/avoidance_sim_demo.gif" class="center"/>
|
||||||
|
|
||||||
[This](https://github.com/den250400/potential-fields-obstacle-avoidance) repository contains obstacle avoidance system for quadcopters with Raspberry Pi 4 onboard computer. The code in this repository is designed to work with [Clover Raspberry Pi image](https://clover.coex.tech/en/image.html) and [special PX4-based firmware](https://clover.coex.tech/en/firmware.html) modified for easier communication with Raspberry Pi.
|
[This](https://github.com/den250400/potential-fields-obstacle-avoidance) repository contains obstacle avoidance system for quadcopters with Raspberry Pi 4 onboard computer. The code in this repository is designed to work with [Clover Raspberry Pi image](https://clovercoex.tech/en/image.html) and [special PX4-based firmware](https://clovercoex.tech/en/firmware.html) modified for easier communication with Raspberry Pi.
|
||||||
|
|
||||||
Artificial potential fields method is based on considering quadcopter, obstacles and target point as electric-charged points. Quadcopter and obstacles have positive charge, and target point is assigned with negative charge. This results in quadcopter "attracting" itself to the target point, while being repelled by the same-signed charges of obstacles. Using this analogy, you can compute a safe, collision-free trajectory, which can be executed by the vehicle.
|
Artificial potential fields method is based on considering quadcopter, obstacles and target point as electric-charged points. Quadcopter and obstacles have positive charge, and target point is assigned with negative charge. This results in quadcopter "attracting" itself to the target point, while being repelled by the same-signed charges of obstacles. Using this analogy, you can compute a safe, collision-free trajectory, which can be executed by the vehicle.
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ It's obvious that you need some sort of geometrical information about the surrou
|
|||||||
|
|
||||||
This guide is intended to be used on Ubuntu 20.04. Python version is 3.8.10, but it's very likely that it will work on other versions like 3.7, 3.9, 3.10 without any changes.
|
This guide is intended to be used on Ubuntu 20.04. Python version is 3.8.10, but it's very likely that it will work on other versions like 3.7, 3.9, 3.10 without any changes.
|
||||||
|
|
||||||
1. Install the [Clover simulator](https://clover.coex.tech/en/simulation.html).
|
1. Install the [Clover simulator](https://clovercoex.tech/en/simulation.html).
|
||||||
2. Install [realsense_gazebo_plugin](https://github.com/issaiass/realsense_gazebo_plugin) and [realsense2_description](https://github.com/issaiass/realsense2_description):
|
2. Install [realsense_gazebo_plugin](https://github.com/issaiass/realsense_gazebo_plugin) and [realsense2_description](https://github.com/issaiass/realsense2_description):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ Swarm in Blocks is a CopterHack 2022 project. It's a high-level interface based
|
|||||||
<img width="500" src="https://raw.githubusercontent.com/Grupo-SEMEAR-USP/swarm_in_blocks/master/assets/intro/ring.gif" />
|
<img width="500" src="https://raw.githubusercontent.com/Grupo-SEMEAR-USP/swarm_in_blocks/master/assets/intro/ring.gif" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
For more information on our project from last year, see our final article in [Swarm in Blocks 2022](https://clover.coex.tech/en/swarm_in_blocks.html). In addition, we also recommend watching our final video from last year, [Swarm in Blocks 2022 - Final Video](https://www.youtube.com/watch?v=5C-1rRnyiE8).
|
For more information on our project from last year, see our final article in [Swarm in Blocks 2022](https://clovercoex.tech/en/swarm_in_blocks.html). In addition, we also recommend watching our final video from last year, [Swarm in Blocks 2022 - Final Video](https://www.youtube.com/watch?v=5C-1rRnyiE8).
|
||||||
|
|
||||||
Even with the huge facilities that the block platform offers, we realized that this was just the *tip of the iceberg* when it comes to deploying real swarms. Several other operational and conceptual problems in validating a real swarm still haunted the general public. With that, this year's project comes precisely with the purpose of **tackling the main problems in validating a Swarm in a simple and polished way**.
|
Even with the huge facilities that the block platform offers, we realized that this was just the *tip of the iceberg* when it comes to deploying real swarms. Several other operational and conceptual problems in validating a real swarm still haunted the general public. With that, this year's project comes precisely with the purpose of **tackling the main problems in validating a Swarm in a simple and polished way**.
|
||||||
|
|
||||||
|
|||||||
@@ -14,4 +14,4 @@
|
|||||||
|
|
||||||
Чат по разработке самой платформы Клевера и образа для RPi: [@devclover](https://t.me/devclover).
|
Чат по разработке самой платформы Клевера и образа для RPi: [@devclover](https://t.me/devclover).
|
||||||
|
|
||||||
Вы можете скачать [PDF-версию](https://clover.coex.tech/clover_ru.pdf) этой документации. The English version of this documentation [is available](../en/).
|
Вы можете скачать [PDF-версию](https://clovercoex.tech/clover_ru.pdf) этой документации. The English version of this documentation [is available](../en/).
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
Разработка симулятора для Clover с возможностью создания workspace (окружения, позволяющие легко управлять и транспортировать файлы симулятора такие как: проекты, конфигурации, установленные пакеты).
|
Разработка симулятора для Clover с возможностью создания workspace (окружения, позволяющие легко управлять и транспортировать файлы симулятора такие как: проекты, конфигурации, установленные пакеты).
|
||||||
|
|
||||||
- Простой, быстрый и производительный способ запуска симулятора.
|
- Простой, быстрый и производительный способ запуска симулятора.
|
||||||
- Инструментарий для создания заданий (как на [IOR2020](https://clover.coex.tech/ru/innopolis_open_L22_AERO.html)).
|
- Инструментарий для создания заданий (как на [IOR2020](https://clovercoex.tech/ru/innopolis_open_L22_AERO.html)).
|
||||||
- Изоляция Gazebo и чекера заданий от Workspace пользователя и clover.
|
- Изоляция Gazebo и чекера заданий от Workspace пользователя и clover.
|
||||||
- Worker для проверки задач со степика.
|
- Worker для проверки задач со степика.
|
||||||
- Возможность запуска несколько коптеров каждый из которых имеет свой контейнер.
|
- Возможность запуска несколько коптеров каждый из которых имеет свой контейнер.
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
<img src="../assets/github-pull-request-create.png" alt="GitHub Create Pull">
|
<img src="../assets/github-pull-request-create.png" alt="GitHub Create Pull">
|
||||||
|
|
||||||
10. Дождитесь комментариев на свою статью, сделайте правки, если потребуется.
|
10. Дождитесь комментариев на свою статью, сделайте правки, если потребуется.
|
||||||
11. Порадуйтесь своей новой полезной статье, опубликованной на https://clover.coex.tech !
|
11. Порадуйтесь своей новой полезной статье, опубликованной на https://clovercoex.tech !
|
||||||
|
|
||||||
## Простой способ
|
## Простой способ
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ CopterHack 2022 — это международный конкурс по ра
|
|||||||
Команды приглашаются принять участие в работе над следующими кейсами компании:
|
Команды приглашаются принять участие в работе над следующими кейсами компании:
|
||||||
|
|
||||||
1. Разработка платы полетного контроллера Pixhawk FMUv6U размером 55*40 мм и возможностью установки Raspberry Pi CM4.
|
1. Разработка платы полетного контроллера Pixhawk FMUv6U размером 55*40 мм и возможностью установки Raspberry Pi CM4.
|
||||||
2. Облачная платформа для [симулятора Клевера](https://clover.coex.tech/ru/simulation.html) по аналогии или на основе [ROS Development Studio](https://app.theconstructsim.com/).
|
2. Облачная платформа для [симулятора Клевера](https://clovercoex.tech/ru/simulation.html) по аналогии или на основе [ROS Development Studio](https://app.theconstructsim.com/).
|
||||||
|
|
||||||
Список кейсов может быть расширен.
|
Список кейсов может быть расширен.
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
* Тематика лекции - открытая, на выбор участника (пример: сборка, настройка, программирование, лекция интегрированная в школьную программу и т.п.).
|
* Тематика лекции - открытая, на выбор участника (пример: сборка, настройка, программирование, лекция интегрированная в школьную программу и т.п.).
|
||||||
* Основной инструмент лекции - «Конструктор программируемого квадрокоптера «COEX Клевер 4» и/или «Симуляционная среда программируемого квадрокоптера Клевер».
|
* Основной инструмент лекции - «Конструктор программируемого квадрокоптера «COEX Клевер 4» и/или «Симуляционная среда программируемого квадрокоптера Клевер».
|
||||||
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clover.coex.tech/ru/assemble_4.html). «Симуляционная среда программируемого квадрокоптера Клевер» - не ранее [версии 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clovercoex.tech/ru/assemble_4.html). «Симуляционная среда программируемого квадрокоптера Клевер» - не ранее [версии 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
||||||
* Видео загружено на YouTube или иную общедоступную платформу, и находится в открытом доступе для любых пользователей;
|
* Видео загружено на YouTube или иную общедоступную платформу, и находится в открытом доступе для любых пользователей;
|
||||||
* Язык лекции - на выбор участника. Если язык лекции не русский/английский - наличие субтитров к видео на английском языке.
|
* Язык лекции - на выбор участника. Если язык лекции не русский/английский - наличие субтитров к видео на английском языке.
|
||||||
* Продолжительность лекции - от 15 мин. до 3 часов.
|
* Продолжительность лекции - от 15 мин. до 3 часов.
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
### Требования к уроку
|
### Требования к уроку
|
||||||
|
|
||||||
* Основной инструмент урока - «Конструктор программируемого квадрокоптера «COEX Клевер 4».
|
* Основной инструмент урока - «Конструктор программируемого квадрокоптера «COEX Клевер 4».
|
||||||
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clover.coex.tech/ru/assemble_4.html).
|
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clovercoex.tech/ru/assemble_4.html).
|
||||||
* Интеграция квадрокоптера в любую из общеобразовательных дисциплин (физика, математика, информатика, урок технологии и т.д.).
|
* Интеграция квадрокоптера в любую из общеобразовательных дисциплин (физика, математика, информатика, урок технологии и т.д.).
|
||||||
* Практическое использование основного инструмента на уроке.
|
* Практическое использование основного инструмента на уроке.
|
||||||
* Класс - без ограничений (начальная, основная школа).
|
* Класс - без ограничений (начальная, основная школа).
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
|
|
||||||
* Направление курса - «Летающая робототехника».
|
* Направление курса - «Летающая робототехника».
|
||||||
* Основной инструмент курса - «Конструктор программируемого квадрокоптера «COEX Клевер 4» и/или «Симуляционная среда программируемого квадрокоптера Клевер».
|
* Основной инструмент курса - «Конструктор программируемого квадрокоптера «COEX Клевер 4» и/или «Симуляционная среда программируемого квадрокоптера Клевер».
|
||||||
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clover.coex.tech/ru/assemble_4.html). «Симуляционная среда программируемого квадрокоптера Клевер» - не ранее [версии 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
> **Note** *Версия «COEX Клевер» не ранее [4 версии](https://clovercoex.tech/ru/assemble_4.html). «Симуляционная среда программируемого квадрокоптера Клевер» - не ранее [версии 1.0](https://github.com/CopterExpress/clover_vm/releases/tag/v1.0).
|
||||||
* Курс расположен на общедоступной платформе (Stepik, Coursera и т.п.).
|
* Курс расположен на общедоступной платформе (Stepik, Coursera и т.п.).
|
||||||
* Доступ к курсу может быть как платный, так и бесплатный, на конкурс принимается один бесплатный и общедоступный урок заявленного курса.
|
* Доступ к курсу может быть как платный, так и бесплатный, на конкурс принимается один бесплатный и общедоступный урок заявленного курса.
|
||||||
* Заявленный на конкурс урок должен быть в открытом доступе.
|
* Заявленный на конкурс урок должен быть в открытом доступе.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
## Ссылки на литературу
|
## Ссылки на литературу
|
||||||
|
|
||||||
- [Руководство по оценке позы человека](https://blog.nanonets.com/human-pose-estimation-2d-guide/)
|
- [Руководство по оценке позы человека](https://blog.nanonets.com/human-pose-estimation-2d-guide/)
|
||||||
- [Умные беспилотники учебники](https://clover.coex.tech/en/)
|
- [Умные беспилотники учебники](https://clovercoex.tech/en/)
|
||||||
- [Posnet GitHub РЕПО](https://github.com/tensorflow/tfjs-models/tree/master/posenet)
|
- [Posnet GitHub РЕПО](https://github.com/tensorflow/tfjs-models/tree/master/posenet)
|
||||||
- [Posnet Medium артикул](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)
|
- [Posnet Medium артикул](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)
|
||||||
- [Tensorflow.js Демонстрация](https://www.tensorflow.org/js/demos)
|
- [Tensorflow.js Демонстрация](https://www.tensorflow.org/js/demos)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
* [Инструкция по сборке.](assemble_3.md)
|
* [Инструкция по сборке.](assemble_3.md)
|
||||||
* [Инструкция по настройке.](setup.md)
|
* [Инструкция по настройке.](setup.md)
|
||||||
* [Проверочные задания.](tests.md)
|
* [Проверочные задания.](tests.md)
|
||||||
* Информационные материалы на сайте https://clover.coex.tech.
|
* Информационные материалы на сайте https://clovercoex.tech.
|
||||||
|
|
||||||
## Промежуточный контроль
|
## Промежуточный контроль
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
## Настройка Clover OS
|
## Настройка Clover OS
|
||||||
|
|
||||||
Настройка включает в себя переключение Raspberry из режима точки доступа в режим клиента. На начало работы была установлена [следующая операционная система](https://github.com/CopterExpress/clover). После установки можно было приступить непосредственно к настройкам системы. Как перевести Raspberry Pi в режим клиента, рассказывается в статье: [Настройка Wi-Fi](https://clover.coex.tech/ru/network.html). После того, как была произведена данная настройка Raspberry будет автоматически подключаться к Wi-Fi, после можно подключаться к Raspberry по SSH, также в дальнейшем подключение к Wi-Fi пригодится для подключения к серверу и передачи данных между клиентом и серверу (в разрабатываемой мной системе клиентом является квадрокоптер и сервером – компьютер).
|
Настройка включает в себя переключение Raspberry из режима точки доступа в режим клиента. На начало работы была установлена [следующая операционная система](https://github.com/CopterExpress/clover). После установки можно было приступить непосредственно к настройкам системы. Как перевести Raspberry Pi в режим клиента, рассказывается в статье: [Настройка Wi-Fi](https://clovercoex.tech/ru/network.html). После того, как была произведена данная настройка Raspberry будет автоматически подключаться к Wi-Fi, после можно подключаться к Raspberry по SSH, также в дальнейшем подключение к Wi-Fi пригодится для подключения к серверу и передачи данных между клиентом и серверу (в разрабатываемой мной системе клиентом является квадрокоптер и сервером – компьютер).
|
||||||
|
|
||||||
## Подключение и проверка подключения
|
## Подключение и проверка подключения
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user