0x00 缘分

我是在今年(2022).5月份的时候关注的古月居。 

当时在开发公司的小型双足机器人项目,对于双足机器人网上的教程资料很少,几乎没有,而论文偏向于理论没有完整的可执行的代码。

一次偶然的机会点进去古月学院,发现这里有很多关于机器人的仿真教程,是一个专门做机器人和人工智能教程的网站,真所谓山重水复疑无路,柳暗花明又一村。  

先后学习了《四足机器人控制与仿真入门 • 阳炼》、《人形机器人控制与仿真入门 • 繁星》,成功的使用Vrep仿真出了自己的双足机器人步态;

虽然实现的过程对于我这个小白来说很艰辛,但是怕什么真理无穷,进一寸有一寸的欢喜

0x01  与 OrignBot

曾记得,古月居公众号上发布了一篇关于旭日X3派的直播,当时正在寻找树莓派的国产替代品,于是进去关注了一波,觉得地平线这个旭日X3派很有潜力。

一款面向生态开发者的嵌入式 AI 开发板。结合地平线的高性能 AI 工具链与机器人开发平台,助力开发者快速落地解决方案。

后来,OriginBot 预售通知,搭载的正是旭日X3派。

2022.10.12号预售,我是在2022.10.13号上午9点左右下的订单,预售仅仅一天时间导航版就卖断货了。

在等发货的这段时间,经常关注群里的消息,陆陆续续有大佬将自己的小车组装了起来在群里展示,也会催小助手发货。

这里古月小程序有一个bug,我看到的一直是未发货,直到2022.10.24号手机收到一条京东快递,在这个程序员节给了我一个惊喜。

预售前本以为我会是前10名车牌号,2022.10.24号到货时,我是94号。

0x02 组装过程

1、包装

OriginBot 智能机器人开发套件

2、开箱

内容非常丰富,激光雷达上还赠送了贴画,非常贴心;

车牌设计很有亮点,让每个人的小车都是独一无二的。未来我会以OB·0094继续发表一篇《使用JoyStick手柄(PS3)控制OriginBot小车》,这也是我正在做的内容;

说明书也很棒,一步一步教你如何组装。扫码还有配套视频教程;对螺丝也做了分类包装,说明书上写的很清楚是那个袋子里的那种螺丝。

3、展示

半成品

成品

4、曲折

  • 激光雷达装反了

粗心的我,控制板反了一次,激光雷达装反了一次。

控制板大家在安装的时候,认真看一下控制板上OriginBot丝印对应的位置;

激光雷达装反了,可不好拆卸,不过要有耐心,从失败中汲取经验。

  • 电池接口干涉

安装完成之后,发现电池接口与控制板有干涉。在群里询问了一下,发现很多人都遇到了。

解决办法,使用螺丝刀别一下,趁他不注意,摁进去。

  • 摄像头线

摄像头线配备了两根,建议用长线;

摄像头端的接口不要掰白色,应该掰黑色打开卡口;

  • 激光雷达插线

接线部分说明书上没有,我当时按着视频上操作的。

激光雷达不用的时候可以拔掉USB,以节省电源;

0x03 OriginBot 精神

以下是项目主页:

OriginBot智能机器人开源套件

“开源就是力量”——这是OriginBot的核心精神。

是啊,开源就是力量!

智能机器人的开发技术横跨结构、电气、嵌入式、ROS、人工智能、通信等诸多领域,每一个学到专业学到精通都非常困难!个人从0开发出一个机器人更是难上加难,我现在还能想起深夜里调整机器人步态,被算法折磨的死去活来,绞尽脑汁,百思不得其解的场景。

OriginBot套件就是一把钥匙,可以打开智能机器人学习的大门。所得超所见,所见即开源。

OriginBot 原生搭载地平线机器人开发板——旭日X3派,5Tops算力强劲支撑,CV加速、人体跟踪、手势识别、视觉巡线等案例丰富,享受AI乐趣,真正开发“智能”机器人。

OriginBot 以ROS2及TogetherROS(地平线深入优化的ROS开源机器人操作系统)作为机器人软件系统,兼容ROS生态中的众多应用功能,即装即用;原装应用丰富,快速开始SLAM、定位导航、视觉处理、机器学习等应用开发。

TogetherROS源于ROS,却又不止于ROS。

OriginBot 更像是开阔者,它喊出了一句口号‘开源共建’。OriginBot不仅仅是小车,未来如果有机会能够设计出自己的开源智能机器人的话,也会以 OriginBot 作为前缀。

每位机器人开发者都曾有“从零开发一款机器人”的梦想,OriginBot 源于这一份最初的热爱。

0x04 软件配置

在线文档写的很详细,这一步做的很顺利。

1、烧写旭日X3派镜像:

镜像安装与备份 - OriginBot智能机器人开源套件

2、 烧写控制器固件:

控制器固件安装 - OriginBot智能机器人开源套件

0x05 巡线应用

视觉巡线(OpenCV) - OriginBot智能机器人开源套件

我最近就在开发双足机器人循迹,这里就直接跑一下循迹应用吧。

例程是在HSV色彩空间下处理图像,寻找黑线并循迹;

我在实际项目中,并没有使用HSV颜色空间循迹,而是将图像转为灰度图,再使用

# 局部二值化处理函数, 消除光晕及影子对黑线的影响;
cv2.adaptiveThreshold

这样对对比度大的黑线很容易就能找出来,效果非常棒:

根据在线文档指令一步一步操作;

1、启动底盘和相机

注意事项:cyclonedds默认会绑定某一网卡进行数据传输,此处我们使用第二句命令指定无线网卡wlan0作为绑定官网卡,根据实际情况,进行切换。

我在使用OriginBot的时候并没有配置无线网络,这里按文档复制粘贴运行报了很多错误。

我也是刚刚入门的ROS,刚刚学习到发布和订阅,对DDS不是很了解。这里说一下解决方案,问题就出现在没有配置无线网络,将 wlan0 改为 eth0 即可。

$ export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
$ export CYCLONEDDS_URI='<CycloneDDS><Domain><General><NetworkInterfaceAddress>eth0</NetworkInterfaceAddress></General></Domain></CycloneDDS>'
$ ros2 run originbot_linefollower follower

2、启动视觉巡线功能

$ export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
$ export CYCLONEDDS_URI='<CycloneDDS><Domain><General><NetworkInterfaceAddress>wlp2s0</NetworkInterfaceAddress></General></Domain></CycloneDDS>'
$ ros2 run rqt_image_view rqt_image_view

3、最终效果

0x06 未来

1、学习ROS

2、《使用JoyStick手柄(PS3)控制OriginBot小车》

3、继续开发机器人