Attribute service#xxx.xxx.xxx.push.PushService@process at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <JIGUANG_PRIVATES_PROCESS> is provided.
Attribute meta-data#JIGUANG_PRIVATES_APPKEY@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <JIGUANG_PRIVATES_APPKEY> is provided.
Attribute meta-data#JIGUANG_PRIVATES_PROCESS@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <JIGUANG_PRIVATES_PROCESS> is provided.
Attribute meta-data#XIAOMI_APPID@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <XIAOMI_APPID> is provided.
Attribute meta-data#XIAOMI_APPKEY@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <XIAOMI_APPKEY> is provided.
Attribute meta-data#MEIZU_APPID@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <MEIZU_APPID> is provided.
Attribute meta-data#MEIZU_APPKEY@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <MEIZU_APPKEY> is provided.
Attribute meta-data#OPPO_APPID@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <OPPO_APPID> is provided.
Attribute meta-data#OPPO_APPKEY@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <OPPO_APPKEY> is provided.
Attribute meta-data#OPPO_APPSECRET@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <OPPO_APPSECRET> is provided.
Attribute meta-data#com.vivo.push.app_id@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <VIVO_APPID> is provided.
Attribute meta-data#com.vivo.push.api_key@value at tempFile1ProcessTestManifest7039673500103366995.xml requires a placeholder substitution but no value for <VIVO_APPKEY> is provided.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
由于相机与物体的视角来看,都是三维坐标,因此两者之间的变换只需要进行矩阵的旋转、平移即可达到坐标系转换的目的(不同坐标系中,物体的绝对大小并不会随着坐标系的变化而变化,因此不涉及缩放处理)。对于变换矩阵 需要理解,矩阵是由 3*3 的旋转矩阵 r (rotation) 和 3*1的平移向量 t (translation)组成。
手眼标定行业内分为两种形式,根据相机固定的地方不同,如果相机和机器人末端固定在一起,就称之为“眼在手”(eye in hand),如果相机固定在机器人外面的底座上,则称之为“眼在外”(eye to hand)。
eye to hand 眼在外
eye to hand 眼在手
二、手眼关系的数学描述
1. eye in hand,这种关系下,两次运动,机器人底座和标定板的关系始终不变。求解的量为相机和机器人末端坐标系的位姿关系。
2. eye to hand,这种关系下,两次运动,机器人末端和标定板的位姿关系始终不变。求解的量为相机和机器人底座坐标系之间的位姿关系。
手眼标定eye in hand 和eye to hand 的区别主要是机器人那边,一个是end相对于base,另一个是base相对于end。千万注意。
三、AX = XB问题的求解
旋转和平移分步法求解:
Y. Shiu, S. Ahmad Calibration of Wrist-Mounted Robotic Sensors by Solving Homogeneous Transform Equations of the Form AX = XB. In IEEE Transactions on Robotics and Automation, 5(1):16-29, 1989.
R. Tsai, R. Lenz A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration. In IEEE Transactions on Robotics and Automation, 5(3):345-358, 1989.