一种集装箱装卸用移动机器人控制系统及方法与流程

文档序号:12818363阅读:451来源:国知局
一种集装箱装卸用移动机器人控制系统及方法与流程

本发明涉及一种集装箱装卸用移动机器人控制系统及方法。



背景技术:

随着劳动力成本的提高,研制用来代替人工的设备,提高集装箱装卸的自动化水平是必然要求。研制针对集装箱中装卸货物的机器人来代替人工,可以减少劳动力成本,提高工作效率。但是这种用途的机器人大多是固定式的,不能移动,自动化程度不高。关于移动式机器人在集装箱中的自动定位方面的研究也比较少。这些移动式机器人的宽度大多与集装箱宽度相差不大,运动范围比较小,手动控制机器人难于使机器人精确行驶在预定的路径,而且费时费力。



技术实现要素:

针对上述问题,本发明的目的是提供一种集装箱装卸用移动机器人控制系统及方法,通过无线和激光传感器来实现移动机器人自动导航和手动控制功能。

一种集装箱装卸用移动机器人控制系统包括多个机器人端、一个无线发射模块和一个用户端。为实现上述目的,本发明采取以下技术方案:

所述用户端包括一个上位机和一个无线操作手柄,所述上位机为植入控制软件和niopcserver软件的pc机;控制软件通过无线通信与无线操作手柄和多个机器人端的激光传感器进行交互;控制软件可以获取激光传感器和无线操作手柄的消息,并调用控制软件的相应模块处理;产生的控制信息传送给niopcserver软件;由niopcserver软件通过无线发送给控制器;控制软件和niopcserver软件可以通过ip地址连接不同的激光传感器和控制器。

所述多个机器人端中的每1个机器人端包括激光传感器和机器人;机器人又包含控制器、驱动器、伺服电机、机械手和机器人本体;控制器负责接收来自用户端的控制信息并做相应处理发送给驱动器,也负责反馈控制器和驱动器信息给上位机中的niopcserver软件;激光传感器安装在机器人本体前侧中心位置,处于机器人机械手下方。

所述无线发射模块是采用一个无线路由器来实现用户端和多个机器人端的控制器以及激光传感器在一定距离内的数据对传。

所述上位机中的控制软件与多个机器人端的控制器的通信需要niopcserver软件作为中介,其与niopcserver软件的数据交互通过labview的datasocket控件来实现。

所述上位机中的控制软件将无线操作手柄的动作映射成键盘消息,并有相应的键盘消息相应模块,可实现通过手柄控制机器人的运动。

一种集装箱装卸用移动机器人控制方法采用上述系统进行操作,具体操作步骤如下:

1)所述上位机的控制软件通过visualstudio的c#窗体应用程序模块开发,为用户提供了人机交互界面,其中visualstudio工具需安装可使用labview控件的插件;控制软件功能模块主要包括应用层模块、获取激光传感器数据模块、数据处理模块、运动控制模块、机械手运动控制模块、手柄动作映射为键盘消息模块、键盘消息响应模块、获取控制器反馈的信息模块;

2)niopcserver软件需做相应的配置,设置要连接的机器人控制器的ip地址,分配一些内存地址接收来自控制器的信息;成功连接控制器时,niopcserver软件轮询检测是否有数据到达;

3)在控制软件的应用层模块可以设置机器人运行模式,模式分为自动和自动;可以设置ip地址连接要通信的激光传感器,连接成功时则调用获取激光传感器数据模块;获取激光传感器数据模块开始周期性地获取激光传感器扫描集装箱得到的数据,每一次获取的数据都会调用数据处理模块进行处理,得到机器人相对于集装箱的实时位姿,得到机器人实际路径与预定路径的实时偏差;另外根据激光传感器测量得到的集装箱尺寸以及集装箱的实际尺寸,可以得到激光传感器测量的误差;根据这误差,可对上述得到的机器人位姿和路径偏差进行调整;

4)每一次数据处理模块执行完毕时会判断机器人运行模式,当处于自动模式时,启动运动控制模块,将调整后的路径偏差作为该模块的输入,得到相应的输出控制值;输出的控制值通过niopcserver软件发送给对应的机器人控制器,实现机器人自动导航,安全进入集装箱中;

5)通过控制软件的应用层模块可以接收无线操作手柄的动作信号,当机器人运行模式为手动时,将启动手柄动作映射为键盘消息模块以及键盘消息响应模块,输出相应的控制值给niopcserver软件,实现通过无线操作手柄控制机器人的运动;

6)通过控制软件的应用层模块用户可以发出指令调用机械手运动控制模块,实现机器人机械手装卸货物的功能;

7)通过获取控制器反馈的信息模块可以实时监测niopcserver软件中分配的内存地址中的数据变化,得到机器人的状态信息。

在所述步骤3)中,所述数据处理模块首先对激光传感器扫描得到的数据进行过滤,去除不属于集装箱的数据,之后把数据进行聚类和分段,按集装箱的矩形特征划分为三个数组的数据,并把三个数组数据分别利用最小二乘法拟合出三条直线,得到机器人相对预定路径的偏角δθ以及机器人前侧中心点到集装箱两侧面和前侧的距离,再接着求激光传感器测量的误差并把结果进行调整;机器人相对预定路径的偏距可按如下公式求得:,其中l表示机器人长度,d1表示机器人前侧中心点到集装箱右侧面的距离,d3表示机器人前侧中心点到集装箱左侧面的距离;按如下公式可求得机器人四个角点到集装箱两侧的距离,用于判断机器人是否有碰撞到集装箱的可能:

其中,w表示机器人宽度,m1表示右上角角点到集装箱右侧面的距离,m3表示左上角角点到集装箱左侧面的距离,m2表示右下角角点到集装箱右侧面的距离,m4表示左下角角点到集装箱左侧面的距离。

在所述步骤4)中,所述的运动控制模块在所述步骤3)求得的数据基础上判断d2即机器人前侧中心点到集装箱前侧面的距离是否接近目标距离,若是,则给停止运动命令,反之,判断d2是否大于目标距离。若d2大于目标距离则应给出机器人前进运动命令,反之给出机器人后退运动命令。若机器人此时的状态继续运动时会碰撞到集装箱,则应根据机器人的状态对机器人微调;若机器人继续运动时不会碰撞到集装箱,则接着判断机器人此时是否满足条件,若满足则直线行驶,若不满足则按人工驾驶思想调节机器人左右履带的速度和速度比。

本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:

1、用一个操作面板控制多个移动机器人,可降低人工成本、提高生产效率、增加经济效益,促进工业自动化的发展水平。

2、采用无线通信代替线缆,因此降低了成本,使用更加方便,且克服了线缆限制。

3、提高移动机器人的定位精度,进而提高了定位后装卸货物的质量。

4、使用激光传感器能避免碰撞到集装箱或障碍物,使得机器人运动过程中更加安全。

附图说明

图1是本发明实施例的移动机器人控制系统的结构框图。

图2是本发明实施例的移动机器人结构示意图。

图3是本发明中移动机器人控制系统的体系结构框图。

图4是本发明中移动机器人控制系统的工作流程框图。

图5是本发明中移动机器人控制系统的控制软件数据处理模块的程序框图。

图6是本发明实时例的移动机器人在集装箱中的实时位置示意图。

图7是本发明中移动机器人控制系统的控制软件运动控制模块的程序框图。

【标号说明】:1-激光传感器,2-控制器,3-驱动器,4-伺服电机,5-机器人左右履带,6-机器人机械手,7-无线路由器,8-上位机,9-无线操作手柄。

具体实施方式

下面结合附图和实施例对本发明的进行详细的描述。

实施例一,参见图1-图3,本集装箱装卸用移动机器人控制系统包括多个机器人端ⅰ、一个无线发射模块ⅱ和一个用户端ⅲ。所述用户端ⅲ包括一个上位机8和一个无线操作手柄9,所述上位机8为植入控制软件和niopcserver软件的pc机。该控制软件通过无线通信与无线操作手柄9和多个机器人端ⅰ中的激光传感器1进行交互。控制软件获取激光传感器n和无线操作手柄9的消息,并调用控制软件的相应模块处理。产生的控制信息传送给niopcserver软件,由niopcserver软件通过无线发送给机器人n中的控制器2。控制软件和niopcserver软件通过ip地址连接不同的激光传感器1和机器人控制器2。

所述多个机器人端ⅰ中的每1个机器人端包括激光传感器1和机器人。机器人又包含控制器2、驱动器3、伺服电机4、机械手6和机器人本体。控制器2负责接收来自用户端ⅲ的控制信息并做相应处理发送给驱动器3,也负责反馈控制器2和驱动器3的信息给上位机8中的niopcserver软件。激光传感器1安装在机器人本体前侧中心位置,处于机器人机械手6下方。

所述无线发射模块ⅱ是采用一个无线路由器7来实现用户端ⅲ和多个机器人端ⅰ的控制器2以及激光传感器1在一定距离内的数据对传。

实施例二,本实施例与实施例一基本相同,特别之处如下:所述用户端ⅲ的上位机8中的控制软件与多个机器人端ⅰ中的控制器2的通信需要niopcserver软件作为中介,其与niopcserver软件的数据交互通过labview的datasocket控件来实现。控制软件将无线操作手柄9的动作映射成键盘消息,并有相应的键盘消息响应模块,可实现通过该手柄9控制机器人n的运动。

实施例三,如图1所示,本实施例提供一种集装箱装卸用移动机器人控制系统,包括多个机器人端ⅰ、一个无线发射模块ⅱ和一个用户端ⅲ。一个用户端ⅲ包括一个上位机8和一个无线操作手柄9。一个无线发射模块ⅱ,仅用一个无线路由器7即可实现用户端ⅲ和多个机器人端ⅰ的一个控制器2以及激光传感器1在一定距离内的数据对传。如图2所示,是本实施例中的移动机器人结构示意图,采用履带式底盘,后轮驱动,包含控制器2、驱动器3、伺服电机4和机械手6。多个机器人端ⅰ中的每1个机器人端包含了一个激光传感器1和一个机器人,激光传感器1安装在机器人前侧中心位置,处于机器人机械手6下方。

如图3所示,是移动机器人控制系统的体系结构框图,上位机8包含了一个控制软件和一个niopcserver软件。控制软件通过无线通信与无线操作手柄9和多个机器人端ⅰ中的一个激光传感器1进行交互。控制软件获取激光传感器1和无线操作手柄9的消息,并调用控制软件的相应模块进行处理。产生的控制信息如机器人运动方向、运动速度、左右履带速度比等传送给niopcserver软件。由niopcserver软件通过wifi发送给相应的机器人控制器2。控制软件和niopcserver软件通过设置ip地址连接不同的激光传感器1和机器人控制器2。控制器2负责接收来自用户端ⅲ的niopcserver软件的控制信息并做相应处理发送给驱动器3,驱动器3再把控制信息转化为电流来控制伺服电机运转,进而驱动机器人运动。控制器2也负责反馈本身和驱动器3状态信息给上位机8中的niopcserver软件。

本实施中的控制器采用西门子plc,激光传感器采用sicklms100激光传感器,都含有无线通信功能。无线发射模块ⅱ采用无线路由器,可使用户端ⅲ和多机器人端ⅰ处于同一局域网中,用户端ⅲ即可根据ip地址连接不同的机器人控制器2和激光传感器1,实现一对多的控制。

本实施例中,上位机8中的控制软件与多个机器人端ⅰ的控制器2的通信需要niopcserver软件作为中介,与niopcserver软件的数据交互通过labview的datasocket控件来实现。控制软件也可以将无线操作手柄9的动作映射成键盘消息,并有相应的键盘消息响应模块,可实现通过手柄控制机器人的运动。

在图1、2的硬件结构基础上,本发明提供了基于一种集装箱装卸用移动机器人控制系统的控制方法,实现移动机器人自动导航和手动控制功能,如图4所示,本发明实现一种集装箱装卸用移动机器人控制方法的步骤如下:

1)上位机8的控制软件通过visualstudio的c#窗体应用程序模块开发,为用户提供了人机交互界面,其中visualstudio工具需安装可使用labview控件的插件。控制软件功能模块主要包括应用层模块、获取激光传感器数据模块、数据处理模块、运动控制模块、机械手运动控制模块、手柄动作映射为键盘消息模块、键盘消息响应模块、获取控制器反馈的信息模块。

2)niopcserver软件需做相应的配置,设置要连接的机器人控制器2的ip地址,分配一些内存地址接收来自该控制器2的信息。成功连接该控制器2时,niopcserver软件轮询检测是否有数据到达。

3)在控制软件的应用层模块可以设置机器人运行模式,模式分为自动和自动。也可以设置ip地址连接要通信的激光传感器1,连接成功时则调用获取激光传感器数据模块。获取激光传感器数据模块则开始周期性地获取激光传感器1扫描集装箱得到的数据,每一次获取的数据都会调用数据处理模块进行处理,得到机器人相对于集装箱的实时位姿,得到机器人实际路径与预定路径的实时偏差。另外根据激光传感器1测量得到的集装箱尺寸以及集装箱的实际尺寸,可以得到激光传感器1测量的误差,根据这误差,可对上述得到的机器人位姿和路径偏差进行调整。在这过程中,数据处理模块的处理过程如图5所示:首先对激光传感器1扫描得到的数据进行过滤,去除不属于集装箱的数据,之后把数据进行聚类和分段,按集装箱的矩形特征划分为三个数组的数据,并把三个数组数据分别利用最小二乘法拟合出三条直线,得到机器人相对预定路径的偏角δθ以及机器人前侧中心点到集装箱两侧面和前侧的距离,如图6所示,在集装箱左上角建立坐标系xoy,s直线表示机器人预定路径。再接着求激光传感器测量的误差并把结果进行调整。机器人相对预定路径的偏距可按如下公式求得:,其中l表示机器人长度,d1表示机器人前侧中心点到集装箱右侧面的距离,d3表示机器人前侧中心点到集装箱左侧面的距离。按如下公式可求得机器人四个角点到集装箱两侧的距离,用于判断机器人是否有碰撞到集装箱的可能。

其中,w表示机器人宽度,m1表示右上角角点到集装箱右侧面的距离,m3表示左上角角点到集装箱左侧面的距离,m2表示右下角角点到集装箱右侧面的距离,m4表示左下角角点到集装箱左侧面的距离。

4)每一次数据处理模块执行完毕时都会判断机器人运行模式,当处于自动模式时,启动运动控制模块,将调整后的路径偏差作为该模块的输入,得到相应的输出控制值。输出的控制值通过niopcserver软件发送给对应的机器人控制器2,实现机器人自动导航,安全进入集装箱中。运动控制模块的具体处理过程如图7所示:首先在数据处理模块求得的数据基础上判断d2即机器人前侧中心点到集装箱前侧面的距离是否接近目标距离,若是,则给停止运动命令,反之,判断d2是否大于目标距离。若d2大于目标距离则应给出机器人前进运动命令,反之给出机器人后退运动命令。若机器人此时的状态继续运动时会碰撞到集装箱,则应根据机器人的状态对机器人微调。若机器人继续运动时不会碰撞到集装箱,则接着判断机器人此时是否满足条件,若满足则直线行驶,若不满足则按人工驾驶思想调节机器人左右履带5的速度和速度比。由于该实施例的机器人采用履带式底盘,相比轮式机,其运动控制更为困难。主要原因是履带式车在运动过程中会打滑,且履带和地面作用比较复杂。所以分析得到的机器人路径偏差模型和运动模型并不精确,需要进行试验,从而获取一定的运动规则。

5)通过控制软件的应用层模块可以接收无线操作手柄9的动作信号,当机器人运行模式为手动时,将启动手柄动作映射为键盘消息模块以及键盘消息响应模块,输出相应的控制值给niopcserver软件,实现通过无线操作手柄9控制机器人的运动。

6)通过控制软件的应用层模块用户可以发出指令调用机械手运动控制模块,实现机器人机械手6装卸货物的功能。

7)通过获取控制器反馈的信息模块可以实时监测niopcserver软件中分配的内存地址中的数据变化,得到机器人的状态信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1