| What's New – Look here regularly for postings
|
|
| dec 16
|
|
| Comments on projects have been sent to all participants. Grades are
included. Official grades have been posted and will be available before
7:00am tomorrow according to the Registrar.
|
|
| Special recognition:
- Shenshen Han for
- Best Lab Project Report
[PDF]
- Individual project in drive-by-voice
[PDF] (see the
demo [HTM])
- Hasan Kurban, Doga Tuncay and Kurt Weisman, the only
group to demonstrate avoidance using the SICK LMS100 laser range-finder
[PNG] (They
note in their report that only three cones had to die in order to complete
this test)
- Shiva Sinhya and Ben Zaitlen
- Best Lab Project Report
[PDF]
- Individual project in ERTS vision
[PDF]
|
|
|
|
|
| Lab and Project Reports are due at noon on Friday, December 9. Read the following carefully.
- Upload all documents, sources, and data to you SVN area. When you
are ready for me to evaluate your work, send me a message (sjohnson@cs.indiana.edu). The time stamp on that message determines the time the work is
"turned in."
- Work turned in before noon on Thursday, December 8, will receive
10% additional credit.
- Work turned in after noon on Saturday, December 10, will receive
10% penalty for being late.
- Work turned in after 10am, Wednesday, December 14, will not be
evaluated.
- I will look in SVN directories
userid/lab/5/,
userid/lab/4/,
userid/lab/3/ and
userid/lab/2/, in that order,
for a single PDF document named report.pdf.
I will assume this report is the final Lab Report.
If I do not find a document of that name, I will assess a penalty.
- If you have an individual project, place it and its documentation
in the
userid/public/ subdirectory in your SVN area.
- It is permissible for a group to upload its projects to a single
SVN directory, but be sure all group members are identified in
all documents and sources. It is preferable if each group member
uploads identical copies of all subdirectories in their own areas.
|
|
| dec 5
|
|
| Thomas A. Henzinger, Benjamin Horowitz, Chrisoph Meyer Kirsch.
Embedded Control Systems Development with Giotto.
Proceedings of the ACM Workshop on Languages,
Compilers, and Tools for Embedded Systems (LCTES), 2001.
[PDF]
|
|
| Thomas A. Henzinger, Benjamin Horowitz, Chrisoph Meyer Kirsch.
Giorro: A Time-Triggered Language for Embedded Programming.
Proceedings of the First International Workshop on Embedded
Software (EMSOFT), 2001.
[PDF]
|
|
|
| nov 28
|
|
|
This Friday, December 2, Marilyn Wolf of Georgia Tech will give a colloquim talk
entitled "Challenges in Cyber-Physical Systems". See the
SoIC Events Calendar for details. All P545 students should attend this
talk if they possibly can. Marilyn Wolf is a widely known and highly respected member of the embedded systems research community. Along with many pioneering research contributions, she wrote the first textbook, Computers as Components, devoted to embedded architectures. The sequel, High-performance Embedded Computing is on the Textbooks and References list for this course. Wolf remains at the forefront
of thinking in the area of embedded systems, among others.
The term Cyber-Physical System refers to the relationship between computation and the physical world. It refers to a change in perspective on embedded systems
centering on the and the evolution from isolated
devices, to the vast global network characterizing Today's systems.
|
|
| nov 8
|
|
| For those of you using GnuPlot, here is a script to plot waypoints and obstacles. This example
[PNG]
was generated using this script
[.GP],
this course
[RDDF],
and these obstacles
[OBS],
|
|
| If you are using MathPlotLib, Ben and Shiva have written
a routine to plot courses, including the corridors. This would be hard in GnuPlot, I think.
|
|
| If you have other plotting routines to contribute, please send them to me.
|
|
| oct 25
|
|
| Notes on Speed Control
[PDF] (supplemental to Lab 3)
|
|
| A few project ideas
[HTM]
|
|
| oct 24
|
|
| oct 21
|
|
| Field testing is "on" today, as scheduled. I have now (11:00 am) posted a
schedule, but
we will try to accomodate people first-come-first-served because I was late. Today we
are holding field trials to evaluate the status of lab projects, so a group's first trial
takes precedence of another group's second trial.
Caleb will be at the test field at 1:00. I will try to be there by 2:15.
- Configure your program to run three laps.
- Start (or restart) the visualizer.
- Load and start your program, then leave the vehicle.
- When the vehicle concludes its run, take a snapshot of the visualizer.
- Off-load your test results to a USB drive.
- Update your SVN area.
- Make sure your report describes what you are doing for path planning.
|
|
| I will be away at a conference October 30 to November 2, so I will not be able to lecture on
10/31 or 11/2. We will use these class periods for project presentations. Prepare a
15-minute presentation for the class. More information in class on Monday.
|
|
| oct 19
|
|
| Lecture notes on embedded communications (partial)
[PDF]
|
|
| oct 17
|
|
| On October 21, conditions permitting, we will perform field trials to evaluate the status
of lab projects. Test procedures will be posted here soon.
|
|
| By Friday, October 21, upload all reports and test results to your SVN area, so that
work to date can be evaluated.
|
|
| Here are some test shots taken with the LMS100 ladar sensor
[TGZ]
|
|
| oct 6
|
|
| You should now have edit priviledges for the field-test sign-up schedules. Would someone
please verify this and let me know? Tomorrow's weather forecast is excellent.
|
|
| IMPORTANT: On Friday, October 21, conditions permitting, we will hold field tests to evaluate progress
on laboratory projects. If you are working in a group, it is not necessary for all members
to be present for the field test, but at least one member must be. Configure your GPS
driver to drive three times around the course, then stop.
|
|
| oct 5
|
|
| A sign-up sheet for field testing has been placed in the ERTS TRAC
[HTM] wiki.
Log in to the TRAC, move to the bottom of the wiki page; click on link
"Testing schedule for Friday, October 7; click on the "Edit this page" button;
add your name; click on the "Submit changes" button.
|
|
| Lecture notes on Fault Tolerance
[PDF]
|
|
| Driscol, Hall, Sivencrona &Zumsteg.
Byzantine Fault Tolerance, from Theory to Reality.
[PDF]
|
|
| Examples of project reports
[HTM]
|
|
| sep 19
|
|
| Timer examples in C
[HTM]
|
|
| Lecture notes on time
[PDF]
|
|
| sep 12
|
|
| Before Wednesday's class, please up-load (commit) something to your
P545 SVN area
area .../class/2011/your-id. I am required to file a report on participating
students. As discussed today in class, I recommend creating sub-directories
.../class/2011/your-id/lab/1/,
.../class/2011/your-id/lab/1/,
etc. For each of your Lab Project assignments.
|
|
| sep 12
|
|
| ERTS Archtecture
[PDF]
| |
| Lab 1 supplementary material, Closed-Loop Control
[PDF]
| |
| Lecture notes on Steering
[PDF]
|
|
| sep 1
|
|
| The chapter Lab 2 – Basic GPS Following in the
P545 Lab Manual [PDF] has been expanded.
Refresh your copy.
|
|
| aug 31
|
|
| Field testing today is cancelled.
Conditions permitting, we will test on Friday starting at 1:00.
|
|
| I have been informed that all students on the wait-list for P545 have now been
added to the class, and there are still seats available for anyone who hasn't
registered yet.
|
|
| If you wish to download a copy of the P545 VMware disk image, in Linux try this command:
scp your-id@burrow.cs.indiana.edu:/scratch/bhimebau/ubuntu-server-9.04-i386.tgz
The image is over 12 Gb, so
you should do this over the CS network in Lindley Hall, if possible. If not,
do it over the campus network. You will be prompted for your password.
|
|
| aug 29
|
|
| Your can access your area on the
P545 SVN
using password p545user2011. If you are enrolled there will be
a directory under class/2011/yourid
I will walk through using the SVN in class tomorrow.
|
|
| Please get your questionaire to me today, especially if you are on the wait list
(I have no way of knowing who is on the wait list unless you tell me).
|
|
| This week we will hold field tests starting at
1:00pm on Wednesday and Friday afternoons.
The ERTS test field is the parking lot
north of Assembly Hall, between the Hall and the Tennis Pavilion [MAP]
Testing will continue until the vehicle's power is exhausted, there are no more
students, or we have to relinquish the field for other purposes.
|
|
| The sources for
square_raw.py
and
square_sensor.py
have been updated. Refresh your copies before going to the test field.
|
|
| Additional items have been added to the P545 Laboratory Resources [HTM] index.
|
|
| If you want to practice with visualizing telemetry data, here is a log from a past run of a square driver –
[TXT]
|
|
| aug 28
|
|
| P545 Laboratory Resources [HTM]. Skim
the first two sections of the P545 Laboratory Manual.
|
|
| previous What's New listings
|
|
|
| Course:
|
P545 Embedded & Real-Time Systems
B490 Experiments in Autonomous Robotics (3 cr.)
The term embedded system refers to software
executing in a dedicated setting. Some examples are: hand-held devices, cell phones,
consumer electronics, robots, automotive systems, avionics and smart cards, to name just
a few. It has been said that, two withing three digits of accuracy, 100% of computing is
embedded. This is a project-oriented course in which classroom topics
are explored through in-depth experiences in a substantial laboratory project.
|
Lecture:
Lab: Engineering:
|
Steve Johnson
(sjohnson). Office hours to be announced.
Caleb Hess
TBD
|
| Meetings:
|
| Lecture: | 9:30-10:45 MW LH035
| | Lab: | 2:30-5:30 F P545 Test Field, conditions permitting, or LH035
|
|
|
Description:
|
P545 Embedded and Real-Time Systems (3 cr.)
P:
Any 400-level ``systems'' course (middle digit 3 or 4).
Design and implementation of purpose-specific, locally distributed
software systems. Models and methods for time-critical applications.
Real-time operating systems. Testing, validation, and verification.
Safety-critical design. Related topics, such as resiliency,
synchronization, sensor fusion, etc. Lecture and laboratory.
NOTE:
Students with deficiencies but having compensatory special interests
(e.g. instrumentation science, robotics, cognitive science, multimedia, etc.)
are encouraged to consult with the instructor about approval to enroll.
|
|
Laboratory:
|
ERTS is a computer controlled golf car.
In the first half of the course, students do a cumulative sequence of
assignments learning basic GPS navigation and obstacle avoidance.
In the latter half, projects are based individual interests and backgrounds.
The ERTS Test Field is located on the
parking lot between Assembly Hall and the Tennis Pavilion.
|
|
|
The course assumes a basic fluency in ``systems'' concepts/terminology
and senior-level programming competency. Additional background in
diverse areas such as networks, distributed computing, hardware, etc.,
is desirable but not required.
Much of the programming involves interaction with the underlying
operating system through system calls. Exposure comparable to
that of the Operating Systems (P436) is adequate preparation.
Specific OS facilities used include: sockets, signals,
time, timers, and a few others.
Embedded systems are typically made up of both software and hardware
components. This course focuses on software aspects.
However, if a sufficient number of hardware students are enrolled,
opportunities will be created to work in that realm, most likely
using FPGA and micro-controller technologies, as taught in P442.
| |
Architectures and Applications [1].
Digital control; "smart" electronics; sensor arrays; multimedia;
networking components; instrumentation; heterogeneous systems;
system-on-chip. Networks: ad hoc, common-carrier, hierarchical etc.
|
| |
Terminology and Tradeoffs [2].
Reactive systems, event models; periodicity; throughput, latency, jitter,
slack; polling and sampling; modes and configurability; resilience;
hard-time and soft-time constraints. Worst-case and expected-case
analysis.
|
| |
Tools and technologies [6]
Tools, design flows, libraries and packages, instrumentation,
documentation.
|
| |
Time [3].
Physical and logical; resolution, precision, accuracy;
global and distributed synchronization. Clock synchronization
algorithms, agreement protocols.
|
| |
Resiliency [3]
Faults, errors and failures; failure rates, transient failure; fault models;
fault containment; fault tolerance and agreement; recovery.
|
| |
Communication [4]
Time division, carrier sense, collision-detect, etc. OSA model.
Representative standards (e.g. IP, FlexRay, CAN, WiFi, ad hoc).
Buffer network analysis.
|
| |
Real-Time Operating Systems [6]
Threads, tasks, processes periodicity. Scheduling
parameters, static and dynamic heuristics; Thread integration, priorities
and preemption. Models and instances of memory/file management.
|
| |
Methods [2]
Process-oriented design; synchronous and asynchronous abstractions;
message based, image based, data-flow, etc. Design flow, simulation.
Requirements, specification, implementation.
|
| |
Testing. [3]
Unit, component, integration testing;
Testing frameworks, simulation.
Instrumentation and measurement;
Validation and verification;
Formal analysis: models, tools.
Safety aspects: classification, certification, documentation.
|
| |
Sensors [4].
Statistical models, resolution, filters;
feature synthesis and fusion.
|
| |
Components [4]
Device handling, point-to-point protocols (e.g. USB, Firewire);
Platform computers, microcontrollers, FPGAs and software cores;
Codesign, incorporating hardware, configurability and reconfigurability.
|
Later in the course, the choice of language and system is left to the
student. At higher levels, one goal is to "mount" existing software
systems for experimentation in ERTS. For students who are
interested in exploring embedded systems at lower implementation levels,
knowledge of C, and familiarity with Linux system calls is needed.
For students interested in real-time operating system (RTOS) aspects,
copies of the QNX RTOS are available.
The primary components in evaluating
projects are (1) field testing for functionality and (2)
documentation the work, which may include oral presentations.
The laboratory platform is a golf car modified for computer control.
Previous classes have developed basic solutions for:
Initially, the class is given a software framework
for controlling steering, acceleration and breaking, as well
as sensors for GPS, proximate object detection, and rudimentary vision.
Classroom lectures explain and explore the
implementation of the framework as student groups develop solutions to
the navigation problems in a cumulative series of lab assignments,
such as: