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

Impossible to create a Custom Robot in TDW, also using the basic ur5.urdf #517

Open
belcore97 opened this issue Nov 23, 2022 · 3 comments
Open

Comments

@belcore97
Copy link

Hi there,
me and my university collegue are using TDW for a master thesis in order to simulate a robot operations.
We started using the pre configured ur5 and its inverse kinematics but now we need to use a custom robot and we wanted to add the franka panda robot that we have in our laboratory.
The problem is when we use our Panda urdf; Unity can't manage correctly the various files and a strange white hole appears in the simulation of the only first joint (maybe it can't manage correctly the various visual and collision mashes).
Note that just the first joint appears in the simulation even if in the urdf all the needed joints are declered!

The real problem is that we can't also recreate the pre configured ur5 robot using the url that it is showed in the documentation. We have again the white hole of the first joint.

Can you help us to find a solution in order to add a custom robot correctly?

Thank you so much for the answers.

To be more clear we are using these codes:

output_directory = EXAMPLE_CONTROLLER_OUTPUT_PATH.joinpath("ur5_asset_bundles")
print(f"Asset bundles will be saved to: {output_directory}")
r = RobotCreator()

url="https://github.com/ros-industrial/robot_movement_interface/blob/master/dependencies/ur_description/urdf/ur5_robot.urdf.xacro"
r.source_url_to_asset_bundles(url=url, output_directory=output_directory.joinpath("ur19"), library_path=output_directory.joinpath("library.json"), library_description="My custom library",source_description='https://github.com/ros-industrial/robot_movement_interface')

lib = RobotLibrarian(library=str(output_directory.joinpath("library.json").resolve()))
robot_id = 0
robot = Robot(name="ur5", source=lib, position={"x": 0, "y": 0, "z": 0}, robot_id=robot_id)
c = Controller()
a = FirstPersonAvatar(avatar_id="avatar",position={"x": -2, "y": 1, "z": -2}, rotation=0,move_speed=2.5,detect_collisions=False, height=0.5, camera_height=0.5)

c.add_ons.append(robot)
c.add_ons.append(a)
c.communicate(TDWUtils.create_empty_room(12, 12))

c.communicate({"$type": "set_screen_size", "width": 1024, "height": 720})
while True:
    c.communicate([])
@alters-mit
Copy link
Member

@belcore97 There might be an issue specific to your code or to the .xacro file.

  • TDW includes a UR5 robot. Why do you need to use a custom version?
  • Please send the log.txt generated by r.source_url_to_asset_bundles()

@belcore97
Copy link
Author

Hi there,
The first reason of our choice was to add a specific tool for the End Effector in order to do specific tasks, and the second reason was the introduction of a personal IK algorithm which manages the position and orientation of the end effector.

I have also another question: We would like to have the possibility of having an interaction between the robot and the obi fluid but in the documentation I found that it is not possible (in this link: https://github.com/threedworld-mit/tdw/blob/master/Documentation/lessons/obi/robots.md ).
For example I would like to have the mouvement of the robot when it is hitted by the fluid.
Is there any workaround to solve this problem?

I attached also the log of Robot Creator Class and the screenshot of TDW's simulation.
log.txt
no_creation_ur5
Thank you so much for the answers.

@alters-mit
Copy link
Member

Is there any workaround to solve this problem?

No, it's not possible. This is a problem in the Obi particle system. The Obi documentation states that ArticulationBodies aren't fully supported and might never be fully supported.

I attached also the log of Robot Creator Class and the screenshot of TDW's simulation.
There might be a problem with the colors. This looks wrong:

Color: RGBA(7.000, 7.000, 7.000, 10.000)

I think color channel values are supposed to be 0-1.

This is also probably wrong, unless you are using Windows asset bundles

Building an AssetBundle for target 'MacStandaloneSupport' is not allowed because the required module is not **installed.**

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

No branches or pull requests

2 participants