Giter VIP home page Giter VIP logo

cuav's Introduction

cuav

Gitter

Build Status

The CanberraUAV Image Processing (cuav) tools are designed to quickly and accurately locate objects of interest from a large set of photos. With the addition of flight logs or geo-tagging, it can also give the location of the objects.

It can be run in realtime directly from a camera, or offine from a folder of images.

The tools can be run on both Linux and Windows platforms.

cuav was created by CanberraUAV as part of the UAV Challenge, in order to find a missing bushwalker from photos taken by a Unmanned Aerial System (UAS, commonly known as a "drone") as it flew over the search area at low altitude.

Documentation is available at http://canberrauav.github.io/cuav

cuav's People

Contributors

tridge avatar stephendade avatar mridley avatar peterbarker avatar tatsuy avatar tajisoft avatar baneofblabs avatar gitter-badger avatar

Stargazers

 avatar Serhii Maltsev avatar  avatar Nathan Paul Simons avatar  avatar  avatar Andras Schaffer avatar qiao avatar  avatar  avatar Tim avatar Mohammad Habibzadeh avatar Geraldo Netto avatar @josefmonje avatar Shingo Matsuura avatar Adric avatar  avatar George Zogopoulos avatar  avatar  avatar Bill Piedra avatar Malefs avatar

Watchers

Donghee avatar Michael avatar Chris Gough avatar Osvaldo avatar  avatar  avatar James Cloos avatar Freek van Tienen avatar  avatar George Zogopoulos avatar Malefs avatar  avatar  avatar  avatar

cuav's Issues

optimizing block_xmit

Hey,

I'd like to use your block_xmit implementation for a project of mine, but the example 'a simple test suite' seems little slow. I was able to speed it up a little by setting packet_count and max_queue of the tick method.
Increasing the bandwidth and chunk_size helped too, but could you provide an example optimized for performance?
If I set bandwidth to 5MB/s a 600MB file should be sent in about 2 Minutes, but it takes much longer.
With a bandwidth of 100MB/s it takes around 80 Seconds.

bandwidth = 100000000
num_blocks = int(total_size/65535)
chunk_size=65535
packet_count=1000
max_queue=50

Thanks!

Need to update install instructions

When I tried to follow the install instructions for Ubuntu (on WSL2) here I ran into the following errors

  • sudo apt-get install python-pip libusb-1.0.0-dev libdc1394-22-dev
    • E: Unable to locate package libdc1394-22-dev
    • Maybe this package should be updated to "libdc1394-dev" according to some random googling
  • sudo apt-get install libjpeg-turbo8-dev python-opencv python-wxgtk3.0
    • E: Unable to locate package python-opencv
    • E: Unable to locate package python-wxgtk3.0
    • E: Couldn't find any package by glob 'python-wxgtk3.0'
    • Maybe it is not "python-opencv" but rather "opencv-python" and maybe it should be installed with pip3? e.g. "pip3 install --upgrade opencv-python"
  • pip install numpy future gooey
    • ERROR: Failed building wheel for wxpython
    • maybe this command needs to be added to the list, "sudo apt-get install libgtk-3-dev"

When attempting to run, "python geosearch.py " the application started but this error appeared in the console, "could not find module piexif" so maybe we also need, "pip3 install --upgrade piexif"

Error installing through pip

  creating build/temp.linux-x86_64-2.7/cuav/image
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -
fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -Icuav/camera/include -I/usr/include/python2.7 -c cuav/image/scanner.c -o build/temp.linux-x86_64-2.7/cuav/image/scanner.o -std=gnu99 -O3
  In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1777:0,
                   from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                   from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                   from cuav/image/scanner.c:20:
  /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_AP
I_VERSION" [-Wcpp]
   #warning "Using deprecated NumPy API, disable it by " \
    ^
  cuav/image/scanner.c:22:31: fatal error: include/imageutil.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  Running setup.py bdist_wheel for cuav: finished with status 'error'
  Failed building wheel for cuav

install hint for raspbian is sometimes wrong

Install docs say:

On Raspian, libjpeg-turbo8-dev is instead named as libturbojpeg1-dev.

On my Raspian-lite, it's actually libturbojpeg0-dev. Suggest changing the doc to say libturbojpeg-dev and let apt-get select the appropriate integer (not sure how that works, but it seems to :)

OBC 2018 todo

Some things that need doing:

  • fix RGB <-> BGR on map
  • add lidar based height to mav_position.py
  • only send ADSB_VEHICLE msgs if they are close enough to a vehicle
  • send ADSB_VEHICLE msgs to both relay and retrieval vehicle
  • delay takeoff if DNFZ blocking path
  • can't measure distances in images in camera_air
  • brightness control broken in mosaic
  • fix rcout set_failsafe_pwm on ChibiOS
  • place marker not working in camera_air
  • image fetched marker not showing on map
  • show image from map not working in camera_air
  • disable SBUS failsafe handling parameter
  • scale obstacle margin for obstacle speed and turn rate
  • prevent pkts from 3G on porter from coming back down the rfd900x link
  • send ADSB_VEHICLE pkts over all 3 links
  • work up a list of OS configuration changes required on laptops which are to be "hands-off" (screensavers, automatic updates, crash-catching tools like whoopsie, ...)
  • in search area WP_MAX_RADIUS should be zero. In main area should be 50
  • add LZ exclusion areas for trees
  • add method to reset battery state
  • wp list gets stuck on companion
  • look at bunny hop landing from 30th august
  • allow ALT_OFFSET in terrain following mode
  • cope with dual-aircraft NMEA
  • adjust cuav_check parameter checking
  • use USER WPs for AFS targets
  • check GEOID for asterix data
  • check GEOID for NMEA

From all-up test 2018-09-10:

  • Kraken needs to get obstacle data. tridge's laptop will need to relay asterix data to Stephen's laptop as well as send it to vehicle; Stephen's needs to display but not process further
  • fence auto-enable activated too late on Kraken; activated at WP1, should have been active earlier
  • altitude is being read out too often (fix in mavinit scripts on both groundstations)
  • Kraken struggled to reach altitude - review dataflash log
  • motors were spinning when vehicle was still in NAV_WAIT_AIRSPACE
  • Porter had no obstacles but did not pass through NAV_WAIT_AIRSPACE
  • vehicles may be sending ADSB packets to ground - stop that!
  • Optus Pi dead (doesn't ping)
  • check for compass failure on Kraken
  • need to fit df13 to USB externder to Porter (get from Ranger?)
  • display collision data on ground while disarmed
  • need another all-up test using quadstar and the Ranger
  • need to make sure airspeed calibration is done!
  • GREG: pull-ring on e-stop
  • GREG: file down connector
  • GREG: safety pin for GPS
  • check scheduling on Porter
  • log counts of objects currently being held for avoidance
  • add into list of things to consider when plotting mission: choose first waypoint to avoid trees!
  • add minimum flight time for Porter; full-fuel-loadout makes for hard second-takeoffs!
  • DF-13 extender for Pixhawk in Porter (steal from Ranger?)
  • add 5-second skies-are-clear-so-I'm-going message
  • check data rates on GCS
  • check why secondary links from Porter weren't helping links be non-claggy
  • turn off IMU batch sample logging
  • PETER: work out why mavlinklogdump won't write ISBD packets
  • fix no-obstacles-on-Kraken issue
  • add to checklist: turn camera on on Kraken
  • ensure alt readout rates are correct for feet in mavinit.scr
  • set numcells for Kraken in mavinit.scr
  • consider motor stopping on descent at far site
  • sudden drop after levelling off in takeoff
  • ensure thermal throttling is off in ESCs.
  • get to bottom of erratic avoidance
  • look at Leonard's PR to aid in climb-out at remote site (prioritize climb vs yaw)
  • consider getting HIL working
  • improve filtering on GCS for obstacles
  • use SITL to reproduce avoidance issues (erratic aircraft)
  • AVDM doesn't do fence-avoidance logging

View window's Place-marker appears in wrong spot with non-standard image size

To recreate the problem do this:

  • run cuav on a set of images which have pixel width and height larger than the default
  • when a region of interest appears in the Mosaic window, click "Show Image"
  • from the "View" window right-click and "Place Marker" somewhere within the blue box
  • on the "Map" view the marker will appear quite far from where the region-of-interest appeared on the map

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.