ROS2 xacro parsing: ${robot_ip} vs $(arg robot_ip)
Recently, I found this does not parse: $(arg robot_ip)
Whereas this does parse: ${robot_ip}
Do they have different purposes? And to make things stranger, both varieties seemed to work on my coworker's computer.
Here's the full block of code, if it would be helpful:
<xacro:macro name="load_arm" params="
parent
dof
vision
prefix
*origin
robot_ip
use_fake_hardware:=false
fake_sensor_commands:=false">
<!-- ros2 control include -->
<xacro:include filename="$(find my_robot_description)/arms/gen3/${dof}dof/urdf/my_robot.ros2_control.xacro" />
<xacro:my_robot_ros2_control
name="MyRobotMultiInterfaceHardware" prefix="${prefix}"
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
tf_prefix=""
robot_ip="${robot_ip}" />