[3D模型]3D打印之火星车1号 精华

2015-12-2 19:04:17 [显示全部楼层]
27085浏览
查看: 27085|回复: 31

[3D模型] 3D打印之火星车1号

[复制链接]
因为深受  造起来 的精神摧残的不能自拔,还有朋友怂恿+煽风点火,我做了一台我自己也不太满意的车!
因为部分借鉴了一本为《NASA火星漫游车大揭秘》封面好奇号火星车的结构
3D打印之火星车1号图7

故起名为“火星车1号”。
一直都对标题党行为嗤之以鼻,呵呵,今天我也做了一回标题党,请原谅请原谅请原谅。。。。。。
3D打印之火星车1号图10


好奇号的六个大轮子是最能体现它是一辆“车”的特征了,而每个轮子都具有驱动力,可谓是六轮全时驱动!前后两组轮子都可以进行360°全方位旋转,转向能力更是无与伦比。
3D打印之火星车1号图1
并且具有独特的火星车特性:“摇臂+转向架”式的悬架系统,这种专门为六个轮子设计的悬挂系统能很好的保证六轮都能实时附着地面。同时还有0.65米的最小离地间隙,就越野通过性来说可比一般SUV屌多了。超强的越野性能保证能在火星凹凸不平的地面行驶无阻。


但是我造的这台车,起名为火星车1号,蛮不好意思的,因为火星车独有的超屌的:摇臂+转向架悬挂,在这台车上并没有体现出了。只体现出其中:每个轮子都具有独立的驱动力和每个轮子可以进行全方位旋转的转向能力这两点特性。


对于火星车,憧憬是这样的!
3D打印之火星车1号图2
当然,设计是这样的!
3D打印之火星车1号图4
然而,实际是这样的!
3D打印之火星车1号图5
不要说它爆丑,它可是以功能性著称的一代原型。
为了给一个符合它身份的场景,我也是拼了,让桌面凌乱如火星表面,让它尽情在里面穿梭
3D打印之火星车1号图8

虽然有些颜值论者说它丑爆了,在此我只能呵呵了,它的目标是火星。。。。。。。。。。。。。
3D打印之火星车1号图14生命本应该充满希望的!


刚才偷偷吹了个牛!

接下来,介绍一下轮子单元


3D打印之火星车1号图3


轮子单元清单:

3D打印支架X1
3D打印电机固定套X1


电子控制部分清单:


此车行走系统是由四个独立的轮子单元组成
3D打印之火星车1号图6
但是它的通过性也是蛮强的。。。。有视频为证
https://www.tudou.com/programs/view/XWEJvP3DNfI/?lvt=95&resourceId=0_07_10_28
因为没钱,无法请专业人士制作,视频略显粗。。。。请原谅!


控制用的是DFRobot研发的通用蓝牙遥控器--走你 - 蓝牙4.0 控制器3D打印之火星车1号图11

控制逻辑:左边虚拟摇杆同时控制四个转向舵机的方向和驱动电机的转速与正反转
                 右边的左右按钮可用控制小车自转,左按钮控制向左自转,右按钮控制向右自转,右边上下按钮为扩展备用按钮,暂无定义。
                 如果同时按住左边虚拟摇杆和右边的左或右按钮,软件以右边按钮为优先控制。

感谢大乔(Angelo)奉献详细代码:
3D打印之火星车1号图13
  1. #include <Metro.h>
  2. #include "GoBLE.h"
  3. #include <Servo.h>
  4. int LeftUpServoPin = 4;
  5. int RightUpServoPin = 5;
  6. int LeftDownServoPin = 6;
  7. int RightDownServoPin = 7;
  8. int LeftUpSpeedPin = 8;
  9. int RightUpSpeedPin = 9;
  10. int LeftDownSpeedPin = 10;
  11. int RightDownSpeedPin = 11;
  12. int joystickX, joystickY;
  13. int buttonState[6];
  14. Servo LeftUpServo;
  15. Servo RightUpServo;
  16. Servo LeftDownServo;
  17. Servo RightDownServo;
  18. Servo LeftUpSpeed;
  19. Servo RightUpSpeed;
  20. Servo LeftDownSpeed;
  21. Servo RightDownSpeed;
  22. int LeftUpServoBase = 85;
  23. int RightUpServoBase = 83;
  24. int LeftDownServoBase = 100;
  25. int RightDownServoBase = 96;
  26. int LeftUpSpeedBase = 106;
  27. int RightUpSpeedBase = 99;
  28. int LeftDownSpeedBase = 95;
  29. int RightDownSpeedBase = 99;
  30. void setup() {
  31.   Goble.begin();
  32.   Serial.begin(115200);
  33.   LeftUpServo.attach(4);
  34.   RightUpServo.attach(5);
  35.   LeftDownServo.attach(6);
  36.   RightDownServo.attach(7);
  37.   LeftUpSpeed.attach(8);
  38.   RightUpSpeed.attach(9);
  39.   LeftDownSpeed.attach(10);
  40.   RightDownSpeed.attach(11);
  41.   LeftUpServo.write(LeftUpServoBase);
  42.   RightUpServo.write(RightUpServoBase);
  43.   LeftDownServo.write(LeftDownServoBase);
  44.   RightDownServo.write(RightDownServoBase);
  45.   LeftUpSpeed.write(LeftUpSpeedBase);
  46.   RightUpSpeed.write(RightUpSpeedBase);
  47.   LeftDownSpeed.write(LeftDownSpeedBase);
  48.   RightDownSpeed.write(RightDownSpeedBase);
  49. }
  50. void updateSpeed(int theLeftUpSpeed, int theRightUpSpeed, int theLeftDownSpeed, int theRightDownSpeed)
  51. {
  52.   LeftUpSpeed.write(LeftUpSpeedBase + theLeftUpSpeed);
  53.   RightUpSpeed.write(RightUpSpeedBase + theRightUpSpeed);
  54.   LeftDownSpeed.write(LeftDownSpeedBase - theLeftDownSpeed);
  55.   RightDownSpeed.write(RightDownSpeedBase - theRightDownSpeed);
  56. }
  57. void updateServo(int theLeftUpServo, int theRightUpServo, int theLeftDownServo, int theRightDownServo)
  58. {
  59.   LeftUpServo.write(LeftUpServoBase - theLeftUpServo);
  60.   RightUpServo.write(RightUpServoBase - theRightUpServo);
  61.   LeftDownServo.write(LeftDownServoBase - theLeftDownServo);
  62.   RightDownServo.write(RightDownServoBase - theRightDownServo);
  63. }
  64. void loop() {
  65.   if (Goble.available()) {
  66.     if (Goble.readSwitchLeft()==PRESSED)
  67.     {
  68.       updateSpeed(-30, 30, -30, 30);
  69.       updateServo(45, -45, -45, 45);
  70.     }
  71.     else if (Goble.readSwitchRight()==PRESSED)
  72.     {
  73.       updateSpeed(30, -30, 30, -30);
  74.       updateServo(45, -45, -45, 45);
  75.     }
  76.     else {
  77.       joystickX = Goble.readJoystickX() - 128;
  78.       joystickY = Goble.readJoystickY() - 128;
  79.       joystickX = constrain(joystickX, -128, 128);
  80.       joystickY = constrain(joystickY, -128, 128);
  81.       int theSpeed = sqrt(joystickX * joystickX + joystickY * joystickY) / 3;
  82.       theSpeed = constrain(theSpeed, 0, 60);
  83.       int degree = atan2 (joystickX, joystickY) / PI * 180;
  84.       if (degree > 0)
  85.       {
  86.         updateSpeed(theSpeed, theSpeed, theSpeed, theSpeed);
  87.         degree = 90 - degree;
  88.         degree = constrain(degree, -60, 60);
  89.         if (theSpeed)
  90.         {
  91.           updateServo(degree, degree, degree, degree);
  92.         }
  93.       }
  94.       else
  95.       {
  96.         updateSpeed(-theSpeed, -theSpeed, -theSpeed, -theSpeed);
  97.         degree = -degree - 90;
  98.         degree = constrain(degree, -60, 60);
  99.         if (theSpeed)
  100.         {
  101.           updateServo(degree, degree, degree, degree);
  102.         }
  103.       }
  104.     }
  105.   }
  106. }
复制代码




来膜拜吧:好奇号火星车任务全景演示
https://www.tudou.com/programs/view/INNhFvdMQYY/?resourceId=0_06_02_99


前天看了最近上映的《火星救援》老牛逼了,预告分享一下

3D打印之火星车1号图9

如果有时间,做个缩小版的索杰纳如何?最大限度尊重原创的缩小版动态艺术品?

索杰纳是在火星上真正从事科学考察工作的第一台机器人车辆,它是一辆自主式的机器人车辆,同时又可从地面对它进行遥控。
3D打印之火星车1号图12


10.jpg
12.jpg
86G58PICfQF.jpg
20087301855693_2.jpg

FBI-C  中级技师
 楼主|

发表于 2015-12-4 15:55:33

visionsl 发表于 2015-12-4 10:41
厉害, 不过视频好像看不了?

真的吗?我可是故意全部换成土豆,以前优酷上传的视频也换了土豆,是测试土豆不卡的!难道天底下就没有不卡的免费视频分享网站了嘛?
回复

使用道具 举报

大连林海  初级技神

发表于 2015-12-4 18:27:28

luna 发表于 2015-12-4 17:03
这个是9月的大奖~之前改版误删了,找到原作者补了上来

哈哈哈 看看这东西绝对赞啊  她说要给买糖吃 是不是奖金已经发了 大家一起找她买糖吃
回复

使用道具 举报

FBI-C  中级技师
 楼主|

发表于 2015-12-7 18:48:10

本帖最后由 FBI-C 于 2015-12-7 18:52 编辑

可以哦!不过多大为大餐呀?把奖的软妹币全吃掉是可以的这个要求绝对完全没问题,主要是12月拿奖无望,到现在还没有好的项目。。。。。。。。。。。。。
回复

使用道具 举报

svw  初级技匠

发表于 2015-12-2 22:49:12

不丑啊,期待中。
回复

使用道具 举报

hnyzcj  版主

发表于 2015-12-2 22:58:33

我觉得很漂亮
回复

使用道具 举报

大连林海  初级技神

发表于 2015-12-3 07:36:15

我觉得真不错    12月大奖 你很有希望
回复

使用道具 举报

丄帝De咗臂  高级技匠

发表于 2015-12-3 08:58:29

牛牛牛。牛爆了
回复

使用道具 举报

vcbear  中级技匠

发表于 2015-12-3 12:25:10

哈哈,很灵活啊!
回复

使用道具 举报

tyjjr  中级技匠

发表于 2015-12-3 22:56:09

屌屌屌,突然感觉楼主文风不错~~
回复

使用道具 举报

visionsl  初级技匠

发表于 2015-12-4 10:41:41

厉害, 不过视频好像看不了?
回复

使用道具 举报

FBI-C  中级技师
 楼主|

发表于 2015-12-4 15:49:32

大连林海 发表于 2015-12-3 07:36
我觉得真不错    12月大奖 你很有希望

哈哈,承蒙看得起!12月拿奖请吃!
回复

使用道具 举报

FBI-C  中级技师
 楼主|

发表于 2015-12-4 15:51:04


谢谢!谢谢!谢谢夸奖!
回复

使用道具 举报

Kona226  初级技师

发表于 2015-12-4 16:34:37

很赞的车子啊,大神,我们合作出个套件吧!
回复

使用道具 举报

源代码  中级技匠

发表于 2015-12-4 16:46:52

好用创意哈哈

回复

使用道具 举报

大连林海  初级技神

发表于 2015-12-4 16:52:15

FBI-C 发表于 2015-12-4 15:49
哈哈,承蒙看得起!12月拿奖请吃!

回复

使用道具 举报

luna  初级技神

发表于 2015-12-4 17:03:36

大连林海 发表于 2015-12-3 07:36
我觉得真不错    12月大奖 你很有希望

这个是9月的大奖~之前改版误删了,找到原作者补了上来
回复

使用道具 举报

luna  初级技神

发表于 2015-12-7 10:07:13

大连林海 发表于 2015-12-4 18:27
哈哈哈 看看这东西绝对赞啊  她说要给买糖吃 是不是奖金已经发了 大家一起找她买糖吃
...

这个可以有~发糖发糖
回复

使用道具 举报

大连林海  初级技神

发表于 2015-12-7 11:05:08

luna 发表于 2015-12-7 10:07
这个可以有~发糖发糖

快给我补发糖 哈哈
回复

使用道具 举报

FBI-C  中级技师
 楼主|

发表于 2015-12-7 12:25:40

本帖最后由 FBI-C 于 2015-12-7 12:27 编辑
大连林海 发表于 2015-12-7 11:05
快给我补发糖 哈哈

不是说了12月的大奖,也有希望吗?我现在正积极备战,12月拿奖请吃哦
回复

使用道具 举报

大连林海  初级技神

发表于 2015-12-7 12:36:54

FBI-C 发表于 2015-12-7 12:25
不是说了12月的大奖,也有希望吗?我现在正积极备战,12月拿奖请吃哦{:5_190: ...

哈哈 大餐吗
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail