-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FloatShield: Long term outlook and ideas #169
Comments
Issue-Label Bot is automatically applying the label Links: app homepage, dashboard and code for this bot. |
@gergelytakacs I have been trying to make the laser sensor work in MATLAB and after a lot of complications it seems I was successful. I have managed to create MATLAB add-on from the Pololu sensor library that allows us to read data from distance sensor through MATLAB. There was one similiar add-on available, but it used the Adafruit library - which we have decided to replace because of sampling reasons. The add-on can be currently found in this repository with some instructions on how to use it. As it is, the add-on relies on the Pololu library that has to be included in Arduino libraries, so for our purposes, it will have to be modified to use Pololu library from submodule. I was not sure what submodule to use because of issues discussed in #168 (comment) so I just uploaded this arduino-library-dependent raw version. I am now going to work on MATLAB API for FloatShield, and will correct the library source when the issue will be resolved. |
@gergelytakacs I am not sure if this is the correct location for it, correct me if I am wrong. It uses same/similiar functions as the C++ API. As I mentioned in #169 (comment), it needs laser sensor add-on to work, which needs Pololu library to work - everything is really intertwined. Please review the MATLAB API and tell me if anything needs to be changed.
@PeterChmurciak This is absolutely wonderful. Very good job with this, I'm really glad you have managed to port the sensor into MATLAB. As of the Polulu library, please use the submodule that connects to your very own fork, as the Polulu guys seem not to be pulling in changes. Also see here. When creating the API your reference is the HeatShield, as this is currently the only existing MATLAB interface for heatshield devices. Try to be consistent with the code and ideas there so the library is more or less uniform accross various devices. |
@PeterChmurciak I'd like to know where you stand with the decisions regarding the use of the "linearizer" (I think you kind of said no) and getting a 'final' tuning out of the PID. Are you waiting for some balls you've ordered? The reason I ask is, that if you are more or less content with the hardware right now (R1) you should try to "finalize" the Arduino IDE part for now and try to pull out some good lookin' test data and PID responses. Something representative... |
@gergelytakacs I say no to the linearizer. I have tried it some more and it did not provide consistently better results for me. The tuning that the FloatShield PID examples currently use is the best I managed to come up with, and I was thinking about using MATLABs system identification toolbox and then some form of PID tuner to see if I can get something better. I am not yet sure if that will be sucessful. No, I have not found any other balls that would suit our tube. The ones I ordered were either too big or too heavy. Alright, I will try the mentioned MATLAB part, to see if I can get better PID constants out of it and then try to get some very nice and colorful plots. How do you imagine the responses to look ? I mean should it be for example data recorded in a text file and shown in a MATLAB plot ? |
Allright, that's settled then!:)
Good enough for me then. I found the MATLAB PID Tuner to be not much better than good old hand tuning, but of course, give it a go by all means! Also before that we should probably take identification much-much more seriously to have a good model in the first place. That has been neglected so far. I'd say then, try to pull out some "text" (CSV) results and then we'll process them into something more presentable.
Neither have I. So let's settle it like this: at the current phase of the project, work with what we have, e.g. the old ones. Redesign it more seriously for R2 next, you can change ball/tube sizes etc.
Yes, exactly. Dump data as text and log them using a terminal program (e.g. CoolTerm or similar). Then we'll have the freedom to process the data for our specific needs. This can be considered as the "final" result of a particular portion of the FloatShield R1 effort. This data then will be used in a possible future conference paper to present the results and your master's thesis. So data is valuable, take care to sort, understand and store it properly:) |
@PeterChmurciak Not entirely FloatShield specific, but made Travis logs more readable by disabling some junk, e.g. https://travis-ci.org/gergelytakacs/AutomationShield/builds/556807402 |
I will most probably be on vacation the next two weeks, but should be still in the office this week. If you feel like talking to me personally, you are welcome to stop by, just maybe let me know when - so you don't make the trip for nothing. However, I do not require you to visit me as I consider our communication Through this platform going well, it's really up to you. If you decide not to come, which is fine, I will react to your notes here for this week, then might write you a list of ideas to do for the upcoming time! Just letting you know in time how I plan my schedule. |
@gergelytakacs Thank you for informing me. |
@PeterChmurciak Can you please post here a screenshot of the PID experiment that you consider as reference? Can you please also post here (just *.zip it) the raw data? |
@gergelytakacs I think the response from latest Arduino PID example is pretty fine: The comparison with MATLAB version and raw data can be found in #171 (comment). What do you think ? |
More than fine, see #171 :) |
Hello @PeterChmurciak As you know, I will be off to vacation for a week, will be attending my usual duties on the 29th of July the next time. Until then, I'd recommend keeping busy with the following priorities:
Of course if you are running into trouble with these things (or just simply sick of trying something) here are some alternative things you should do, that will be useful at some point in the future:
|
@PeterChmurciak
I will be no attending my usual academic duties as I will be on vacation until the 8th of July (e.g. next week). This post shall give you some long term ideas for possible activities. Mind you, this is not a schedule you shall definitely complete by that time, rather a couple of things that can meaningfully contribute to the development of our efforts. Some may be easy, some not so much. The prime tasks remain with getting a meaningful data stream for identification and tuning the PID controller, speeding up sampling etc. - these are mentioned in other issues and you are aware of them.
I think that's plenty to keep you entertained:)
The text was updated successfully, but these errors were encountered: