hi everyone, i was wondering how can i use if condition in params on macro?
for example
<xacro:macro name="leg" params="prefix suffix">
I want to use if condition about the suffix
if suffix == left so create "A", but if suffix != left so create "A"
or the concept is like if-else condition on programming language.
because the documentation on ros wiki doesn’t explain that.
thank you
Hi,
Here is everything explained, it depends on which ROS distro you have, you will be able to do more or less things:
Conditional block in XACRO
the documentation doesn’t give me explain about conditional block for param
on macro
.
It just show conditional block in in property.
I’ve tried all of this line :
<xacro:if params="${suffix} == 'left'"> execute </xacro:if>
<xacro:if params="${suffix == 'left'}"> execute </xacro:if>
<xacro:if value="${suffix == 'left'}"> execute </xacro:if>
<xacro:if value="${suffix} == 'left'"> execute </xacro:if>
for macro <xacro:macro name="leg" params="prefix suffix">
but it doesn’t work.
Oh it solved, i added <xacro:property name="suffix" value="left"/>
when i call the macro. it give the property name suffix to the value “kanan”, so i can execute the conditional block using <xacro:if value="${suffix == 'left'}">