error Gazebo service SetModelConfiguration
Hi all, trying to apply the SetModelConfiguration gazebo service and i am getting an error. I don't know if this is the only error.
def main(args=None):
# Initialize 'rclpy'
rclpy.init(args=args)
node = rclpy.create_node('test')
joint_names=['tri_prism_joint_j1','tri_prism_joint_j2','tri_prism_joint_j3']
os.system('ros2 service call /pause_physics std_srvs/srv/Empty')
#os.system('ros2 service call /unpause_physics std_srvs/srv/Empty')
req = SetModelConfiguration.Request()
#req.model_name = str('agv')#model_name
#req.urdf_param_name = str('agv_description')
#req.joint_names = list('tri_prism_joint_j1')#joint_name
req.model_name = 'agv_'#model_name
req.urdf_param_name = 'robot_description'
req.joint_names = joint_names
set_model_configuration = node.create_service(SetModelConfiguration,'/gazebo/set_model_configuration',10)
#position =["1.5"]
#float_position = list(np.float_(position))
float_position = [np.random.uniform(1.5,1.5),np.random.uniform(0,1.5),np.random.uniform(0,3)]
req.joint_positions = float_position
#node.get_logger().info('1')
set_model_configuration = node.create_client(SetModelConfiguration, '/gazebo/set_model_configuration')
#node.get_logger().info('2')
while not set_model_configuration.wait_for_service(timeout_sec=1.0):
node.get_logger().info('service not available, waiting again...')
#node.get_logger().info('3')
resp = set_model_configuration.call_async(req)
#node.get_logger().info('4')
#rclpy.spin_until_future_complete(node, resp)
rclpy.spin(node)
#node.get_logger().info('5')
rclpy.shutdown()
if __name__ == '__main__':
main()
The error is as follows:
waiting for service to become available...
requester: making request: std_srvs.srv.Empty_Request()
response:
std_srvs.srv.Empty_Response()
Traceback (most recent call last):
File "tuto2.py", line 82, in <module>
main()
File "tuto2.py", line 76, in main
rclpy.spin(node)
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/__init__.py", line 191, in spin
executor.spin_once()
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 714, in spin_once
raise handler.exception()
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/task.py", line 239, in __call__
self._handler.send(None)
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 429, in handler
await call_coroutine(entity, arg)
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 383, in _execute_service
response = await await_or_execute(srv.callback, request, srv.srv_type.Response())
File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 118, in await_or_execute
return callback(*args)
TypeError: 'int' object is not callable
Any help would be appreciated, i can supply more information if needed
Asked by AL1 on 2022-06-01 17:51:20 UTC
Comments