#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