Change the future

Saturday 10:50 a.m.–11:20 a.m.

Python for Robotics and Hardware Control

Jonathan Foote

Audience level:
Intermediate
Category:
Science

Description

I build robots for a living and kinetic art for fun. I use Python as a front end, GUI control, and glue to talk to controllers, actuators, sensors, and peripherals. I will present some example robots and kinetic art, and give some tips that I've learned from building everything from robotic desk lamps to automated surgical systems.

Abstract

I build robots for a living and kinetic art for fun. I use Python as a front end, GUI control, and glue to talk to a wide variety of controllers, actuators, sensors, and peripherals, including a 25-foot high artwork with 3000 watts of color LEDs. I will present some example robots and machine control such as the Completely Awesome Robotic Desklamp Experiment, surgical robots, and the temperature controllers used in a chocolate factory. I will give some tips and tricks I have learned over the years, and conclude with "you can do this too" suggestions on how to get started interfacing with the real world.

Outline:

  1. Introduction
  2. Sensors & actuators
  3. Talking to things:
    • Pyserial and serial protocols (DMX, CAN bus)
    • Tcp/ip sockets and http
    • Open Sound Control over UDP
  4. Feedback and control
  5. Latency and how to cope:
    • Blocking and non blocking I/O
    • polling vs threading
    • wxPython event loop: wxYield and DelayedResult
  6. Getting started with hardware yourself
    • Arduino & pyserial "hello world"
    • oneminutepython wxPython GUI example
    • putting it together: demo & example code