meArm
=====
Inverse kinematics control library for Phenoptix meArm and Arduino.
The meArm has four mini servos - one for the gripper, and one each to rotate the base, shoulder joint and elbow joint. But it's not terribly convenient to be specifying things in terms of servo angles when you're much more interested in where you would like to place the gripper, in normal Cartesian (x, y, z) coordinates.
This library solves the angles required to send to the servos in order to meet a given position, allowing for much simpler coding.
Coordinates are measured in mm from the base rotation centre. Initial 'home' position is at (0, 100, 50), i.e. 100mm forward of the base and 50mm off the ground.
Various other versions of this library exist:
* [Arduino with Adafruit PWM driver board](https://github.com/RorschachUK/meArm_Adafruit)
* [Raspberry Pi with Adafruit PWM driver board](https://github.com/RorschachUK/meArmPi)
* [Beaglebone Black](https://github.com/RorschachUK/meArmBBB)
[![meArm moving with Inverse Kinematics](http://img.youtube.com/vi/HbxhVs3UmuE/0.jpg)](http://www.youtube.com/watch?v=HbxhVs3UmuE)
Usage
-----
```
#include "meArm.h"
#include <Servo.h>
meArm arm;
void setup() {
arm.begin(11, 10, 9, 6);
arm.openGripper();
}
void loop() {
//Go up and left to grab something
arm.gotoPoint(-80,100,140);
arm.closeGripper();
//Go down, forward and right to drop it
arm.gotoPoint(70,200,10);
arm.openGripper();
//Back to start position
arm.gotoPoint(0,100,50);
}
```
Three usage examples are included:
* IKTest follows a pre-programmed path defined in Cartesian coordinates
* JoystickIK uses two analogue thumb sticks to guide the gripper in Cartesian space
* meArm_Wii_Classic uses a Wii Classic gamepad connected over I2C to guide the gripper
Installation
------------
Clone this repository to your local machine, and place it in your Arduino libraries folder as 'meArm'.
Class methods of meArm object
-----------------------------
* void begin(int pinBase, int pinShoulder, int pinElbow, int pinGripper) - The four PWM-capable pins used to drive the servos. Begin must be called in setup() before any other calls to the meArm instance are made.
* void openGripper() - opens the gripper, letting go of anything it was holding
* void closeGripper() - closes the gripper, perhaps grabbing and holding something as it does so
* void gotoPoint(float x, float y, float z) - move in a straight line from the current point to the requested position
* void goDirectlyTo(float x, float y, float z) - set the servo angles to immediately go to the requested point without caring what path the arm swings through to get there - faster but less predictable than gotoPoint
* bool isReachable() - returns true if the point can theoretically be reached by the arm
* float getX() - current x coordinate
* float getY() - current y coordinate
* float getZ() - current z coordinate
没有合适的资源?快使用搜索试试~ 我知道了~
arduino舵机用arduino控制的6自由度舵机机械臂,涉及到运动学的求解及轨迹规划,主函数为demo.cpp
共16个文件
cpp:4个
h:4个
ino:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 193 浏览量
2023-03-10
10:03:44
上传
评论
收藏 14KB ZIP 举报
温馨提示
arduino舵机用arduino控制的6自由度舵机机械臂,涉及到运动学的求解及轨迹规划,主函数为demo.cpp,程序无误,可以直接使用!ps:可以作为arduino里面的一个库文件,具体怎么添加库文件自己百度下下.zip
资源推荐
资源详情
资源评论
收起资源包目录
arduino舵机用arduino控制的6自由度舵机机械臂,涉及到运动学的求解及轨迹规划,主函数为demo.cpp,程序无误,可以直接使用!ps:可以作为arduino里面的一个库文件,具体怎么添加库文件自己百度下下.zip (16个子文件)
meArm-master
Geometry.md 2KB
ik.cpp 3KB
tests
Makefile 125B
test_ik.cpp 1KB
examples
meArm_Wii_Classic
meArm_Wii_Classic.ino 2KB
JoysticksIK
JoysticksIK.ino 2KB
IKTest
IKTest.ino 1KB
keywords.txt 608B
ik.h 538B
config.h 405B
fk.cpp 2KB
fk.h 281B
meArm.cpp 4KB
.gitignore 800B
meArm.h 2KB
README.md 3KB
A
共 16 条
- 1
资源评论
- northeastern12023-07-18终于找到了超赞的宝藏资源,果断冲冲冲,支持!
N201871643
- 粉丝: 1192
- 资源: 2653
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 无电网电压传感器三相PWM整流器,采用磁链方法估算电网相位角度 模型控制器部分全部采用离散化处理,设置成单采样单更新模式,SV
- Library-Management-System-main.zip
- 多孔集流体模型模拟锌枝晶生长过程,仿真锌离子在电极表面吸附沉积的过程,通过三次电流分布接口,相场接口进行仿真,对比锌枝晶文献可以
- chromedriver-win64-117.0.5938.0
- 探索NumPy:Python中的多维数组与数值计算
- bsp总结资料合计(2)
- commandline-tools-linux-x64-5.0.3.900.zip.003
- commandline-tools-linux-x64-5.0.3.900.zip.002
- commandline-tools-linux-x64-5.0.3.900.zip.001
- Linkage.msi
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功