frankaemika / franka_ros

ROS integration for Franka research robots
https://frankaemika.github.io
Apache License 2.0
356 stars 308 forks source link

cannot launch other than cartesian impedance controller from franka #378

Open Gjetti opened 6 months ago

Gjetti commented 6 months ago

Hello everyone,

One of the steps in the project that i am working on is to change the Cartesian impedance controller that is given from Franka. First i am testing the controller on gazebo before going to work on the actual robot. Also, i wanted to create new files for the new controller, in case the original was needed later on.

I started by duplicating the files of the original Cartesian_impedance_example_controller (c++ code, include, config files...) and simply changed the name of the controller and files. Basically, it was the same controller with a different name. (this step is to only go through the entire files of a controller as practice). I made sure that i changed all the names in the files appropriately and that i had no typos, but i always get the following error: "could not load controller new_cartesian_impedance_controller because type was not specified. Did you load the controller configuration on the parameter server?". The type was exactly the same as the original one in the franka_example_controllers.yaml file; of course making sure to change the name to coincide with the name of the class of the new controller from the ".h" file: franka_example_controllers/NewCartesianImpedanceController.

Then, I did some changes to the original Cartesian impedance controller, and it worked perfectly fine!

I then tried to launch different controllers from Franka, ones that I haven't modified and they also give me the same issue (type was not specified, although it is). So basically, i can only launch a controller that has the name cartesian_impedance_example_controller.

I tried to search forums for this problem but it seems like no one has faced this issue.

Your help is much appreciated!