stefanscherzinger / cartesian_controllers_universal_robots

An easy-to-start configuration for cartesian_controllers on Universal Robots
BSD 3-Clause "New" or "Revised" License
20 stars 9 forks source link

Failed to load /my_cartesian_force_controller/tool from parameter server #1

Closed 2000222 closed 1 year ago

2000222 commented 1 year ago

Hello, I've successfully test the "Cartesian_Controllers" repository and connect URSim with ROS well to load UR10e robot, but when I want to apply the "my_cartesian_motion_controller" for UR10e, It failed as follows:

[ INFO] [1668155382.759840573]: rviz version 1.14.19
[ INFO] [1668155382.759910563]: compiled against Qt version 5.12.8
[ INFO] [1668155382.759939937]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1668155382.810931919]: Forcing OpenGl version 0.
[ INFO] [1668155386.225931956]: Stereo is NOT SUPPORTED
[ INFO] [1668155386.226221878]: OpenGL device: Mesa Intel(R) HD Graphics 620 (KBL GT2)
[ INFO] [1668155386.226615662]: OpenGl version: 4.6 (GLSL 4.6) limited to GLSL 1.4 on Mesa system.
[ INFO] [1668155834.092533574]: Forward dynamics solver initialized
[ INFO] [1668155834.166962850]: Forward dynamics solver has control over 6 joints
[ INFO] [1668155834.412757426]: Failed to load /my_cartesian_force_controller/gravity from parameter server
[ INFO] [1668155834.413440764]: Failed to load /my_cartesian_force_controller/tool from parameter server
[ERROR] [1668155834.425024258]: Robot control is currently inactive. Starting controllers that claim resources is currently not possible. Not starting controller 'my_cartesian_force_controller'
[ERROR] [1668155834.442026611]: Could not switch controllers. The hardware interface combination for the requested controllers is unfeasible.

But before that I also get the problem while load the "robot_status_controller", but it does not affect the connection between ROS and URSim:

[INFO] [1668155380.780386]: Controller Spawner: Loaded controllers: pos_joint_traj_controller, joint_group_vel_controller
[INFO] [1668155380.845601]: Loading controller: robot_status_controller
[ERROR] [1668155380.875519497]: Could not load controller 'robot_status_controller' because controller type 'industrial_robot_status_controller/IndustrialRobotStatusController' does not exist.
[ERROR] [1668155380.875703564]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ERROR] [1668155381.880186]: Failed to load robot_status_controller
[INFO] [1668155381.886836]: Loading controller: my_cartesian_compliance_controller
[ INFO] [1668155382.462315043]: Forward dynamics solver initialized
[ INFO] [1668155382.462456131]: Forward dynamics solver has control over 6 joints
[ WARN] [1668155382.551843282]: Failed to load /my_cartesian_compliance_controller/target_frame_topic from parameter server. Will default to: /my_cartesian_compliance_controller/target_frame
[ INFO] [1668155382.561910420]: Failed to load /my_cartesian_compliance_controller/gravity from parameter server
[ INFO] [1668155382.562596251]: Failed to load /my_cartesian_compliance_controller/tool from parameter server
[INFO] [1668155382.584942]: Controller Spawner: Loaded controllers: joint_state_controller, force_torque_sensor_controller, my_cartesian_compliance_controller
[INFO] [1668155382.609241]: Started controllers: joint_state_controller, force_torque_sensor_controller, my_cartesian_compliance_controller

So how can I fix it and could u give us some tutorial about force control (which node to send what msg....) on UR10e, Thank you.

stefanscherzinger commented 1 year ago

Hello @2000222

There seem to be several things not working properly. The first is the

[ERROR] [1668155380.875519497]: Could not load controller 'robot_status_controller' because controller type 'industrial_robot_status_controller/IndustrialRobotStatusController' does not exist.

which could indicate missing dependencies. Which install method did you use for the driver?

Later, when you load the my_cartesian_force_controller

[ERROR] [1668155834.425024258]: Robot control is currently inactive. Starting controllers that claim resources is currently not possible. Not starting controller 'my_cartesian_force_controller'

could either be the reason or a consequence of

[ERROR] [1668155834.442026611]: Could not switch controllers. The hardware interface combination for the requested controllers is unfeasible.

I'm not sure at the moment. Could you post your my_cartesian_controller's config here? Let's see if there is something unusual. By the way, the my_cartesian_force_controller and the my_cartesian_compliance_controller cannot run in parallel. They will compete for the robot joints to control. This clash will be reported by the driver and ROS-control mechanisms.


could u give us some tutorial about force control (which node to send what msg....) on UR10e

If you haven't watched it already, here's a high-level introduction to the controllers from the suite. This also covers the interfaces for the force control. When the force controller is running, you get the input topic e.g. via

rostopic list | grep target_frame

You can send commands to that topic and the robot will move until finding an equilibrium with contact forces/torques with the environment. Here's a small tutorial for getting started. When working with a real robot, I recommend touching and moving the robot by its end-effector to get a feeling for the control parameters. In particular, have a look at error_scale that you'll find in the controller's dynamic reconfigure.

stefanscherzinger commented 1 year ago

Please reopen if still relevant.