/SCARA-Kinematics

A C++ implementation of SCARA robot kinematics

Primary LanguageC++MIT LicenseMIT

SCARA-Kinematics

SCARA机器人运动学正逆解算法C++实现

1. Prerequisites

Linux

  • CMake (>=2.8.3)
  • C++ compiler (e.g., g++ or Clang)

2. Build

Linux

git clone https://github.com/woodphayt/SCARA-Kinematics
cd SCARA-Kinematics && mkdir build && cd build
cmake ..
make
./ah3_demo

3. Result

4. Algorithms

4.1. 机器人空间模型

4.2. SCARA机器人运动学正解


末端Bx坐标为向量OA与向量ABx轴上投影之和,末端By坐标亦然:
formula_1        (1)

第三轴为丝杆上下平移运动,令平移距离为,则末端Bz坐标:
formula_2       (2)

末端B的姿态角roll
formula_3       (3)

综上,SCARA机器人的运动学正解为:
formula_4       (4)

4.3. SCARA机器人运动学逆解


连接OB,过BBC垂直于OAC,在中,由余弦定理:

formula_5       (5)

式(5)可写成:
formula_6       (6)

又有:
formula_7       (7)

取正数解,机器人处于右手系;取负数解,机器人处于左手系;特殊地,若,机器人处于奇异位置,此时

至此,可求得:
formula_8       (8)

如上图,易得:
formula_9       (9)

中,记
formula_10       (10)
formula_11       (11)

由于r>0,由式(10)和式(11)得:
formula_12       (12)

至此,可求得
formula_13       (13)

由式(4)容易求得。 综上,SCARA机器人的运动学逆解为:
formula_14       (14)

5. References