一只满地乱爬的机器人成了逗猫神器

2017-05-11 16:44:30 +08:00
 Vincross

别人家的爸爸为两岁的儿子用 HEXA 机器人开发了一个巡航功能。这本来是个拉仇恨的暖心故事,但最终爸爸还是在儿子惊人的破坏力面前屈服了。所以我们就意外收获了一个逗猫神器。


我为 HEXA 开发了自动巡视功能

by @Andy.W

好不容易攒了三个月的钱,终于搞到了一个 HEXA。我对这个 6 只脚的机械生物充满了兴趣,想用他来做点有意思的事(在我心里他是个小男孩)。我决定让他跟我儿子开个玩笑,让我儿子追着他跑,却永远抓不到他。

要做点这一点,倒可以利用他的测距传感器来发现周围的物体,然后远远避开。不过,首先我得让我的 HEXA 足够聪明。

说干就干,我先以一个使用了测距传感器的 example 为模板,使用 MIND SDK 提供的 API, 实时检测 HEXA 前面的物体,一旦距离小于 0.5 米,就通知 HEXA 扭头就走。

首先,我要在 OnStart()里把各种 drivers 初始化起来

func (d *myskill) OnStart() {
    // Use this method to do something when this skill is starting.
    hexabody.Start()
    distance.Start()
    if !distance.Available() {
        log.Error.Println("Distance sensor is not available")
    }
    hexabody.Stand()
    go d.Walk()
    d.count++
}

然后我在 Walk()里控制 HEXA 怎么走

func (d *myskill) Walk() {
   log.Debug.Println("robot start to walk...")
    go d.Detect()
    //
    for {
        select {
        case <-d.stop:
            return
        case walk_d := <-d.direction:
            cur_d := hexabody.Direction()
            if MOVE_LEFT == walk_d {
                log.Info.Println("Move LEFT")
                new_d := cur_d -90
                //
                err := hexabody.MoveHead(new_d,MOVE_HEAD_DURATION)
                if nil != err {
                    log.Info.Println(err)
                }else {
                    time.Sleep(MOVE_HEAD_DURATION)
                }
            }
        default:
            //
            hexabody.WalkContinuously(0, WALK_SPEED)
            time.Sleep(MOVE_HEAD_DURATION)
        }
    }
    log.Debug.Println("robot stop walk")
}

效果就是这样啦。 考虑到我儿子( 2 岁)目前的破坏力,以防万一我还是用我家猫来做测试。

看看视频

———————————————————————————————————————————————————— 这个帖子的内容来自 Vincross (也就是我们自己)的开发者论坛。原贴是英文的,我们觉得很有意思,所以把帖子翻译成中文。原贴链接就不贴了,怕犯规。开发使用的是 Golang 语言。 特别说明:Vincross 拥有使用这个帖子的转载和宣传的权力。受限于论坛贴图规则,特别挣得作者许可做了张图传到工作人员个人微博上以便显示,该功能以及视频的所有权属于原作者 @Andy.W

3419 次点击
所在节点    奇思妙想
7 条回复
gamecreating
2017-05-11 16:53:04 +08:00
这个不错 机器人在哪里买的啊 好想要一个 给儿子玩
tabris17
2017-05-11 16:54:38 +08:00
哪里买?
gamecreating
2017-05-11 17:07:33 +08:00
maple
2017-05-12 00:51:37 +08:00
不不看脸的话对你家的猫感兴趣
jyf
2017-05-12 15:01:16 +08:00
比较贵吧 我刚从淘宝上买了个四脚的 300 多 不过没有主控板 加上主控 大概 350 样子
simoncos
2017-05-30 11:09:51 +08:00
好像很好玩
graetdk
2018-03-05 16:10:56 +08:00
真的有点贵,一两千我就马上买了,6000 多还是有点贵了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX