Review: Learn Robotics Programming by Danny Staple

There is a lot involved in building your own robot: sourcing adequate parts, knowing how to assemble them and then how to get the robot to do things by writing software. Buying a robot kit glosses over these steps as the parts are provided together with assembly instructions and often a software library to make programming simple. Going from building such a kit to your own robot can be quite a shock for this reason.

This is why this book is valuable. It covers a lot of ground! The author, Danny Staple, guides us through the process of building a wheeled robot without relying on a kit. Instead, Danny describes the components required and provides some recommendations but allows for variation. Step by step we are shown how to set up a Raspberry Pi and control motors & servos, read inputs from distance sensors, line sensors, and use the Raspberry Pi camera. Everything, hardware and software, is explained from scratch without assuming any prior knowledge and in an easy to read style. Instead of relying on a library of code Danny shows us how to implement everything required a small feature at a time. He also explains the principles behind why he structures the code as he does; so we learn how to extend the software on our own without it becoming a hard-to-maintain mess.

Read More

Review: Tyrant's Throne by Sebastien de Castell

I can be a sentimental old fool and I’ve been known to shed a tear or two while watching a movie. Parts of “Tyrant’s Throne” by Sebastien de Castell had the same effect on me. I came to the Greatcoats series pretty much by accident not knowing what to expect and the story, world and most of all the characters within pulled me with them until finishing the fourth and final book in the series.

De Castell excels at characterization with engaging heroes with enough flaws to enable us to empathize with them and villains who are so much more interesting than just being pure evil. The first person narrative of Falcio val Mond, first cantor of the Greatcoats, a type of travelling magistrate and expert swordsman takes us on a journey that manages to avoid the classic fantasy quest tropes.

Read More

Migrating from drupal to hexo

For an embarrassingly long time (2015!) I’ve been meaning to migrate my personal web site away from drupal to a static site generator like Hexo. There are several reasons why I wanted to do this:

  • Rather than having my content in a database managed by my service provider, I wanted to manage it the same way I manage source code using version control.
  • I got fed up having to upgrade the software than ran the site (drupal in this case) or pay my hosting provider to support older versions of PHP.
  • You can’t hack a static site and alter content unless the hosting provider’s security is broken or I disclose my credentials

I was running an old version of drupal (see point about my laziness updating the site) and there didn’t seem to be any automatic migration path, so I decided to write some code to do it.

Read More

Moving comments to disqus

Update 26th October 2018
Looks like the article I linked to about migrating comments no longer exists. Disqus provides a number of tools to help with site migrations:


I’ve not been very active on this site this year - sorry!

I’m planning to migrate this site from drupal to hexo and
as a first part of that and also in an attempt to combat comment spam I’ve
moved all comments to disqus - we’ll see
if that helps.

I found the article Manually Migrating Comments from Drupal to
Disqus
really helpful when working out how to export comments from drupal to
disqus.

For anyone else thinking of trying out Hexo, John Stevenson has a helpful set
of articles on his blog: http://jr0cket.co.uk/hexo/

ASK NAO guest blog post: Working with developers

ASK NAO is Aldebaran Robotics’
program to develop applications to help autistic children using the NAO robot.
On the project’s forums Aldebaran Robotics staff, teachers, parents,
caregivers and developers collaborate to produce applications that can be used
to help autistic children.

I was recently asked to write a guest blog post and chose to write something
aimed at helping people unsed to software development to work with developers:
<http://asknao.aldebaran-robotics.com/en/Invited-Writer/tips-for-working-with-
developers>

Bastille day 2014-- Reading & robots

Last year Robbie and I attended the Bastille day festival in Reading. This year we’ll back back with reinforcements! Carl Clement with Byron and Mike McFarlane with Mistcalf will also be joining us. Carl, Byron, Robbie and I were in Reading recently for an interview and photoshoot with the local newspaper (for the record its Dr. Snowdon, not Mr. Snowden and Robbie not Robby )

Bastile day, Reading is on 12-13 July in Forbury Gardens

How replacing callbacks with core.async can make even robots get emotional

One of the issues with callback based programming is the need to coordinate
mutable state among multiple callback handlers. Clojure’s core.async provides
a way to write code in a more sequential style that helps make the interaction
between multiple events clearer. This talk will briefly describe Communicating
Sequential Processes (the theoretical foundation on which core.async and other
languages such as go and occam are based) before giving an overview of
core.async itself.

A lot of the attention on core.async has focussed on its use for web front-
ends with clojurescript. This talk will present an application running on the
JVM that demonstrates how a 3rd-party framework can be adapted to work with a
core.async application in order to control a NAO humanoid robot.

Watch talk on Skillsmatter: <https://skillsmatter.com/meetups/1994-how-
replacing-callbacks-with-core-async-can-make-even-robots-get-emotional>

Computer Science

Communicating Sequential Processs: http://usingcsp.com

Occam: http://en.wikipedia.org/wiki/Occam_%28programming_language%29

Transputer: http://en.wikipedia.org/wiki/Transputer

core.async

Main page: https://github.com/clojure/core.async

Tim Baldridge’s talks on youtube

Robotics

Latitude robot study: http://bit.ly/robotstudy

Rethink Robotics Baxter: http://www.rethinkrobotics.com/products/baxter/

Emotions & Emotional Models

Emotions Revealed: Understanding Faces and
Feelings
by
Paul Ekman

Maslow’s hierarchy of needs:
http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs

Emotional agents

Toward a comprehensive theory of emotion for biological and artificial agents
Michael Sellers, Biologically Inspired Cognitive Architectures (2013) 4, 3 26

Sellers, M. (2008). Otello: A next-generation reputation system for humans and
NPCs. In Proceedings of the fourth artificial intelligence and interactive
digital entertainment international conference.

Demo code

Core model: https://github.com/davesnowdon/emotions-clojure

Demo: https://github.com/davesnowdon/emotions-clojure-demo

NAO in Reading for Bastille day

This year my NAO robot was invited to celebrate Bastille Day in Reading. Four
Frenchmen Boubacar Dembl, Eric Leray, Vincent Valre and Frdric Kayrouz were
organising a Bastille Day event in
Reading
and, since NAO is made by the
French company Aldebaran Robotics they
asked if I could bring NAO along for a demo.

A week before the event I went to Reading to meet Eric, Vincent & Frdric and
for a photoshoot with the Reading Post so they could publish a
teaser article.

teaser
photo

Then on the 14th July I spent the whole day demonstrating NAO to members of
the public. I kept the demos short and Carl
Clement
‘s animal card game
and Aldebaran’s implementation of NAO dancing
Gangnam
style proved to be favourites.

The Reading Post has a writeup of the weekend.

View the discussion
thread.