眼部机构 inMoov 机器人
哇。当你玩得开心时,时间过得飞快。这个网站是关于我在空闲时间构建的东西。过去 2 年在工作和私人生活中非常紧张。现在我决定减少工作,将更多时间投入到构建机器人中,并首先完成我的 inMoov 机器人。
在地板上的碰撞和所有破碎的碎片之后,机器人处于我在上一篇帖子之前离开的相同状态。首先要做的是完成我的 inMoov 机器人的 Eye Mechanism。
在 inMoov 机器人 (www.inMoov.fr) 的设计中,您可以添加小型相机。在这个阶段,我还不想使用这些,所以我将使用一块圆形的 3D 打印塑料来覆盖眼睛的孔。我还想让 inMoov 机器人保持目前的机器人状态。所以我懒得让眼睛尽可能逼真。
我在我的 YouTube 频道上制作了一段构建视频。
inMoov Eye mechanism build
Eye 机构有一些小零件。在下图中,您可以看到标准件。
零件很合身。唯一不能直接拟合的是 EyeHingeCurve。可能是因为我在他的设计中使用了 Gael Langevin 以外的其他伺服器。我不得不用刀调整铰链
最后的 eye Mechanism。
在 Youtube 视频中,我在 arduino 中使用了一个小的测试代码来移动眼睛。您可以使用此代码来测试自己的 servo。在此示例中,伺服器连接到引脚 22 和 24 上的 Arduino Mega。请根据您的需要更改该值。




项目代码
/* Based on the Sweep example
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013
by Scott Fitzgerald
http://arduino.cc/en/Tutorial/Sweep
Modified to control Eye mechanism inMoov robot (With Arduino Mega)
https://swanrobotics.com
*/
#include <Servo.h>
Servo horServo; // Horizontal servo (left tot right)
Servo verServo; // Vertical servo (Up and down)
// Change these settings to your own setup and preferences.
int horServoPin = 22;
int horMaxLeft = 60; // Maximum servo position Left
int horMid = 90; // Middle servo position horizontal
int horMaxRight = 120; // Maximum servo position Right
int horStep = 1; // Step size for position horizontal
int verServoPin = 24;
int verMaxUp = 45; // Maximum servo position Up
int verMid = 65; // Middle servo position vertical
int verMaxDown = 95; // Maximum servo position Down
int verStep = 1; // Step size for position vertical
int delaySpeed = 500; // time between the movement
int pos = 0; // variable to store the servo position
int positionwait = 5; // variable to wait for the servo to reach the position
void setup()
{
horServo.attach(22); // attaches the servo on horzontal pin
verServo.attach(24); // attaches the servo on vertical pin
horServo.write(horMid); // Put horizontal servo in neutral position
verServo.write(verMid); // Put vertical servo in neutral position
}
void loop()
{
// Look right
for(pos = horMid; pos <= horMaxRight; pos += horStep)
{
horServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
// Look left
for(pos = horMaxRight; pos>=horMaxLeft; pos-=horStep)
{
horServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
// Look neutral
for(pos = horMaxLeft; pos<=horMid; pos+=horStep)
{
horServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
// Look Up
for(pos = verMid; pos <= verMaxDown; pos += verStep)
{
verServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
// Look down
for(pos = verMaxDown; pos>=verMaxUp; pos-=verStep)
{
verServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
//Look neutral
for(pos = verMaxUp; pos <= verMid; pos += verStep)
{
verServo.write(pos);
delay(positionwait);
}
delay(delaySpeed);
}
【Arduino 动手做】眼部机构 inMoov 机器人
项目链接:https://swanrobotics.com/eye-mechanism-inmoov-robot/
项目作者:SwanRobotics
参考资料:https://inmoov.fr/
项目视频 :https://www.youtube.com/watch?v=MoSU2P5_Svo
项目代码:https://www.youtube.com/watch?v=MoSU2P5_Svo

评论