具身智能国企 26 秋招算法线上笔试真题

四季读书网 2 0
具身智能国企 26 秋招算法线上笔试真题

某具身智能上海国企 26 秋招算法工程师岗位,共计三轮,分别是线上面试+线上笔试+线下笔面。

线上笔试使用python,提供了代码框架,要求完成其中的TODO,限时40分钟,过程中要求共享屏幕并开启摄像头。

题目一:基础运动规划

问题描述

实现一个简单的机械手逆运动学求解器,计算从当前位置到目标位置的最短路径。
class SimpleManipulator:  def __init__(self):  # 简化的平面三连杆机械臂    self.joint_limits = [(-180180), (-9090), (0180)] # 关节角度限制    self.current_pose = [000# 当前关节角度  def forward_kinematics(self, joints):  """前向运动学已提供"""    x = joints[0] * 0.1 + joints[1] * 0.08 + joints[2] * 0.05    y = joints[0] * 0.05 + joints[1] * 0.1 + joints[2] * 0.03    return (x, y)  def plan_path(self, target_position, max_iterations=100):    """    实现路径规划算法    输入: target_position (x, y), max_iterations    输出: 关节角度路径列表    """    TODO: 实现路径规划    pass  def is_valid_configuration(self, joints):    """检查关节配置是否在限制范围内"""    TODO: 实现限制检查    pass

题目二:抓取姿态评估

问题描述:

实现一个抓取质量评估函数,用于判断不同抓取姿态的稳定性。

import numpy as npfrom typing import ListTupleclass GraspEvaluator:  def __init__(self):    self.object_center = np.array([000])    self.friction_coef = 0.3  def evaluate_grasp_quality(self, contact_points: List[np.ndarray],    contact_normals: List[np.ndarray],    external_force: np.ndarray) -> float:    """    评估抓取质量    输入:    contact_points: 接触点位置列表    contact_normals: 接触点法向量列表    external_force: 外部力向量    输出: 抓取质量分数 (0-1)    """    TODO: 实现抓取力封闭性检查    # 1. 构建抓取矩阵 G    # 2. 检查力封闭条件    # 3. 考虑摩擦锥约束    # 4. 返回质量分数    pass  def compute_wrench_vectors(self, contact_points, contact_normals):    """计算抓取矩阵的列向量"""    TODO: 实现 wrench 向量计算    pass

题目三:强化学习策略接口

问题描述

设计一个强化学习策略的接口类,支持模仿学习。
from abc import ABC, abstractmethodimport numpy as npfrom typing import ListTupleclass RLPolicy(ABC):  def __init__(self, state_dim, action_dim):    self.state_dim = state_dim    self.action_dim = action_dim  @abstractmethod  def predict(self, observation: np.ndarray) -> np.ndarray:    """根据观测返回动作"""    pass  @abstractmethod  def learn_from_demonstration(self, demonstrations: List[Tuple]):    """从示范数据中学习"""    passclass DexterousHandPolicy(RLPolicy):  def __init__(self):    super().__init__(state_dim=30, action_dim=6)    # 6 关节位置 + 6 关节速度 + 15 指尖位置 + 3 目标位置 = 30 维  def predict(self, observation):    """    实现简单的控制策略    观测: [关节位置, 关节速度, 指尖位置, 目标位置]    动作: 关节目标角度或扭矩    """    TODO: 实现基础控制策略    # 可选: PID 控制, 神经网络控制等    pass

题目四:实际部署问题解决

问题描述

处理传感器噪声和通信延迟的实际问题。
class RobustGraspController:  def __init__(self, delay_compensation=True, noise_filter=True):    self.delay_buffer = []    self.filter_window = 5  def process_sensor_data(self, raw_sensor_readings: List[float],  timestamp: float) -> List[float]:    """    处理带噪声和延迟的传感器数据    """    TODO: 实现数据滤波和延迟补偿    # 1. 滑动平均滤波    # 2. 延迟补偿    # 3. 异常值检测    pass  def detect_slip(self, force_readings: List, previous_readings: List) -> bool:    """基于力传感器检测滑动"""    TODO: 实现滑动检测算法    pass

抱歉,评论功能暂时关闭!