Compare commits

..

6 Commits

Author SHA1 Message Date
deadln
a1aa153fba Changed package versions to 0.21.3 (#334) 2021-05-26 18:02:09 +03:00
Oleg Kalachev
53a00ef5e7 Merge pull request #330 from deadln/melodic-devel
Preparations for release in rosdistro
2021-05-17 23:44:29 +03:00
deadln
6809c0e852 Implemented catkin_virtualenv into clover package 2021-05-12 10:23:05 -07:00
deadln
03b87ee336 Merge branch 'master' into melodic-devel 2021-05-12 10:20:24 -07:00
deadln
a2c3b77c62 Increased versions in packages to 0.21.2 (#323)
* Preparations for release in rosdistro

* Changed version to 0.21.2 in package.xlm
2021-03-26 18:26:32 +03:00
deadln
cbeb46fac3 Preparations for release in rosdistro (#322) 2021-03-26 18:05:41 +03:00
17 changed files with 57 additions and 64 deletions

0
_book/file Normal file
View File

View 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.3</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>

View File

@@ -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

View File

@@ -11,7 +11,7 @@
<arg name="rangefinder_vl53l1x" default="true"/> <arg name="rangefinder_vl53l1x" default="true"/>
<arg name="led" default="true"/> <arg name="led" default="true"/>
<arg name="blocks" default="false"/> <arg name="blocks" default="false"/>
<arg name="rc" default="false"/> <arg name="rc" default="true"/>
<arg name="simulator" default="false"/> <!-- flag that we are operating on a simulated drone --> <arg name="simulator" default="false"/> <!-- flag that we are operating on a simulated drone -->

View File

@@ -7,8 +7,7 @@
<arg name="respawn" default="true"/> <arg name="respawn" default="true"/>
<arg name="distance_sensor_remap" default="rangefinder/range"/> <arg name="distance_sensor_remap" default="rangefinder/range"/>
<arg name="usb_device" default="/dev/px4fmu"/> <arg name="usb_device" default="/dev/px4fmu"/>
<arg name="prefix" default="" unless="$(eval fcu_conn == 'usb')"/> <arg name="prefix" default="bash -c 'while [ ! -e $(arg usb_device) ]; do sleep 1; done; $0 $@'" if="$(eval fcu_conn == 'usb')"/>
<arg name="prefix" default="rosrun clover waitfile $(arg usb_device)" if="$(eval fcu_conn == 'usb')"/>
<node pkg="mavros" type="mavros_node" name="mavros" launch-prefix="$(arg prefix)" required="false" clear_params="true" respawn="$(arg respawn)" unless="$(eval fcu_conn == 'none')" respawn_delay="1" output="screen"> <node pkg="mavros" type="mavros_node" name="mavros" launch-prefix="$(arg prefix)" required="false" clear_params="true" respawn="$(arg respawn)" unless="$(eval fcu_conn == 'none')" respawn_delay="1" output="screen">
<!-- UART connection --> <!-- UART connection -->

View File

@@ -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.3</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
View 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

View File

@@ -1,5 +0,0 @@
flask==1.1.1
docopt==0.6.2
geopy==1.11.0
smbus2==0.3.0
VL53L1X==0.0.5

View File

@@ -206,7 +206,7 @@ private:
} catch (const tf2::TransformException& e) { } catch (const tf2::TransformException& e) {
// Invalidate previous frame // Invalidate previous frame
prev_.release(); prev_.release();
goto publish_debug; return;
} }
} }
@@ -218,10 +218,6 @@ private:
flow_.quality = (uint8_t)(response * 255); flow_.quality = (uint8_t)(response * 255);
flow_pub_.publish(flow_); flow_pub_.publish(flow_);
prev_ = curr_.clone();
prev_stamp_ = msg->header.stamp;
publish_debug:
// Publish debug image // Publish debug image
if (img_pub_.getNumSubscribers() > 0) { if (img_pub_.getNumSubscribers() > 0) {
// publish debug image // publish debug image
@@ -238,9 +234,12 @@ publish_debug:
static geometry_msgs::TwistStamped velo; static geometry_msgs::TwistStamped velo;
velo.header.stamp = msg->header.stamp; velo.header.stamp = msg->header.stamp;
velo.header.frame_id = fcu_frame_id_; velo.header.frame_id = fcu_frame_id_;
velo.twist.angular.x = flow_fcu.vector.x / integration_time.toSec(); velo.twist.angular.x = flow_.integrated_x / integration_time.toSec();
velo.twist.angular.y = flow_fcu.vector.y / integration_time.toSec(); velo.twist.angular.y = flow_.integrated_y / integration_time.toSec();
velo_pub_.publish(velo); velo_pub_.publish(velo);
prev_ = curr_.clone();
prev_stamp_ = msg->header.stamp;
} }
} }

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
# $ ./waitfile <file> <command> <args...>
# wait until <file> appears and then invoke <command> with <args>
echo "wait for file $1"
while [ ! -e "$1" ]; do sleep 1; done;
echo "file $1 appeared"
"${@:2}"

View File

@@ -1 +0,0 @@
/tmp/clover.err

View File

@@ -1,25 +1,17 @@
<style>
body { font-family: sans-serif; }
main { max-width: 600px; margin: 50px auto; }
</style>
<title>Clover Drone Kit Tools</title> <title>Clover Drone Kit Tools</title>
<main> <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://clover.coex.tech">clover.coex.tech</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>
<li><a href="viz.html">View 3D visualization</a> (<code>ros3djs</code>)</li> <li><a href="viz.html">View 3D visualization</a> (<code>ros3djs</code>)</li>
<li><a href="aruco_map.html">3D visualization for markers map</a> (<code>ros3djs</code>)</li> <li><a href="aruco_map.html">3D visualization for markers map</a> (<code>ros3djs</code>)</li>
<li><a href="../clover_blocks/">Blocks programming</a> (<code>Blockly</code>)</li> <li><a href="../clover_blocks/">Blocks programming</a> (<code>Blockly</code>)</li>
<li><a href="clover.err">Clover console</a> (<code>/tmp/clover.err</code>)</li> </ul>
</ul>
<div class="version"></div> <div class="version"></div>
</main>
<script type="text/javascript"> <script type="text/javascript">
document.querySelector("#wvs").href = location.protocol + '//' + location.hostname + ':8080'; document.querySelector("#wvs").href = location.protocol + '//' + location.hostname + ':8080';
@@ -29,7 +21,7 @@
fetch('clover_version').then(function(response) { fetch('clover_version').then(function(response) {
if (response.status !== 200) return; if (response.status !== 200) return;
response.text().then(function(text) { response.text().then(function(text) {
document.querySelector('.version').innerHTML = 'Version: <code>' + text + '</code>'; document.querySelector('.version').innerHTML = 'Version: ' + text;
}); });
}); });
</script> </script>

View File

@@ -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.3</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>

View File

@@ -11,8 +11,7 @@
from __future__ import print_function from __future__ import print_function
import rospy import rospy
import os, sys import os
import traceback
import threading import threading
import re import re
import uuid import uuid
@@ -117,12 +116,7 @@ def run(req):
rospy.loginfo('Program forced to stop') rospy.loginfo('Program forced to stop')
except Exception as e: except Exception as e:
rospy.logerr(str(e)) rospy.logerr(str(e))
traceback.print_exc() error_pub.publish(str(e))
etype, value, tb = sys.exc_info()
fmt = traceback.format_exception(etype, value, tb)
fmt.pop(1) # remove 'clover_blocks' file frame
exc_info = ''.join(fmt)
error_pub.publish(str(e) + '\n\n' + exc_info)
rospy.loginfo('Program terminated') rospy.loginfo('Program terminated')
running_lock.release() running_lock.release()

View File

@@ -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.3</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>

View File

@@ -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.3</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>

View File

@@ -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.3</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>