Gazebo: Q&A Forum - RSS feedhttp://answers.gazebosim.org/questions/Open source question and answer forum for GazeboenCopyright Askbot, 2010-2011.Sat, 25 May 2019 01:41:50 -0500Ball joint in sdf not moveablehttp://answers.gazebosim.org/question/22650/ball-joint-in-sdf-not-moveable/ Hi, I have this universal joint that works that I want to convert to ball type.
![image description](/upfiles/15587659418094959.jpg)
The joint description:
<joint name="forearm1_arm1" type="universal">
<parent>arm1</parent>
<child>forearm1</child>
<axis>
<xyz>0 1 0</xyz>
</axis>
<axis2>
<xyz>1 0 0</xyz>
</axis2>
<pose> 0 0 0.17 0 0 0 </pose>
</joint>
Now when I change it to type ball the joint becomes fixed.
<joint name="forearm1_arm1" type="ball">
<parent>arm1</parent>
<child>forearm1</child>
<pose> 0 0 0.17 0 0 0 </pose> </joint>
There's no moveable axis after changing it to ball.
![image description](/upfiles/1558766336559517.jpg)cmonSat, 25 May 2019 01:41:50 -0500http://answers.gazebosim.org/question/22650/Delta arm SDF erratic movementhttp://answers.gazebosim.org/question/22649/delta-arm-sdf-erratic-movement/Hi, I've made the sdf for a delta arm using points from CAD. It loads correctly and the joints should be placed perfectly but when I start the simulation it moves about erratically.
The sdf file is here https://pastebin.com/YWgYFPXw
The starting position: ![image description](/upfiles/15587646055096616.jpg)
Then after starting simulation and waiting for the robot to come to rest it ends up like this:
![image description](/upfiles/1558764650337512.jpg)
I assume this is from improper joint alignment so I tried making the middle three joints ball joints to remove alignment problems there. This did not work, the ball joints acted as fixed joints.
Has anyone managed to get delta arm simulation right? Do you have ideas for me to try?cmonSat, 25 May 2019 01:24:14 -0500http://answers.gazebosim.org/question/22649/Check installed SDF versionhttp://answers.gazebosim.org/question/22439/check-installed-sdf-version/Hello,
I'm using Gazebo-7 and need some parameters which are not supported in SDF version 1.4 hence, I want to upgrade to version 1.6. Changing the sdf version tag
<sdf version='1.6'>
didn't change a thing so the question popped up, where to check which version is installed and how can I update it?
steradiantFri, 03 May 2019 01:59:40 -0500http://answers.gazebosim.org/question/22439/Check installed SDF versionhttp://answers.gazebosim.org/question/22438/check-installed-sdf-version/Hello,
I'm using Gazebo-7 and need some parameters which are not supported in SDF version 1.4 hence, I want to upgrade to version 1.6. Changing the sdf version tag
<sdf version='1.6'>
didn't change a thing so the question popped up, where to check which version is installed and how can I update it?
steradiantFri, 03 May 2019 01:59:39 -0500http://answers.gazebosim.org/question/22438/Error in the model.sdf file for Depth Camera Modelhttp://answers.gazebosim.org/question/22423/error-in-the-modelsdf-file-for-depth-camera-model/Hi,
Im new to Gazebo, so Im not familiar with the sdf files. I followed [this tutorial](http://gazebosim.org/tutorials?tut=ros_depth_camera&cat=connect_ros). When I launch Gazebo and click on the DepthCam Model to insert it, in the terminal the following error pops up: **Error [parser.cc:293] Error parsing XML in file [/home/hamza/.gazebo/models/DepthCam/model.sdf]: Error reading Attributes.**
[Here's my SDF file](https://pastebin.com/TtaTWbCq)
Thanks for your help !hachbaniThu, 02 May 2019 07:26:33 -0500http://answers.gazebosim.org/question/22423/Fixed joint vs Continuous jointhttp://answers.gazebosim.org/question/22206/fixed-joint-vs-continuous-joint/I'm using Gazebo 9.7.0.
I'm adding a bumper sensor to my robot, and it appears different in Gazebo editor.
When the joint to the chassis is fixed:
![image description](/upfiles/15541418772703271.png)
It seems that the gripper, the yellow box, it is part of the chassis, the blue rectangle.
And, when the joint is continuous:
![image description](/upfiles/15541419422310735.png)
The gripper appears as a link in the editor.
Which is the best type of joint to a contact sensor?
Maybe, it would be better to set the sensor in the chassis.
And also, if I add a libgazebo_ros_bumper.so plugin, the topic appears as part of the chassis if the joint is fixed:
/gazebo/odom_world/mybot/base_link/bumper_contact_sensor
The joint is named `sensor_joint`, and the SDF generated from an URDF Xacro file is:
<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from nav_odom_description/urdf/mybot.xacro | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<robot name="mybot" xmlns:xacro="http://www.ros.org/wiki/xacro">
<!-- If a <gazebo> element is used without a reference="" property, it is
assumed the <gazebo> element is for the whole robot model. -->
<gazebo>
<plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
<robotNamespace>/mybot</robotNamespace>
</plugin>
</gazebo>
<gazebo reference="chassis">
<material>Gazebo/Blue</material>
</gazebo>
<gazebo reference="caster_wheel">
<preserveFixedJoint>true</preserveFixedJoint>
<mu1>0.0</mu1>
<!-- Equals to zero to remove the friction. -->
<mu2>0.0</mu2>
<!-- Equals to zero to remove the friction. -->
<material>Gazebo/Red</material>
</gazebo>
<!-- BUMPER -->
<gazebo reference="gripper">
<preserveFixedJoint>true</preserveFixedJoint>
<material>Gazebo/Yellow</material>
<sensor name="bumper_contact_sensor" type="contact">
<always_on>true</always_on>
<update_rate>30.0</update_rate>
<contact>
<collision>gripper_collision_collision</collision>
</contact>
<plugin filename="libgazebo_ros_bumper.so" name="gripper_bumper">
<bumperTopicName>gripper_contact_sensor_state</bumperTopicName>
<frameName>gripper</frameName>
</plugin>
</sensor>
</gazebo>
<material name="black">
<color rgba="0.0 0.0 0.0 1.0"/>
</material>
<material name="blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>
<material name="green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>
<material name="grey">
<color rgba="0.2 0.2 0.2 1.0"/>
</material>
<material name="orange">
<color rgba="1.0 0.423529411765 0.0392156862745 1.0"/>
</material>
<material name="brown">
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
</material>
<material name="red">
<color rgba="0.8 0.0 0.0 1.0"/>
</material>
<material name="white">
<color rgba="1.0 1.0 1.0 1.0"/>
</material>
<!-- CYLINDER INERTIA -->
<!-- BOX INERTIA -->
<!-- SPHERE INERTIA -->
<!-- WHEEL MACRO -->
<link name="base_link"/>
<joint name="base_joint" type="fixed">
<parent link="base_link"/>
<child link="chassis"/>
</joint>
<!-- CHASSIS -->
<link name="chassis">
<collision>
<origin rpy="0 0 0" xyz="0 0 0.1"/>
<geometry>
<box size="0.4 0.2 0.1"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0.1"/>
<geometry>
<box size="0.4 0.2 0.1"/>
</geometry>
<material name="orange"/>
</visual>
<inertial>
<origin rpy="0 0 0" xyz="0 0 0.1"/>
<mass value="50.0"/>
<inertia ixx="0.208333333333" ixy="0" ixz="0" iyy="0.708333333333" iyz="0" izz="0.708333333333"/>
</inertial>
</link>
<!-- CASTER WHEEL -->
<joint name="caster_joint" type="fixed">
<parent link="chassis"/>
<child link="caster_wheel"/>
</joint>
<link name="caster_wheel">
<collision>
<origin rpy="0 0 0" xyz="-0.15 0 0.05"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="-0.15 0 0.05"/>
<geometry>
<sphere radius="0.05"/>
</geometry>
</visual>
<inertial>
<origin rpy="0 0 0" xyz="-0.15 0 0.05"/>
<mass value="5"/>
<inertia ixx="0.005" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.005"/>
</inertial>
</link>
<!-- BUMPER SENSOR -->
<joint name="sensor_joint" type="fixed">
<parent link="chassis"/>
<child link="gripper"/>
</joint>
<link name="gripper">
<collision name="gripper_collision">
<origin rpy="0 0 0" xyz="0.2 0 0.2"/>
<geometry>
<box size="0.05 0.05 0.05"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0.225 0 0.1"/>
<geometry>
<box size="0.05 0.05 0.05"/>
</geometry>
<material name="blue"/>
</visual>
<inertial>
<mass value="0.1"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="4.16666666667e-05" ixy="0" ixz="0" iyy="4.16666666667e-05" iyz="0" izz="4.16666666667e-05"/>
</inertial>
</link>
<link name="left_wheel">
<collision>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
</collision>
<visual>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
<material name="black"/>
</visual>
<inertial>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<mass value="5"/>
<inertia ixx="0.0135416666667" ixy="0" ixz="0" iyy="0.0135416666667" iyz="0" izz="0.025"/>
</inertial>
</link>
<gazebo reference="left_wheel">
<mu1 value="1.0"/>
<mu2 value="1.0"/>
<kp value="10000000.0"/>
<kd value="1.0"/>
<fdir1 value="1 0 0"/>
<material>Gazebo/Black</material>
</gazebo>
<joint name="left_wheel_hinge" type="continuous">
<parent link="chassis"/>
<child link="left_wheel"/>
<origin rpy="0 0 0" xyz="0.0 0.125 0.1"/>
<axis rpy="0 0 0" xyz="0 1 0"/>
<limit effort="100" velocity="100"/>
<joint_properties damping="0.0" friction="0.0"/>
</joint>
<!-- Transmission is important to link the joints and the controller -->
<transmission name="left_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="left_wheel_hinge">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftMotor">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>10</mechanicalReduction>
</actuator>
</transmission>
<link name="right_wheel">
<collision>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
</collision>
<visual>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
<material name="black"/>
</visual>
<inertial>
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
<mass value="5"/>
<inertia ixx="0.0135416666667" ixy="0" ixz="0" iyy="0.0135416666667" iyz="0" izz="0.025"/>
</inertial>
</link>
<gazebo reference="right_wheel">
<mu1 value="1.0"/>
<mu2 value="1.0"/>
<kp value="10000000.0"/>
<kd value="1.0"/>
<fdir1 value="1 0 0"/>
<material>Gazebo/Black</material>
</gazebo>
<joint name="right_wheel_hinge" type="continuous">
<parent link="chassis"/>
<child link="right_wheel"/>
<origin rpy="0 0 0" xyz="0.0 -0.125 0.1"/>
<axis rpy="0 0 0" xyz="0 1 0"/>
<limit effort="100" velocity="100"/>
<joint_properties damping="0.0" friction="0.0"/>
</joint>
<!-- Transmission is important to link the joints and the controller -->
<transmission name="right_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="right_wheel_hinge">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightMotor">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>10</mechanicalReduction>
</actuator>
</transmission>
</robot>VansFannelMon, 01 Apr 2019 13:07:43 -0500http://answers.gazebosim.org/question/22206/How to use world as a joint link programmically?http://answers.gazebosim.org/question/22102/how-to-use-world-as-a-joint-link-programmically/
I've been using this SDF to fix linkA to the world, however I am unsure how to do this programmically.
<joint name="base_joint" type="fixed">
<parent>world</parent>
<child>linkA</child>
</joint>
The Joint [class](http://osrf-distributions.s3.amazonaws.com/gazebo/api/9.0.0/classgazebo_1_1physics_1_1Joint.html) functions Load and Attach both take LinkPtr as parameters. How can you replicate the SDF in code? Thanks in advance!wilFri, 15 Mar 2019 10:46:14 -0500http://answers.gazebosim.org/question/22102/What happens when you save a model in model editor?http://answers.gazebosim.org/question/22029/what-happens-when-you-save-a-model-in-model-editor/ A have spawned a robot from an URDF description into the Gazebo simulation. It's prismatic joints were shaking uncontrollably. But when I opened the model in the model editor and saved it as an SDF model without any change and then closed the editor and unpaused the simulation, the shaking stopped and the robot behaved as expected.
When I start the simulation again, spawn the robot with URDF description, it is shaking as before. If I insert the SDF model model I saved earlier, the inserted model doesn't shake (desired behaviour). URDF always displays the faulty behaviour, the SDF always behaves right. Even though there was no change to the description.
The URDF model includes the problematic prismatic joints in a <gazebo> tags in SDF format to allow for multi-parent links.
Why is this happening?kumpakriTue, 26 Feb 2019 12:04:48 -0600http://answers.gazebosim.org/question/22029/Why does robot behave differently written in SDF and written in URDF with SDF code included in <gazebo> tagshttp://answers.gazebosim.org/question/21973/why-does-robot-behave-differently-written-in-sdf-and-written-in-urdf-with-sdf-code-included-in-gazebo-tags/I have created an SDF model of a robot whose cover has multiple parent links (can't be done in URDF). It worked nicely, moving smoothly when force applied, as expected. Then I took the code for cover in SDF and put it into the URDF code into <gazebo> tags. The model loaded in Gazebo as the SDF model did, but now the joints belonging to the multiple parent cover are shaking without reason and it seem that it takes more force to move the cover. Why does it behave differently? Can I fix it?kumpakriTue, 19 Feb 2019 10:39:17 -0600http://answers.gazebosim.org/question/21973/World doesn't load properly in launch filehttp://answers.gazebosim.org/question/21923/world-doesnt-load-properly-in-launch-file/ I'm using Gazebo 9.6.0 and ROS Melodic in Ubuntu 18.04.
I have this launch file:
<launch>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find mybot_gazebo)/worlds/odom_bot.world"/>
<arg name="gui" value="true"/>
</include>
</launch>
And this world file:
<?xml version="1.0"?>
<sdf version="1.6">
<world name="odom_world">
<include>
<uri>model://sun</uri>
</include>
<include>
<uri>model://ground_plane</uri>
</include>
<model name='Closed-room'>
<pose frame=''>0.776409 -1.81109 0 0 -0 0</pose>
<link name='Wall_10'>
<collision name='Wall_10_Collision'>
<geometry>
<box>
<size>0.75 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='Wall_10_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>0.75 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>7 5.3 0 0 -0 3.14159</pose>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<link name='Wall_5'>
<collision name='Wall_5_Collision'>
<geometry>
<box>
<size>14.5 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='Wall_5_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>14.5 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>-0.125 5.3 0 0 -0 0</pose>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<link name='Wall_7'>
<collision name='Wall_7_Collision'>
<geometry>
<box>
<size>10.75 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='Wall_7_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>10.75 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>-7.3 -0 0 0 -0 -1.5708</pose>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<link name='Wall_8'>
<collision name='Wall_8_Collision'>
<geometry>
<box>
<size>14.75 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='Wall_8_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>14.75 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>-0 -5.3 0 0 -0 0</pose>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<link name='Wall_9'>
<collision name='Wall_9_Collision'>
<geometry>
<box>
<size>10.75 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='Wall_9_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>10.75 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>7.3 -0 0 0 -0 1.5708</pose>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<static>1</static>
</model>
</world>
</sdf>
I have added a model (named Closed_room) did with Building Editor, but when I launch it, it doesn't show the model.
If I open the world with Gazebo, without using the launch file, it shows the building.
Do you know why?
VansFannelSun, 10 Feb 2019 14:37:51 -0600http://answers.gazebosim.org/question/21923/Can't change gravity in world-filehttp://answers.gazebosim.org/question/21817/cant-change-gravity-in-world-file/I'm new to Gazebo and SDF-files in general. The file I'm using works, but when I try to specify gravity to it, I get an error.
I get the following error when trying to change the gravity using a SDF file.
Warning [parser.cc:750] XML Element[gravity], child of element[world] not defined in SDF. Ignoring[gravity]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
My SDF-file looks like this;
<?xml version="1.0" ?>
<sdf version="1.5">
<world name="default">
<gravity>0 0 -0.1</gravity>
<scene>
<origin_visual>0</origin_visual>
<grid>0</grid>
</scene>
<physics type="ode">
<max_step_size>0.003</max_step_size>
<!-- Run as fast as possible -->
<real_time_update_rate>0.0</real_time_update_rate>
<ode>
<constraints>
<!-- Simulator.cpp -->
<erp>0.1</erp>
<cfm>10e-6</cfm>
<!-- Making this smaller seems to decrease rather than increase stability. -->
<contact_max_correcting_vel>100</contact_max_correcting_vel>
<contact_surface_layer>1e-8</contact_surface_layer>
</constraints>
<solver>
<type>quick</type>
</solver>
</ode>
</physics>
<!-- A global light source -->
<include>
<uri>model://sun</uri>
</include>
<include>
<uri>model://tol_ground</uri>
</include>
<plugin name="tol-control" filename="libtolworldcontrol.so" />
</world>
</sdf>
Any ideas why it says that SDF might not have this element defined?mwaandahTue, 29 Jan 2019 09:47:08 -0600http://answers.gazebosim.org/question/21817/Joints not moving in 7.14, but does in 7.0.0http://answers.gazebosim.org/question/21603/joints-not-moving-in-714-but-does-in-700/ Hi,
I'm having some troubles with my simulation of a hexacopter, more specifically the grippers.
We got a c++ script that is listening to a rostopic. That topic gets values on rotating a joint and the c++ script takes care of that. The exact same code works just fine on Gazebo 7.0.0, but not on my computer with 7.14.
In the SDF-file, the joints are marked as revolute.
Been trying to uninstall Gazebo to install 7.0.0, but that has been unsuccessful for some reason.
Any help is appreciated
Best!Nord00Wed, 02 Jan 2019 08:52:51 -0600http://answers.gazebosim.org/question/21603/splinting a complex SDF into several smaller SDFs.http://answers.gazebosim.org/question/21458/splinting-a-complex-sdf-into-several-smaller-sdfs/I'm starting now and to facilitate my studies I would like to split SDF files into groups, separated by folders, but I do not want to create a template for each SDF.Is it possible in the same model I have several SDFs, and one main that I load is too?Thankful.CarlosDelfinoMon, 17 Dec 2018 08:16:32 -0600http://answers.gazebosim.org/question/21458/Warning [parser.cc:536] XML Attribute[***] in element[***] not defined in SDF, ignoring.http://answers.gazebosim.org/question/21230/warning-parsercc536-xml-attribute-in-element-not-defined-in-sdf-ignoring/I try to set inertial parameters of the imported object in sdf. It seems it [works](http://answers.gazebosim.org/question/17057/problem-with-reading-inertia-values-from-sdf-in-gazebo/) for other people, however for me it results in warnings. Neither mass, nor moments of inertia, nor CoM are set in Gazebo. I use ROS Kinetic and Gazebo 7.0.0 under Ubuntu 16.04.
What could be a problem here?
**sdf file**
<?xml version="1.0" ?>
<sdf version="1.6">
<model name="kitchen_spatula">
<static>false</static>
<link name="link">
<pose>0 0 0 0 0 0</pose>
<inertial>
<origin rpy="0 0 0" xyz="0.13606 0.00000 0.02002"/>
<mass value="0.14867"/>
<inertia ixx="0.00016"
ixy="0.00000"
ixz="0.00030"
iyy="0.00113"
iyz="0.00000"
izz="0.00106"/>
</inertial>
<visual name="visual">
<pose>0 0 0 0 0 0</pose>
<geometry>
<mesh>
<uri>model://kitchen_spatula/low_poly_paddle.STL</uri>
<!-- Whatever unit you use in stl, it will be treated as meters by Gazebo:
http://answers.gazebosim.org/question/8294/mesh-scale-huge-for-stl-file/ -->
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Orange</name>
</script>
</material>
</visual>
<collision name="collision">
<pose>0 0 0 0 0 0</pose>
<geometry>
<mesh>
<uri>model://kitchen_spatula/low_poly_paddle.STL</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
</collision>
</link>
</model>
</sdf>
**output:**
[INFO] [1543493481.499131, 0.000000]: Loading model XML from ros parameter
[INFO] [1543493481.500796, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
Warning [parser.cc:778] XML Element[origin], child of element[inertial] not defined in SDF. Ignoring[origin]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:536] XML Attribute[value] in element[mass] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[ixx] in element[inertia] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[ixy] in element[inertia] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[ixz] in element[inertia] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[iyy] in element[inertia] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[iyz] in element[inertia] not defined in SDF, ignoring.
Warning [parser.cc:536] XML Attribute[izz] in element[inertia] not defined in SDF, ignoring.
[ INFO] [1543493482.285987182, 0.021000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1543493482.315061083, 0.049000000]: Physics dynamic reconfigure ready.ivanThu, 29 Nov 2018 06:15:46 -0600http://answers.gazebosim.org/question/21230/Converting URDF to SDF: <preserveFixedJoint> not workinghttp://answers.gazebosim.org/question/21118/converting-urdf-to-sdf-preservefixedjoint-not-working/I am trying to convert a robot specified in URDF into SDF by using the URDF parser from Gazebo (gz sdf -p in.urdf > out.sdf).
By default, links connected by fixed joints in URDF get lumped together into single link, as SDF apparently didn't support fixed links in the past:[1]
By adding the tag `<disableFixedJointLumping>` this lumping is deactivated, and a fixed joint in SDF is approximated by a revolute joint with minPos=maxPos=0. This however doesn't work for me as the joint still allows minimal oscillations.
As I read here [2], a new tag `<preserveFixedJoint>` has supposedly been added that will make the SDF file have a true fixed joint. However, upon using the tag, the URDF parser throws the following warning:
> Warning [parser.cc:778] XML Element[preserveFixedJoint], child of element[joint] not defined in SDF. Ignoring[preserveFixedJoint]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Is this tag not part of the final build yet, or can i somehow update my SDFormat to get access to it? I am using Gazebo 7.0.0
[1] https://bitbucket.org/osrf/sdformat/issues/131/disabling-lumping-on-a-fixed-joint-in-a
[2] https://bitbucket.org/osrf/sdformat/pull-requests/352/add-preservefixedjoint-option-to-the-urdf/diff
Example URDF:
<robot name="robot">
<link name="base">
<inertial>
<mass value="1"/>
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
</inertial>
</link>
<joint name="base_to_link" type="fixed">
<parent link="base"/>
<child link="link"/>
</joint>
<link name="link">
<inertial>
<mass value="1"/>
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
</inertial>
</link>
<gazebo reference="base_to_link">
<disableFixedJointLumping>true</disableFixedJointLumping>
<preserveFixedJoint>true</preserveFixedJoint>
</gazebo>
</robot>
Gets converted to:
...
<joint name='base_to_link' type='revolute'>
<child>link</child>
<parent>base</parent>
<axis>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
</axis>
...
</joint>
...FabianMeneMon, 19 Nov 2018 12:28:37 -0600http://answers.gazebosim.org/question/21118/Loading a URDF file from a World Plugin (gazebo without ROS)http://answers.gazebosim.org/question/21077/loading-a-urdf-file-from-a-world-plugin-gazebo-without-ros/Hi,
I am using gazebo to perform some robotics simulations.
To this purpose I am using a Model Plugin to control my model and want to use a World Plugin to spawn the scenario of the simulation. Doing it this will allow me in the future to easily run several different scenario easily.
The problem is that my models are .urdf files and it seems that the Wolrd class only allows to insert .sdf files.
I tried using commands like `gz sdf -p` to convert the files but without succes, when I try to load them I always get this kind of errors while testing the spawn with `gz model`
[Err] [RenderEngine.cc:484] URI doesn't exist[package://robot/model/materials/scripts/robot.material]
or
[Err] [ModelDatabase.cc:414] Unable to download model[model://robot/model/meshes/Waist.STL]
The corresponding lines in the .urdf would be:
<gazebo reference="Leg">
<visual>
<material>
<script>
<uri>package://robot/model/materials/scripts/robot.material</uri>
<name>robot/darkgrey</name>
</script>
</material>
</visual>
</gazebo>
and
<geometry name="Waist_visual">
<mesh filename="package://robot/model/meshes/Waist.STL" scale="0.03937 0.03937 0.03937"/>
</geometry>
It should be noted that the models were previously spawned with ROS, but I decided to stop using it and only use the gazebo API which is less heavy to use.
Do you know if there is a way of directly spawning .urdf models with a World Plugin or if not a way of doing it without ROS?
Thanks for your help!kincurtThu, 15 Nov 2018 08:41:53 -0600http://answers.gazebosim.org/question/21077/Gazebo crashes when SDF model is spawned through launch filehttp://answers.gazebosim.org/question/20987/gazebo-crashes-when-sdf-model-is-spawned-through-launch-file/I have a problem with spawning an SDF model (it is based on mesh), basically it is just a model of a table. I've tried this method [link text](https://answers.ros.org/question/223196/using-gazebo_ros_control-with-sdf-instead-of-urdf/) of conversing SDF into URDF and then loading them both into parameter server but it doesn't work at all.
When I launch my launch file, Gazebo starts, but there is no model to be seem in the world. Though it can be found in the list of all models. I click it, and then gazebo crashes.
![image description](/upfiles/15417872978647664.png)
Here part of my SDF, defining its mesh:
<visual name='visual'>
<pose frame=''>0 0 0 1.5707 -0 0</pose>
<geometry>
<mesh>
<uri>/home/me/somebot_urdf_ws/src/somebot_urdf/Table/table_test/test_map.dae</uri>
<scale>0.001 0.001 0.001</scale>
</mesh>
</geometry>
</visual>
Here part of my launch file:
<param name="robot_description" textfile="$(find somebot_urdf)/Table/table_test/model.urdf"/>
<param name="robot_description_sdf" textfile="$(find somebot_urdf)/Table/table_test/model.sdf"/>
<node name="spawn_model" pkg="gazebo_ros" type="spawn_model" output="screen"
args="-sdf -param robot_description_sdf -model model -x 0.0 -y 0.0 -z 0.0"/>
What am I doing wrong? Also there is some strange message when gazebo crashes:
gzclient: /build/ogre-1.9-B6QkmW/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.
Maybe it is somehow connected with the mesh, though I scale it down a lot. And there is no problems when I spawn it directly through Gazebo.roskickerFri, 09 Nov 2018 12:17:26 -0600http://answers.gazebosim.org/question/20987/how can i use friction coefficient more than 1?http://answers.gazebosim.org/question/20968/how-can-i-use-friction-coefficient-more-than-1/hi.
i'm trying to make a road model where a high friction coefficient is applied.
but when i set 'mu' and 'mu2' higher than 1, the model shows no difference from the case where mu=1
( i also changed mu and mu2 for both the sliding objects and the road)
so, i search for the solution, and i find a description about the mu : http://sdformat.org/spec?ver=1.5&elem=collision
according to this page, it seems that 'mu' and 'mu2' can only take bounded value btw 0~1
In summary,
can i find another way to use a model with friction coefficient >1 ?timothyhaTue, 06 Nov 2018 22:14:30 -0600http://answers.gazebosim.org/question/20968/What does the sensor tag do?http://answers.gazebosim.org/question/20900/what-does-the-sensor-tag-do/I understand a <b>link</b> tag adds a block of matter into the simulation. The <b>joint</b> tag adds a connection between the two links. But what does the <b>sensor</b> tag actually do?
When look at this chunk of code for example
<sensor name='contact_sensor' type='contact'>
<always_on>true</always_on>
<update_rate>10</update_rate>
<contact>
<collision>caster_link_collision</collision>
<topic>/gazebo/caster_bumper</topic>
</contact>
<plugin name="gazebo_ros_bumper_controller" filename="libgazebo_ros_bumper.so">
<frameName>world</frameName>
<bumperTopicName>/gazebo/caster_bumper</bumperTopicName>
</plugin>
</sensor>
This sensor loads a plugin. This plugin has a <b>bumperTopicName</b> tag with the same topic name as the <b>sensor</b> tag has in its <b>contacts/topic</b> tag. I can look into the plugin's source code and see what it does with it's tags. But I have no idea what happens with the information inside the <b>sensor</b> tag.kumpakriFri, 02 Nov 2018 07:58:01 -0500http://answers.gazebosim.org/question/20900/Gazebo 9.4.1 won't start via x2gohttp://answers.gazebosim.org/question/20801/gazebo-941-wont-start-via-x2go/Hey there!
Short summary of my problem: I have a PC with Ubuntu 18.04. running the LXDE desktop environment. Gazebo 9.4.1. works smoothly. However, I was not able to start it from a remote PC logged in via x2go. In this case, the following error message (nothing else) is printed on the console:.
Error [Param.cc:404] Invalid argument.
Unable to set value [.1 ] for key[near].
Exception [Param.cc:57] SDF ASSERTION
Invalid parameter
In function : Param
Assert expression : this->ValueFromString(_default)
terminate called after throwing an instance of 'sdf::AssertionInternalError'
Background: I am trying to set up a dedicated, powerful development PC for some projects based on ROS/Gazebo with highly complex simulations, to be used by a couple of researchers and students. I installed ros-melodic-desktop-full and was able to run a simple test simulation just fine.
To allow concurrent usage of this machine, remote access with x2go is desired. Unfortunately, x2go does not support GNOME, which is the default desktop environment for Ubuntu 18.04. Therefore I installed LXDE (using tasksel), which x2go handles very well. As mentioned i can start Gazebo when logged in directly on this machine (either LXDE or GNOME), but not if logged in remotely.
I would highly appreciate any hint about how to fix this or other ideas on how to set up a remote development machine. Surely I'm not the only one with this kind of problem?
Thank you so much in advance!
UPDATE:
I was able to make some progress by editing the file /etc/default/locale and setting everything to en_US.UTF-8. For some reason it didn't like that some were originally set to de_DE.UTF-8 as it seems. Now, I get another error message when lauching gazebo --verbose:
...
[Err] [RenderEngine.cc:740] Unable to create glx visual
[Wrn] [RenderEngine.cc:93] Unable to create X window. Rendering will be disabled
[Wrn] [RenderEngine.cc:293] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose.
[Err] [GLWidget.cc:178] GLWidget could not create a scene. This will likely result in a blank screen.
...
From what I found out with Google so far, this could be related to the fact that this PC has 2 ATI graphics cards in it. However I wonder why it had no issues when launched directly on the machine (not via remote login). I will investigate, but of course any pointer is still appreciated.mstampaTue, 23 Oct 2018 08:37:59 -0500http://answers.gazebosim.org/question/20801/"The minimum corner of the box must be less than or equal to maximum corner"' failed. SDF modelhttp://answers.gazebosim.org/question/20591/the-minimum-corner-of-the-box-must-be-less-than-or-equal-to-maximum-corner-failed-sdf-model/I am trying to import a simple pillow into Gazebo. I have 2 files: a pillow.world file which contains my pillow and the ground plane, and a pillow.sdf file which contains only my pillow collada mesh.
The model inside my world file is the exact same as the model inside my sdf file.
When I run in the terminal:
`gazebo pillow.world`
the pillow loads up successfully:
![image description](/upfiles/15384688341985348.png)
yet when I run my sdf file by first running:
`gazebo`
then in a separate/new terminal, running:
`gz model -f pillow.sdf -m my_mesh`
The following error occurs:
`enter code hereNode::Advertise(): Error advertising a topic. Did you forget to start the discovery service?
gzclient: /build/ogre-1.9-B6QkmW/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion (min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed. escalating to SIGKILL on server`
here is my pillow.world file:
<?xml version="1.0"?>
<sdf version="1.4">
<world name="default">
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://sun</uri>
</include>
<model name="my_mesh">
<pose>0 0 0.0 0 0 0</pose>
<static>true</static>
<link name="body">
<inertial>
<mass>1.0</mass>
<inertia> <!-- inertias are tricky to compute -->
<!-- http://gazebosim.org/tutorials?tut=inertia&cat=build_robot -->
<ixx>0.00000</ixx> <!-- for a box: ixx = 0.083 * mass * (y*y + z*z) -->
<ixy>000000</ixy> <!-- for a box: ixy = 0 -->
<ixz>0.000000</ixz> <!-- for a box: ixz = 0 -->
<iyy>0.000000</iyy> <!-- for a box: iyy = 0.083 * mass * (x*x + z*z) -->
<iyz>0.000000</iyz> <!-- for a box: iyz = 0 -->
<izz>0.000000</izz> <!-- for a box: izz = 0.083 * mass * (x*x + y*y) -->
</inertia>
</inertial>
<collision name="collision">
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
</collision>
<visual name="visual">
<geometry>
<mesh><uri>file://my_mesh.dae</uri></mesh>
</geometry>
</visual>
</link>
</model>
</world>
</sdf>
and here is my pillow.sdf file:
<?xml version='1.0'?>
<sdf version="1.4">
<model name="my_mesh">
<pose>0 0 0.5 0 0 0</pose>
<static>true</static>
<link name="body">
<inertial>
<mass>1.0</mass>
<inertia> <!-- inertias are tricky to compute -->
<!-- http://gazebosim.org/tutorials?tut=inertia&cat=build_robot -->
<ixx>0.00000</ixx> <!-- for a box: ixx = 0.083 * mass * (y*y + z*z) -->
<ixy>000000</ixy> <!-- for a box: ixy = 0 -->
<ixz>0.000000</ixz> <!-- for a box: ixz = 0 -->
<iyy>0.000000</iyy> <!-- for a box: iyy = 0.083 * mass * (x*x + z*z) -->
<iyz>0.000000</iyz> <!-- for a box: iyz = 0 -->
<izz>0.000000</izz> <!-- for a box: izz = 0.083 * mass * (x*x + y*y) -->
</inertia>
</inertial>
<collision name="collision">
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
</collision>
<visual name="visual">
<geometry>
<mesh><uri>file://my_mesh.dae</uri></mesh>
</geometry>
</visual>
</link>
</model>
</sdf>tristochief117Tue, 02 Oct 2018 03:30:21 -0500http://answers.gazebosim.org/question/20591/Create links programatically and dinamicallyhttp://answers.gazebosim.org/question/20421/create-links-programatically-and-dinamically/ I creating a plugin with gazebo7 where I am trying to create links dynamically insde a given model (previously loaded from a sdf file).
I tried to insipire in the maze plugin, but it looks it creates different models for each wall: https://github.com/PeterMitrano/gzmaze/blob/master/maze_plugin/MazePlugin.cc
What I really want is creating links dynamically and latter I will try to create joints dynamically.
Then I tried just to update the Sdf with a new link.
sdf::ElementPtr originalSdf = this->model->UnscaledSDF();
physics::LinkPtr l = model->GetLink("link");
sdf::ElementPtr linksdf = l->GetSDF();
sdf::ElementPtr link2 = linksdf->Clone();
link2->GetAttribute("name")->Set("link2");
originalSdf->InsertElement(link2);
this->model->UpdateParameters(originalSdf);
But I get the following error:
Error [Element.hh:336] Unable to find value for key[pose]
The original sdf Tostring is:
<model name='box'>
<pose frame='world'>0 0 0.5 0 -0 0</pose>
<link name='link'>
<collision name='collision'>
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='visual'>
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
</visual>
<self_collide>0</self_collide>
<inertial>
<inertia>
<ixx>1</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>1</iyy>
<iyz>0</iyz>
<izz>1</izz>
</inertia>
<mass>1</mass>
</inertial>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<plugin name='cord_plugin' filename='libcord_plugin.so'/>
</model>
After the update the sdf ToString is:
<model name='box'>
<pose frame='world'>0 0 0.5 0 -0 0</pose>
<link name='link'>
<collision name='collision'>
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='visual'>
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
</visual>
<self_collide>0</self_collide>
<inertial>
<inertia>
<ixx>1</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>1</iyy>
<iyz>0</iyz>
<izz>1</izz>
</inertia>
<mass>1</mass>
</inertial>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<plugin name='cord_plugin' filename='libcord_plugin.so'/>
</model>
Pablo Iñigo BlascoSun, 09 Sep 2018 04:01:01 -0500http://answers.gazebosim.org/question/20421/Insert sdf at coordinateshttp://answers.gazebosim.org/question/20164/insert-sdf-at-coordinates/Hello,
Is it possible to insert an sdf file at specific coordinates in Gazebo? For instance the origin? All I can seem to do is select my model from the insert tab and then manually place it in the viewport.
I'm new to Gazebo so my understanding of how to properly use it is still forming.
Thanks! jcSat, 04 Aug 2018 16:56:02 -0500http://answers.gazebosim.org/question/20164/SDF: How to fix a model to the world?http://answers.gazebosim.org/question/20081/sdf-how-to-fix-a-model-to-the-world/Hello,
So I've set up an arm model in an SDF file and have input correct values for mass, CoM, and inertia tensor, but am having trouble figuring out how to fix the arm to the world. I have tried giving the base of the arm an arbitrarily high mass, but this does not seem to work well. I figure that there must be a method to hold the base of the arm static relative to the default ground_plane in the gazebo world but can't seem to figure it out. All solutions seem to be using URDF, which I am not.pbelangerMon, 23 Jul 2018 15:51:35 -0500http://answers.gazebosim.org/question/20081/¿How can I improve the performance of my SDF Model that is slipering and vibrating?http://answers.gazebosim.org/question/20079/how-can-i-improve-the-performance-of-my-sdf-model-that-is-slipering-and-vibrating/Hi to everyone ! I have two problems for which I need your help =) !!
I am working with Gazebo 7 some months ago and I created a SDF Model to represent a mobile robot, with 6 wheels and 7 cameras, with three plugin to control the wheels movement, width of the model and teleoperation respectively.
The first problem that I have is from the beginning of the creation of the model. When it is stop (not moving), picture 1, after some seconds the wheels begun to slide in consequence move or rotate the model as if there wasn’t friction, even if is defined the value of friction in the wheels (mu = 0.9,mu2 =0.8, slip1= 0, slip2=0) and also the collision, inertia and mass is define like you can see in pictures 2, 3, 4 and 5. Someone knows how can I improve this situation? I tried to improve this situation trying different values of mu, slip, inertia and collision but the problems continue.
![image description](/upfiles/15323604437399671.jpg)
![image description](/upfiles/15323604996002373.jpg)
Picture 1
![image description](/upfiles/1532360911113754.png)
Picture 2
![image description](/upfiles/15323605945897027.jpg)
Picture 3
![image description](/upfiles/15323606082416924.jpg)
Picture 4
![image description](/upfiles/15323606227409632.jpg)
Picture 5
The second problem is about the cameras. When I installed the cameras the model start to vibrating , I am thinking that probably I am not using the properties of Gazebo and SDF correctly to define the inertia of the cameras picture 6, because as you can see in picture 7 and 8 the inertia is too big for the model, but this is the value of inertia that I found wrote in the model SDF of the camera ASUS XTION that I am using. I was trying to set a value of inertia more small and in consequence more real for the size of the model, but when I did this, the model begun to fly.
Does someone know how can I have a completely stable model or what I am not considering?
![image description](/upfiles/15323611767273737.png)
Piture 6
![image description](/upfiles/15323606662815903.jpg)
Picture 7
![image description](/upfiles/15323606796794343.jpg)
Picture8
I hope someone can tell me what I am doing wrong.
Thank you in advance for your help and ideas and a friendly hug for the community ! SaimonMon, 23 Jul 2018 11:00:36 -0500http://answers.gazebosim.org/question/20079/How to create a curved road using <road> tag from SDF version 1.6 in Gazebo?http://answers.gazebosim.org/question/19718/how-to-create-a-curved-road-using-road-tag-from-sdf-version-16-in-gazebo/This question and its answer provides a way to create a straight road in gazebo:
http://answers.gazebosim.org/question/18565/how-to-make-a-simple-straight-road-in-gazebo/
How should I modify this to create a curved road in Gazebo?
Thanks.rahulFri, 15 Jun 2018 15:20:26 -0500http://answers.gazebosim.org/question/19718/Significance of ray sensor's linear resolution range SDF taghttp://answers.gazebosim.org/question/19647/significance-of-ray-sensors-linear-resolution-range-sdf-tag/In most tutorial that involving LiDAR this resolution tag always set to `0.01` and even from [sdformat.org](http://sdformat.org/spec?ver=1.6&elem=sensor#range_resolution) the default value is `0` with explanation **Linear resolution of each ray**. I have tried to Google 'linear resolution' keyword and only irrelevant topic came out. When I try to change its value to huge number as:
<range>
<min>0.14</min>
<max>6.0</max>
<resolution>1</resolution>
</range>
And there is no significant different of data produced. So what actually it is?AchmadFathoniSat, 09 Jun 2018 06:11:14 -0500http://answers.gazebosim.org/question/19647/What is the different between SDF's gpu_ray sensor and ray sensor?http://answers.gazebosim.org/question/19529/what-is-the-different-between-sdfs-gpu_ray-sensor-and-ray-sensor/ I see on [sdformat.org](http://sdformat.org/spec?ver=1.6&elem=sensor) sensor specs that there is two kind of LiDAR like sensor simulation that is `gpu_ray` and `ray`. It seem that both produce same information but is there any practical different between them?AchmadFathoniTue, 29 May 2018 10:12:24 -0500http://answers.gazebosim.org/question/19529/How do I get the IMU to use the NED reference frame?http://answers.gazebosim.org/question/19398/how-do-i-get-the-imu-to-use-the-ned-reference-frame/I'm not quite sure if the imu `orientation_reference_frame` is the correct thing to set, but I've set my IMU to use the following options. When testing, I've noticed that the IMU is not outputting in a NED reference frame. A counter clockwise rotation about Z is positive when it should be negative in the NED frame. Also, the accelerometer is reading +9.8 at rest when it should be -9.8 in a NED reference frame.
<sensor type="imu" name="imu_sensor">
<always_on>true</always_on>
<update_rate>100.0</update_rate>
<imu>
<orientation_reference_frame>
<localization>NED </localization>
</orientation_reference_frame>
</imu>
</sensor>
I've also set these world settings:
<spherical_coordinates>
<surface_model>EARTH_WGS84</surface_model>
<world_frame_orientation>NED</world_frame_orientation>
<latitude_deg>42.2546</latitude_deg>
<longitude_deg>-83.7648</longitude_deg>
<elevation>281</elevation>
<heading_deg>0</heading_deg>
</spherical_coordinates>
MartinDeeganThu, 17 May 2018 22:14:24 -0500http://answers.gazebosim.org/question/19398/Find link among multiple includes in a pluginhttp://answers.gazebosim.org/question/19380/find-link-among-multiple-includes-in-a-plugin/ Hi I have an sdf where I include the same model multiple times:
<?xml version='1.0'?>
<sdf version='1.6'>
<model name='big_as_robot'>
<include>
<name>arm_1</name>
<uri>model://some_component</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<include>
<name>arm_2</name>
<uri>model://some_component</uri>
<pose>1 0 0 0 0 0</pose>
</include>
</model>
</sdf>
Now each of these includes loads a modelplugin. The plugin then needs to find a certain link inside the include it is part of itself. However, I have no way of knowing what the name of the include is. All I can get is a list of all links in the model, but can't figure out which one belongs to the plugin. And trying to access _model->GetName() yields the name of the parent model ("big_as_robot"). So I'm looking for a way to make the plugin in "arm_2" say that it's part of "arm_2".
Any help appreciated!Frederik SiepeWed, 16 May 2018 07:26:26 -0500http://answers.gazebosim.org/question/19380/