Trying to load a controller for a rrbot into gazebo turns in a communication error. I checked the logs but I have no clue of what I have to do, the log:
... logging to /home/mikel/.ros/log/dafeb282-a151-11ed-837b-57554f3bb017/roslaunch-mikel-36281.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://mikel:40599/
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.15.15
* /rrbot/joint_effort_position_controller/joint: ['joint1', 'joint2']
* /rrbot/joint_effort_position_controller/kd: [1, 1]
* /rrbot/joint_effort_position_controller/ki: [0.1, 0.1]
* /rrbot/joint_effort_position_controller/kp: [10, 10]
* /rrbot/joint_effort_position_controller/type: my_position_contr...
* /rrbot/joint_position_controller/joint: ['joint1', 'joint2']
* /rrbot/joint_position_controller/kd: [1, 1]
* /rrbot/joint_position_controller/ki: [0.1, 0.1]
* /rrbot/joint_position_controller/kp: [10, 10]
* /rrbot/joint_position_controller/type: my_position_contr...
* /rrbot/joint_state_controller/publish_rate: 50
* /rrbot/joint_state_controller/type: joint_state_contr...
NODES
/
joint_state_publisher (joint_state_publisher/joint_state_publisher)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
/rrbot/
controller_spawner (controller_manager/spawner)
ROS_MASTER_URI=http://localhost:11311
process[rrbot/controller_spawner-1]: started with pid [36313]
process[robot_state_publisher-2]: started with pid [36314]
process[joint_state_publisher-3]: started with pid [36315]
[INFO] [1675160911.291197, 11.565000]: /clock is published. Proceeding to load the controller(s).
[INFO] [1675160911.292445, 11.566000]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1675160911.295306, 11.569000]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1675160911.298569, 11.572000]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1675160911.302302, 11.576000]: Loading controller: joint_state_controller
[INFO] [1675160911.320208, 11.594000]: Loading controller: joint_effort_position_controller
[INFO] [1675160911.360011, 11.634000]: Controller Spawner: Loaded controllers: joint_state_controller, joint_effort_position_controller
Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 523, in call
responses = transport.receive_once()
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 744, in receive_once
self.stat_bytes += recv_buff(sock, b, p.buff_size)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 111, in recv_buff
raise TransportTerminated("unable to receive data from sender, check sender's logs for details")
rospy.exceptions.TransportTerminated: unable to receive data from sender, check sender's logs for details
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/ros/noetic/lib/controller_manager/spawner", line 219, in <module>
if __name__ == '__main__': main()
File "/opt/ros/noetic/lib/controller_manager/spawner", line 211, in main
resp = switch_controller(loaded, [], 2, False, 0.0)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 442, in __call__
return self.call(*args, **kwds)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 533, in call
raise ServiceException("transport error completing service call: %s"%(str(e)))
rospy.service.ServiceException: transport error completing service call: unable to receive data from sender, check sender's logs for details
[INFO] [1675160912.632649, 11.644000]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1675160912.633444, 11.644000]: Stopping all controllers...
[WARN] [1675160912.634820, 11.644000]: Controller Spawner error while taking down controllers: unable to connect to service: [Errno 111] Connection refused
[rrbot/controller_spawner-1] process has died [pid 36313, exit code 1, cmd /opt/ros/noetic/lib/controller_manager/spawner joint_state_controller joint_effort_position_controller __name:=controller_spawner __log:=/home/mikel/.ros/log/dafeb282-a151-11ed-837b-57554f3bb017/rrbot-controller_spawner-1.log].
log file: /home/mikel/.ros/log/dafeb282-a151-11ed-837b-57554f3bb017/rrbot-controller_spawner-1*.log
^C[joint_state_publisher-3] killing on exit
[robot_state_publisher-2] killing on exit
^C^Cshutting down processing monitor...
... shutting down processing monitor complete
done
The log file at .ros says there is a TCP IP error:
[rospy.internal][INFO] 2023-01-31 11:28:31,457: topic[/rosout] adding connection to [/rosout], count 0
[rospy.internal][INFO] 2023-01-31 11:28:32,561: topic[/clock] removing connection to http://mikel:44247/
[rospy.core][INFO] 2023-01-31 11:28:32,632: signal_shutdown [atexit]
[rosout][INFO] 2023-01-31 11:28:32,632: Shutting down spawner. Stopping and unloading controllers...
[rosout][INFO] 2023-01-31 11:28:32,633: Stopping all controllers...
[rospy.internal][WARNING] 2023-01-31 11:28:32,634: Unknown error initiating TCP/IP socket to mikel:35963 (rosrpc://mikel:35963): Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 567, in connect
self.socket.connect((dest_addr, dest_port))
ConnectionRefusedError: [Errno 111] Connection refused
What can I do?
this is my launch:
<?xml version="1.0" ?>
<launch>
<rosparam file="$(find my_position_controller)/config/controller.yaml" command="load"/>
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
output="screen" ns="/rrbot" args="joint_state_controller
joint_effort_position_controller"/>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"
respawn="false" output="screen">
<remap from="/joint_states" to="/rrbot/joint_states" />
</node>
<node name="joint_state_publisher" type="joint_state_publisher" pkg="joint_state_publisher">
</node>
</launch>
check that services are available, this the output of rosservice list:
/gazebo/apply_body_wrench
/gazebo/apply_joint_effort
/gazebo/clear_body_wrenches
/gazebo/clear_joint_forces
/gazebo/delete_light
/gazebo/delete_model
/gazebo/get_joint_properties
/gazebo/get_light_properties
/gazebo/get_link_properties
/gazebo/get_link_state
/gazebo/get_loggers
/gazebo/get_model_properties
/gazebo/get_model_state
/gazebo/get_physics_properties
/gazebo/get_world_properties
/gazebo/pause_physics
/gazebo/reset_simulation
/gazebo/reset_world
/gazebo/set_joint_properties
/gazebo/set_light_properties
/gazebo/set_link_properties
/gazebo/set_link_state
/gazebo/set_logger_level
/gazebo/set_model_configuration
/gazebo/set_model_state
/gazebo/set_parameters
/gazebo/set_physics_properties
/gazebo/spawn_sdf_model
/gazebo/spawn_urdf_model
/gazebo/unpause_physics
/gazebo_gui/get_loggers
/gazebo_gui/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level
/rrbot/controller_manager/list_controller_types
/rrbot/controller_manager/list_controllers
/rrbot/controller_manager/load_controller
/rrbot/controller_manager/reload_controller_libraries
/rrbot/controller_manager/switch_controller
/rrbot/controller_manager/unload_controller