Subject:
|
Re: Robolab Data Acquisition
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Wed, 16 Mar 2005 23:28:17 GMT
|
Viewed:
|
1058 times
|
| |
| |
Hey Dick,
Excellent description of Robolab's data acquisition and analysis toolset. I
hope that you'll consider attending and speaking at the Robolab conference
in Austin this summer!
Annual ROBOLAB Conference (August 15-17th, Austin, Texas)
http://www.ceeo.tufts.edu/events/robolabconference
Tonya Witherspoon
On 3/16/05 3:09 PM, "Dick Swan" <dickswan@sbcglobal.net> wrote:
> The objective of this note is not more input to the recent near
> "religious" thread of Robolab vs. NQC (or other programming
> environments)!
>
> My objective is to highlight the incredible data acquisition and
> analysis aspects of Robolab. If you're not interested in this
> aspect of Robolab, simply stop reading now.
>
> If you're a member of this list your Mindstorms orientation is in
> building autonomous Robots. That's not the focus of Robolab.
> Robolab is a tool for teaching science to kids; autonomous robots
> are a fun application but not the primary mission of Robolab.
>
> In teaching science, Robolab uses Mindstorms as a data
> acquisition tool. Consider the "physics lesson" concerning
> acceleration, speed, distance, etc and the various equations
> involved. Student experiments are to experiment with real project
> and compare against theoretical results. Student exercise might
> be.
>
> * Open a new Robolab project.
>
> * Write a text description of the project. Objectives.
> Methodology. Etc. This is easily stored in Robolab.
>
> * Build an unpowered robot containing a rotation sensor
> that can roll down an inclined plane. Include some photos of the
> robot into the project, captured with the Lego camera (or other
> PC cam).
>
> * Periodically sample distance traveled vs. time as the
> robot rolls down the inclined plane. The Robolab program to do
> this is just two icons: "define dataset N as a log of rotation
> sensor 'x' values" and "start logging measurements on dataset 'N'
> every 'xx' milliseconds". This would start logging as soon as
> 'run' button is pressed so maybe a third icon "wait for rotation
> sensor to change value" is needed before the "start logging"
> command.
>
> * Maybe include a video of the 'robot' in action as rolls
> down the ramp and store in your project file.
>
> * Upload samples to PC (one icon). Convert distance
> traveled measurements to velocity and acceleration (using a
> couple of Labview icons that operate on arrays). Plot these
> parameters using one of the standard graph formats, or else
> customize your own plot (another single icon). Compare
> measurements against theoretical performance and include this as
> another line on your graph (a handful of icons to define the
> theoretical results and include in your graph). Save this
> "program" so that it can be re-used for subsequent experimental
> runs.
>
> * If you're a high school or college student then maybe
> you want to use another few standard icons to analyze observed
> vs. predicted results using standard statistical analysis to test
> relationship fit.
>
> * Make notes and observations and save in your project.
>
> * Repeat multiple times for various incline angles.
>
> * Print and produce report to hand-in.
>
> You're one of four 12-year old students in your team. You have a
> two-hour lab to start the above experiment and hand in your
> completed results. Can you think of another program or
> application where this would be a realistic objective?
>
> Robolab has terrific data acquisition and logging functionalities
> that build on top of the RIS datalog. Some of capabilities
> include:
>
> * Multiple different datasets can be defined. Each
> dataset captures a single variable. I think the limit is five
> datasets.
>
> * For each dataset, you can optionally store a timestamp
> with the logged value.
>
> * Multiple modes of triggering logging. These include:
> when touch sensor is pushed; by an icon in a user program; when
> value changes; or automatically on a periodic basis (with a
> single icon Robolab will create a new task that loops logging
> datapoints with a delay (from 10ths of a second to minutes)
> between points).
>
> * Limit the number of points in a dataset so that a
> single dataset doesn't consume the complete datalog.
>
> * Automatically 'create datalog' at maximum possible size.
>
> * Single command for datalog upload into standard Labview
> datasets. Labview is the base engine that Robolab is built on.
>
> Labview is a professional data acquisition and analysis system
> used by 100s of 1,000 of professional who typically are not
> computer scientists. Imagine the NASCAR mechanic who wants to log
> 50 (or 100) different measurements from within the car during the
> race and then subsequently upload into a PC for a wide variety of
> ad hoc analysis. He's not a computer scientist or programmer and
> is very content with Labview's graphical icon programming
> language. Labview has extensive capabilities in this area for
> both the data acquisition and data analysis. Certainly this is
> what you'd expect from a company (National Instruments) whose
> core mission is data acquisition and you've had 100 programmers
> working 15 years on the project (I made these numbers up but
> they're probably in the right ballpark; a web search shows NI has
> over 1,000 programmers on staff).
>
> Robolab provides a wrapper around Labview to give simplified and
> pre-packaged access to its data acquisition and analysis
> capabilities suitable for young students. Of course, I think you
> can always gain access to full Labview functionality if you're a
> power user.
>
> Robolab + Mindstorms, at a combined price of about $250, has to
> be an incredible value for data acquisition/analysis for student
> analysis. I suspect if it had more memory (flash memory
> expansion) it would find much utility and deployment as a
> professional (vs. student) product in this market.
>
> I've got a professional software development background
> experience and I personally prefer C/NQC for programming rather
> than Robolab. However, my latest project was a "Legway" using two
> standard Lego sensors controlled via a PID algorithm. The core
> code is maybe 20 lines; this wasn't where I spent my time. The
> biggest amount of time was spent adjusting the PID coefficients
> to get smooth operation. So I promptly added 150 lines of code to
> acquire data (error, motor power levels, min/max values for
> error/derivative/integral) during its balancing and then after it
> fell down would interrogate these values on the PC, analyze them
> and adjust the PID coefficients and try again. In hindsight,
> Robolab's capabilities could have greatly simplified this stage.
> I also suspect I could have found a proven, debugged Robolab
> "icon" that contained a complete robust PID implementation where
> I could have simply fed in single variable containing the current
> error and my three PID coefficients and the "icon" would have
> automatically calculated derivative, integral and correction
> results.
>
> Now of course, Robolab is also used for building autonomous
> robots. And this capability is also taught to students. But I
> suspect in general that most of their programs are most likely
> less than 20 graphical icons or 20 lines of NQC code.
-----------------------
Tonya L. Witherspoon
Educational Technology Specialist
Center for Research and Evaluation Services Fellow
College of Education, Wichita State University
1845 N. Fairmount, Wichita, KS 67260-0131
316-978-6242 (voice)
316-978-3302 (fax)
http://www.wichita.edu/education/twitherspoon
|
|
Message is in Reply To:
| | Robolab Data Acquisition
|
| The objective of this note is not more input to the recent near "religious" thread of Robolab vs. NQC (or other programming environments)! My objective is to highlight the incredible data acquisition and analysis aspects of Robolab. If you're not (...) (20 years ago, 16-Mar-05, to lugnet.robotics)
|
6 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|