Trajectory scripting for simple object

asked 2022-02-23 02:06:03 -0600

catalin gravatar image

Software: Ignition Gazebo Edifice, Ubuntu 20.04

Hello community,

I am new (not experienced programmer either) to ignition gazebo but I would like to use it to create a proof of concept for a particular scenario on the project I am working on. To simplify my question let's take the standard box/sphere/cylinder or any object that can be included using a mesh. The idea is that I would like to replicate the trajectory this object will follow, without building the model of the whole machine that is moving the object. This includes a part where the object should move in a straight line while rotating around one of its axis.

To do so, I have investigated the use of actors. I noticed that in the following link, an example is provided for gazebo classic where an actor can be defined by a simple object like a box. I also read that for ignition gazebo, skin and animation tags are mandatory, therefore I cannot use this to replicate it on a regular box/mesh without a skeleton.

Question 1: Is there an analogous version to the one presented in the link above or a way to script trajectories for simple actors/models/objects that do not have a skeleton in Ignition Gazebo?

Next, since my attempt to use a simple box/mesh without a skeleton inside the actor tag failed, I dived into the usage of plugins for models after I have seen this example for gazebo classic. The closest I could get was by using the VelocityControl plugin available for ignition gazebo to control the initial linear and angular velocities of a model. This, however brings some more issues than I thought for this task since the trajectory cannot be be controlled. Furthermore, at some point the object should go back to its initial position and restart the trajectory. That would require another plugin for re-spawning the object. At this point I think I got myself tangled in too much complicate stuff for such a task.

Question 2: Am I missing some piece of information that can help me define trajectories and key-points for a simple object?

Question 3: Is this, given the information provided above, only possible by using a custom plugin?

Update 1: I notice that about 8 days ago TrajectoryFollower was added to the git repository for ign-gazebo6. Looking through the source code, it seems like what I was looking for. Is anyone familiar with that? (of course I will need Fortress and not Edifice for it)

Thank you for your time!

edit retag flag offensive close merge delete