Best Practice: Real robot & work cell XACRO
Hello everyone,
I have created a work cell XACRO which created the environment for my robot. In that xacro file I load some STLs define frames and joints between those frames. I also load the URDF file for my robot (UR10e) and connect it to my enviroment. This works well for the offline simulation. TF transformations work and the frames.pdf tree looks good.
When I want to use it with the real robot. I utilize the supplied launch file for the robot. This launch file also loads the URDF file for the robot and I believe this causes the issue.
With the launch file of the real robot RVIZ only shows the robot and not the environment. The frames.pdf tree also only shows the robot and no frames and joints that I defined in my work cell xacro.
How is this usually handled? I tried just removing the loading of the URDF file in my work cell xacro file (since its being loaded in the launch file), but it doesn't work.
No I probably could change the URDF provided in the driver and add my environment, but it seems there must be a better solution.
My xacro file I created like it was done here: https://industrial-training-master.re...
The driver launch file looks like this: https://github.com/UniversalRobots/Un...
This is the error I get if the URDF is loaded both through the driver launch file and my xacro:
[ERROR] [1594919591.296496514]: Semantic description is not specified for the same robot as the URDF
[ERROR] [1594919591.296640878]: Link 'grinderTCP_frame' declared as part of a chain in group 'manipulator' is not known to the URDF
[ WARN] [1594919591.296670272]: Group 'manipulator' is empty.
[ WARN] [1594919591.296888466]: Link 'boundary_environment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.296921858]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.296959836]: Link 'boundary_environment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.296987063]: Link 'boundary_environment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297015248]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297044127]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297122732]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297150457]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297177351]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297203555]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ WARN] [1594919591.297234079]: Link 'grinder_attachment' is not known to URDF. Cannot disable collisons.
[ INFO] [1594919591.297349151]: Loading robot model 'ur10e'...
[ WARN] [1594919591.352429997]: Group 'manipulator' must have at least one valid joint
[ WARN] [1594919591.352460005]: Failed to add group 'manipulator'
[ERROR] [1594919591.352476859]: Group state 'AllZero' specified for group 'manipulator', but that group does not exist
[FATAL] [1594919591.380967177]: Group 'manipulator' was not found.
terminate called after throwing an instance of 'std::runtime_error'
what(): Group 'manipulator' was not found.
[myworkcell_node-3] process has died [pid 20110 ...