ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

rosbridge_suite to recieve meshes

asked 2017-01-19 05:35:09 -0600

Martin Bischoff gravatar image

Hi,

I'm using rosbridge_suite to visualize the robot on a windows machine in VR. Ideally, I would like to recieve the complete robot's description directly from the robot.

I managed to recieve the plain URDF xml via "/rosapi/getparam robot_description".

Is there any possiblity to load the meshes which are referenced in the URDF in a similar way? Or do I have to copy them manually?

Thank you for your advise!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2017-01-20 10:19:24 -0600

Martin Bischoff gravatar image

I solved my problem by writing a ROS service that requires a "package://..." filename as input and returns the contents of that file. It is basically a very simple read-only ROS file server.

I like this solution since: - i do not need to set up additional server beside ROSbridge - in contrast to the ros3djs solution, i can load the meshes directly from the ROS PC and do not need any external repositories. - i can read the Collada mesh files in a very similar way as i read the urdf JSON message on the client side.

edit flag offensive delete link more

Comments

Nice.

So where is it ;) ?

gvdhoorn gravatar image gvdhoorn  ( 2017-01-20 10:35:38 -0600 )edit
1

I didn't forget your question. We published the code open source recently. See https://github.com/siemens/ros-sharp/...

Martin Bischoff gravatar image Martin Bischoff  ( 2017-10-13 09:10:56 -0600 )edit

Very nice! And very good to see that you got things to work so nicely.

Thanks for reporting back. That is much appreciated.

gvdhoorn gravatar image gvdhoorn  ( 2017-10-13 09:20:01 -0600 )edit

ROS # looks like an awesome tool. +many for making that available.

If you haven't already, consider announcing it on ROS Discourse. That should get it the attention it would seem to deserve.

gvdhoorn gravatar image gvdhoorn  ( 2017-10-13 09:23:21 -0600 )edit

Thank you! We brought it open source only recently. We haven't made much advertisement outside the company (yet). We are looking for supporters for that project. Feel free to support me spreading the word! :-)

Martin Bischoff gravatar image Martin Bischoff  ( 2017-10-13 09:31:20 -0600 )edit

I can't post an announcement of your project on Discourse. That'll have to be you :).

gvdhoorn gravatar image gvdhoorn  ( 2017-10-13 09:33:08 -0600 )edit
1

answered 2017-01-19 07:04:07 -0600

gvdhoorn gravatar image

Are you also using Robot Web Tools (ie: roslibjs, ros3djs etc), or just the JSON bridging functionality of rosbridge_suite?

I ask because in the Robot Web Tools URDF demo (here) loads meshes over HTTP from a web server. That seems like something you could mimic / copy.

Perhaps even write a Python node that looks at the robot_description parameter on the ROS PC, resolves the package://.. URIs to their location on the disk and then services HTTP GET requests for those resources.

edit flag offensive delete link more

Comments

Thanks for these hints gvdhoorn! (Multiple comments due to limited space...)

I currently use rosbridge_suite only: On the client side, I resolve the JSON messages driectly in C#, without using any of those great javascript libraries from Robot Web Tools.

Martin Bischoff gravatar image Martin Bischoff  ( 2017-01-19 07:22:06 -0600 )edit

If I understood the Robot Web Tools URDF demo right, the meshes are downloaded from a server, and are not communicated via rosbridge: http://wiki.ros.org/ros3djs#Mesh_Reso...

Martin Bischoff gravatar image Martin Bischoff  ( 2017-01-19 07:22:42 -0600 )edit

Setting up a http server beside the ROSbridge server on the ROS PC definitely is an option. I was already think about doing it that way. But I was hoping that ROS(bridge) had the possiblity to send the mesh data in a similar way to the URDF data.

Martin Bischoff gravatar image Martin Bischoff  ( 2017-01-19 07:22:54 -0600 )edit

No, rosbridge is really just a JSON bridge into a ROS node graph. That means topics, services, actions and parameters (so urdfs), but meshes are not part of that (they're just regular files that happen to be referenced by the urdf). It would be nice though, and I'm sure there would be interest.

gvdhoorn gravatar image gvdhoorn  ( 2017-01-19 07:37:28 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2017-01-19 05:35:09 -0600

Seen: 617 times

Last updated: Jan 20 '17