This is a bit obscure. I am trying to run moveit2 on a raspberry pi zero 2 w but the systems resources are so low that I can not really compile on that machine.
So I got a pi 5 for building the whole project, then I rsync the "install" directory to the pi zero. When I do this the launch can't load the plugin and reports the following:
[ros2_control_node-4] [INFO] [1713065838.802180696] [controller_manager]: Subscribing to '/robot_description' topic for robot description.
[ros2_control_node-4] [INFO] [1713065838.803190173] [controller_manager]: update rate is 100 Hz
[ros2_control_node-4] [INFO] [1713065838.840194510] [controller_manager]: Received robot description from topic.
[ros2_control_node-4] [INFO] [1713065838.848604593] [resource_manager]: Loading hardware 'FakeSystem'
[ros2_control_node-4] [ERROR] [1713065838.849262821] [controller_manager]: The published robot description file (urdf) seems not to be genuine. The following error
was caught:According to the loaded plugin descriptions the class k1_control/RobotSystem with base class type hardware_interface::SystemInterface does not exist. Dec
lared types are mock_components/GenericSystem test_hardware_components/TestSystemCommandModes test_hardware_components/TestTwoJointSystem
However is I compile the same code on the pi zero and launch it it works.
Both the pi zero and the pi 5 are running ubuntu 22.04 64 bit. I don't think it matters but the pi 5 only currently supports ubuntu 23.04 so I use Multipass to host a 22.04 container where the compiling takes place.
Also I can launch on the pi 5 and it works as well.
The paths for the source tree are different on the two systems because the container image just uses a generic user called "ubuntu" so the home directory is /home/ubuntu where the pi zero has a different user account name.
I essentially moved the destination of the install on the pi zero so it would have a matching path, sourced the setup.bash and tried to launch but still got the same failure.
Anyone have any thoughts?
Solution Posted Below