dev roadmap - ab3nd/TinyRobo GitHub Wiki

The remaining tasks are:

Finish the hardware writeup paper.

  • Integrate changes with Thesis
  • Try to get published somewhere

Taxonomy paper

  • See if I'm really saying anything with this?

Swarm camera improvements

Reprofile swarm software

  • Attempt to use it to control robots in random walk, see how the latency is doing

Set up and perform defence

  • Unsure about process here, UML should have documentation on this process
  • Proposal needs updating for cases, new timeline based on IRB problems and current state
  • Section on EID could be shrunk, perhaps?
  • Schedule for early Sept?

Reread Mark's work

  • Prepare preliminary gesture recognizer based on that

Implement base behaviors and compositions

  • Start with obstacle avoid and random move

Experiment

  • Do more pilot runs and use results to feed gesture recognizer
  • laptop I'm using isn't multitouch, kivy doesn't appear to play well with the 3M screen on that laptop
  • image scaling from kivy display to log drawing isn't correct, kivy shows smaller than images

Study afterwards

  • Replace static UI with top-down camera view, see if people can use it

Misc

  • HRI deadline Oct 6th, conference is in Chicago
  • ACM conference on "surfaces and spaces"
  • IUI Tokyo, deadline Oct 8th, abstract Oct 1

Software for the ESP-8266 TinyRobo boards

As an initial cut at the hardware (very minimal functionality), my plan is this:

  1. Arduino-compatible firmware on the ESP-8266, so that I can...
  2. Use ROS/Arduino to recieve ROS messages and turn them into PWM signals for the two motor drivers, so that I can...
  3. Drive the robot from RVIZ.

Unfortunately, ROSSerial will let me do ROS messaging from an Arduino-like platform, but the Arduino development environment for the ESP-8266 doesn't have the serial-over-wifi interface that the ESP-8266 normally implements. I assume that they would have to connect to something, using the libraries available on the Arduino environment for the ESP-8266, but there is no indication of what that thing is, or if it exists.

Alternatively, I can use ROSBridge to do JSON-to-ROS serialization on the host computer, and have my robots publish JSON over TCP to ROSBridge. This appears to be the winning plan, as the ESP-8266 can deal with the generation and parsing of the JSON messages, and ROSBridge provides something for it to connect to on the host computer.

Attempting to install the WiFiWebServer demo on the stock ESP-8266 doesn't work. I currently have CH_PD pulled high and GPIO-15 pulled low, which allows it to communicate over the serial port. The error message is: warning: espcomm_sync failed error: espcomm_open failed

What I needed to do to have it work is boot the ESP-8266-03 with GPIO15 and GPIO0 pulled low, and CH_PD pulled high. Booting again with GPIO0 floating/not pulled low should (I hope) let me talk to it over serial AND have it running whatever firmware I put on it. Just for reference, the WiFiWebServer demo is 295k of 434k bytes, so getting a JSON lib and motor drive in should be cake.

The software

Once the hardware is complete, ROS modules will be written to control TinyRobos, and to emulate various effects, like directional communication (good for certain ant-like behaviors), unreliable inter-robot communication, and simulated stigmergy. These software modules will also be part of this repository, so the entire collection of materials will be able to be used by any researcher who wishes to use them.