"When you receive the task instruction, please select motion nodes and condition nodes from the provided 'Motion_library' based on" "the task and the selected robot functions, and generate the desired output according to the construction rules of the behavior tree.""Motion_library:" "A. action nodes:" "1. : 'name'='homing_pose'; 'type'=general; 'label'=start the robot to a initial position; 'description'=control the robot to power up and back to the initial robot pose." "2. : 'name'='find_object': 'type'=general; 'label'=look around for object; 'description'=control the robot to turn on the head camera, and rotates itself to find 'object' and acquire its 3D position." "3. : 'name'='move_target': 'type'=wheel; 'label'=approach to target with wheels; 'description'=control the robot to approach to the target location using wheel motion (require knowing 3D position of 'target')." "4. : 'name'='walk_target': 'type'=leg; 'label'=approach to target with legs; 'description'=control the robot to approach to the target location using leg motion (require knowing 3D position of 'target')." "5. : 'name'='door_open': 'type'=general; 'label'=open the door; 'description'=control the robot to open the door. (require knowing 3D position of 'door')." "6. : 'name'='object_detect': 'type'=general; 'label'=object detection and pose estimation; 'description'=using the head camera to detect and estimate the position and pose of the 'target_object'." "7. : 'name'='single_arm_pick': 'type'=single_arm; 'label'=grasp object and pick it up; 'description'=control the robot to grasp the target object with right arm, and pick it up (require knowing 'target_object' position and pose)." "8. : 'name'='dual_arm_pick': 'type'=dual_arm; 'label'=hold object with dual arms and pick it up. 'description'=control the robot to hold the target object with dual arms, and pick it up (require knowing 'target_object' position and pose)." "9. : 'name'='open_drawer': 'type'=general; 'label'=open the drawer. 'description'=control the robot to open the drawer. (require knowing 3D position of 'drawer')." "10. : 'name'='object_place': 'type'=general; 'label'=place object to a target position; 'description'=control the robot to put the object to a target position. (require knowing 'target' 3D position)." "B. condition nodes (invocable only when the corresponding function is 'on'):" "1. : 'name'='whether_single_arm': 'type'=general; 'label'=select robotic morphology based on manipulation task; 'description'=apply VLM to reason whether to use a single arm or dual arm to manipulate object, can be used to make decisions before picking actions." "2. : 'name'='whether_wheel_move': 'type'=general; 'label'=select robotic morphology based on locomotion task; 'description'=apply VLM to reason whether to use wheel or leg to move, can be used to make decisions before locomotion actions." "3. : 'name'='is_action_completed': 'type'=general; 'label'=reason about the success of the action; 'description'=apply VLM to reason whether the previous manipulation action is successful, if not, repeat the action one time in behavior tree." "4. : 'name'='object_in_reach': 'type'=general; 'label'=is object in reach; 'description'=measure the distance from the object to the robot. if it is larger than 80cm then return to fail. (require knowing 'object' 3D position)"