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

What tools were used to create PR2's rviz model?

asked 2012-03-23 09:31:38 -0600

luckyeights gravatar image

I've been trying to create a better visualization for our robot using Rviz. I'm working with HERB, which has structure very similar to the pr2, and my goal is to create a new robot model with textures similar to the visualization for pr2.

It looks like the relevant files for the pr2 are in pr2_description, and the main models are collada files. I've been attempting to create similar models using Blender, MeshLab, and ProEngineer, but nothing shows up with color in Rviz.

Many of my problems are very similar to this post, though I'm using Rviz instead of Gazebo. Correct shading isn't necessary - but we need the ability to color an object without having to break it into separate models for Rviz to color independently.

The pr2 model loads just fine. What software was used to create this model? Maybe I can use the same procedure to avoid the picky characteristics of Blender, Collada, and Rviz.

Thank you!

edit retag flag offensive close merge delete


PR2 meshes were shrink-wrapped from CAD files in Pro-E, then manually vertex-reduced, hole patched, cleaned up and textured using commercial meshing tools, and finally exported as collada meshes by link. In the open source world, the few mesh editors I know and use are blender, wings3d and meshlab.

hsu gravatar image hsu  ( 2012-04-05 13:48:55 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2012-03-24 13:44:48 -0600

updated 2012-03-24 13:55:41 -0600

If you just want to color parts differently, you can either use materials or textures. A working example using materials can be found in the hector_quadrotor_urdf package. In this package, you can find urdf, meshes and the blender model of a quadrotor with differently colored parts. This should give you a pretty good idea of how material based coloring works. Material based coloring is pretty easy as you can just assign materials on a per face basis and you don't have to care about uv unwrapping etc. in Blender. If you use materials it should be noted that gazebo (in electric at least) apparently calculates bounding boxes based on materials. I'm not sure if other collision checking mechanisms (e.g. collision checking for arm_navigation etc.) also do this. I'd recommend using a plain .stl for the collision model for this reason.

Texture based coloring also works with Blender 2.62, but I had some troubles with using alpha for textures. A example of a urdf model using both textures (logo on main body) and materials (hokuyo LIDAR, Kinect) can be seen here:

image description

As can be seen, there are still some quirks in the electric versions of gazebo and rviz. The color of the LIDAR for example looks like intended in gazebo, but bright yellow in rviz. Haven't tried fuerte yet, but I think there a fixes in the work for some of the ambient color and rendering problems both in rviz and gazebo.

/edit: If you don't care about proper shading, you can try manually setting emissive and ambient terms for the materials you use as described here in the overview section.

edit flag offensive delete link more


Thanks for the explaination. I've had a long week trying to figure out the best way to make colored gazebo/rviz models. Solidworks doesn't export .dae, but can do color .ply. Meshlab can open the color ply but ignores colors when exporting .dae. Painting the part in blender (using materials like this is the only way I've found.

Airuno2L gravatar image Airuno2L  ( 2014-03-14 10:24:22 -0600 )edit

answered 2012-03-24 05:20:37 -0600

dornhege gravatar image

I have no idea about the PR2, but I have created colored models for rviz in blender.

AFAIK it needs to be a collada file and you need to use textures to provide the colorization. Maybe that already solves the problem.

edit flag offensive delete link more

Question Tools


Asked: 2012-03-23 09:31:38 -0600

Seen: 1,791 times

Last updated: Mar 24 '12