ros2 AttributeError: 'MoveCircleActionClient' object has no attribute 'action_client'
时间: 2023-11-20 17:05:17 浏览: 187
根据提供的引用内容,这个错误可能是由于在使用MoveCircleActionClient时出现了问题。这个错误提示表明,MoveCircleActionClient对象没有名为'action_client'的属性。这可能是因为在代码中没有正确地初始化或调用MoveCircleActionClient对象。为了解决这个问题,可以尝试检查代码中是否正确地初始化了MoveCircleActionClient对象,并且是否正确地调用了相关的方法和属性。
以下是一个可能的解决方案:
```python
import rclpy
from example_interfaces.action import Fibonacci
class FibonacciActionClient:
def __init__(self):
self.node = rclpy.create_node('fibonacci_action_client')
self.action_client = rclpy.action.ActionClient(self.node, Fibonacci, 'fibonacci')
def send_goal(self, order):
goal_msg = Fibonacci.Goal()
goal_msg.order = order
self.action_client.wait_for_server()
self.send_goal_future = self.action_client.send_goal_async(goal_msg, feedback_callback=self.feedback_callback)
self.send_goal_future.add_done_callback(self.goal_response_callback)
def feedback_callback(self, feedback_msg):
print('Received feedback: {0}'.format(feedback_msg.partial_sequence))
def goal_response_callback(self, future):
goal_handle = future.result()
if not goal_handle.accepted:
print('Goal rejected')
return
print('Goal accepted')
self.get_result_future = goal_handle.get_result_async()
self.get_result_future.add_done_callback(self.get_result_callback)
def get_result_callback(self, future):
result = future.result().result
print('Result: {0}'.format(result.sequence))
rclpy.shutdown()
if __name__ == '__main__':
rclpy.init()
action_client = FibonacciActionClient()
action_client.send_goal(10)
rclpy.spin(action_client.node)
```
阅读全文
相关推荐


















