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

Life beyond teoSim #27

Closed
jgvictores opened this issue May 3, 2017 · 23 comments
Closed

Life beyond teoSim #27

jgvictores opened this issue May 3, 2017 · 23 comments
Assignees

Comments

@jgvictores
Copy link
Member

jgvictores commented May 3, 2017

What we have in this repo is:

  • A YARP Controlboard for each robot, which does not emulate the velocity of the robot joints (provides instant movements). Loaded by OpenraveYarpControlboard, called YarpOpenraveControlboard.
  • A YARP Controlboard for each robot, which does not emulate the velocity of the robot joints (provides instant movements), does not allow collision, and can pass movement to another robot (e.g. the real robot). Loaded by OpenraveYarpControlboard, called YarpOpenraveControlboardCollision.
  • OpenraveYarpPaintSquares, used for XGNITIVE painting demos.

Each of the following RECOVER could/should be implemented as separate openrave plugins (with yarp plugin if required).

teoSim offered (most code in the run() function):

  • A YARP Controlboard for each robot, which emulated the velocity of the robot joints. RECOVER 🚚
  • Publishing each rgb and depth camera (OpenRAVE BaseFlashLidar3D) via YARP. RECOVER 🚚
  • Publishing each force/torque sensor (requires plugin) via YARP. RECOVER 🚚
  • Loading the ExternObj plugin. We can do this from python now. FORGET this functionality, but RECOVER ExternObj from asibot-main.

Regarding src/libraries/RlPlugins/ravebot,

  • A YARP Controlboard for ASIBOT, which emulated the velocity of the robot joints. WONT-FIX (DUPLICATE).
  • WorldRpcResponder. RECOVER 🚚
  • MobileRpcResponder. Maybe RECOVER 🚚
  • ExtraCallback. Have no idea.

In the depthToOR branch:

  • programs/depthToOR gets a point cloud from a real sensor, creates a mesh, and puts it in an OpenRAVE environment. RECOVER 🚚

Additionally, FakeControlboard should be transferred to yarp-devices after finally having removed teoSim (#54).

@jgvictores
Copy link
Member Author

Related to #26 (Import OpenRAVE libraries and programs from asibot-main repo).

@PeterBowman
Copy link
Member

The following line was added to the description:

Additionally, FakeControlboard should be transferred to yarp-devices after finally having removed teoSim.

@rsantos88
Copy link
Contributor

rsantos88 commented May 25, 2017

I'm working on the first point in this issue (#29)

  • YARP Controlboard for each robot, which emulated the velocity of the robot joints. RECOVER 🚚

@rsantos88
Copy link
Contributor

rsantos88 commented Jun 19, 2017

I've working in this point:

WorldRpcResponder. RECOVER 🚚

And now, we can use this as separate openrave plugins. In this moment it's possible and functional to create static objects in the same environment.
Pending tasks: make functional the grab command...
If you want, you can check the example YarpRobotWorldRpcResponder.py :)

@rsantos88
Copy link
Contributor

rsantos88 commented Jun 22, 2017

Continuing with WorldRpcResponder:

  • I added a new info command to know the robots information (robot and manipulators names) and the list of all the bodies in the environment (including the robots)
  • Now world grab (manipulator) (obj) (num) 0/1 command is working fine
  • Now world whereis tcp (manipulator) command is working fine
  • it has been deleted world mk mesh and world draw 0/1 (radius r g b) commands because I think (maybe) are useless, at least with teoSim.

Note: however, world whereis obj (name) is not working well , it shows all the time (0.0, 0.0, 0.0) for all objects :(

@rsantos88
Copy link
Contributor

More changes with WorldRpcResponder:

  • Recovered world mk mesh and world draw 0/1 (radius r g b) at the request of @jgvictores. The firts will make a default mesh (always the same... probably it hasn't been finished the developer intention because you can't enter aditional params). The second I don't know what it can be used for.
  • world whereis obj (name) command it's working fine. It's just only that this command returns the object position respect to the first position that you make the object. Always that you create an object, the position returned will be (0.0 0.0 0.0) but, if you move the object, this command will return the new position. So, you can make the object always in zero position and then, move the object with world mv (name) (three params for pos) to the new position.
  • formatted code to make it easier to understand

@rsantos88
Copy link
Contributor

Pull request with this changes at #31

@jgvictores
Copy link
Member Author

Now that #29 is closed, we can definitely say there is life beyond teoSim.

The future of teoSim can be a simple alias of openrave with many plugins and parameters, or a python script that does the same.

@rsantos88
Copy link
Contributor

😄 👏👏👏👏👏😃

@jgvictores
Copy link
Member Author

In fact, the current openrave-YarpRobot.py is itself already a good replacement teoSim: it loads the default OpenRAVE TEO model and provides movement of each limb to be controlled via YARP remote_controlboard.

The script can be easily adapted to incorporate any other of the already developed plugins available in this repository, such as these, such as the WorldRpcResponder (script already implemented here).

@jgvictores
Copy link
Member Author

While could be implemented via OpenraveYarpControlboard, best wait to see outcome of OpenraveYarpPluginLoader from #47, specifically the multiple device load commented here.

@PeterBowman
Copy link
Member

Please drop me a line at #54 when everything is set.

@jgvictores
Copy link
Member Author

My personal agenda with roboticslab-uc3m is #36 and then #47, which means we will very soon have a worthy successor of the current teoSim implementation.

@jgvictores
Copy link
Member Author

Announcement: #47 has been closed.

We could now map teoSim to:

openrave /usr/local/share/teo-openrave-models/contexts/openrave/teo/teo.robot.xml --module OpenraveYarpPluginLoader "open --device controlboardwrapper2 --subdevice YarpOpenraveControlboard --robotIndex 0 --allManipulators

However, we must decide if the severity of #59 is blocking.

An alternative I do not like, due to forcing use of Python (extra dep, in addition to more complex debugging on segfaults), to is to map teoSim to:

python ~/repos/openrave-yarp-plugins/examples/openraveYarpPluginLoader-controlboard-allManipulators.py

@PeterBowman What would your opinion be, how bad do you think #59 (and even #60) is/are?

@PeterBowman
Copy link
Member

@jgvictores #59 is quite bad, but also easy to bypass (see my comments there). Similarly, #60 only occurs under specific circumstances, so we could count on finding a workaround later and just keep working with the current code and tools.

@jgvictores
Copy link
Member Author

Incoming scripts/bash/teoSim as part of https://github.com/roboticslab-uc3m/teo-configuration-files

jgvictores added a commit to roboticslab-uc3m/teo-configuration-files that referenced this issue Jan 8, 2018
@jgvictores
Copy link
Member Author

WIP at roboticslab-uc3m/teo-configuration-files@5626005 (teo-configuration-files branch openrave-yarp-plugins-27).

jgvictores added a commit to roboticslab-uc3m/teo-configuration-files that referenced this issue Jan 8, 2018
jgvictores added a commit to roboticslab-uc3m/teo-configuration-files that referenced this issue Jan 8, 2018
jgvictores added a commit to roboticslab-uc3m/teo-configuration-files that referenced this issue Jan 8, 2018
@jgvictores
Copy link
Member Author

jgvictores commented Jan 8, 2018

New working and installed teoSim merged into develop at roboticslab-uc3m/teo-configuration-files@7fde99b. There will be some pretty disruptive changes, together with a new announcement issue on how to upgrade.

@jgvictores
Copy link
Member Author

No longer blocked. Only affected by #59 and #60 of this repo, which are also referenced from new teo-main issue roboticslab-uc3m/teo-main#28

@jgvictores
Copy link
Member Author

Will close probably some day this week, after removing teoSim from this repository, in favor of the https://github.com/roboticslab-uc3m/teo-configuration-files script.

@jgvictores
Copy link
Member Author

Note to self: do not close until seeing things like depthToOR commented above.

@jgvictores
Copy link
Member Author

Blocks roboticslab-uc3m/teo-openrave-models#10 and probably several others

@jgvictores
Copy link
Member Author

...teoSim deleted as of 08f5d13 !!! 🎉🎉🎉

Will open new issues if anything missing from above. Closing at last!

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

No branches or pull requests

3 participants