[Dprglist] Visualizing data [was: PID]

Bob Cook bob at bobandeileen.com
Wed Sep 30 13:25:44 PDT 2020


Hi Murray,

You may want to look at Grafana as a tool to visualize time series data. It is open source and easy to set up if you are familiar with Docker containers. It pulls data from a variety of sources, I’m using it with an Elasticsearch instance, also as a Docker container. I set them up on a Linux host with Docker, but apparently you can use Windows or macOS as your Docker host pretty easily too. 

I’m using Python to push data into the ES instance. There is a Python lib for easy access to ES. My robot records a binary stream of stats that I convert and upload offline, after I’ve collected data from a test run.

- Bob Cook


> On Sep 30, 2020, at 1:02 AM, Murray Altheim via DPRGlist <dprglist at lists.dprg.org> wrote:
> 
> --------
> PS. I'm not sure if you've heard of it but there's a professional
> software application called Splunk that runs as a web service and
> receives logging data from a cluster of computers, providing
> monitoring, alerting, and some nice data visualisation outputs so
> you can see what your servers are doing. Almost everywhere I've
> worked in the past 5-6 years is using Splunk.
> 
> Over the past few days I've considered writing a tiny version of
> Splunk in Python, to examine and chart my log data. Turns out that
> Splink and Skink and Splank and Slunk and Slink are all taken,
> though I think some of those actually involve snakes. But given
> that "splink" is pronounced by some Kiwis as "splunk" (in the same
> way that "Nick Cave" sounds like "Nuck Cave" sometimes here in New
> Zealand, I think I'll name it Splink. The other Splink is a
> "Probabilistic record linkage and deduplication at scale" which
> couldn't possibly get confused with my project.
> 
> So, spurred on by your graphs, if I manage to find the time to
> rewrite my GnuPlot plotter for the PID controller I'll do it to
> instead just analyse the log outputs from Splink, rather than
> write the data generator inside of the PID controller as I did
> in version 1.
> 
>> On 30/09/20 6:45 pm, David Anderson via DPRGlist wrote:
>> Hi Murray,
>> I've plotted some of your data.  Here's the error, P, setpoint and output for your port motor:
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-01.png
>> I honestly can't make any sense of it at all.  It does not look like a plot from a PID controller.
>> The oscillations around the set point you describe are clearly obvious. Here's a zoom in on just that portion:
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-02.png
>> It  looks like the set point, the blue trace, is moving around, not steady at 0.  So if the PID controller is being commanded to do that it's not its fault if it's oscillating.  Why is that value moving around?
>> The initial startup is also bit bizarre.  Here's a zoom in on that:
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-03.png
>> It looks like the P,I,D terms are logged after they are already scaled by their gain constants.  What you need to see are the raw values calculated for the proportional error, the derivative error, and the integral, and the final output power to the motors.
>> Here are similar plots for your right wheel:
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-04.png
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-05.png
>> http://www.geology.smu.edu/dpa-www/robo/data/murray-06.png
>> It would be very useful to also log the wheel velocities.
>> And a time stamp.
>> cheers,
>> David
>>> On 9/29/20 7:24 PM, Murray Altheim via DPRGlist wrote:
>>> Hi,
>>> 
>>> Addressing the hunting behaviour on the KR01 robot that we've discussed
>>> previously (i.e., rocking back and forth about 1/8 of a wheel turn after
>>> stopping), here's a full color (!) log of the journey:
>>> 
>>> https://service.robots.org.nz/wiki/attach/PIDController/pid_bounce_log.html
>>> 
>>> I may mention this in tonight's video discussion, thought to provide a link
>>> here. It basically shows the encoder and PID controller output as the robot
>>> accelerates to cruising speed then decelerates to a slow, targeting velocity
>>> before attempting to stop at the 2 meter mark.
>>> 
>>> Cheers,
>>> 
>>> Murray
>>> 
>>> ...........................................................................
>>> Murray Altheim <murray18 at altheim dot com>                       = =  ===
>>> http://www.altheim.com/murray/ ===  ===
>>> = =  ===
>>>     In the evening
>>>     The rice leaves in the garden
>>>     Rustle in the autumn wind
>>>     That blows through my reed hut.
>>>            -- Minamoto no Tsunenobu
>>> 
>>> _______________________________________________
>>> DPRGlist mailing list
>>> DPRGlist at lists.dprg.org
>>> http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org
>> _______________________________________________
>> DPRGlist mailing list
>> DPRGlist at lists.dprg.org
>> http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org
> 
> -- 
> 
> ...........................................................................
> Murray Altheim <murray18 at altheim dot com>                       = =  ===
> http://www.altheim.com/murray/                                     ===  ===
>                                                                   = =  ===
>    In the evening
>    The rice leaves in the garden
>    Rustle in the autumn wind
>    That blows through my reed hut.
>           -- Minamoto no Tsunenobu
> 
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at lists.dprg.org
> http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org



More information about the DPRGlist mailing list