Goal 1: Get RoCo-designed robots to work well in Webots

  1. RoCo generated .stl file is for presentation, the parts are considered as one solid body, which means there will be no rotational/translational parts simulated in Webots.
  2. How to get RoCo generate files that can differentiate the assemblies?
  3. How to add axis (joints) and motors?
Potential solutions:

Two tutorials that may be useful:

  1. Exporting Autodesk Inventor CAD models to Webots

Summary (Potential solutions, need validation):

  • In RoCo, Save robot assembly into .obj file.
  • In Blender software, convert .obj file into .wrl file.
  • In Webots, import .wrl file. There should be several "Shape" representing different components in the robot assembly designed from RoCo.
  • In Webots, add a new base node (robot), move all "Shape" into "children" under the new base node (robot).
  • (Optional) In Webots, save the new base node (robot) into .wbo file, for future multi-agent / SWARM applications.

Here are the file format that Webots can import. I assume if we can export RoCo design into one of these format (also makes discrete component move independently), we can import directly into Webots.

  1. Webots Adding Joints to Robot

Following last step, here is a summary (Potential solutions, need validation):

  • TBD

Intermedium results

1. Import .stl robot car and drop it in Webots from different height. {To learn how to use Webots?}
  • Drop from 0.05 height

  • Drop from 0.25 height

  • Drop from 0.35 height

  1. Car passed the ground.
  2. Car wheels in the ground at the end for some cases.
Potential reasons:
  1. Bounding properties are not set correctly (currently approximated to simple shapes).
  2. The wheels are too thin to be captured (currently using paperbot design).
  3. It may be necessary to manually add a ground.
  4. Contact properties are not set correctly.
  1. Different bounding types, rect, cylinder, sphere, etc do not work well, too much simplification. Looking at the 'meshing' on the robot car, it should be correct using the current settings.
  2. Using 3mm plywood robot car, same/worse simulation results.

  1. Based on a little research online, "Grounds can be defined using the Plane or the ElevationGrid primitives." So I manually added a ground using plane.

Well, same behavior, sad....

  1. Here is a description of how to set up contact properties. Well, I changed bounce from default 0.5 to 1. Well, it still does not look correct.... I will keep debugging ...

Next Post Previous Post