Skip to content
Henning Wiedemann edited this page Apr 11, 2023 · 23 revisions

General

My question is not listed here and I haven't found an answer in this Wiki?

Feel free to ask the community in the Github discussions.

How do I install Phobos?

Just follow the instructions on installation in this wiki.

Where do I get started?

We recommend first reading up on Blender and then follow our walkthrough of the modelling process with Phobos. You can read up on topics in depth when you're confronted with them along the way.

How do I cite Phobos?

Phobos was published in the Journal of Open Source Software. You can find the publication here. You might also want to check out our citing information in the README.

For convenience, here is the BiBTeX entry:

@article{phobos,
  title={Phobos: A tool for creating complex robot models},
  author={von Szadkowski, Kai and Reichel, Simon},
  journal={Journal of Open Source Software},
  volume={5},
  number={45},
  pages={1326},
  year={2020}
}

Reading tutorials is sometimes difficult to follow, don't you guys have video tutorials?

Unfortunately not yet. There is currently no video tutorial for phobos v2.0.0. We can't yet promise when we'll have time to make new tutorials. Probably with v2.1.0 as there some further functionality will be (re-)added.

However, there are currently some good tutorials on phobos v1.0 by the community you can find on Youtube. For installation and details please relate to this documentation. Nevertheless for the general functionality and working with phobos the tutorials are still quite valid.

Why "Phobos"?

Phobos was originally developed as a tool accompanying the MARS simulation software. While 'MARS' itself is an acronym, Phobos was named after one of the moons of planet Mars, shamelessly exploiting the ambiguity of the name.

Installation

Phobos throws an error at startup, what's going on?

First, check your Blender version and see if it matches the one in the current installation instructions. While you're at it, you might want to check if all dependencies are installed.

Please check also whether you have installed the requirements as described in the installation instructions and when working under Windows that you have installed the latest version of Microsoft Visual C++ Redistributable installed.

Next, check the branch you have checked out. If you are on master, you might have encountered a new bug and consider creating an issue. If you are on the latest release-X branch, you might need to git pull to get the latest fixes. If everything is up to date, you might have encountered a bug that only occurs on your system configuration. Again, consider creating an issue.

See here for more information on what to do with a bug.

Which branch should I check out?

To run the current stable Phobos version it is important, that you check out the right release branch of Phobos. Our version and branching model can give you a rough idea what the branches are used for.

The master branch is regularly updated as we continue to integrate new features and fix bugs. It contains not necessarily a stable version of Phobos.

The release-X branches (X being a running version number) contain stable Phobos releases, that require also a specific Blender version to run. If there are major fixes, we will update the respective release branch to have a stable version of Phobos running at every time.

We suggest you use the latest release branch.

Model Formats

Is SDF supported?

Yes, we support basic import and export of SDF models. Note though, that we recommend creating the robot with Phobos and then exporting it to SDF, as the import does not yet support every single feature of SDF.

However we are happy for any contribution regarding this.

Why didn't you guys simply use e.g. SDF instead of creating a new format, SMURF?

SDF is mostly used in Gazebo, while a number of tools and libraries out there use URDF for their kinematics definition. We wanted a format that contains URDF but is easily extensible and well-readable for humans, which YAML is much more than XML. From these considerations, SMURF was born. As it is highly generic, it allows every model developer to add new (or exotic) model information on the fly, without the need to update a whole format specification for a solution, that might be so exotic, that it will be needed once at all.

Please see also File format regarding this question.

ROS & Gazebo

Can I use Phobos to edit existing URDF/SDF/SMURF files?

In principle, yes. Phobos allows to import URDF/SDF/SMURF files, modify the derived robot model and export again. This workflow is however not faithful to the original URDF/SDF, meaning that the URDF/SDF file that is exported might look from the imported one and some not so standard information such as custom Gazebo tags will be lost. Phobos was designed as an upstream tool that exports model data, but that imports URDF/SDF only as a means to base new models on existing templates.

However when using SMURF almost all information you provide in Blender will be stored and can thereby be reloaded.

Eventhough, we currently still recommend to keep the .blend files describing your robot and make all modifications there. We plan to get rid of the blend file for proper storing in the future.

Can I create models for use with Gazebo?

Yes, you can! We have a basic export for SDF files which also allows you to export the model to the Gazebo folder directly, if configured properly.

This works great for SDF models. SDF worlds are not fully supported yet.

Phobos Development

Why are some properties of a robot represented in Blender's own structures and some are added as custom properties?

We use existing Blender data structures and interfaces where possible and try to only add what is missing. Mixing the two data representations in one model and software may seem cumbersome, but it allows us to make use of some of Blender's really useful features while not restraining ourselves in what we can add on top.

I need some information which is not listed in the Wiki. Where can I find it?

We tried our best to make the Wiki as complete as possible. If you stumble upon some piece of information that is missing, or have any improvements in mind, please contact us in form of an issue (see question below). That way, we can update the Wiki as well as answer your question.

Another option might be to get in contact with us via e-mail. See the start page (README file) for the e-mail address of the current Phobos maintainer.

I have found a bug or an issue. What can I do?

First of all: congratulations! You found a bug, which slipped through our fingers. Joking aside, the best way to inform us about the problem would be the issue section of GitHub. Find out how to best submit an issue on the contribution page. Explain as thoroughly as possible what you did to create the issue and provide information on your operating system and Blender version. As soon as we see your new thread we will have a look at the issue (which might require more information from you) and hopefully everything works out successfully.

Often, python error messages occur due to a faulty use of phobos. However, we aim to provide meaningful error messages. If you found a python error message, let us know so we can sort it.

It is important for us that you regularly check back on your issue, as we might require additional information to fix it.

Clone this wiki locally