You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

3.5 KiB

硬件接口

connector-cl2 通讯

MQTT Package

任务结构

所有的任务,都分为3个层级

第一级 业务任务 BizTask
第二级 预执行任务 PlanTask
第三级 设备指令任务 DiviceTask

比如

[树形展开]+  第一级任务列表 BizTask 业务任务
                  [树形展开]+ 预执行任务1.1 PlanTask
                  [树形展开]+ 预执行任务1.2 PlanTask
                  [树形展开]+ 预执行任务1.3 PlanTask
                                   设备执行任务1.3.1 DeviceTask1
                                   设备执行任务1.3.2 DeviceTask1
                                   设备执行任务1.3.3 DeviceTask3

任务拆解

业务任务 BizTask

RCS.dispatchTask({
  type: 'carry',          // 任务类型
  agv: 'cl2',             // 指定车辆
  lpn: 'pallet1124',      // 托盘ID, 用于校验
  from: '27',             // 起始点位
  to: '20'                // 目标点位
});

业务任务是用户发起的任务,通常是通过 LCC 控制中心的界面来发起。

com.galaxis.rcs.task.TaskManager 会将任务拆解为多个预执行任务 PlanTask。 比如下面的指令

发送

移动 robotMove
{
	type: 'robotMove',
	robotId: '机器人编号',   // 机器人设备ID
	startWayPoint: '24',   // 起点Id, WayPointId
	endWayPoint: '16',     // 终点ID, WayPointId
	armRotiation: numer    // 货叉/机械臂,相对于头的角度, 逆时针为正
}

LCC 控制中心使用的是第一人称视角参照系。FirstPerson

CL2 和 CLX 使用的是货叉朝向和方向正负系。比如: 凯乐士CL2使用

[{ "X": 3, "Y": 5, "Speed": 1200 }, { "X": 1, "Y": 5, "Speed": -1000}]

那么,从 LCC 控制参考,转换为 CL2 / CLX 控制参考,应当使用方法为: FirstPersonToCl2.convertMoveCommand()

转动 robotRotation
{
	type: 'robotRotation',
	robotId: '机器人编号',
	worldRotation 90		// 转动身体到世界角度 90 度
}
取货 robotLoad
{
	type: 'robotLoad',
	robotId: '机器人编号',
	storeBarCode: '地标二维码编号', // 用于校验
	boxItem: '容器ID',	// 托盘或周转箱ID,用于校验
	rackItem: '货架ID', // 源货架/层/列/格
	bay: '列',
	level: '层',
	cell: '格'
}
放货 robotUnload
{
	type: 'robotUnload',
	robotId: '机器人编号',
	storeBarCode: '地标二维码编号', 	// 用于校验
	rackItem: '货架ID', 				// 目标货架/层/列/格
	bay: '列',
	level: '层',
	cell: '格'
}
充电 robotCharger
{
	type: 'robotCharger',
	robotId: '机器人编号',
	chargerItem '20'		// 充电位ID
}

接收

位置/姿态/电量/等其他数据上报
{
	type: 'reportState',
	locationX: number,			// 目前所在位置
	locationY: number,
	lookAtX: number,			// 第一人称视角望向的位置
	lookAtY: number, 
	armRotation: number,		  // 货叉/机械臂相对于头的偏移角度,逆向旋转角度为正
	totalBatteryCapacity: number, // 总电池容量
	remainingBattery: number,     // 剩余电池容量
	alermLevel: number,			  // 报警层级 1=全界面警告 / 2=当前层警告 / 3=不警告
	LED: string					  // LED 灯状态
}
心跳上报
{
	type: 'heartbeat',
	createTime: number // 相对于 1970年以来的毫秒总数,时间戳
}

基于硬件接口的监控及动画显示

store_location_map

location_code

item

bay

level

cell