May 27-29, 2015, Berkeley.
Tentative Agenda. We expect the agenda to be very fluid, so this is just a guideline.
Important: Do the homework. In particular, install Ptolemy II. If you fail to do this, we will try to help starting at 8am Wednesday.
Notes from the Accessor Design Discussion are available.
Wednesday May 27:
8:00am | * For those who didn't do the homework: Software installation workshop (Christopher) * For those who did the homework: Breakfast. |
9:00am | Introduction and organization (15 minutes) |
9:15am | Accessor Design (Edward Lee, 30 minutes) |
9:45am | Common Exercise: Build an Audio Accessor, parts 1 and 2 (45 minutes) |
10:30am | Break (15 minutes) |
10:45am | Hosts and Modules (Edward Lee, 45 minutes) |
11:30am | Common Exercise: Build an Audio Accessor, parts 3 and 4 (45 minutes) |
12:15pm | Lunch and Project Setup |
1:00pm | Projects (2.5 hours) |
3:30pm | Break |
3:45pm | Project report back (30 minutes)http fails silently (response == null) |
4:15pm | * AccessorJS host (Chris Shaver, 30 minutes) * Michigan accessors (Brad Campbell, 30 minutes) |
5:15pm | Planning for the next two days (15 minutes) |
6:00pm | Dinner |
Thursday May 28:
8:30am | Breakfast |
9:00am | DARPA demo plans and strategy (Prabal Dutta, 15 minutes) |
9:15am | Tutorial on ROS & API of Penn robots (Amanda Prorok, 1 hour) |
10:15am | Break (15 minutes) |
10:30am | Demo of Robot tracking and Overview of PILOT (Ilge, 30 minutes) |
11:00am | Open Mike |
11:30am | Project organization (30 minutes) |
12:00am | Lunch |
1:00pm | Projects (2 hours) |
3:00pm | Break |
3:15pm | Project report back (30 minutes) |
4:00pm | Discussion: Where are we and where do we need to be? (30 minutes) |
4:30pm | Planning for day 3. |
6:00pm | Dinner |
Friday May 29:
8:30am | Breakfast |
9:00am | Summary: Where are we and where do we need to be? (Edward, 15 minutes) |
9:15am | What can be improved with accessors? (Prabal to lead?) |
9:45am | What can we demo for sure in September (Amanda Prorok) |
10:15am | Break |
10:30am | Towards a common accessor design (Marten to lead?) Accessor Design Discussion notes |
12:00pm | Lunch |
1:00pm | Prototyping the DARPA demo and next generation accessor framework (4 hours) |
5:00pm | Adjourn |
Common Exercise
- Audio Accessor and Nashorn/Ptolemy II implementation. See Common Exercise Build An Audio Accessor.
Project suggestions:
-
- Find Node modules for audio capture and playback.
- Design a JavaScript module API for audio services (coordinate with common exercise outcome).
- Implement the JavaScript module using Node.
- Design AudioCapture, AudioPlayer, and ClipPlayer accessors (coordinate with common exercise outcome).
- Kubi accessor (RESTful interface, so should work on everything)
- Figure out the Kubi API. According to Tim Huang <tim@revolverobotics.com>, something like http://new.kubi.me/api/1.0/move-kubi, with parameters like:
- hardware_id: 'XXXXXX',
- x: 0 <= x <= 1
- y: 0 <= y <= 1
- Browser accessor with Nashorn implementation (boilerplate is checked in for Nashorn/Ptolemy II). A browser accessor accepts HTML and JavaScript input and uses a browser to provide a GUI to a swarmlet.
- Understand the boilerplate (which is very spare).
- Enhance its capabilities to, for example, plot audio signals from the common exercise in the browser.
- TI SensorTag accessor with Nashorn and/or Node implementation (the SensorTag accessor on the website is not really what we want)
- Find Java and/or Node bluetooth interfaces.
- Design a JavaScript module API for bluetooth.
- Implement the JavaScript module using Nashorn and/or Node.
- Design SensorTag accessor.
- ROS accessor with Nashorn and/or Node implementation
- Find or build Java and/or Node ROS interfaces.
- Design a JavaScript module API for ROS.
- Implement the JavaScript module using Nashorn and/or Node.
- Design ROS accessor.
- Build an accessor to control a pan-tilt-zoom camera (we can provide one).
- YourSensorOrActuator accessor with Nashorn and/or Node implementation
- Find or build suitable Java and/or Node interfaces.
- Design a JavaScript module API for this interface.
- Implement the JavaScript module using Nashorn and/or Node.
- Design SensorTag accessor.
- ScriptedSignalProcessing accessor with Nashorn implementation.
- Get familiar with ptolemy.math.SignalProcessing class
- Design a JavaScript module API for some of the methods in this class.
- Implement the JavaScript module using Nashorn.
- Use the ScriptedAccessor of the previous project to demonstrate use of this module.
- Help develop the AccessorJS platform.
- Implement and extend functionality to be more consistent with Ptolemy implementation.
- Work on the development of MoCs for this platform.
- Develop a browser-based front-end for Accessor editing.
- Get in contact with Chris Shaver shaver@eecs.berkeley.edu.
- Leverage synchronous events in DE
- Build a paper-rock-scissors game with two sensors (e.g., WiiMote?)
- ...
- Build new modules
- BLE
- GDP
- UDPSocket
- Url (support for reading and building URLs)
- ...
- Get Vert.x Multicast working
- Oort Smart Socket Accessor
- TODOs and FIXMEs:
- HttpClient module
- http fails silently (response == null) [Marten]
- Accessor interface
- If exports.setup is changed, upon reload, it should remove ports that are not registered [?]
- If the source of an accessor is local, then automatically reload if the file has changed [?]