开发环境与建设
1 简介
X3Pi 支持Python与blockly拖拽式编程,内置了Python控制库: pymycobot
以及可用于blockly编程的桌面应用程序:myBlockly
2 基于Python 开发使用
基于Python的开发 我们的机器人支持Python,Python API库的开发也越来越完善。 机器人的关节角度、坐标、抓取器和其他方面可以通过Python进行控制。
# 控制闪灯案例
import time
from pymycobot import MyCobot
# 串口初始化
mc = MyCobot('/dev/ttyS3', 1000000)
count = 3
while count > 0:
mc.set_color(255, 0, 0)
time.sleep(1)
mc.set_color(0, 0, 0)
time.sleep(1)
count -= 1
# 控制关节运动案例
import time
from pymycobot import MyCobot
# 串口初始化
mc = MyCobot('/dev/ttyS3', 1000000)
# 控制单关节运动: 控制1号关节,以30的移动速度,移动到角度为0的位置
mc.send_angle(1, 0, 30)
# 控制多关节运动: 同时控制6个关节以30的移动速度,移动到各自角度为0的位置
mc.send_angles([0,0,0,0,0,0], 30)
系统内置Python3,使用python3运行程序:
python3 main.py
注意事项 1:
X3Pi版本的控制串口对应为
/dev/ttyS3
from pymycobot import MyCobot
# 串口初始化
mc = MyCobot('/dev/ttyS3', 1000000)
...
注意事项 2:
如果在代码中使用了控制GPIO的接口,运行Python文件的时候必须加上sudo,否则会抛出程序权限不足的错误导致无法运行!!!
sudo python3 main.py
GPIO使用
方法一:
from pymycobot import MyCobot
mc = MyCobot('/dev/ttyS3', 1000000)
# GPIO初始化
mc.gpio_init()
# 设置GPIO 20为输出并且拉高
mc.gpio_output(20, 1)
方法二:
import RPi.GPIO as GPIO
from pymycobot import MyCobot
mc = MyCobot('/dev/ttyS3', 1000000)
pin = 20
GPIO.setmode(GPIO.BCM)
# 设置GPIO 20为输出
GPIO.setup(pin, GPIO.OUT)
# 设置GPIO 20状态拉高
GPIO.output(pin, 1)
3 基于Blockly 开发使用
myBlockly是一款完全可视化的模块化编程软件,属于图形化编程语言。