RobotC datalog graph "experiments"

  1. 6 months ago

    biglesliep

    13 Feb 2018 Menlo Park, CA 1666

    Could someone point me toward some documentation (ha ha) regarding the datalog graphs? Specifically, when I create a graph, it's all wonderful, and I see that there are tabs at the top of the graph window: Experiment 1, Experiment 2, ... I cannot find any information on the "Experiment" tabs anywhere. Would this feature allow you to save multiple graphs, say while you're tuning a PID? (It would be nice to flip back & forth between graphs of different runs.)

    So I have already found the RobotC help page for Cortex where they have instructions for the datalogging itself , and I am able to do that part with no problems. What I would like to know is whether one can create multiple graphs, or what are those Experiment tabs really for, etc. Seems like I'm not getting the most out of this functionality.

    Thanks all.

  2. nenik

    13 Feb 2018 V5 Beta Tester

    Well, we have never really figured the tabs either (not tried hard anyway), so we always do "clear datalog", "start logging", preform the experiment, or auton run or whatever, "stop logging", "display graph".
    (We have run into the tab usage before and somehow managed to log into different tab, then wondered (staring at the old data) what is going on. After that wasted hour, we have adapted the above protocol).

    Anyway, you can save the data as both PNG (reasonably zoomed in for comparison) or as CSV. That later option is extremly helpful, as you can then do offline analysis of the data.

    • Load them into a spreadsheet if you need to (you can then use subsequent columns to reconstruct your PID inner state, for example).
    • Render them with gnuplot if you need to see them visualized again.
    • Archive them for comparison later

    When tuning PID, what we typically use is a simple main task that starts the subsystem, then issue "commands" periodically. Think of:
    task main() { startTask(liftPID); for (;;) { setLiftTarget(2800); sleep(5, seconds); setLiftTarget(1200); sleep(5, seconds); } }
    That way, you can easily capture few iterations and zoom into the transitions as needed.

  3. biglesliep

    13 Feb 2018 Menlo Park, CA 1666

    Wow. That task idea is cool.

    I was hoping to avoid screenshots, and instead be able to use these Experiment tabs that are CRYING OUT for attention....

 

or Sign Up to reply!