Source: Security guard robot ends it all by throwing itself into a watery grave | Ars Technica UK
Connecting an LED to a single board computer
Just a few notes on powering LEDs from single board computers. I’ve just started playing with an Adafruit Feather Huzzah which has just turned up with with a starting kit containing LEDs, switches, resistors and interestingly no wires – but I suppose I’ve got plenty of those around.
The Huzzah powered by an ESP8266 which is actually a wi-fi chip with a full TCP/IP stack and integrate mirco-controller that can be programmed via PlatformIO or the Arduino IDE. It’s only 80MHz but has 4Mb of flash, 9 GPIO pins and a single 1V max ADC. The chip is 3.3V and max current per GPIO is only 12mA.
Many of the GPIO are dual purposed. #0, #2, #15 and #16 are used for boot-mode detection and boot loading. I would avoid these unless really needed.
That leaves #4,#5,#12,#13.
In the starter kit there is a red LED (1.85-2.5V forward voltage, at 20mV current). The longer of the wires is the anode (+ve).
LEDs are current controlled devices so if you just wire them to voltage source (as in a GPIO pin) they will draw as much current as they can and either your LED or your source will go bang. We need to put a current limiting resistor in place and its value is given by
\( R=\frac{V_s-V_f}{I_{max}} \)So worse case forward voltage is 1.85V and the max current is 12mA. This requires a resistor of 121 Ohms. So anything larger than this should be ok, the larger it is the dimmer the LED will be.
Installation of Opencv, numpy, scipy inside a virtualenv – Medium
A handy method for installing two versions of opencv in python using virtualenvs
Useful for python server side deployments that need computer vision
Source: Installation of Opencv, numpy, scipy inside a virtualenv – Medium
dlib C++ Library: Python Stuff and Real-Time Video Object Tracking
Python for Matlab users
Python has a number of benefits over Matlab, and a number of research groups are making the switch. I’m not going to do a complete tutorial here on how to programme in python for Matlab users since there are plenty on the web. Instead I wanted to make a few note on the practical aspects such as IDEs and how to use python.
I’m running python on Mint linux but most of this should be applicable to Windows and Macs.
- There are several types of python implementation such as CPython, Anaconda, Python(x,y). CPython is the original and probably the best to start with since it probably is the one that comes with your Linux distro. Normal Python compiles into bytecode, other implementations can compile into C (Cython, not to be confused with CPython), .NET (IronPython) among others. Unless you have good reason stick with CPython.
- There are two slightly incompatible version of Python: 2.x and 3.x. Which one to use, depends on who you ask. I’ve picked 3 since it’s the future. You’ll probably need to know the differences at some point since there’s a lot 2.x around.
- Python vs iPython. Python scripts can be run from the command line, eg.
python script.py
or you can use the interactive shell by simply runningpython
. ipython is a souped up version of the interactive shell and has additional functionality. It it more like the Matlab command prompt and is the one to use when writing scripts. - IDEs. There are a lot of IDEs for python. I don’t think any of them are as good as the Matlab IDE just yet. Spyder is probably the closest.
- Instead of toolboxes, Python has packages. These can be installed a number of ways. If you are running Linux your distro will have most of the more common ones that can be installed via apt-get or its equivalent. These packages will be installed system wide and probably be slightly out of date but possibly safer. Another method is to use the Python package index PyPi and uses the program pip to install them. pip will have a larger, more up to date database of packages. It also has the ability to restrict the download to your user space only or use a completely self-contained environment virtualenv to run your scripts in. Great if you need incompatible versions for different projects or don’t want to screw up other projects. I would recommend looking into this.
- When installing using
apt-get
, you’ll need suffix package names with a 3 to get the python 3 version, otherwise it will install version 2. It’s the same with spyder, installspyder3
. Some packages work with 2 and 3 so there’s only one version to add to the confusion.
Plotting and images
- A graphically plotting library matplotlib is provided and is similar to Matlab
- In ipython plots maybe inline (i.e displayed in the console). If you don’t want this run
%matplotlib qt
and%matplotlib inline
to return to inline.
Matrices and computer vision
- Matlab’s raison d’être is matrix manipulation and but by itself python’s support is limited. Conveniently there is a package that however supports this called numpy which is part of scipy and that provides a huge scientific library. Sympy can be used for symbolic maths manipulation. It’s the numpy library that makes python such useful replacement for Matlab.
- As far as replacing the image processing and computer vision toolboxs, there is a range of options. Opencv has a python wrapper, which conveniently uses numpy arrays to hold images. You’ll need opencv 3 to get python 3 support. Scikit-image has a huge collection of routines. They both use numpy arrays so you can use both at once although you will have to covert the data types. Another option is Pillow which is forked from the defunct PIL library.
CRCV | Center for Research in Computer Vision at the University of Central Florida
Useful datasets and code be here..
Website of the University of Central Florida’s Center for Research in Computer Vision.
Source: CRCV | Center for Research in Computer Vision at the University of Central Florida
Mercedes answers autonomous car moral dilemma: Yeah, we’ll just run over pedestrians • The Register
Chances are that they’re peasants anyway
Source: Mercedes answers autonomous car moral dilemma: Yeah, we’ll just run over pedestrians • The Register
Save the car, kill the pedestrian? Really…?
Google’s robo-cars still struggle with stop lights, sunsets, junctions…
If only we had self-driving processors that were stupidly fast, says web giant
Source: Google’s robo-cars still struggle with stop lights, sunsets, junctions…
Bolts, screws and washer
Completely off topic but a really useful guide to nuts, bolts, screws and washers
Click to access Printable-Fastener-Tools.pdf