[ros-users] SolidWorks to URDF

Tõnu Samuel tonu at jes.ee
Sat May 28 18:24:08 UTC 2011


I do work converting our robot from SolidWorks to URDF and struggling
with multiple small problems. I already got lot of help on
http://answers.ros.org/question/794/converting-solidworks-stuff-to-urdf-stl-and but think ros-users list is currently right place to continue.

We have complicated SolidWorks model and often current tutorials fail in
different reasons. Some reasons are obvious like using Estonian words
with characters like õäö in model etc. 

Some success is achieved and some screenshots of work in progress:

If somebody wants, SolidWorks source files are here:

Converted files are in http://no.spam.ee/~tonu/phippimodel.tar.gz

Current problems I am looking solutions for:

1. After changing SolidWorks model sometime conversion gives incorrect
URDF file. I currently think this is model root is wrong and I need to
modify it in YAML config file of simmechanics_to_urdf. I clearly
misunderstand something and cannot get it working.

tonu at hp:~/tyros/phippi/ros/phippi/model$ cat foobar.yaml 
filenameformat: "package://phippi/model/%s"
root: "Roboti_algus/RootPart"
   12: {name: 3vasak-1--seib-32, axis: "1 0 0", type: revolute, limits:
{effort: 30, velocity: 1.0, lower: -.18, upper: .18}}
   15: {name: ARM_ROTATE, axis: "0 0 1"}

tonu at hp:~/tyros/phippi/ros/phippi/model$ 

Please someone provide working example :)

2. I followed instructions on
http://answers.ros.org/question/794/converting-solidworks-stuff-to-urdf-stl-and and checked out https://code.ros.org/svn/ros-pkg/stacks/simulator_gazebo/trunk/ and recompiled lot of related ROS packages. I run commands:

roslaunch gazebo_worlds empty_world.launch
and in other window:
rosrun gazebo spawn_model -urdf -file robot.urdf -model test_stl_mesh -z

I still get error:

gazebo: /home/tonu/ros/visualization_common/ogre/build/ogre_src_v1-7-1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.

3. This is something I have not yet looked deep but our model have lot
of moving parts and I need to make them move around in RVIZ. I cannot
find good tutorial or explanation how things like gears should work in
ROS. If I rotate one of them, can all others rotate automatically? We
have about hundred moving parts and they are all driven by two motors
only. What is the good way? 

Any help is appreciated.


More information about the ros-users mailing list