Robotics StackExchange | Archived questions

(Ignition) Run the track example

I'm searching Ignition Gazebo's models which have tracked wheels like a tank, etc. and I could find some example sdf files with classes to enable its track, but it doesn't work in my test.

[class]
https://ignitionrobotics.org/api/gazebo/6.1/classignition_1_1gazebo_1_1systems_1_1TrackController.html

https://ignitionrobotics.org/api/gazebo/3.12/classignition_1_1gazebo_1_1systems_1_1TrackedVehicle.html

[example1]
conveyor.sdf
cmd : ign topic -t "/model/conveyor/link/baselink/trackcmd_vel" -m ignition.msgs.Double -p "data: 10.0" C:\fakepath\conveyor.sdf

[example2]
trackedvehiclesimple.sdf
cmd : ign topic -t "/model/simpletracked/cmdvel" -m ignition.msgs.Twist -p "linear: {x: 1.0}, angular: {z: 0.0}"
C:\fakepath\trackedvehiclesimple.sdf

[other cloud model]
https://app.ignitionrobotics.org/OpenRobotics/fuel/models/coro_hd2_sensor_config_2

Asked by fonawork on 2022-03-02 23:40:43 UTC

Comments

Hey! This looks fun project!!

So, I have few questions before I start to work with you on this one. I can't seem to be able to read the sdf ( conveyor.sdf and tracked_vehicle_simple.sdf )

Do you mind to give us link to those sdf files?

Asked by kakcalu13 on 2022-03-03 08:16:21 UTC

It seems hard to find in github, so I will upload sdf files to my question. If you can not download these sdf files, please let me know, I will upload it to question content itself.

Asked by fonawork on 2022-03-03 20:43:48 UTC

For some reason, gazebo answers does not notify me.

I see files now! I will try those files tonight after work.

Asked by kakcalu13 on 2022-03-04 12:22:46 UTC

I'm still checking my methods, but not yet mistakes.

Asked by fonawork on 2022-03-08 04:46:15 UTC

Hey there! Sorry for the delay!

So, I got confused with your sdf file. You posted the command which is for diff_driver plugin. I checked and there is no diff_sensor, just parts like this:

        <plugin filename="libignition-gazebo-triggered-publisher-system.so"
                name="ignition::gazebo::systems::TriggeredPublisher">
            <input type="ignition.msgs.Int32" topic="/keyboard/keypress">
                <match field="data">69</match>
            </input>

Asked by kakcalu13 on 2022-03-08 08:40:18 UTC

Char limit reached anyway

that's for keyboard to control the model. What you want is

<plugin
    filename="libignition-gazebo-diff-drive-system.so"
    name="ignition::gazebo::systems::DiffDrive">
    <left_joint>left_wheel_joint</left_joint>
    <right_joint>right_wheel_joint</right_joint>
    <wheel_separation>1.2</wheel_separation>
    <wheel_radius>0.4</wheel_radius>
    <odom_publish_frequency>1</odom_publish_frequency>
    <topic>cmd_vel</topic>
</plugin>

but you wanted track

Asked by kakcalu13 on 2022-03-08 08:43:05 UTC

Ah, garden! I have not try that one out, just fortress or citadel. Sorry! Ill check it out later this week

Asked by kakcalu13 on 2022-03-08 08:50:07 UTC

Thank you! I was able to control above three models just adding plugin named 'diff-drive' with command, but my intention is moving wheels with track like a tank.

Asked by fonawork on 2022-03-09 19:42:42 UTC

It seems that track model has to use TrackedVehicle or TrackController.

Asked by fonawork on 2022-03-09 19:44:24 UTC

Question, did you create those sdf out of air or were you following some example on site?

Asked by kakcalu13 on 2022-03-10 16:03:48 UTC

I just used those sdf files from example1 and example2. You can find those example files if you install ignition. https://ignitionrobotics.org/docs/garden

Asked by fonawork on 2022-03-10 20:52:36 UTC

/home/user/workspace/src/ign-gazebo/examples/worlds

Asked by fonawork on 2022-03-10 21:08:55 UTC

Answers