syuntoku14 / fusion2urdf

A Fusion 360 Script to export URDF
MIT License
453 stars 151 forks source link

Controller Spawner couldn't find the expected controller_manager ROS interface #61

Open Menginventor opened 2 years ago

Menginventor commented 2 years ago

[WARN] [1647201164.026832, 0.000000]: Controller Spawner couldn't find the expected controller_manager ROS interface. I using ROS Noetic I check for "rosservice list | grep controller_manager" and got /controller_manager/list_controller_types /controller_manager/list_controllers /controller_manager/load_controller /controller_manager/reload_controller_libraries /controller_manager/switch_controller /controller_manager/unload_controller

Maybe something wrong about namespace. I don't know what to do.

SuhrudhSarathy commented 2 years ago

Hey! Has this issue been solved? Some of the resources I referred to seem to suggest installation of additional packages (effort-controller, joint-state-controller) etc. I have installed all of them. These threads seemed quite relevant but does not solve the issue for me. https://github.com/ros-simulation/gazebo_ros_demos/issues/30 https://answers.ros.org/question/214712/gazebo-controller-spawner-warning/

Thanks

ZZWang21 commented 1 year ago

SAME HERE.

srrcanpolat commented 1 year ago

I have been able to run the controller with changing few things.

To my knowledge, these two packages are required for the controller.

sudo apt install ros-<distro>-ros-control
sudo apt install ros-<distro>-ros-controllers


After installing the packages I made the following changes

first line in launch/controller.yaml file

(your_robot_name)_controller:

Changed to

(your_robot_name):


In urdf/(your_robot_name).gazebo file

<gazebo>
  <plugin name="control" filename="libgazebo_ros_control.so"/>
</gazebo>

Changed to

<gazebo>
  <plugin name="control" filename="libgazebo_ros_control.so">
    <robotNamespace>/(your_robot_name)</robotNamespace>
  </plugin>
</gazebo>

I hope it helps.

iceikking888 commented 1 year ago

Yes, that change worked for me perfectly. The error went away! As a check, I ran

rostopic list

and saw

/(your_robot_name)/(controller_name)/command