UniversalRobots / Universal_Robots_ROS2_GZ_Simulation

BSD 3-Clause "New" or "Revised" License
20 stars 10 forks source link

Fix launchfiles to match changed names #13

Closed mrjogo closed 1 week ago

mrjogo commented 5 months ago
[create-4] [ros_ign_gazebo] is deprecated! Redirecting to use [ros_gz_sim] instead!
[create-4] 
[create-4] sh: 2: Syntax error: newline unexpected
fmauch commented 1 week ago

I've just merged this to the latest version. This seems fine now with one culprit being left:

Using the tf_prefix will result in an error during controller configuration. E.g.:

ros2 launch ur_simulation_gz ur_sim_control.launch.py tf_prefix:=foo_
[...]
[gz_ros_control]: Loading joint: foo_shoulder_pan_joint
[gz_ros_control]:       State:
[gz_ros_control]:                position
[gz_ros_control]:                        found initial value: 0.000000
[gz_ros_control]:                velocity
[gz_ros_control]:                        found initial value: 0.000000
[gz_ros_control]:                effort
[gz_ros_control]:                        found initial value: 0.000000
[gz_ros_control]:       Command:
[gz_ros_control]:                position
[gz_ros_control]:                velocity
[...]
[resource_manager]: Not acceptable command interfaces combination:
Start interfaces:
[
  shoulder_pan_joint/position
  shoulder_lift_joint/position
  elbow_joint/position
  wrist_1_joint/position
  wrist_2_joint/position
  wrist_3_joint/position
]
Stop interfaces:
[
]
Not existing:
[
 shoulder_pan_joint/position
 shoulder_lift_joint/position
 elbow_joint/position
 wrist_1_joint/position
 wrist_2_joint/position
 wrist_3_joint/position
]

So, in case of providing a tf_prefix users would have to provide their own controllers.yaml file, as well. This should be at least noted in the docs, which @VinDp is currently writing for #26.

The allow_subst method as we use in the driver unfortunately doesn't work, since the controllers are loaded from the plugin using the parameters tag which results into having this parameter file passed as --params-file argument as part of the argv field in node startup.

I would be fine with this as long as we document it properly.