python 控制机器人_如何在linux系统下使用python控制乐高boost机器人?

1.Lego boost机器人介绍

boost是乐高在2017年推出的可变成机器人,算是今年过年给我的孩子(和我自己)的新年礼物。其中包含一下组件:

品牌:Lego

编号:17101

颗粒数:843

核心模块(Move Hub):整合逻辑单元、蓝牙接收模块、六轴传感器、2个输入输出插头、一个电源按钮、一个电源灯,两个双向可调功率电机、电池槽(6节7号电池,套装不带)

外部执行器:一个外部双向可调功率电机

传感器:一个可分辨距离、颜色的传感器,自带色灯

官方推荐搭建模式:5种(Vernie机器人、弗兰基猫、吉他、铲装车或者自动搭建平台)

官方推荐年龄:7岁~12岁

控制及编程模式:Ipad 10.0以上版本,语言可选择中文(编辑界面及机器人发言中的语种)364a3c8b5c9ed7b04e0a4591d929a5b17b2adc01.jpgMove hub,外置电机以及颜色距离传感器

我刚满6岁的女儿玩的不亦乐乎,由于官方只能使用IPad或手机上的app进行控制,控制手段还是很多样的,有很多玩法,对于小孩子可以玩很久了。可以对于我来说就不够灵活了,因此在网上找到了可以使用python语言控制机器人的方法,介绍给感兴趣的人。

4adb9255ada5b97061e610b682b8636764fe50ed.png

2.开发环境搭建

GitHub上找到两个可以用的开源库:

https://github.com/panyicast/pylgbst

https://github.com/panyicast/pyb00st

两个库均可以在linux和windows平台下运行,但是在windows平台下需要配置BLE Smart适配器(BLED112),这个适配器我查了一下,某宝80块可以买到。而linux平台下只需要笔记本自带的蓝牙就可以。因此本文主要如何在linux平台下进行操作。

两个库中,pyb00st功能不够完整,缺少部分传感器数据的读取功能。pylgbst功能比较完整,但在python3.7下运行需要进行一点点修改,因此本文只介绍如何在ubuntu操作系统下使用pylgbst库对lego boost进行控制。

我的笔记本是windows平台的联想笔记本,为此将硬盘新建了20g的分区,在上面安装了Ubuntu 18.04.1 LTS操作系统。python安装的anaconda 2018.12(python 3.7)。这两者的安装我就不细说了,需要的可以自行百度。安装anaconda,强烈建议安装“visual studio code”软件,非常好用的IDE工具。0117cbba35e51b0bce5f8c2f6a838e8a087e8ee7.png

首先安装bluez的最新版本。

(注:一下绿色字体均为需要在系统中输入的命令。)

1、安装相关依赖库:

#sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev automake libudev-dev libical-dev libreadline-dev

2、下载Bluez-5.28压缩包并解压:

#wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz

#tar xvf bluez-5.50.tar.xz

进入解压后的目录:

#cd bluezbluez

3、执行配置文件

#./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var

4、执行make和install

#make

#sudo make install0117cbba35e51b0bce5f8c2f6a838e8a087e8ee7.png

安装pylgbst之前需要安装一些依赖库。请执行以下命令:

sudo pip install pygatt

sudo pip install gatt

sudo pip install gattlib

安装完上述三个库后,打开ubuntu的蓝牙配置程序,如果找不到配置程序,可以按以下步骤安装使用:

sudo apt install gnome-control-center

gnome-control-center071ca4cbd1fa27d9c736c7cec0ad030059400dc6.pnggnome-control-center

在设置界面中确保打开蓝牙开关,按下lego movehub上的绿色按钮,movehub的LED灯闪烁后,应该能在设备列表中看到“LEGO Move Hub”。

4adb9255ada5b97061e610b682b8636764fe50ed.png

3.pylgbst的安装

浏览器打开以下页面:

https://github.com/panyicast/pylgbst

点击“Clone or download”按钮,选择“Download ZIP”,将库文件下载。不要使用“pip”命令安装,因为需要对原文件进行一下修改。将下载的文件解压到工作目录。在工作目录下建立“legoboost”目录,将解压后的文件夹中的“pylgbst”目录整个拷贝到“legoboost”目录下。然后使用vscode打开“pylgbst”目录下的“peripherals.py”文件,将该文件内的所有名为“async”的变量都改为另外一个名字,例如“myasync”。这样就可以在python3.7下完美运行pylgbst。(async是python3.5新加入的关键字,估计作者实在3.5之前的版本上开发的,将async用作了函数的参数,导致在新版本上命名冲突。)4adb9255ada5b97061e610b682b8636764fe50ed.png

4.pylgbst的使用

开源项目的首页说明里(https://github.com/panyicast/pylgbst)对主要功能有比较详细的说明,我就不重复了。这里放一个我做的一个小例子,给大家参考。

一个弱智的壁障机器人。先上视频。

8c0e7d791d5a2404818d4b981abacbae26bc137a.png

python程序代码在这里:

https://github.com/panyicast/LEGO_Boost

使用方法:

下载全部代码后,在程序目录下打开命令行终端,运行:

sudo python test.py

之后按下LEGO boost上的绿色按钮。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值