djnugent / precland Goto Github PK
View Code? Open in Web Editor NEWVisual Navigation for ArduPilot
License: GNU General Public License v3.0
Visual Navigation for ArduPilot
License: GNU General Public License v3.0
api start /home/patrick/visnav/PrecisionLand.py
GUIDED> Connecting to vehicle...
Vehicle connected!
Running Precision_Land
Using simulator
Frame 0
Exception in APIThread-1: object of type 'NoneType' has no len()
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 329, in run
self.fn()
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 600, in
APIThread(self, lambda: execfile(args[1], g), args[1])
File "/home/patrick/visnav/PrecisionLand.py", line 248, in
strat.run()
File "/home/patrick/visnav/PrecisionLand.py", line 208, in run
VN_logger.text(VN_logger.DEBUG, 'Rings detected: {0}'.format(len(results[4])))
TypeError: object of type 'NoneType' has no len()
Hello Daniel Nugent.
I am using your source code of vision based precision landing for Arducopter and SITL at github (https://github.com/djnugent/Precland) . I want to test my algorithm in the Ardupilot’s SITL emulator running in Ubuntu (64-bit) on my laptop before porting it into the UAV. To run your Precland code, I compile the ‘libsolocam.so’ shared library for Intel x86-64 architecture.
I successfully run the Arducopter & SITL but when I call your precision landing code by giving the cmd ‘api start /home/<your_username>/precland/PrecisionLand.py’ in Arducopter terminal, it gives me the following error.
GUIDED> modprobe: FATAL: Module mxc_v4l2_capture not found.
VIDIOC_S_INPUT error 22, Invalid argument
Exception in APIThread-0: Error in solocam C call (see stderr)
Traceback (most recent call last): .....
I am newbie to Ardupilot,and Solo etc. but it seems to me that there is some problem in simulating the Solo capture device.
I have the following environment.
-System Architecture: Intel X86 64-bit
-Operating System: Ubuntu 14.04 LTS (64-bit)
-Python 2.7.6
-droneapi 1.5.0
-MAVProxy 1.5.2
-cv-utils 0.0.1
-pymavlink 2.3.7
I am curious to know the exact environment that you use to run the Precland code.
Do you run the above stated code in Linux & SITL on your Laptop?
Thanking in anticipation.
the radius calculated in Ring_Detector.py is wrong, it should be
radius = int((ellipse[1][0] + ellipse[1][1]) /4.0)
and not
radius = int((ellipse[1][0] + ellipse[1][0]) /4.0)
same error in L220 but less important because you are assuming the ellipse is a "circle"
Hello!
is it possible to use video in the sim instead of a picture?
the ultimate goal is to simulate the drone vision via webcam/ pc cam, any thoughts on whether I can achieve this your simulation method?
Hello Daniel
Just started as per your instructions: sim_vehicle.sh --console --map
-map
~/ardupilot/ArduCopter ~/ardupilot/ArduCopter
Building sitl
// BUILDROOT=/tmp/ArduCopter.build HAL_BOARD=HAL_BOARD_SITL HAL_BOARD_SUBTYPE=HAL_BOARD_SUBTYPE_NONE TOOLCHAIN=NATIVE EXTRAFLAGS=-DGIT_VERSION="cf6d0db0"
~/ardupilot/ArduCopter
Starting up at CMAC : -35.363261,149.165230,584,353
Starting ardupilot : /home/patrick/ardupilot/ArduCopter/ArduCopter.elf -S -I0 --home -35.363261,149.165230,584,353 --model + --speedup=1
Connect tcp:127.0.0.1:5760 source_system=255
Loaded module console
Loaded module map
DroneAPI loaded
Loaded module droneapi.module.api
DroneAPI loaded
Loaded module droneapi.module.api
Log Directory:
Telemetry log: mav.tlog
MAV> Waiting for heartbeat from tcp:127.0.0.1:5760
STABILIZE> arm Received 555 parameters
Saved 555 parameters to mav.parm
throttle
STABILIZE> mode guided
STABILIZE> setting mode
(4, 0)
STABILIZE>
then I arm throttle == ARMED
but when I try to get mode guided , we get this message on console:
Got MAVLink msg: COMMAND_ACK {command : 176, result : 3}
It cannot switch to any mode
~/ardupilot/ArduCopter$ sim_vehicle.sh --console --map
~/ardupilot/ArduCopter ~/ardupilot/ArduCopter
Building sitl
// BUILDROOT=/tmp/ArduCopter.build HAL_BOARD=HAL_BOARD_SITL HAL_BOARD_SUBTYPE=HAL_BOARD_SUBTYPE_NONE TOOLCHAIN=NATIVE EXTRAFLAGS=-DGIT_VERSION="cf6d0db0"
~/ardupilot/ArduCopter
Starting up at CMAC : -35.363261,149.165230,584,353
Starting ardupilot : /home/farsight/ardupilot/ArduCopter/ArduCopter.elf -S -I0 --home -35.363261,149.165230,584,353 --model + --speedup=1
Connect tcp:127.0.0.1:5760 source_system=255
Loaded module console
Loaded module map
Running script (/home/farsight/.mavinit.scr)
Failed to load module: No module named droneapi.module.api. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Failed to load module: No module named droneapi.module.api. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Log Directory:
Telemetry log: mav.tlog
MAV> Waiting for heartbeat from tcp:127.0.0.1:5760
STABILIZE> Received 555 parameters
Saved 555 parameters to mav.parm
STABILIZE>
I'm trying to test you simulator, in vagrant. After following your instructions I am unable to run api start PrecisionLand.py it gets an error importing the files from the Common folder.
api start PrecisionLand.py
GUIDED> Exception in APIThread-4: No module named Common
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 325, in run
self.fn()
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 605, in <lambda>
APIThread(self, lambda: execfile(args[1], g), args[1])
File "PrecisionLand.py", line 9, in <module>
from Common import VN_config
ImportError: No module named Common
Hello! I'm doing a similar project, in which I have a camera connected to the drone.
I tried to find the part of the code where you requested ardupilot to send video stream do the ground station, but did not find it.
Did you do it through the telemetry radio?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.