-
Notifications
You must be signed in to change notification settings - Fork 7
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
Merge CAN bus&wrapper loader apps #20
Comments
Do to implementation using Multiwrapper / CBW2 working at f7d5a3b, they are needed as programs. |
launchManipulation and launchLocomotion can be scripts that invoke a TwoCanBusThreeWrappers class. |
Done a long time ago (efb9593). What's left to be done here? |
The idea was for |
Both As a first step, I'd think we can merge |
Will be moved to teo-configuration-files once #116 is closed. |
Just noting that we'll have to update CMake/C++ code as well (default environment, installation paths for .ini files). |
Yep, that's why I've assigned myself. ;-) |
Idea: merge |
Mmm I think it's the other way around. There's no reason for a program to exist, all could be achieved via YARP plugins... |
Following that line of thought, what is the reason for RFModules to exist? How can I tell my RF-based application is better suited for its implementation as a YARP plugin? I'm thinking now about kinematics-dynamics/programs. Moreover, from which interface will oneCanBus... inherit so that it'd make sense to view/acquire a handle and do stuff with it? |
Because it's just a specification of a very basic functionality.
which actually merges and superseeds the notion of What would your thoughts be on (2) and (3)? |
It already is an easy-to-type one-liner (supports tab completion):
OK with (3), but we can still achieve the same with executables. |
Great, that's one use case solved. Here's the second use case. The second use case is to be able to write an application such as a walking gait, and to be able to switch from local to remote devices easily. Technically, I'm not sure if this is the way (or a good way, or a feasible way) to achieve this. Would have to give it more thought or even better develop some example code. For now just leaving this idea here for the historic. |
Even in best-practices, RFModules are recognized as a valid way of creating YARP programs: Programming in C/C++. We have a few of them around and working nicely, so I can't fathom any compelling reason to alter the status quo. If you don't mind, could you be the one to open that issue instead and suggest your changes? My opinion is that devices provide a wider range of uses (most notably the interface support, plus being able to launch them programatically, plus wrappers), whereas RFModules are basically a convenient RF-enabled subset for executables. In particular, applying the device mechanism to oneCanBus/TwoCanBus feels like a bit of an overkill to me (in other words, being able to achieve the same result with devices doesn't mean that we should), and of course needs some effort to migrate from RFModule to DeviceDriver. |
As commented with @PeterBowman, this is specifically for
|
When done, the one-liner will be aliased |
No longer blocked by #116, but will not move issue to https://github.com/roboticslab-uc3m/teo-configuration-files because it involves code here. |
...but as commented above, perhaps http://www.yarp.it/classyarp_1_1dev_1_1ControlBoardRemapper.html is the solution already provided by YARP. |
Blocks #171. |
RFModules have learned to behave like plugins in YARP 3.2.0 in that now you can load them on demand on runtime via This change was aimed to launch several modules in a single-process context. However, this was already possible before thanks to the |
Idea: give more flexibility to launcher scripts so that the same .ini file can be parsed and loaded differently on demand. Now, I need to keep duplicates of launchManipulation.ini (for instance) whenever I want to launch only a single arm, with or without absolute encoders and/or grippers, and different combinations of those. If the new proposed app could parse an RF option (e.g. |
Retitled so that it's (more or less) aligned with this proposal. Point here being: let's unify and expand the OneCanBusOneWrapper and TwoCanBusThreeWrappers classes. The Dextra project poses a first and most evident use case: two CAN buses and five wrappers: head, two arms, and two hands (new).
Split into #226. Please note that whole-body controllers (you mention that a bit later) require that all four CAN buses are plugged into the same CAN board. |
I have merged oneCanBusOneWrapper, launchManipulation and launchLocomotion into one universal app, canBusLauncher, at 46a2f8b. Their respective libraries have been deleted, too. |
Are they required?
Should they be replaced by a script that invokes instances of teo-body yarpdev?
The text was updated successfully, but these errors were encountered: