Skip to content
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

Improve OpenraveYarpControlboard parameter parsing #30

Closed
jgvictores opened this issue Jun 5, 2017 · 10 comments
Closed

Improve OpenraveYarpControlboard parameter parsing #30

jgvictores opened this issue Jun 5, 2017 · 10 comments
Assignees
Labels

Comments

@jgvictores
Copy link
Member

Improve OpenraveYarpControlboard parameter parsing, for #29 etc.

@jgvictores
Copy link
Member Author

WIP on fix-30-OpenraveYarpControlboard branch.

@jgvictores
Copy link
Member Author

Regarding main():

  • main() is not generated through openrave-createplugin.py documented in Writing OpenRAVE Programs.
  • main() is not mentioned in writing_plugins.
  • main() is apparently not called when invoking through Python.
  • main() is called when invoking through openrave --module OpenraveYarpControlboard. An idea is to use it as a convenience function for calling Open() which is apparently not called when using this way to instance.

Regarding Open():

  • Option to pass to a yarp::os::Property, and extract subdevice and the rest of the parameters seems reasonable.

@jgvictores
Copy link
Member Author

Regarding main():

  • Very few OpenRAVE plugins use it. A grep -r "virtual int main" * in openrave/plugins returns 8 results out of a relatively large tree of plugins.
  • The idea to use it as a convenience function is still good, but maybe better just live without it and debug via Python/ipython.

Regarding Open():

  • Open() is just an example function, the bind mechanism allows calling any function with any number of arguments.

@jgvictores
Copy link
Member Author

Deleting fix-30-OpenraveYarpControlboard for now. Will get back to this later, prefer to focus on #29 as they are not mutually exclusive.

@jgvictores
Copy link
Member Author

PS: virtual int main is defined in openrave/include/openrave/module.h#L43-L48:

/// gets called every time a problem instance is loaded to initialize the problem.
/// Robots might not necessarily be set before this function call
/// returns 0 on success
virtual int main(const std::string& cmd) {
return 0;
}

@jgvictores
Copy link
Member Author

@jgvictores
Copy link
Member Author

Blocked by #47 .

@jgvictores
Copy link
Member Author

Note that parameter parsing of OpenraveYarpPluginLoader developed as part of #47 is very good. Still blocked to see if the plugin superseeds this one.

@jgvictores
Copy link
Member Author

Not really blocking the previous anymore, which can use the newly developed OpenraveYarpPluginLoader. This issue is more focused on the Controlboard version because it currently does load all limbs.

@jgvictores
Copy link
Member Author

See #47 (comment), closing this issue as invalid. OpenraveYarpControlboard has been superseeded by OpenraveYarpPluginLoader at 28ce5e9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants