## Tool Functionality

### 📊 **信息收集工具**（无参数）
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `list_drones` | 列出所有可用无人机及其状态、电池和位置 | 无 | ✅ 所有用户 |
| `get_session_info` | 获取当前会话信息和任务详情 | 无 | ✅ 所有用户 |
| `get_session_data` | 获取完整会话数据（无人机、目标、障碍物） | 无 | ✅ 所有用户 |
| `get_task_progress` | 获取任务完成进度和状态 | 无 | ✅ 所有用户 |
| `get_weather` | 获取当前天气条件（风速、能见度等） | 无 | ✅ 所有用户 |
| `get_targets` | 获取所有目标（固定、移动、航点等） | 无 | ✅ 所有用户 |
| `get_all_waypoints` | 获取所有航点坐标和高度信息 | 无 | ✅ 所有用户 |
| `get_obstacles` | 获取环境中所有障碍物信息 | 无 | ✅ 所有用户 |

### 🔍 **状态查询工具**（单参数）
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `get_drone_status` | 获取特定无人机的详细状态信息 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |
| `get_nearby_entities` | 获取无人机感知范围内的实体 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |

### 🎮 **基础控制工具**（单参数）
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `land` | 命令无人机在当前位置降落 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |
| `hover` | 命令无人机在当前位置悬停 | `{"drone_id": "drone-001", "duration": 5.0}` | ✅ 所有用户 |
| `return_home` | 命令无人机返回home位置 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |
| `set_home` | 将无人机当前位置设为新的home | `{"drone_id": "drone-001"}` | ✅ 所有用户 |
| `calibrate` | 校准无人机的传感器 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |
| `take_photo` | 命令无人机拍照 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |

### ✈️ **飞行控制工具**（双参数）
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `take_off` | 命令无人机起飞到指定高度 | `{"drone_id": "drone-001", "altitude": 15.0}` | ✅ 所有用户 |
| `change_altitude` | 改变无人机飞行高度 | `{"drone_id": "drone-001", "altitude": 20.0}` | ✅ 所有用户 |
| `rotate` | 旋转无人机到指定航向 | `{"drone_id": "drone-001", "heading": 90.0}` | ✅ 所有用户 |
| `move_towards` | 朝指定方向移动特定距离 | `{"drone_id": "drone-001", "distance": 10.0}` | ✅ 所有用户 |
| `charge` | 命令无人机充电 | `{"drone_id": "drone-001", "charge_amount": 25.0}` | ✅ 所有用户 |

### 💬 **通信工具**
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `send_message` | 向特定无人机发送消息 | `{"drone_id": "drone-001", "target_drone_id": "drone-002", "message": "Hello"}` | ✅ 所有用户 |
| `broadcast` | 向所有无人机广播消息 | `{"drone_id": "drone-001", "message": "Alert"}` | ✅ 所有用户 |

### 🎯 **导航工具**
| 工具名称 | 功能描述 | 输入参数 | 用户权限 |
|---------|---------|---------|---------|
| `get_nearest_waypoint` | 获取距离无人机最近的航点 | `{"drone_id": "drone-001"}` | ✅ 所有用户 |

### 工具使用说明
- 所有工具都返回JSON格式的字符串结果
- 错误情况会返回包含错误信息的字符串
- 参数必须通过JSON字符串格式提供
- 工具函数内部包含完整的错误处理和参数验证

## 智能决策工具

LangChain ReAct代理 通过系统提示词实现的 自动推理和行为模式 ，具体包括：
### 智能决策
- **分步移动**：无法直达时自动寻找中间路径点
- **安全高度**：保持安全飞行高度
- **紧急降落**：异常情况下的安全处理
上文提到的这个智能决策是什么