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

Integrated World #217

Merged
merged 21 commits into from
Mar 26, 2022
Merged

Integrated World #217

merged 21 commits into from
Mar 26, 2022

Conversation

Yadunund
Copy link
Member

@Yadunund Yadunund commented Feb 22, 2022

An underwater world that showcases various simulator capabilities. See Usage below.

Pending items:

image

Usage

To launch the demo world

roslaunch dave_demo_launch dave_integrated_demo.launch

UUVs

The world spawns two UUVs, a single arm rexrov0 UUV which can be teloperated using a joystick connected to js0 and a dual arm rexrov UUV which can be teleoperted using a joystick connected to js1. The arms on this UUV can be commanded via the moveit interface. See Electrical Station below for more information.

Stations

The world has multiple stations where UUVs can interact with objects and the environment. A helpful script has been developed to quickly "teleport" the desired UUV to the various stations. Run the teleporter script:

roslaunch dave_nodes integrated_world_teleporter.launch 

Then to teleport rexrov0 to the mudpit, type "rexrov0 mud" (without quotes) and hit enter. The UUV should automatically teleport. Gazebo does not have a service to update the camera view through a service call but this can be done in Ignition which is left for future work.
Locations include

  • artillery
  • mud
  • home

Home

The rexrov0 UUV spwans here
image
The flight_data_recorder object can be picked up. The other objects are static to reduce computational load.

Mud

image
The rexrov0 can pick up the anchor that is loaded with the mud plugin and drag it along the mud. The vase beside the anchor can also be picked up. The degraded vase and the narrower vase are static to reduce computational load.

Artillery

image

Electrical

image
The dual arm rexrov spawns here. The arms can be controlled with via moveit. First start the controller.

roslaunch rexrov_oberon7_moveit rexrov_dual_arm_moveit_planning_execution.launch moveit_controller_manager:=rexrov

To instruct the UUV to pick up the plug and bring it close to the recepticle

rosrun dave_nodes bimanual_integrated_world.py 

The user can teleoperate the UUV via js1 to finish the insertion.

@Yadunund Yadunund mentioned this pull request Feb 22, 2022
13 tasks
@j-herman
Copy link
Contributor

@Yadunund Are you planning to use the bathymetry plugin for tiling with the PR#203 world? Or will all of the demos be within a single tiled area?

@Yadunund
Copy link
Member Author

@Yadunund Are you planning to use the bathymetry plugin for tiling with the PR#203 world? Or will all of the demos be within a single tiled area?

Hi @j-herman , currently the entire demo is within a single tiled area. Should we switch to relying on the bathymetry plugin instead?

@j-herman
Copy link
Contributor

j-herman commented Feb 23, 2022

@Yadunund Are you planning to use the bathymetry plugin for tiling with the PR#203 world? Or will all of the demos be within a single tiled area?

Hi @j-herman , currently the entire demo is within a single tiled area. Should we switch to relying on the bathymetry plugin instead?

No preference on my part - just wanted to check in with your plans before I make a mud pit for you :)
Thanks!

@Yadunund
Copy link
Member Author

@Yadunund Are you planning to use the bathymetry plugin for tiling with the PR#203 world? Or will all of the demos be within a single tiled area?

Hi @j-herman , currently the entire demo is within a single tiled area. Should we switch to relying on the bathymetry plugin instead?

No preference on my part - just wanted to check in with your plans before I make a mud pit for you :) Thanks!

Thanks for letting me know! I've already made a mud pit. Will open a PR later tonight and could really use your feedback 🙂

@j-herman
Copy link
Contributor

@Yadunund Are you planning to use the bathymetry plugin for tiling with the PR#203 world? Or will all of the demos be within a single tiled area?

Hi @j-herman , currently the entire demo is within a single tiled area. Should we switch to relying on the bathymetry plugin instead?

No preference on my part - just wanted to check in with your plans before I make a mud pit for you :) Thanks!

Thanks for letting me know! I've already made a mud pit. Will open a PR later tonight and could really use your feedback slightly_smiling_face

You are way ahead of the game again! Awesome, can't wait to see it in action.

@woensug-choi
Copy link
Collaborator

woensug-choi commented Feb 24, 2022

I vote for a single tile. Tiling is for long-range search investigation scenarios. Integrated world demo is more like a local search :)

Yadunund and others added 10 commits February 28, 2022 13:25
* Added current tutorial and set station location

Signed-off-by: Dharini Dutia <[email protected]>

* Added new plug/receptacle model

Signed-off-by: Dharini Dutia <[email protected]>

* Fix model includes

Signed-off-by: Yadunund <[email protected]>

Co-authored-by: Yadunund <[email protected]>
…world (#231)

* teleport to home postiion

Signed-off-by: Dharini Dutia <[email protected]>

* taking commands for multiple locations

Signed-off-by: Dharini Dutia <[email protected]>

* added control for vehicle orientation

Signed-off-by: Dharini Dutia <[email protected]>

* Parsing config from yaml file and accepting user commands

Signed-off-by: Dharini Dutia <[email protected]>

* fixed capturing keyboard interrupt

Signed-off-by: Dharini Dutia <[email protected]>

* Undo namespace deletion

Signed-off-by: Yadunund <[email protected]>

* Install config

Signed-off-by: Yadunund <[email protected]>

* Update script

Signed-off-by: Yadunund <[email protected]>

Co-authored-by: Yadunund <[email protected]>
* Increased height of seabed visual for silt occlusion

Signed-off-by: Yadunund <[email protected]>

* Added mud pit with anchor

Signed-off-by: Yadunund <[email protected]>

* Cleanup mud

Signed-off-by: Yadunund <[email protected]>

* Split mud pits

Signed-off-by: Yadunund <[email protected]>

* Downsampled mesh

Signed-off-by: Yadunund <[email protected]>

* Add sunken ship model

Signed-off-by: Yadunund <[email protected]>

* Reduce size of mesh for better performance

Signed-off-by: Yadunund <[email protected]>
* Spawn second rexrov

Signed-off-by: Yadunund <[email protected]>

* Add moveit manager

Signed-off-by: Yadunund <[email protected]>

* Update collision mesh for electrical panel

Signed-off-by: Yadunund <[email protected]>

* WIP

Signed-off-by: Yadunund <[email protected]>

* Updated script, friction, collision

Signed-off-by: Yadunund <[email protected]>

* Able to grasp

Signed-off-by: Yadunund <[email protected]>

* More positions

Signed-off-by: Yadunund <[email protected]>

* Cleanup

Signed-off-by: Yadunund <[email protected]>

* Revert mating tolerances

Signed-off-by: Yadunund <[email protected]>

* Install bimanual script

Signed-off-by: Yadunund <[email protected]>

* Change exec_depend to run_depend

Signed-off-by: Yadunund <[email protected]>

* Updated launch file

Signed-off-by: Yadunund <[email protected]>

* Update join positions and tune plug physics for better gripping

Signed-off-by: Yadunund <[email protected]>

* Cleanup

Signed-off-by: Yadunund <[email protected]>

* Undo dependency deletion

Signed-off-by: Yadunund <[email protected]>
* sprinkling new models around, ported to fuel db

Signed-off-by: Dharini Dutia <[email protected]>

* using fuel links only and corrected lionfish pose

Signed-off-by: quarkytale <[email protected]>

* static models and more ocean creatures

Signed-off-by: quarkytale <[email protected]>

* Do not let models fall to the ground on startup. Better position models and update teleport script

Signed-off-by: Yadunund <[email protected]>

Co-authored-by: Yadunund <[email protected]>
@Yadunund Yadunund marked this pull request as ready for review March 25, 2022 09:47
@Yadunund
Copy link
Member Author

Yadunund commented Mar 25, 2022

@bsb808 @j-herman @woensug-choi @crvogt @mabelzhang The integrated world PR is ready to be merged! All the features in the checklist have been incorporated. I've updated the PR description with a Usage section to describe all the capabilities. Once merged, I can port the description to a wiki page.

@quarkytale
Copy link
Contributor

Copy link
Contributor

@j-herman j-herman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked out all of the functionality and it is working, although the first time I tried in docker there were some issues with the controllers not loading (ros-noetic-ros-control not installed via rosdep and couldn't be found). Restarted and everything seemed ok.
Approving without CI check, so we may want to figure out that problem and run the checks here before merging (@bsb808 ?)

@mabelzhang
Copy link
Contributor

mabelzhang commented Mar 25, 2022

To be cautious, we should fix the CI related to #239 and #250 before merging this. This is a big branch to merge in. If we need to revert this, it's potentially a lot of work.
Update: #254 fixes that

Signed-off-by: Mabel Zhang <[email protected]>
…ture_branch

Merge main into feature/integrated_world
@j-herman j-herman merged commit 916a5ad into master Mar 26, 2022
@mabelzhang
Copy link
Contributor

CI is green!

@j-herman j-herman deleted the feature/integrated_world branch March 26, 2022 00:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants