Andre S's Posts (4)

Sort by

3689441787?profile=original

Dear all,

DISCLAIMER: I hope I do not bend the forum rules too much by this blog post and would hate to offend the community by starting the discussion of a (at least marginally) political topic. However, since in the past also UAV regulatory developments and issues that relate to the open-source community have been discussed, and since I believe this topic is highly relevant to the diydrones community, I decided to go ahead.

Those of you who have been visiting wikipedia, google, or some of the other sites that participate in the SOPA/PIPA blackout today may have noticed that parts of the private and public web communities have decided to virtually demonstrate against these (sets?) of law proposals. I myself, being located inside Europe, don't think I can completely follow the legislative process and the actual implications of SOPA/PIPA. However, it seems obvious to me that this topic is very relevant to diydrones as a site of open information exchange. I would like to raise awareness here and ask those who actually are located in the US and can influence the vote by contacting their representatives to please inform themselves and consider (as google's picture says) to take action. Please check out:

https://www.google.com/landing/takeaction/

http://en.wikipedia.org/wiki/Sopa   (the only wikipedia page that seems to work today)

http://yro.slashdot.org/story/12/01/18/0834219/ask-slashdot-what-can-you-do-about-sopa-and-pipa

Thanks!

Read more…

3689431163?profile=original

Hi guys,

This is not really a post about something new but rather a summary of steps others did before me and a little help to my personal memory (already forgot once how it works). The post is referring to ArduPlane but I don't see what would be different for ArduCopter. Would also like to say thanks to the developers here :-)

The problem: you want to get a HIL simulation running without windows (i.e., on a Mac or linux system) using the latest APM git repo code and QGroundcontrol as the GCS.

Outline of one possible solution:

  1. Install dependencies: ArduPlane (git version), QGroundcontrol 0.9.0, FlightGear V2.4.0, python 2.7, pyserial-2.5, MAVProxy (git version), pymavlink (git version), arduino-0022 and cmake 2.8.6 for building and uploading APM code straight from console
  2. Copy MAVLink.xml to FlighGear protocol directory (for Mac OS: /Applications/FlightGear.app/Contents/Resources/data/Protocol/ )
  3. Start MAVProxy: python2.7 mavproxy.py --master=/dev/tty.usbserial-A600dLKS --fgout=localhost:5010 --fgin=localhost:5000 --out=localhost:14550
  4. Start FlighGear with parameters: --generic=socket,out,40,localhost,5000,udp,MAVLink --generic=socket,in,45,localhost,5010,udp,MAVLink
  5. Start QGroundcontrol
  6. Enjoy :)

More detailed info on dependencies and configuration:

A) APM:

  1. git clone https://code.google.com/p/ardupilot-mega/
  2. cd ardupilot-mega/ArduPlane
  3. Modify APM_Config.h:  "#define HIL_MODE            HIL_MODE_ATTITUDE"
                                          "#define HIL_PORT            0"
  4. cd ..
  5. Follow instructions in README.txt for building and uploading code (essentially, assuming arduino1280: mkdir build && cd build && cmake .. && make ArduPlane-upload )

B) MAVProxy and pymavlink: (note: should be in the same directory(?)):

  1. mkdir APMHIL
  2. git clone git://git.samba.org/tridge/UAV/pymavlink.git
  3. git clone git://git.samba.org/tridge/UAV/MAVProxy.git

C) Setting stuff up (modify paths according to your installation paths):

  1. export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7:/Users/andre/pyserial/lib/python2.7/site-packages
  2. export PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH

D) Trouble shooting:

For my EasyStar I had to fix rudder control to 0 and invert the direction of elevator control. This is easily done by the two modifications inside mavproxy.py:

status.rc_elevator = (-1.0) * scale_rc(m.servo2_raw, -1.0, 1.0, param='RC2')
status.rc_rudder   = 0.0;

Also: every time one starts FlightGear one needs to start the engine manually by pressing 'S', which is annoying :)

Read more…



Hi guys,

I uploaded the current version of my QT-based GCS to google code. The sources are available via the SVN repository at https://code.google.com/p/yagcs/ .

Current features:
- Real-time map display (native interface, does not rely on google earth plugin, allows offline access)
- Real-time data plot for distance, altitude, etc.
- Simple presentation of roll and pitch via opengl
- Easily extendible (at least that was the goal) via QT ports/slots
- Should be relatively platform independent due to QT

Also, it now functions as a generator of mission header files which can be loaded via the APM waypoint writer. The GUI, however, is still a bit rough on the edges, meaning it's still lacking quite a few features.

The code only relies one two libraries in addition to QT (one for the data plotting, one for the serial port access), which are itself based on QT. That means you do not need google earth plugins, labview, etc., and all is based on open source. For installation instructions see INSTALL.txt and for more information README.txt.

Would be great to get feedback of course. Also, if somebody from the windows users would try to compile it and tell me if this works, that would be very interesting. Also thanks to the person who pointed me to qextserialport, don't quite remember who initially suggested that.

Cheers,
Andre
Read more…

Yet-Another-Ground-Control-Station


Hi everyone,

You may wonder why the world needs Yet-Another-Ground-Control-Station (YAGCS).
The following design goals, which are highly subjective, came to my mind when I started to work on this little project:

  1. If somehow possible, a GCS should not rely on libraries or tools whose distribution is limited for reasons such as a) operating system or b) commercial distribution or license issues
  2. A suitable GCS should be able to present the relevant data as simple as possible; rather than including the latest bells and whistles (realistic cockpit instruments, audio, etc.) the data should be presented in a comprehensible form
  3. The GCS should be as platform independent as possible (i.e., not be Windows-only)

I consider Labview, Flash and Google Earth to be tools/libraries that fall into the first category. Although there is nothing wrong with them since they are are nice and may be very suitable for this application, (in my very personal opinion) I believe that relying on such interfaces bring problems with them (incompatibilities with different versions, operating systems, etc.).

The current prototype of YAGCS relies on QT, OpenGL and a plotting library which is available as open source. QT was chosen due to it's nice signal-slot framework. So far it only understands the text-based telemetry stream that is generated by Jason's APM telemetry stream. The position of the UAV is continuously displayed on the map (previously generated from Google map tiles) and data in the plotting tab is updated. A logfile is also created, which can be used to later replay a flight (rewind and fast-forward are supported). An earlier version supports camera data received via a UDP socket and the current version shows roll/pitch data in a the OpenGL widget. This 3d view could later be extended to show the orientation of the plane relative to the next waypoint, etc. The plane model looks pretty crappy at the moment since I'm bad at modeling.

I would be interested in any feedback. Once I get the code cleaned up I would be also willing to share it if anybody is interested. Since I'm developing it on a linux (Ubuntu) machine I'm not quite sure what would be required to compile it on Windows but it should not be a bigger problem (the few lines of C code to access the serial port would need to be rewritten though).

Cheers, Andre
Read more…