Solo Development Area

I am currently working on some of my own projects (early stages) but here are some others that I have found that may be interesting.

Official User Manual for 3DR Solo(Highly Recommended):
Solo User Manual | 3DR | Drone & UAV Technology

Official 3DR Solo Development:
Introduction | 3DR Solo Development Guide

Open Source Projects used by 3DR:
Open-Source Components | 3DR | Drone & UAV Technology

Beginner's guide to Dronekit:
Idiot’s Guide To DroneKit-Python: A Journey To WHOZ CHILLIN | Daniel D. McKinnon

Dronekit Github Repo:
DroneKit · GitHub

Tower-Web:
GitHub - dronekit/tower-web: Example HTML5-based GCS built on Dronekit. Runs on desktops via Electron.

Target Landing (Using OpenCV to visually land on a moving target):
- https://github.com/squilter/target-land
- Demo Video

Realtime Earth:
GitHub - tcr3dr/demo-realtimeearth: Realtime Earth

DronePan Solo (Easily make a 360 degree panorama):
- GitHub - dbaldwin/DronePan-Solo: DronePan 360 Panorama Android App for 3DR Solo
- Hugin is currently the best open source software I found to stitch the images together. Please let me know if you find a better free alternative.

Horus - An Interactive Tool for Designing Quadrotor Camera Shots:
Horus: An Interactive Tool for Designing Quadrotor Camera Shots
GitHub - stanford-gfx/Horus: An Interactive Tool for Designing Quadrotor Camera Shots. Presented at SIGGRAPH Asia 2015.

How to stream Solo video (This will become obsolete soon once 3DR adds an API to handle this but for now this will do):
Post 1
Post 2

libsolocam.so Source Code:
solocam.c · GitHub
libsolocam.so supports only 720p grayscale · Issue #255 · 3drobotics/solodevguide · GitHub

VPU API:
GitHub - Freescale/libimxvpuapi: i.MX VPU API Library

Malicious Hacking (An emphasis on how important it is to keep your Solo secure):
- GitHub - hotelzululima/3DRSoloHacks: Want to play a few pranks on a 3dr Solo user?
- GitHub - MAVProxyUser/3DRSoloHacks: Want to play a few pranks on a 3dr Solo user?

Spooky - Wireless Distributed State Estimation of multiple tracked subjects:
GitHub - njoubert/spooky: Spooky is a system for Wireless Distributed State Estimation of multiple tracked subjects (mainly people and quadrotors), and control of multiple quadrotors, in a large-scale outdoor environment. It exposes an API using JSON over UDP for receiving state estimates of a multi-person multi-quadrotor system, and an API for quadrotor position control. Spooky supports the 3DRobotics Solo quadrotor, and provides custom hardware for person tracking. Named after the Quantum Entanglement phenomenon.

3DR Solo Github Projects:
Build software better, together

Sparse information about ArduPilot:
Includes information about installing a custom firmware for the PixHawk2 as well as brief general information about other controller modes.
3DR Solo (Developer Information) — Dev documentation
This is really great, and I know that the next question is analogous to "where is the power on switch" but please point me to some basic lessons on moving around in Terminal on a Mac, and specifically HOW IS THE PATH SET? I quickly found that commands were not in the path, and that the Python installation instructions told me:
"insert the Homebrew directory at the top of your PATH environment variable. You can do this by adding the following line at the bottom of your ~/.profile file

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

I am a quick study so send me off to read something.
 
This is really great, and I know that the next question is analogous to "where is the power on switch" but please point me to some basic lessons on moving around in Terminal on a Mac, and specifically HOW IS THE PATH SET? I quickly found that commands were not in the path, and that the Python installation instructions told me:
"insert the Homebrew directory at the top of your PATH environment variable. You can do this by adding the following line at the bottom of your ~/.profile file

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

I am a quick study so send me off to read something.

This will require more details and is out of the scope of this thread.

Could you please create a new thread for this topic? I will gladly help you there.
 
The code was developed and posted here:
Question about FLIR One for Android - Page 5
It has since seen a few "refinements" as it isn't the prettiest piece of work.
I do development on my Dell XPS 8900 desktop.
linux kernel, libusb, v4l2loopback, gstreamer. All run on my embedded platforms like they do on my desktop.
Someday I might put up a how-to, but it's my busy season and won't have time any time soon.
Do you thing you will be able to do a how to for dummies (that's me) in the near future. I would love to help out my son-in-law find his free range hogs when they escape their pasture with my solo.
 
This is not as simple hack, requires knowledge of linux and the ability to fiddle something to death when it is not working. I hope to be able to offer more guidance when and if I get a system stable enough, but as it is now, my original goal of being to use the Solo's companion computer is looking less likely due to the high CPU usage that I have seen while running the Flir One driver/gstreamer pipeline. There is still a bit of tuning that I am experimenting with, but with only a single A9 core, the iMx6Solo is not the best candidate for this application.
I hope to pursue Plan B when a working mainline HDMI driver becomes available for the Allwinner H3.
 
Post & share projects and ideas to extend the Solo platform.

I started out putting this in the general section by mistake so now it is cross posted sorry about that.

Hello and thanks in advance for any help i may receive

I am trying to get the solo to connect to internet per
"solo" Command Line Tool | 3DR Solo Development Guide

this doc states to connect to solo there are some prerequisites:
python installed >> i have python 2.7.12
pip >> python comes with this i am running 8.1.1
install solo CLI >> guide says to use
pip install git+GitHub - 3drobotics/solo-cli: Solo command line utilities. this returns an error cannot unpack it does not know format of the file... so i used :
pip install https://github.com/3drobotics/solo-cli/archive/master.zip --no-cache-dir

built virtual environment by running :

pip install virtualenv
virtualenv env
env\Scripts\activate.bat
echo 'import sys; import distutils.core; s = distutils.core.setup; distutils.core.setup = (lambda s: (lambda **kwargs: (kwargs.__setitem__("ext_modules", []), s(**kwargs))))(s)' > env\Lib\site-packages\distutils.pth


now when running command :
solo wifi --name=<ssid> --password=<password>
I have to use double quotes since my wifi network has spaces so it looks like this
solo wifi --name="James Family 2.4" --password="@D????????1"
with question marks as all lowercase letters no spaces

I get the result : Connecting to controller....
this will hang forever

I have tried SSH using putty to SSH into solo and controller before opening CMD prompt and running this command as well as not doing this.

solo is connected to controller as well as to app
tried it not connected to app even though this should not matter in any way...

I have tried multiple attempts
I have tried disconnecting and reconnecting to solo wifi

attached screenshot of what happens if i keyboard interrupt is hit shortly after running the command

View media item 419
If i wait I only get the last 2 lines
File "c:\Python27\lib\threading.py", line 614, in wait
self._cond.wait(timeout)
File "c:\Python27\lib\threading.py", line 359, in wait
_sleep(delay)
then obvisously eventually after 20 minutes +
my keyboardinterrupt

any help would be appreciated !
 
I started out putting this in the general section by mistake so now it is cross posted sorry about that.

Hello and thanks in advance for any help i may receive

I am trying to get the solo to connect to internet per
"solo" Command Line Tool | 3DR Solo Development Guide

this doc states to connect to solo there are some prerequisites:
python installed >> i have python 2.7.12
pip >> python comes with this i am running 8.1.1
install solo CLI >> guide says to use
pip install git+GitHub - 3drobotics/solo-cli: Solo command line utilities. this returns an error cannot unpack it does not know format of the file... so i used :
pip install https://github.com/3drobotics/solo-cli/archive/master.zip --no-cache-dir

built virtual environment by running :

pip install virtualenv
virtualenv env
env\Scripts\activate.bat
echo 'import sys; import distutils.core; s = distutils.core.setup; distutils.core.setup = (lambda s: (lambda **kwargs: (kwargs.__setitem__("ext_modules", []), s(**kwargs))))(s)' &gt; env\Lib\site-packages\distutils.pth


now when running command :
solo wifi --name=<ssid> --password=<password>
I have to use double quotes since my wifi network has spaces so it looks like this
solo wifi --name="James Family 2.4" --password="@D????????1"
with question marks as all lowercase letters no spaces

I get the result : Connecting to controller....
this will hang forever

I have tried SSH using putty to SSH into solo and controller before opening CMD prompt and running this command as well as not doing this.

solo is connected to controller as well as to app
tried it not connected to app even though this should not matter in any way...

I have tried multiple attempts
I have tried disconnecting and reconnecting to solo wifi

attached screenshot of what happens if i keyboard interrupt is hit shortly after running the command

View media item 419
If i wait I only get the last 2 lines
File "c:\Python27\lib\threading.py", line 614, in wait
self._cond.wait(timeout)
File "c:\Python27\lib\threading.py", line 359, in wait
_sleep(delay)
then obvisously eventually after 20 minutes +
my keyboardinterrupt

any help would be appreciated !

Looks like there's two separate problems.

Second part regarding the time out, I think that's to be expected. The SSH server disconnects you after a period of inactivity.

The first part, I'm not sure how to help you there since you're on Windows. I do know that it's hanging when it needs to accept the Solo's public key.

I prefer to use Ubuntu for development projects such as this. Stuff just works. Even the devs at 3DR use Ubuntu for development. Would running Ubuntu in VirtualBox be a viable option for you? It'll save you a lot of headaches.
 
Looks like there's two separate problems.

Second part regarding the time out, I think that's to be expected. The SSH server disconnects you after a period of inactivity.

The first part, I'm not sure how to help you there since you're on Windows. I do know that it's hanging when it needs to accept the Solo's public key.

I prefer to use Ubuntu for development projects such as this. Stuff just works. Even the devs at 3DR use Ubuntu for development. Would running Ubuntu in VirtualBox be a viable option for you? It'll save you a lot of headaches.



Yeah i will just partition and dual boot I have been considering it since the beginning but just figured if i could get this to work for now it would save me a lot of time setting up dual boot on my machine..

However if it all just works in Ubuntu then i would have saved so much time already just going over to linux...lol
 
Personally I'd go the virtual machine route. Spin the server up when you need it and throw it away when you're done. It's a lot better than dual boot since you have access to both os's at the same time. Just install virtualbox/vagrant and grab an ubuntu image for it. At any given time I'm running 3 or 4 vm's on the same machine for code testing in different environments.
 
OK guys installed oracle VM virtual box
Python 2.7.12
pip

and then solo-cli
i am now able to run solo commands and get the list of help commands

however i am still having the same issue when i try to run
solo wifi --name="James Family 2.4" --password="@D????????1"

connecting to controller...

same as before i have SSH connection to controller and solo through putty
i can LS directories and see SSH keys see keys thumbnail

and when i keyboard interrupt connection after i know this is not going through i get output of whats in the connecting to controller thumbnail

Whats next ...lol

thanks again for any help
 

Attachments

  • connecting to controller 2.PNG
    connecting to controller 2.PNG
    276.9 KB · Views: 23
  • keys.PNG
    keys.PNG
    26.1 KB · Views: 22
You didn't SSH into the controller and the Solo first on the Ubuntu machine. It's required to accept the public keys first.
 
Hi,
I'm not a techy guy and don't know about programming stuff. Since there will be no Dronekit for iOS reffer to this DroneKit for iOS - Beta Tester . What is a chance to any ios develepor to build an alternative app for SOLO just like SOLEX. What is the stock SOLO app built on ?
 
Hi,
I'm not a techy guy and don't know about programming stuff. Since there will be no Dronekit for iOS reffer to this DroneKit for iOS - Beta Tester . What is a chance to any ios develepor to build an alternative app for SOLO just like SOLEX. What is the stock SOLO app built on ?

you would need to be well versed in ios development to develop a solo app without an sdk. the sdk bridges the gap between ios and solo by providing all the classes, methods, structs and interfaces required to connect and interact with solo pragmatically. without the sdk, you could still write an app, but you would also have to create all of the classes, methods, structs and interfaces from scratch. looking at dronekit-android, my knowledge of ios, i would estimate that it would take a team of 2 working full time approximately 6 months to code the required bits necessary for ios to connect and control.
 
Last edited:
  • Like
Reactions: Tamj
you would need to be well versed in ios development to develop a solo app with an sdk. the sdk bridges the gap between ios and solo by providing all the classes, methods, structs and interfaces required to connect and interact with solo pragmatically. without the sdk, you could still write an app, but you would also have to create all of the classes, methods, structs and interfaces from scratch. looking at dronekit-android, my knowledge of ios, i would estimate that it would take a team of 2 working full time approximately 6 months to code the required bits necessary for ios to connect and control.
Thanks Frank,
If someone in 3DR w give the unfinished IOS dronekit to some develepors in SOLO community would it be faster to develop? Community is our last hope.
 
You didn't SSH into the controller and the Solo first on the Ubuntu machine. It's required to accept the public keys first.

three cheers for Tamj !! this got me connected to solo wifi and the internet all at once

issue resolved

thanks a million

i am sure i will be back soon for more help sorry it took so long to respond i have been real busy
 
three cheers for Tamj !! this got me connected to solo wifi and the internet all at once

issue resolved

thanks a million

i am sure i will be back soon for more help sorry it took so long to respond i have been real busy

No problem. I hope you enjoy your adventure with the Solo!
 
Has anyone considered or working on a replacement motor pod solution?

Sharing my 2 cents:


Situation: Parts for Solo unavailable – specifically motor pods

Background: 3DR is longer supporting the consumer market

Assessment: Parts availability is scarce – Current UAS reports having enough parts to support Solo users for 6 – 12 months.

Recommendation: Develop a motor/esc system suitable for Solo using third party source.

How do we achieve this?

Guys I’ve had 2 motor pod failures, both which resulted in unplanned landings. I have an idea but I’ll need help … I can draw it but I have no idea how to make it.

IDEA:

The Solo motor pod is essentially a combined part – Motor + Mount + ESC

I propose we create a motor mount – perhaps out of carbon fiber.

The OE Solo motor plate can be used as a template – strip the electronics, trace the plate and reproduce.

Electronic speed control – plenty of sources --> http://www.castlecreations.com/multi-rotor/multirotor-35-quadpack-010-0125-00

The Castle Creations ESC is about 20mm wide and can be placed in each of Solo’s arms. Cooling hole may be necessary. Note: Castle Creation’s ESCs are programmable.

With this setup I believe we can keep Solo flying for a very long time. The motor plate will provide for mounting and the use of aftermarket motors. Prop adapters can be utilized to mount standard RC propellers.

I think as long as we match motor and ESC specs to current Solo specs we should be OK.

Someone, smarter than I, will have to come up with a solution for a battery.
 
Purchased solo because of the opensource aspect. I'm very excited to learn this platform.

Is our only view into the smartshot world the stub at https://dev.3dr.com/concept-smartshot.html with the limitations as listed at the end of https://dev.3dr.com/concept-dronekit.html ? I'm just learning dronekit so please be gentle.

I've read that 3dr has an unpublished smartshot api but there's little hope of them making it public. Seems like we could construct our own smartshots with the Gimbal and CommandSequence interfaces through a factory class and a listener to track and adjust as needed.

Probably just being simplistic after only glancing at the interface. Maybe someone could enlighten me or point me to some working examples to study...
 
Purchased solo because of the opensource aspect. I'm very excited to learn this platform.

Is our only view into the smartshot world the stub at https://dev.3dr.com/concept-smartshot.html with the limitations as listed at the end of https://dev.3dr.com/concept-dronekit.html ? I'm just learning dronekit so please be gentle.

I've read that 3dr has an unpublished smartshot api but there's little hope of them making it public. Seems like we could construct our own smartshots with the Gimbal and CommandSequence interfaces through a factory class and a listener to track and adjust as needed.

Probably just being simplistic after only glancing at the interface. Maybe someone could enlighten me or point me to some working examples to study...

I haven't played around with smart shots yet but I do know that there are several existing smart shots in the form of python scripts onboard the Solo. I believe it's located in the bin folder if I remember correctly. If not, just do a Linux find for *.py files. Take a look at those and see if that helps give you an idea.

What are you trying to accomplish by the way? Interested to hear if you have a new smartshot idea.
 
Has anyone considered or working on a replacement motor pod solution?

Sharing my 2 cents:


Situation: Parts for Solo unavailable – specifically motor pods

Background: 3DR is longer supporting the consumer market

Assessment: Parts availability is scarce – Current UAS reports having enough parts to support Solo users for 6 – 12 months.

Recommendation: Develop a motor/esc system suitable for Solo using third party source.

How do we achieve this?

Guys I’ve had 2 motor pod failures, both which resulted in unplanned landings. I have an idea but I’ll need help … I can draw it but I have no idea how to make it.

IDEA:

The Solo motor pod is essentially a combined part – Motor + Mount + ESC

I propose we create a motor mount – perhaps out of carbon fiber.

The OE Solo motor plate can be used as a template – strip the electronics, trace the plate and reproduce.

Electronic speed control – plenty of sources --> http://www.castlecreations.com/multi-rotor/multirotor-35-quadpack-010-0125-00

The Castle Creations ESC is about 20mm wide and can be placed in each of Solo’s arms. Cooling hole may be necessary. Note: Castle Creation’s ESCs are programmable.

With this setup I believe we can keep Solo flying for a very long time. The motor plate will provide for mounting and the use of aftermarket motors. Prop adapters can be utilized to mount standard RC propellers.

I think as long as we match motor and ESC specs to current Solo specs we should be OK.

Someone, smarter than I, will have to come up with a solution for a battery.



wasnt there a T-Motor that slots right in without any real mods required?
 
  • Like
Reactions: Junbugleon

New Posts

Members online

No members online now.

Forum statistics

Threads
13,094
Messages
147,748
Members
16,058
Latest member
Gabriela