一、RobotBasic编程语言介绍
1、简介
RobotBasic是一种集成机器人模拟器的解释性编程语育,与标准Basic语言相似具备所有编程语言的特点, 即语法简学、易编写和易调试。在使用中,可以直接利用模拟器来研究与环境相关的传感器, 可以改变传感器的类型和安装方式,使其适合不同的软件,也可以完成对各类现实环境进行模拟算法测试,并且可用于原型设汁。
2、优点
RobotBasic语言功能强大,远不止普通的机器人模拟器功能。无论足普通的图形、动画还是复杂的数学计算,本编程语言都可给予以支持,甚至能支持从I/O口到蓝牙技术。进行台理的编程和设置属, 可以用其来控制现实中的机器人学习RobotBasic语言编之前,是不需要特地组装一台机器人的,以往动辄数月的时间完全可以省下来。学习对可以直接编程,由于这是模拟控制过程,也不会出 现电池需要充电或损坏设备的问题。由于这是模拟控制过程,也不会现电池需要充电或损坏设备的问题。基本的远程遥控、避障,或者是专业的除草、破解迷宫、目标定位等机器人功能,都能直接模拟。
二、RobotBasic控制命令
(1)rCommPort ne PortNum{,ne— BaudRate{,ne~ NumBits{,ile— Parity{,ne StopBits{,ne—Protoco1))))}
打开串口rle PortNum。
(2)rCommand(ne Command,ne— Data)
这个函数将两个字节ne—eommand~lne—data发送给串口并将字符串中返回5个字节的数据(字节缓冲区)。用于指定指令,可以用来发送控制手抓、升降和回转电机的命令,实现对货物的取放。
(3):Locate ne—X,ne— Y(code 3)
该命令初始化真正的机器人和启动命令的过程。发送两个字节03和ne x。它将接收5个字节,*后两个是没有用的。
(4)rForward ne Amount(code 6 or 7)
这个命令发送两个字节6(或7)和Abs(ne~mount)。6是前进7是倒退。ne amount表示移动距离,为正值则发送6, 为负值则发送7。接收到的数据包含5字节,但只有前3的使j{j,他们将用来表示传感器的状态。
(5)rTurn ne Amount(code 12 or 13)
这个命令发送两个字节l2(或13)~HAbs(neAmou~lt).12表示右转13表示左传。ne_Mlount表示转动角度,为正发送12,如果为负发送13。
(6 )rSpeed ne— Speed(code 36)
这个命令发送两个字节36f~ne speed。用于设置机器人行进速度,ne speed表示速
度(0~255)。同时命令还等待接收5字节。前3个字节表示传感器的状态。*后的两个字节没用到,可以为0。
三、控制命令和协议编制
优傲机器人将接收到的控制命令有以下两个部分:移动地盘部分控制命令包括前进(6)、后退(7)、左转(13),右转(12)、初始化(3)和速度设置(36);手臂部分控制命令包括手抓(101)、平移(1O2)、升降(103)和回转(104)。机器人需要在接收到控制命令后回传5个字节的数据,包括3个字节的传感器数据。**个字节为8位循线传感器数据、第二三个字节为其他12路传感器的数据。这些数据将由RobotBasic存放在缓存内供传感器函数使用。机器人端协议执行流程如图2所示,首先等待接收2个字节的控制命令,接收到命令后、执行命令对应的控制程序代码, 然后回传5个字节数据。