这是一个简单的正解SCARA机器人的例子,
所谓正解,就是把关节坐标转化为笛卡尔坐标,
描述如下:
利用三角函数就能解出结果,表达式如下:
代码如下:
#using math #这个函数不想装,用内置的就行
#用math.sin用习惯了,不习惯直接sin的那你就装math包
#math.rad在lua语言里是角度转弧度,而julia直接就是后面加个d,比如sind
function SCARA机器人正解模型(第1关节角度, 第2关节角度, 第4关节角度, J1臂长, J2臂长)
笛卡尔C坐标角度值 = 第1关节角度 + 第2关节角度 + 第4关节角度
笛卡尔X坐标毫米值 = J1臂长*cosd((第1关节角度))+J2臂长*cosd((第1关节角度+第2关节角度))
笛卡尔Y坐标毫米值 = J1臂长*sind((第1关节角度))+J2臂长*sind((第1关节角度+第2关节角度))
println(笛卡尔X坐标毫米值,",",笛卡尔Y坐标毫米值,",",笛卡尔C坐标角度值)
#判断手系--J2关节角度小于0为左手系,大于0为右手系
if 第2关节角度 < 0 #J2角度小于0
手系标志 = -1 #左手系
else
手系标志 = 1 #右手系
end
return 笛卡尔X坐标毫米值,笛卡尔Y坐标毫米值,笛卡尔C坐标角度值,手系标志
end
SCARA机器人正解模型(90, 90, 0, 200, 200)#
这是我用过的可以支持中文变量,中文符号的牛逼语言,
请君莫笑。
下图是结果:
SCARA机器人逆解的代码我就不上传了。