I plan to reuse your script to control my robot by python. I was thinking on createed small piece of function to rotate, drive, undock... the robot. Unfortunately, I have some issue and it seems that is due to several call to rclpy.init or shutdown. Is it possible to do this way ? Many thanks.
def undock(args=None):
rclpy.init(args=args)
undock_client = UndockingActionClient()
future = undock_client.send_goal()
# The future is completed when an action server accepts or rejects the goal.
rclpy.spin_until_future_complete(undock_client, future)
rclpy.shutdown()
def drive(args=None):
rclpy.init(args=args)
action_client = DriveDistanceActionClient()
dist = 0.5
speed = 0.15
action_client.send_goal(dist, speed)
rclpy.spin(action_client)
def dock(args=None):
rclpy.init(args=args)
dock_client = DockServoActionClient()
future = dock_client.send_goal()
# # The future is completed when an action server accepts or rejects the goal.
rclpy.spin_until_future_complete(dock_client, future)
rclpy.shutdown()
def main(args=None):
### undock
undock()
# ### rotate
rotate()
# ### drive
# drive()
### docking
dock()
Hello,
I plan to reuse your script to control my robot by python. I was thinking on createed small piece of function to rotate, drive, undock... the robot. Unfortunately, I have some issue and it seems that is due to several call to rclpy.init or shutdown. Is it possible to do this way ? Many thanks.