#AEAI04005. 二连杆机械臂末端执行评估

二连杆机械臂末端执行评估

题目描述

具身智能部正在标定一台平面二连杆机械臂。给出两段连杆长度、工具长度、当前两个关节角,以及关节、工作半径和末端朝向的允许范围。请先计算末端位姿,再判断该姿态是否可执行。

关节角单位为度。末端坐标为:

x = L1*cos(q1) + (L2+tool)*cos(q1+q2)

y = L1*sin(q1) + (L2+tool)*sin(q1+q2)

末端朝向 phi = q1 + q2

输入格式

第一行输入 L1 L2 tool

第二行输入当前关节角 q1 q2

第三行输入关节角范围 q1min q1max q2min q2max

第四行输入工作空间和朝向范围 rmin rmax phimin phimax

输出格式

第一行输出末端位姿 x y phi,均保留 6 位小数。

第二行输出状态:

  • 若关节角越界,输出 INVALID JOINT_LIMIT
  • 否则若末端半径越界,输出 INVALID WORKSPACE
  • 否则若末端朝向越界,输出 INVALID ORIENTATION
  • 否则输出 VALID

判定规则

使用标准输出比较。范围边界均视为合法,检查优先级固定为关节角、工作空间、朝向。

数据范围与测试提示

  • 正式测试会覆盖样例没有出现的边界输入,请不要依赖样例规模或样例顺序写特判。
  • 输出只包含题目要求的字段,不要输出调试信息;浮点结果按题面要求保留 6 位小数。
  • 关节角、末端距离和朝向误差都可能刚好等于阈值,范围边界均视为合法。
  • 应先判关节角,再判工作空间,再判朝向;隐藏数据会包含前一项已失败但后一项看似可行的情况。
  • 多重非法时按关节、工作空间、朝向顺序输出第一个原因;边界值本身均合法。

样例

输入样例 1

2 1 0
0 90
-180 180 -180 180
0 5 0 180

输出样例 1

2.000000 1.000000 90.000000
VALID

输入样例 2

2 1 0
200 0
-180 180 -180 180
0 5 -180 180

输出样例 2

-2.819078 -1.026060 200.000000
INVALID JOINT_LIMIT