Hey there! You might have already heard about me from a GitHub issue. Or from my partner Gerardo Ortiz who a few weeks back asked about Odrives Control Law. Well, we, along with another 3 companions are working on a graduation project for our bachelor in Mechatronic Engineering from Tec de Monterrey campus Santa Fe here in Mexico.
We have a GitHub repo robo-control with our Matlab/Simscape simulation of our project and some Python scripts to use with the odrivetool mainly for setting up our Robot and at first executing some basic trajectories and such. At the time it is partly in Spanish (well mostly) but I’ll have to translate it all to English anyways because we are planning on publishing our research in a Journal, and to make it open source!
Our end goal is to create some form of AI or advanced algorithm that will continuously adjust the value of the controller gains to adapt to changing working situations
I already have a good start on understanding how the Odrive works but I am sure we will come across some issues where your knowledge and expertise of the ODrive inner workings will surely be very helpful for speeding up the development of our project.
For starters, we have two simple questions we would like to ask you and that we would be grateful if you could be so kind as to answer them.
Our robot initial links have to be on the geometrical “0” position of our robot, aligned with the axis that runs across our two motors. For axis0 that is 410 counts ahead of its index and for the axis1 that is 710 counts ahead of the index. Given the high encoder resolution (8192 CPRs) it makes much more sense to account for this “offset” in our programming than in trying to mechanically align the axis and the offset. Is there some kind of function in the odrivetool to set our pos_setpoint to be 0 n counts after the encoder index? To account fot this offset? I see there is an odrv.axis.encoder.config.offset param? What does that parameter refer to?
Can I run the liveplotter on a different instance of the odrivetool than the one I will be using to feed in real time new pos_setpoints or other commands?
Thanks for your time. I hope we can keep this channel open for continuous communication. Your help will be very much appreciated and we plan on doing a special mention of the odrive and the odrive team when publishing our paper.
Kind regards, Valentin