为了账号安全,请及时绑定邮箱和手机立即绑定

我开发了一个机器人应用,让 HEXA 机器人可以追逐光——The Light Chaser

标签:
Linux Go 设计

可编程全地形机器人HEXA在正式面向用户时,曾发起“HEXA人类导师计划”,收到了来自全球各个国家机器人爱好者的购买和申请。经过一段时间的探索,有不少用户利用HEXA开发出了许多有趣的应用,我们将陆续把用户们开发的技能分享给大家,并分享出具体实现的代码,感兴趣的伙伴们可以尝试体验。

这次我们分享的是来自澳大利亚堪培拉的一名科学老师,他利用HEXA开发了一个可以追寻光的Skill(机器人应用),以下是他实现的经过:

我是一个科学老师,几个月前参与了HEXA人类导师计划。这几个月我都在各种倒腾HEXA,熟悉它的SDK,希望能给我的学生们开发一些新的好玩的skill。上个周末我在看小黄人电影得到了一个灵感,我想让HEXA变成一个小黄人一样的机器人,能追着舞台灯光跑,古怪又逗趣。

所以我开始考虑如何使用HEXA的传感器才能达到我想要的效果。本想用HEXA自带的传感器和摄像头的照相功能和寻找亮色,但结果不太让人满意。在一个明亮的房间里,HEXA开始无目的的乱走,我修改了两次感测到颜色的范围,但似乎没有帮助,测试结果依然不好。后来我考虑给HEXA安装一个光强传感器。看了Vincross论坛上其他用户的帖子,我把光强传感器装在硬件接口上并跑通了源代码。

现在它可以看到光了,而且迅速迎着光行动起来,就像个迷恋自拍的网红。但光线必须直接照在传感器上。对于那些没有感应到的光,目前HEXA还无能为力。这不是一个完美的skill,不过作为一个用来启发学生学习编程的硬件设备,这就足够了。

以下是我开发过程中的代码思路。

var direction float64
for {
    // Rotating
    hexabody.MoveHead(direction, 10)
    direction += 1
    if direction == 360 {
      direction = 0
    }
    // set i2c parameters
    err := i2c.Set(0x39, 0x80, 0x03)
    if err != nil {
      log.Error.Println(err)
    }
    raw, err := i2c.Value(0x39, 0xAC, 2)
    light := int(raw[0]) + 256*int(raw[1])
    // check the Luminosity of light
    if light > 500 {
      log.Info.Println(light, raw)
      hexabody.WalkContinuously(0, WALK_SPEED)
      time.Sleep(5000 * time.Millisecond)
      hexabody.StopWalkingContinuously()
    }
}

大家可能对HEXA有点不太熟悉,这里给大家简单介绍一下,感兴趣的朋友可以进一步了解: HEXA是一个可以灵活适应多种场景的全地形可编程机器人,它集成了各种必要的传感器,并搭载强大易用的机器人软件操作系统(MIND OS)。HEXA是主要面向技术发烧友和科技爱好者的机器人开发平台,官方提供了完整的开发工具,喜欢机器人或者想要做机器人开发的朋友,可以直接跳过底层的硬件电路和结构力学,用HEXA直接上手来学习和开发机器人应用。

最后打一个硬广:双十一期间,HEXA有优惠活动,感兴趣的同学可以去官网了解:Vincross官网

输入图片说明

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1
获赞与收藏
4

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消