一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人控制方法、机器人及计算机可读存储介质与流程

2022-09-07 16:55:18 来源:中国专利 TAG:


1.本发明大致涉及智能设备控制技术领域,尤其是一种机器人控制方法、机器人以及计算机可读存储介质。


背景技术:

2.控制机器人在一定的空间范围内运动,例如仓储、配送、清洁、消毒等多个领域,通常都需要建立机器人活动范围内的地图,然后根据机器人在地图中的定位对机器人进行导航。
3.在实际的应用场景中,机器人的活动范围内通常会存在障碍物,例如墙壁、桌椅、货架,以及活动的障碍物或人为设置的虚拟墙、禁入区等。在控制机器人导航避障时,如果发生定位丢失的情况,机器人坐标有概率会在虚拟墙内,或运动时贴离障碍物太近等情况会导致机器人坐标在代价地图中碰撞概率过高而无法继续导航,机器人停靠在原地无法继续运动。目前,现有的机器人脱困方法未融合机器人上的传感器,不基于地图计算而是基于激光原地旋转检测脱困的技术方法,导致机器人无法脱困。
4.背景技术部分的内容仅仅是发明人所知晓的技术,并不当然代表本领域的现有技术。


技术实现要素:

5.针对现有技术中的一个或多个缺陷,本发明提供一种机器人控制方法,所述机器人具有距离传感器,所述机器人控制方法包括:
6.控制距离传感器获得机器人周边环境的信息;
7.结合机器人周边环境的信息和代价地图,获取机器人周边预设距离范围内不同点位的代价值,并根据代价值获取目标点;
8.控制机器人从当前位置运动至目标点。
9.根据本发明的一个方面,其中所述代价地图利用slam方法构建,并根据所述机器人中传感器获取的数据进行更新;所述代价值至少包括机器人发生碰撞的风险和与机器人当前位置的距离。
10.根据本发明的一个方面,在控制机器人运动至预设位置的过程中,利用距离传感器实时获取机器人与障碍物之间的距离;
11.判断机器人与障碍物的距离是否小于第一阈值;
12.当机器人与障碍物的距离小于第一阈值,执行所述机器人控制方法。
13.根据本发明的一个方面,在控制机器人从当前位置运动至目标点后,控制机器人继续执行运动至预设位置的过程。
14.根据本发明的一个方面,所述机器人控制方法还包括:
15.控制距离传感器持续扫描机器人的周边环境;
16.根据距离传感器获取的数据,判断机器人运动前方是否存在障碍物;
17.当机器人前方不存在障碍物时,控制机器人运动至目标点。
18.根据本发明的一个方面,当机器人前方存在障碍物时,根据机器人当前位置的周边环境的信息重新选择目标点。
19.根据本发明的一个方面,其中所述获取目标点的步骤包括:
20.以机器人的当前位置为圆心,由内至外遍历计算代价地图中圆心预设距离内不同点位的代价值;
21.选取代价值最低的点作为目标点。
22.根据本发明的一个方面,其中所述控制机器人从当前位置运动至目标点的步骤包括:
23.计算目标点的坐标和机器人当前位置的坐标;
24.通过pid控制方式持续给出线速度和角速度,并计算两点之间的距离差,直到到达目标点。
25.根据本发明的一个方面,其中所述障碍物包括机器人活动范围内的实体障碍物和/或在机器人活动范围内设定的虚拟墙。
26.根据本发明的一个方面,其中所述控制距离传感器获得机器人周边环境的信息的步骤包括:对距离传感器获得的信息进行噪点过滤。
27.根据本发明的一个方面,本发明还包括一种机器人,所述机器人包括:
28.主体;
29.运动装置,所述运动装置设置于所述主体上,并能够受驱以带动所述主体运动;
30.距离传感器,所述距离传感器设置于所述主体上;和
31.控制系统,所述控制系统与所述距离传感器和所述运动装置通讯,并配置成能够执行如前所述的机器人控制方法。
32.根据本发明的一个方面,其中所述距离传感器设置在主体的顶部和/或主体的底部,并能够扫描到所述机器人运动方向的正前方区域。
33.根据本发明的一个方面,本发明还包括一种计算机可读存储介质,包括存储于其上的计算机可执行命令,所述可执行命令在被处理器执行时实施如前所述的机器人控制方法。
34.与现有技术相比,本发明的实施例中提供了一种机器人控制方法,依靠机器人上传感器获取机器人周边环境的信息,同时结合代价地图,感知预设的虚拟墙等禁区,利用代价值计算获得机器人周边环境中的目标点,通过控制机器人运动至目标点位置,在机器人运动过程中实现应激式脱困。利用传感器能够获取机器人周边环境的真实情况,避免了发生碰撞、跌落等情况,解决了机器人脱困问题,提高了机器人的安全性。使机器人执行任务的过程更加流畅,而不至于因障碍物等因素使机器人原地停止无法导航,导致机器人任务停滞。本发明还包括一种机器人及计算机可读存储介质,用于执行前述的机器人控制方法。
附图说明
35.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
36.图1是本发明的一个实施例中机器人控制方法的流程示意图;
37.图2是本发明的一个实施例中包括判断障碍物过程的机器人控制方法的流程示意图;
38.图3是本发明的一个实施例中包括获取目标点过程的机器人控制方法的流程示意图;
39.图4是本发明的一个实施例中包括控制机器人运动至目标点过程的机器人控制方法的流程示意图;
40.图5是本发明的一个实施例中机器人脱困的示意图;
41.图6是本发明的一个实施例中机器人的结构框图。
具体实施方式
42.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
43.在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"竖直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。
44.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
45.在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
46.下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
47.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实
施例仅用于说明和解释本发明,并不用于限定本发明。
48.固定场景内活动的机器人,例如仓储机器人、送餐机器人和清扫机器人等,在运动过程中,通常是确定机器人的目标位置,根据地图规划路线,控制机器人沿规划路线运动至目标位置。机器人的活动场景中并非仅存在固定位置的障碍物,能够在构建地图中进行标记,控制机器人避让,还存在活动障碍物,或临时得到固定障碍物,例如在机器人场景中移动的人员,或临时放置在机器人运动路径上的物体,这类障碍物的位置并未在地图中进行标记,因此需要机器人获取障碍物的位置尺寸信息,并进行避让。另外,在很多机器人的活动场景中,还存在人为设置的虚拟墙,例如家用的扫地机器人认为地对室内环境划定禁区,限制机器人只在固定的范围内活动,即现实中并不存在墙体,但对于机器人路径规划来说属于不可碰撞的障碍物。
49.在实际的应用场景中,可能会发生机器人定位丢失的情况,机器人在地图中的坐标可能会定位至障碍物内,例如虚拟墙内,或距离障碍物过近,同时由于机器人的控制系统中存在安全检测,在可能发生碰撞时,会导致机器人受困。
50.图1示出了根据本发明的一个实施例中机器人控制方法100的具体流程,其中机器人具有距离传感器,例如深度传感器、激光雷达、3d立体摄像头等,通常安装在机器人的固定位置处,能够对一定范围内的环境进行扫描,并获取障碍物信息。
51.在步骤s101,控制距离传感器获得机器人周边环境的信息,其中周边环境的信息包括机器人周边实际存在的障碍物,利用距离传感器能够获取障碍物的位置、距离机器人的尺寸以及障碍物的范围。优选的,由于距离传感器通常固定设置在机器人上,可以控制机器人原地旋转,以全面地获取机器人周边环境的信息。
52.在步骤s102,结合机器人周边环境的信息和代价地图,获取机器人周边预设距离范围内不同点位的代价值,并根据代价值获取目标点。
53.具体的,在机器人进行路径规划时,需要利用环境全局地图,但由于全局地图是静态地图,例如是一张图片,无法更新地图中的障碍物信息。在实际应用中,机器人的活动场景内可能会存在活动障碍物或临时障碍物,或旧有的障碍物已经从现实环境中删除,全局地图更新不及时会影响机器人的路径规划和机器人的运行安全。因此,为保障机器人安全运行,需要利用代价地图。代价地图不仅包含了原始地图信息,还加入了其他辅助信息。代价地图在机器人接收任务时建立,并在机器人运动的过程中持续根据机器人上的多种传感器获取机器人本体和障碍物信息进行更新,具体的,对障碍物的周边边界进行扩展膨胀,以便代价地图能够更清晰地显示机器人的可利用空间,避免机器人与障碍物发生碰撞,但在机器人受困的情况下,可能会导致机器人因无法通过安全检测而在原地停止。代价地图包括了机器人活动场景中的障碍物信息,例如固定的墙体、室内结构以及人为设定的虚拟墙,同时还包括机器人在代价地图中的位置,以避免机器人直接运动至虚拟墙中,在本实施例中结合距离传感器获取的机器人周边环境的信息,能够避免机器人与障碍物发生碰撞,并能够用于计算不同点位的代价值。根据本发明得到优选实施例,在机器人导航运动时实时持续检测,代价地图根据机器人上的距离传感器获取的障碍物信息进行更新。在本步骤中,调用代价地图,并根据距离传感器获取的数据,计算机器人周边预设距离范围内不同点位的代价值。
54.机器人周边预设距离范围内可以是距离传感器扫描的范围,结合机器人上的距离
传感器获取的障碍物信息,能够准确获取机器人与障碍物的具体位置关系,以及虚拟墙的位置。获取机器人周边预设距离范围内不同点位的代价值,其中不同点位表示机器人可能运动至的位置,但由于存在障碍物,因此不同点位的代价值不同,具体的,代价值指机器人发生碰撞事故的风险,例如在机器人的正前方存在障碍物,则机器人朝向障碍物运动的过程中碰撞风险升高,代价值增大。通过代价值对机器人周边的点位进行排序,优选的,选择代价值最低的点位作为目标点。
55.根据本发明的优选实施例,代价地图利用slam方法构建,即控制机器人在活动范围内移动,利用机器人上的传感器多次扫描,获取机器人活动范围内边界的位置,形成闭合的地图。slam方法构建的地图内能够准确反映固定障碍物的位置和尺寸信息,例如房屋墙体、柱子转角等固定障碍物。代价地图还包括认为设定的虚拟墙,如图5中所示,在机器人的活动范围内设置虚拟墙,控制机器人禁止进入,例如在家庭清扫的应用场景中,可以人为设定不需清扫的范围,以满足使用者的不同需求。本实施例中代价地图还根据机器人中传感器获取的数据进行更新,保证代价地图的时效性和准确性。进一步的,根据本发明的优选实施例,代价值至少包括机器人发生碰撞的风险和该点位与机器人当前位置的距离。具体的,设定代价值随该点位与机器人之间的距离增大而增加,根据优选实施例,选择尽量靠近机器人当前位置的点位作为目标点,减少控制机器人脱困时的移动次数和移动距离。
56.在步骤s103,控制机器人由当前位置运动至目标点,目标点根据代价值选择,因此机器人能够正常运动至目标点,到达目标点后,机器人位置改变,根据本发明的优选实施例,此时,存在机器人脱困或未脱困两种情况,对于已经脱困的机器人,可以根据机器人的当前位置继续运动至任务的目的地。而未脱困的情况下,可以控制机器人重复执行机器人控制方法100,重新选定当前位置下的目标点,并运动至目标点。
57.进一步的,根据本发明的优选实施例,在获取目标点后,计算目标点的坐标和机器人当前位置的坐标,然后通过pid控制方式持续计算线速度和角速度,并计算目标点和机器人当前位置的距离差,直至控制机器人运动至目标点。pid算法是一种按照偏差的比例(p)、积分(i)和微分(d)进行控制的方法,原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单,在本实施例中根据目标点的坐标和机器人当前位置的坐标,优选的,在机器人运动过程中根据机器人当前位置坐标的变化,实时计算线速度和角速度,控制机器人运动至目标点位。
58.图2示出了根据本发明的优选实施例中机器人控制方法200,其中包括了判断机器人与障碍物之间距离的过程,具体的,在步骤s201,根据距离传感器获取的机器人周边环境的信息,判断机器人与障碍物的距离是否小于第一阈值。当机器人与障碍物的距离小于第一阈值时,在步骤s202,执行前述实施例中的机器人控制方法。当机器人与障碍物的距离不小于第一阈值时,在步骤s203,控制机器人继续运动,以执行当前任务。
59.具体的,第一阈值可以根据机器人的活动场景设定,例如是15厘米。在本实施例中,机器人正常运动执行当前任务,机器人受困的情况主要是由于机器人与障碍物的距离过近,导致机器人停止运动,但是在实际情况下,机器人并未与障碍物发生碰撞,具有活动余量。因此在本实施例中,将机器人与障碍物之间的距离作为判断是否需要通过本发明提供的机器人控制方法脱困的条件,同时利用距离传感器获取障碍物的距离还能够防止机器人与障碍物发生碰撞。具体的,机器人在接收任务,沿规划路线向当前任务的预设位置运动
得到过程中,持续控制距离传感器获取机器人周边环境的信息,并根据距离传感器获取的信息更新代价地图,当机器人与障碍物的距离小于第一阈值时,例如通过距离传感器获取机器人与障碍物的距离小于第一阈值,触发前述实施例中的机器人控制方法。例如机器人开始执行任务,当机器人运动过程中,遇到有人故意站在前方很近位置阻挡或者定位出现偏差导致机器人坐标在代价地图中离障碍物特别近时,导航算法已不能及时避开障碍物运动,认为机器人本体已马上撞到障碍物从而停止导航与运动在原地停止。此时执行本发明中提供的机器人控制方法,避免机器人发生碰撞,并控制机器人脱困。
60.进一步的,根据本发明的优选实施例,当机器人运动到目标点后,控制机器人继续执行运动至当前任务的预设位置的过程。机器人在正常执行任务的过程中,可能会因通讯中断等原因导致机器人定位丢失,导致机器人受障碍物影响无法继续执行任务,利用本实施例中机器人控制方法,结合距离传感器获取的机器人周边环境的信息,以及代价地图,控制机器人运动至目标点脱困,使机器人能够继续执行任务,向当前任务的预设位置运动。当然,在部分实施例中,当机器人与障碍物的距离不小于第一阈值,控制机器人继续执行任务,并在运动的过程中,控制距离传感器实时扫描机器人周边的环境,监控机器人与障碍物之间的距离。
61.如图3所示,根据本发明的优选实施例,机器人控制方法300还包括进一步获取与障碍物距离的过程,具体的,机器人控制方法300中的步骤s301和步骤s302和机器人控制方法100中的步骤s101和步骤s102基本相同,字在此不再赘述。在获取目标点后,根据本实施例,在步骤s303,控制机器人向目标点运动。在本实施例中,机器人与障碍物的距离较近,为控制机器人脱困,避免与障碍物发生过碰撞,在步骤s304,控制距离传感器持续扫描机器人的周边环境,在机器人向目标点运动的过程中,持续扫描机器人的运动路径,优选的,扫描机器人运动的前方区域。在步骤s305,判断机器人运动前方是否存在障碍物,当存在障碍物时,返回步骤s302,在机器人的当前位置重新选择目标点,并继续向目标点运动。当机器人运动的前方不存在障碍物时,在步骤s306,控制机器人继续向目标点运动,直至运动到目标点。当机器人受困时,机器人与障碍物的距离过近,导致无法通过机器人的安全检测,并且可能存在定位丢失的情况,在这种情况下代价地图中的障碍物信息可能存在误差,因此,在本实施例,机器人向目标点运动的过程中,控制距离传感器实时持续地获取机器人运动前方的信息,并获取障碍物的实际位置,避免发生碰撞,当存在障碍物时,重新选择目标点,纠正机器人的脱困路线,最终实现机器人脱困,能够继续执行当前任务。
62.当机器人处于获得目标点状态时,避障运动已不能基于代价地图来实现,而是计算出目标点坐标和机器人本体坐标,并通过pid控制方式持续给出线速度和角速度,并计算两点之间的距离差,直到到达目标点为止。
63.持续控制机器人中的距离传感器,例如正前方顶部的深度摄像头数据和正前方底部的激光探头和深度摄像头数据,筛选出机器人正前方半椭圆形区域内是否有障碍物。如果有障碍物就会再次计算下一个最优目标点并检测,直到转到正前方没有障碍物的方向后就向最新最优目标点开始移动。当到达目标点后再切换成导航模式继续导航。具体的,例如图5所示,在机器人运动的前方存在临时障碍物,机器人运动方向的右侧存在人为设置的虚拟墙。在本实施例中,目标点优先选择与机器人当前位置距离近的点位,但在实际应用中,仅通过短距离的移动存在无法脱困的可能,需要控制距离传感器再次获取障碍物的信息,
根据本发明的实施例中提供的机器人控制方法重新选择目标点,并向目标点移动。此时就会触发本方法计算出不在虚拟墙和障碍物中的最优目标点,并朝目标点移动,同时通过摄像头和激光探头来感知机器人正前方是否有障碍物,如果有就持续计算目标点后运动并检测,直到运动到正前方没有障碍物的最优目标点。使机器人远离障碍物与虚拟墙和禁区,从而再切换到导航状态时才能继续导航到目的地。当转到56个目标点之后没找到路径,停止报错;走出来但偏离预设目标点较远,就直接用导航地图。周围没有障碍物,就返回导航。不会穿过虚拟墙。
64.在本发明的优选实施例中,还提供了获取目标点的过程,如图4所示,机器人控制方法400中的步骤s401和步骤s404与机器人控制方法100中的步骤s101和步骤s103基本相同,在步骤s402,当需要计算获得目标点时,以机器人的当前位置为圆心,由内至外遍历代价地图中圆心预设距离内不同点位的代价值,在本实施例中,代价值至少包括机器人发生碰撞的风险和与机器人当前位置的距离,因此,在本实施例中控制机器人由当前位置向外依次计算不同点位的代价值,并在步骤s403,选择代价值最低的点作为目标点,减少机器人单次移动的距离,降低机器人发生碰撞的风险。
65.根据本发明的优选实施例,控制距离传感器获取机器人周边环境的信息的步骤还包括对距离传感器获得的信息进行噪点过滤。本实施例应用于控制机器人脱困的场景中,机器人与障碍物的距离较近,对距离传感器获取的信息进行降噪处理能够进一步提高障碍物信息的准确性,防止机器人与障碍物发生碰撞。
66.如图6所示,本发明还包括一种机器人1的实施例,具体的,机器人1包括主体、运动装置10、距离传感器20和控制系统30,其中主体是机器人1的主要结构框架,机器人1中各部组件均通过主体固定,主体可以采用合金材料或有机材料制成固定性状,机器人1中各部分组件安装在主体中的对应位置上。运动装置10设置在主体上,并能够受驱以带动机器人1运动,优选的,运动装置10采用轮式结构,例如由电动机驱动的万向轮,以保证机器人1在运动时始终与地面平行,保证机器人1稳定运行,使机器人能够完成配送、搬运、清洁等的具体任务。
67.距离传感器20固定设置在主体上,优选的,与主体的存在固定的约束关系,能够对机器人1的周边环境进行扫描,获取距离信息或点云数据等。根据不同的实施例,机器人1上安装的距离传感器20优选为多个,以全面地获取机器人1周边环境的信息。具体的,距离传感器20可以是激光测距设备、激光雷达、深度相机等。
68.控制系统30设置在主体上,并且与运动装置10和距离传感器20信号连接,例如控制系统30为处理器,通过数据线或无线通讯的方式与运动装置10和距离传感器20通讯,能够控制运动装置10和距离传感器20工作,并接收距离传感器20获取的机器人周边环境的信息。本实施例中的控制系统30能够执行前述实施例中的机器人控制方法,用于控制机器人1脱困,并避免发生碰撞事故。
69.根据本发明的优选实施例,具体的,机器人1包括承载物品的壳体、移动底盘、提供用户操作的功能控制器、地图生成和路径规划的底层控制器、以及控制移动单元和环境检测单元的元件控制器。移动底盘设置至少两组驱动轮,每组驱动轮分别位于移动底盘一侧。元件控制器控制驱动轮的行进速度。
70.具体的,移动单元设置的驱动轮中,至少一组驱动轮用作左驱动轮,同时,至少一
组驱动轮用作右驱动轮,左驱动轮和右驱动轮位于底盘的相对相侧,用于实现机器人1转向,在控制机器人朝向目标点运动时,由于机器人受困,周边环境情况复杂,通常需要旋转改变机器人的位姿,并根据不同的线速度和角速度,控制机器人运动目标点。
71.可选的,移动单元还可以包括至少两组从动轮,一组驱动轮对应一组从动轮,其中,至少一组从动轮用作左从动轮,同时,至少一组从动轮用作右从动轮,左从动轮和右从动轮用于协助左驱动轮和右驱动轮带动机器人的壳体和底盘运动,减轻驱动轮的负载压力。
72.根据本发明的优选实施例,机器人1中的距离传感器设置在主体的顶部和/或主体的底部,并能够扫描机器人1运动方向的正前方区域,以获取障碍物的信息。在室内的活动场景中,可能存在例如阶梯的结构,地面具有高度差,而对于轮式机器人,无法跨越较大的高度差,因此也需要对类似阶梯的结构进行避让,设置在机器人1主体底部的距离传感器能够用于获取类似阶梯结构的障碍物的信息。
73.根据本发明的一个优选实施例,还包括一种计算机可读存储介质,包括存储于其上的计算机可执行命令,所述可执行命令在被处理器执行时实施如前所述的机器人控制方法。
74.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献