Gazebo | Ignition | Community
Ask Your Question

kumpakri's profile - activity

2020-09-14 03:23:12 -0500 received badge  Notable Question (source)
2020-09-14 03:23:12 -0500 received badge  Famous Question (source)
2020-09-10 10:16:03 -0500 received badge  Famous Question (source)
2020-09-03 03:49:26 -0500 received badge  Notable Question (source)
2020-09-02 10:06:30 -0500 received badge  Notable Question (source)
2020-08-27 02:16:02 -0500 received badge  Popular Question (source)
2020-08-25 08:36:56 -0500 commented answer Running multiple Gazebo simulations on one ROS core

From the list of branches it seems that this package was only developed for ROS 1 so far. The newest branch is noetic.

2020-08-24 10:45:07 -0500 marked best answer Running multiple Gazebo simulations on one ROS core

Is it possible to run multiple Gazebo simulation with one ROS core and be able to interact with all the simulation (read and sent messages)?

If so, what is needed in order for this to work?


EDIT 1

I have manage to run two simulation by putting

export GAZEBO_MASTER_URI=http://localhost:11346;

before launching the second simulation and launching each simulation in different group.

<?xml version="1.0"?>
<launch>
    <!-- define arguments -->
    ...
    <!-- startup gazebo WORLD -->
   ...
   <group ns="$(arg group_name)">
        <param name="robot_description"
            command="$(find xacro)/xacro --inorder '$(find robot_gazebo)/launch/upload_robot.xacro'" />
        <node name="urdf_spawner_$(arg group_name)" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
            args="-urdf -model robot_$(arg group_name) -param robot_description -x $(arg robot_x) -y $(arg robot_y) -z $(arg robot_z)"/>
        <include file="$(find robot_control)/launch/$(arg group_name)_control.launch" if="$(eval control)" >
        </include>
    </group>
</launch>

I need to use the same model. To be sure I made duplicate model and named it according to the group name. I have made separate control launches for both models and set the gazebo_ros_control controllers into different namespaces.

When I launch the first simulation, it loads as normally and all the controllers loads. As soon as I run the second simulation, however, the controllers case to exist in topic list and only 3 controller topics out of 8 expected appears on rostopic list for the second robot: the 2nd_robot/joint_states and 2nd_robot/left_wheel/command and 2nd_robot/right_wheel/command (EDIT 3: This number of topics for the second robot is actually right, because I'm using the VelocityJointInterface). Only 1st_robot/joint_states remains for the first robot.

So I have two simulations running with a robot loaded, but I can't control either of the robots (EDIT 3: I can control one of the robot, the second). How do I fix this?


EDIT 2

I have even run each Gazebo simulation on different ROS core using the multimaster-fkie package, so each Gazebo simulation has different GAZEBO_MASTER_URI and ROS_MASTER_URI, yet the behavior is still the same.

2020-08-24 08:13:38 -0500 commented answer ROS node from Gazebo plugin is not showing in the rosnode list

I be damned but this approach actually solved the issue with messages not being printed from the echo. Thank you.

2020-08-24 07:57:11 -0500 marked best answer ROS node from Gazebo plugin is not showing in the rosnode list

I want to publish some topics from a Gazebo model plugin to the ROS topic, so I use the C++ ROS node initiation code from some example that I now only copy-paste to all plugins I need.

// Initialize ros, if it has not already been initialized.
std::string node_name = std::string("my_node_name");
if (!ros::isInitialized()) {
  int argc = 0;
  char **argv = nullptr;

  ros::init(argc, argv, node_name. ros::init_options::NoSigintHandler);
}

// Create ROS node.
this->rosNode.reset(new ros::NodeHandle(node_name));

topic_name = "/my_topic";
this->rosPublisher = this->rosNode->advertise<std_msgs::Float64>(topic_name, 1);

The /my_topic topic is registered (I can see it in the rostopic list), I publish to the topic messages on every update (I debugged that the code is being executed, so the messages are being send in the plugin) but when I use rostopic echo /my_node nothing is being printed.

Also using rosnode list shows me no /my_node_name node. I'm thinking the node either isn't created at all, or shuts down. I don't know. How can I check for that, or launch the node correctly, or what else could be going wrong?

2020-08-24 07:24:45 -0500 edited question ROS node from Gazebo plugin is not showing in the rosnode list

ROS node from Gazebo plugin is not showing in the rosnode list I want to publish some topics from a Gazebo model plugin

2020-08-24 07:09:07 -0500 marked best answer Does Gazebo have a topic to which we can publish models to be spawned into the world?

I remember few years back when I was learning Gazebo I saw something about some factory topic to which you would publish when you wanted to spawn or delete a model to/from your world. But now I am unable to find anything about it. Did I just misinterpreted something? Does any mechanism as such exists in gazebo?

We want to run tests in the simulation and create different worlds for each case without turning the simulation off and loading it again. I don't think you can load the whole different world from description during the simulation, so I'm looking for a way to delete all the models from previous test case and spawn all the models for the next test case. Is there any best practice?

2020-08-24 06:42:23 -0500 asked a question ROS node from Gazebo plugin is not showing in the rosnode list

ROS node from Gazebo plugin is not showing in the rosnode list I want to publish some topics from a Gazebo model plugin

2020-08-24 05:23:52 -0500 answered a question control arm every effort

The effort_controllers/JointPositionController take the Position as the target and apply the effort to the joint using t

2020-08-24 05:00:45 -0500 edited answer where to specify friction?

They are the same, but neither of them is guaranteed to actually be applied to your model (personal experience). I canno

2020-08-24 04:59:53 -0500 edited answer where to specify friction?

They are the same, but neither of them is guaranteed to actually be applied to your model (personal experience). I canno

2020-08-24 04:58:52 -0500 answered a question where to specify friction?

They are the same, but neither of them is guaranteed to actually be applied to your model (personal experience). I canno

2020-08-14 11:03:06 -0500 received badge  Famous Question (source)
2020-07-30 09:54:13 -0500 commented question Create a joint between xacro model and sdf model

Once you load the model into Gazebo it does not matter if it was SDF or URDF description. You can use the name of the mo

2020-07-17 06:43:16 -0500 commented question How to control velocity of joints?

I do not see how is this a "wiki question".

2020-07-17 06:41:54 -0500 commented question How does Gazebo set Force on a Joint, that has no mass ?

The joint connects two links and those links do have mass, isn't that right?

2020-07-17 06:40:19 -0500 commented answer What is the difference between red and green contact force visualization in Gazebo client?

I see in the code from the scpeters's answer that the length is scaled with some 'force' of the contact. What is this fo

2020-07-17 03:50:16 -0500 commented answer What is the difference between red and green contact force visualization in Gazebo client?

Does the length of the green line (gazebo 7) indicate anything? I noticed it is different length for different models.

2020-07-17 00:29:51 -0500 received badge  Famous Question (source)
2020-07-16 09:58:08 -0500 received badge  Famous Question (source)
2020-07-16 09:58:08 -0500 received badge  Notable Question (source)
2020-07-14 10:00:41 -0500 edited question Three different methods that return torque on the joint

Three different methods that return torque on the joint The Gazebo API has 3 methods that return "torque" of the joint

2020-07-14 10:00:00 -0500 asked a question Three different methods that return torque on the joint

Three different methods that return torque on the joint The Gazebo API has 3 methods that return "torque" of the joint

2020-07-14 05:17:08 -0500 asked a question Robot slips from slope only when facing down the slope

Robot slips from slope only when facing down the slope I am experiencing a curious problem when driving my differential

2020-07-14 02:56:05 -0500 commented answer setting `<minDepth>` in gazebo tags does not propagate to robot description

For me it does not work either way.

2020-07-13 20:33:38 -0500 received badge  Popular Question (source)
2020-07-13 07:29:25 -0500 edited answer libLedPlugin.so throws undefined symbol error when loading

Did you write the LedPlugin and the FlashLightPlugin yourself in some package? There is no project name in the CMake Lis

2020-07-13 07:28:27 -0500 edited answer libLedPlugin.so throws undefined symbol error when loading

Did you write the LedPlugin and the FlashLightPlugin your self in some package? There is no project name in the CMake Li

2020-07-13 04:56:10 -0500 answered a question libLedPlugin.so throws undefined symbol error when loading

Did you write the LedPlugin and the FlashLightPlugin your self in some package? Three is no project name in the CMake Li

2020-07-13 04:53:30 -0500 edited question libLedPlugin.so throws undefined symbol error when loading

libLedPlugin.so throws undefined symbol error when loading Hello Community, Im trying to use the libLedPlugin in an simu

2020-07-13 04:46:59 -0500 edited question libLedPlugin.so throws undefined symbol error when loading

libLedPlugin.so throws undefined symbol error when loading Hello Community, Im trying to use the libLedPlugin in an simu

2020-07-13 04:40:55 -0500 edited question libLedPlugin.so throws undefined symbol error when loading

libLedPlugin.so throws undefined symbol error when loading Hello Community, Im trying to use the libLedPlugin in an simu

2020-07-13 04:18:35 -0500 edited question libLedPlugin.so throws undefined symbol error when loading

libLedPlugin.so throws undefined symbol error when loading Hello Community, Im trying to use the libLedPlugin in an simu

2020-07-13 04:11:08 -0500 marked best answer setting `<minDepth>` in gazebo tags does not propagate to robot description

When I set the minDepth parameter in the URDF file for my robot's wheels

<gazebo reference="wheel_rear_right_link">
       <minDepth>0.002</minDepth>
       ...
</gazebo>

inside the Gazebo simulation I found that the min_depth parameter is set to 0 regardless. When I convert the xacro to sdf, those tags are not present in the code. Other gazebo elements for links from this tutorial also does not work.

But setting the sensor on the link inside the same gazebo reference tags does load the sensor. What does that imply?

2020-07-09 04:24:57 -0500 received badge  Famous Question (source)
2020-07-08 05:54:17 -0500 asked a question Using Gazebo on RT preempted linux

Using Gazebo on RT preempted linux ROS 1 is said not to be able to run RealTime. Still, you can switch your linux kernel

2020-07-07 23:45:45 -0500 received badge  Notable Question (source)
2020-07-07 08:22:57 -0500 commented answer ‘class gazebo::physics::World’ has no member named ‘Name’

I don't know. Try to put a debug prints throughout your code to atleast narrow down where the problem occurs. In Gazebo

2020-07-07 04:17:51 -0500 answered a question ‘class gazebo::physics::World’ has no member named ‘Name’

It is GetName() in gazebo 7. You need to follow the documentation for the right gazebo version. http://osrf-distribution

2020-07-06 21:06:25 -0500 received badge  Popular Question (source)
2020-07-06 07:31:28 -0500 edited question What is difference between running gazebo with and without the client?

What is difference between running gazebo with and without the client? What takes care of the rendering (gazebo server/c