CN116872217B - 机器人控制方法、装置、机器人和存储介质 - Google Patents

机器人控制方法、装置、机器人和存储介质 Download PDF

Info

Publication number
CN116872217B
CN116872217B CN202311126326.4A CN202311126326A CN116872217B CN 116872217 B CN116872217 B CN 116872217B CN 202311126326 A CN202311126326 A CN 202311126326A CN 116872217 B CN116872217 B CN 116872217B
Authority
CN
China
Prior art keywords
speed
target
running
result
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311126326.4A
Other languages
English (en)
Other versions
CN116872217A (zh
Inventor
张永胜
吴翔
刘欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Pudu Technology Co Ltd
Original Assignee
Shenzhen Pudu Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Pudu Technology Co Ltd filed Critical Shenzhen Pudu Technology Co Ltd
Priority to CN202311126326.4A priority Critical patent/CN116872217B/zh
Publication of CN116872217A publication Critical patent/CN116872217A/zh
Application granted granted Critical
Publication of CN116872217B publication Critical patent/CN116872217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本申请涉及机器人控制方法、装置、机器人和存储介质。所述方法包括:基于目标运行速度、当前运行速度和速度阈值,确定目标时刻对应的目标运行状态;当目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个;判断获取的结果是否为满足速度限制条件的结果;若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器;通过电机控制器基于目标运行速度在目标时刻运行机器人。采用本方法能提高机器人运行的平稳度。

Description

机器人控制方法、装置、机器人和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种机器人控制方法、装置、机器人和存储介质。
背景技术
随着计算机技术的发展,出现了控制机器人平稳运行技术,目前机器人配送饮品和汤品时对平稳性的要求较高,现有技术主要通过控制算法来实现机器人的平稳运行,但是由于控制算法计算得到的速度变化差异较大,从而导致机器人运行的平稳度较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现控制机器人平稳运行的机器人控制方法、装置、机器人和存储介质,提高了机器人运行的平稳度。
一种机器人控制方法,所述方法包括:
获取当前运行速度和目标时刻对应的目标运行速度,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态;
当所述目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人;
其中,
所述获取运行状态判断结果的步骤为获取当前运行状态,对所述当前运行状态对应的类型与所述目标运行状态对应的类型进行判断,得到运行状态判断结果;
所述获取时间判断结果的步骤为获取目标前向运行状态对应的前向运行时间,获取当前时间与所述前向运行时间对应的时间间隔,将所述时间间隔与预设时间阈值进行比较,得到时间判断结果;
所述获取第一结果的步骤为获取所述目标时刻对应的历史时间区间的俯仰角数据集,将所述俯仰角数据集中的各个俯仰角与俯仰角阈值进行比较,得到第一结果;
所述获取第二结果的步骤为获取所述俯仰角数据集中的各个俯仰角之间的角度差,将所述各个角度差与预设角度进行比较,得到第二结果。
在其中一个实施例中,若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下三个中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在其中一个实施例中,若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下两个中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在其中一个实施例中,若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下的一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在其中一个实施例中,所述若是满足所述速度限制条件的结果,包括:
所述运行状态判断结果为所述当前运行状态对应的类型与所述目标运行状态对应的类型不一致;
和/或,
所述时间判断结果为所述时间间隔小于所述预设时间阈值;
和/或,
所述第一结果为所述俯仰角数据集中存在一个俯仰角对应的绝对值大于所述俯仰角阈值;
和/或,
所述第二结果为存在一个角度差对应的绝对值大于所述预设角度。
在其中一个实施例中,获取目标时刻对应的目标运行速度包括:
基于所述当前运行速度和速度变化限制规则,采样多组组合速度;
基于所述多组组合速度,计算得到多组中间运行轨迹;
基于评价函数,从所述多组中间运行轨迹中确定目标运行轨迹;
将所述目标运行轨迹对应的速度作为所述目标运行速度。
在其中一个实施例中,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态包括:
将所述目标运行速度和所述当前运行速度进行差值运算,得到速度差值;
当所述速度差值大于或等于所述速度阈值时,将提速运行作为所述目标运行状态;
当所述速度差值对应的绝对值小于所述速度阈值时,将匀速运行作为所述目标运行状态;
当所述速度差值与所述速度阈值相加得到的值小于预设值时,将减速运行作为所述目标运行状态;所述非匀速运行包括所述提速运行和所述减速运行。
在其中一个实施例中,所述方法还包括:
当所述目标运行状态为匀速运行时,将所述目标时刻对应的目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在其中一个实施例中,获取当前运行状态包括:
获取所述目标时刻对应的历史时间区间的速度标志集;
当所述速度标志集中存在第一预设数量的减速类型标志时,将减速运行作为所述当前运行状态;
当所述速度标志集中存在第二预设数量的提速类型标志时,将提速运行作为所述当前运行状态;
当所述速度标志集中存在第三预设数量的速类型标志时,将匀速运行作为所述当前运行状态;
当所述速度标志集中的各个类型标志对应的数量为其他情况时,获取前向运行状态,将所述前向运行状态作为所述当前运行状态。
一种机器人控制装置,所述装置包括:
状态确定模块,用于获取当前运行速度和目标时刻对应的目标运行速度,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态;
结果确定模块,用于当所述目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个;判断获取的结果是否为满足速度限制条件的结果;
运动控制模块,用于在若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;在若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
一种机器人,所述机器人包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器用于执行所述计算机可读指令时实现上述机器人控制方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述机器人控制方法的步骤。
上述机器人控制方法、装置、机器人和存储介质,通过获取当前运行速度和目标时刻对应的目标运行速度,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态;当所述目标运行状态为非匀速运行时:执行获取所述运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个,并判断获取结果是否为满足速度限制条件的结果;若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。实现了对机器人平稳运行的多方式、多角度中的至少一个进行分析,没有直接采用控制算法计算得到的目标运行速度,避免了控制算法得到的速度变化差异过大而影响机器人的平稳运行,只要当前判断出多种方式中的某一种方式符合速度限速条件,便可中断其他方式的获取和判断,极大地减少了控制机器人平稳运行控制的算力,在俯仰角以及速度对应的多方式与多角度的分析下,有效地提高了控制机器人运行的平稳度。
附图说明
图1为一个实施例中惯性测量单元(IMU)示意图;
图2为一个实施例中控制机器人运行的流程示意图;
图3为一个实施例中机器人控制装置的结构框图;
图4为一个实施例中机器人的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。
本申请提供的机器人控制方法,所述机器人控制方法应用于机器人,机器人用于获取当前运行速度和目标时刻对应的目标运行速度,基于目标运行速度、当前运行速度和速度阈值,确定目标时刻对应的目标运行状态;当目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个,并判断获取的结果是否为满足速度限制条件的结果;若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器;通过电机控制器基于目标运行速度在目标时刻运行机器人;其中,获取运行状态判断结果的步骤为获取当前运行状态,对当前运行状态对应的类型与目标运行状态对应的类型进行判断,得到运行状态判断结果;获取时间判断结果的步骤为获取目标前向运行状态对应的前向运行时间,获取当前时间与前向运行时间对应的时间间隔,将时间间隔与预设时间阈值进行比较,得到时间判断结果;获取第一结果的步骤为获取目标时刻对应的历史时间区间的俯仰角数据集,将俯仰角数据集中的各个俯仰角与俯仰角阈值进行比较,得到第一结果;获取第二结果的步骤为获取俯仰角数据集中的各个俯仰角之间的角度差,将各个角度差与预设角度进行比较,得到第二结果。
其中,机器人可以是具有运行功能类型的机器人,包括但不限于配送机器人、清洁机器人、导览机器人等。
在一个实施例中,参照图2所示,提供了一种机器人控制方法,所述方法应用于机器人,所述方法包括以下步骤:
步骤S100,获取当前运行速度和目标时刻对应的目标运行速度,基于目标运行速度、当前运行速度和速度阈值,确定目标时刻对应的目标运行状态。
其中,目标时刻指机器人运行的相对于当前时刻的下一时刻。目标运行速度指机器人进行下一步运行操作时对应的速度。当前运行速度指机器人当前运行的速度,其可以通过机器人的动力轮实时自动反馈。速度阈值指用于判断机器人运行状态的速度临界值。目标运行状态指机器人在目标时刻时对应的运行状态,该运行状态可以是匀速运行、提速运行和减速运行。
具体地,为了避免速度变化导致机器人运行时由于惯性发生向前倾或向后仰的情况,可以获取目标时刻对应的目标运行速度以及当前运行速度,根据目标运行速度和当前运行速度来计算对应的加速度大小,通过加速度的正负值情况判断目标时刻可能的运行状态。又由于机器人在速度变速不大的情况下仍可以保持平稳状态,因此要根据用于判断机器人运行状态改变的速度阈值,来判断机器人对应的目标运行状态,以便于后续根据目标运行状态做下一步对机器人运行控制的判断操作。
步骤S102,当目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个。
其中,获取运行状态判断结果的步骤为:步骤S1020,获取当前运行状态,对当前运行状态对应的类型与目标运行状态对应的类型进行判断,得到运行状态判断结果。
其中,当前运行状态指机器人在当前时刻的运行状态,可以是匀速运行,也可以是提速运行,还可以是减速运行;且提速运行和减速运行中也包含变速的情况,也就是加速度变化的情况;匀速运行也是基于机器人的速度阈值来界定的匀速情况,并非仅仅指速度保持不变时对应的匀速情况。类型指运行状态的类型,可以是匀速、提速或减速。运行状态判断结果指根据目标时刻对应的目标运行状态和当前时刻对应的当前运行状态,来判断机器人是否有运行不平稳的判断结果。
具体地,由惯性定律可以知道,当物体按照某个速度处于平稳状态运行之后,突然变速会导致物体上的物品仍保持原来速度,从而导致可能向前倾或向后仰的不平稳情况。基于此情况可以考虑,若机器人在目标时刻对应的目标运行状态对应的类型和当前运行状态对应的类型不一致,则机器人上的物品会由于惯性的作用向前倾或向后仰,从而导致不平稳;若机器人在目标时刻对应的目标运行状态对应的类型和当前运行状态对应的类型一致,则表明机器人即没有提速也没有减速的倾向,仍将保持对应的速度运行,不会产生速度改变而引起机器人上物品不平稳的情况。因此,基于机器人的目标运行状态和当前运行状态进行相应的判断,以获得对应的运行状态判断结果,为后续进程提供判断依据以控制机器人的运行。
获取时间判断结果的步骤为:步骤S1022,获取目标前向运行状态对应的前向运行时间,获取当前时间与前向运行时间对应的时间间隔,将时间间隔与预设时间阈值进行比较,得到时间判断结果。
其中,目标前向运行状态指当前运行状态与目标运行状态对应的类型相反时,对应的最近一次与当前运行状态类型相同的运行状态,比如当目标运行状态为提速运行时,当前运行状态和目标前向运行状态均是减速运行,此时目标前向运行状态是距离当前运行状态最近一次的同类型状态。前向运行时间指机器人处于目标前向运行状态对应的时间。当前时间指当前时刻的时间。时间间隔指当前时间与前向运行时间对应的时间距离、时间段大小。预设时间阈值指用于判断机器人变为某个运行状态之后持续不平稳时间的临界值,比如机器人将要从减速到提速状态,则在转变为提速状态前,机器人需持续减速状态达到或超过1s后才会运行稳定,当运行稳定后才适合再转变为提速状态,若减速状态未超过1s则说明机器人还处于不平稳阶段,不适合在该不平稳阶段提速,会导致机器人运载物体倾斜,其中1s即为该场景下的预设时间阈值。时间判断结果指根据目标前向运行状态对应的前向运行时间与当前时间的时间间隔和预设时间阈值进行比较,来判断机器人运行是否平稳的结果。
具体地,当机器人在连续不同的时间点以相同运行状态运行,但是以相同的状态运行的时间没有达到预设时间阈值时,仍然是处于不平稳的状态,因此,可以根据获取目标前向运行状态对应的前向运行时间以及当前时间,计算当前时间和前向运行时间对应的时间间隔,当时间间隔大于预设时间阈值时,表明机器人已过了过渡时间段,此时已保持稳定的运行状态;当时间间隔小于预设时间阈值时,表明机器人还处于过渡时间段,处于不平稳的运行状态。此外,在机器人运行起始到运行终止的时间段内,并不是每个时间对应的当前运行状态均记录与当前运行状态最近一次相同类型运行状态对应的前向运行时间,前向运行时间是否记录由运行状态的判断方式来限制。也就是说,可以根据机器人在运行过程中运行环境的不同,选择性的对前向运行时间进行获取,以选择性的获得时间判断结果,以此可以降低机器人的算力。
获取第一结果的步骤为:步骤S1024,获取目标时刻对应的历史时间区间的俯仰角数据集,将俯仰角数据集中的各个俯仰角与俯仰角阈值进行比较,得到第一结果。
其中,历史时间区间指当前时刻到之前的某一个时刻的时间区间。俯仰角数据集指在历史时间区间由惯性测量单元(IMU)反馈得到的机器人的俯仰角度的集合。俯仰角阈值指用于判定俯仰角大小的程度是否会导致机器人不平稳的临界角度;其可以通过获取机器人由动力传递导致机器人俯仰角变化的俯仰角最大变化值,并将俯仰角最大变化值的一定比例大小作为俯仰角阈值,比如俯仰角最大变化值为R°,当超过70%R°时则认定机器人为不稳定状态,此时的俯仰角阈值则可为0.7R°。第一结果指通过俯仰角与俯仰角阈值比较判断机器人是否平稳的结果。
具体地,机器人中安装有惯性测量单元(IMU),可以通过惯性测量单元(IMU)自动反馈,可以通过每隔0.1s就记录由IMU反馈的机器人的当前俯仰角度,并且可以将最新的5次俯仰角数据的集合作为俯仰角数据集。采集到的历史时间区间的俯仰角度数据集可用于判断机器人在目标时刻的前倾或后仰的情况,以判定机器人的平稳情况。进一步地,机器人俯仰角的变化也存在着机器人是否处于平稳状态的规律。由于俯仰角数据集中的俯仰角数据是相对当前时刻最新的机器人的俯仰角度,此时的俯仰角度对机器人运行平稳的影响是比较大的,当俯仰角数据集中存在一个俯仰角的绝对值大于俯仰角阈值时,说明机器人处于不平稳状态,需要对机器人的速度进行限制以控制机器人平稳;当俯仰角数据集中的俯仰角的绝对值均小于或等于俯仰角阈值时,说明机器人处于平稳状态,不需要限制机器人的速度即可维持机器人的平稳运行状态。可以理解的,假定将机器人处于静止状态的俯仰角度设定为0°,以0°分界,机器人前倾的角度为-a°,机器人后仰的角度为+a°,那么,俯仰角的绝对值为|a|,用|a|来与俯仰角阈值进行比较,以得到第一结果。
获取第二结果的步骤为:步骤S1026,获取俯仰角数据集中的各个俯仰角之间的角度差,将各个角度差与预设角度进行比较,得到第二结果。
其中,角度差指俯仰角与俯仰角之间的角度差距值。预设角度指通过实验测定得到的俯仰角差值对机器人运行稳定性受影响的临界值,可以是1度。第二结果指通过俯仰角之间的角度差来判断机器人是否平稳的结果。
具体地,当机器人运行过程中,在俯仰角数据集采集的这一时间段内若出现俯仰角之间的角度差变化过大,也会对机器人的平稳运行产生影响。基于实验的经验积累,可以知道当俯仰角之间的角度差大于预设角度时,会导致机器人运行不平稳,当俯仰角之间的角度差小于或等于预设角度时,机器人仍可以相对平稳的状态运行,且不影响机器人运载物品的平稳性。
在一个实施例中,“S1020,获取当前运行状态,对当前运行状态对应的类型与目标运行状态对应的类型进行判断,得到运行状态判断结果;S1022,获取目标前向运行状态对应的前向运行时间,获取当前时间与前向运行时间对应的时间间隔,将时间间隔与预设时间阈值进行比较,得到时间判断结果;S1024,获取目标时刻对应的历史时间区间的俯仰角数据集,将俯仰角数据集中的各个俯仰角与俯仰角阈值进行比较,得到第一结果;S1026,获取俯仰角数据集中的各个俯仰角之间的角度差,将各个角度差与预设角度进行比较,得到第二结果”中,各步骤对应的执行顺序不是唯一的,是可以调换的,只要其中一个步骤对应的结果是满足速度限制条件的结果,则可将当前运行速度作为目标时刻对应的目标运行速度,并将目标运行速度发送至电机控制器,以使电机控制器以目标运行速度控制机器人的运行。若当前执行的步骤对应的结果不是满足速度限制条件的结果,则可以再选择执行下一运行步骤,并进行判断,直至本实施例中执行的上述步骤对应的结果中判断出有满足速度限制条件的结果的步骤,或者本实施例中执行的上述的所有步骤对应的结果均不是满足速度限制条件的结果;当不是满足速度限制条件的结果时则直接将目标运行速度发送至电机控制器,以使电机控制器以目标运行速度控制机器人运行。
可以理解的,例如,S1020至S1026的步骤,只需要执行一个步骤即可,对执行单一步骤得到的结果进行判断,而不需要将剩下的其他三个步骤均执行。例如,只执行S1020步骤,也就是只获取当前运行状态,对当前运行状态对应的类型与目标运行状态对应的类型进行判断,得到运行状态判断结果,后续步骤对运行状态判断结果进行获取,并执行后续操作。而不会执行S1022至S1026步骤中的任一步骤,也就是不会对S1022至S1026步骤中的参数进行获取,并得到相应的结果。若S1020步骤得到的结果不是满足速度限制条件的结果,则再执行S1022至S1026步骤中的任一步骤,而不执行剩下的两个步骤,得到该执行步骤的结果,并进行判断,直至本实施例中执行的上述步骤对应的结果中判断出有满足速度限制条件的结果的步骤,或者本实施例中执行的上述的所有步骤对应的结果均不是满足速度限制条件的结果;当不是满足速度限制条件的结果时,则直接将目标运行速度发送至电机控制器,以使电机控制器以目标运行速度控制机器人运行。如此,只对一个步骤中的参数进行获取,并得到相应的结果,而不需要将所有的参数都获取并得到相应的结果,可以降低机器人数据采集以及分析的难度,加快机器人数据与采集更新的频率。
步骤S104,判断获取的结果是否为满足速度限制条件的结果。
步骤S1040,若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器。
步骤S1042,若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器。
其中,电机控制器指用于控制机器人运行速度和方向的改变的结构,其可以接收下发的速度,根据机器模型将速度转化成电机的转速。
具体地,运行状态判断结果、时间判断结果、第一结果和第二结果中任意一种情况都可以用于判断机器人是否平稳运行,可以从中任选一种情况,执行该情况对应的获取步骤并进行判断,当选择的判断结果是满足速度限制条件的结果时,则将当前运行速度作为目标时刻对应的目标运行速度发送至电机控制器;若不是满足速度限制条件的结果时,则直接将目标运行速度发送至电机控制器。
进一步地,为了提高判断机器人是否运行平稳的准确性,还可以在当从运行状态判断结果、时间判断结果、第一结果和第二结果中已选择一个判断结果判断出不是满足速度限制条件的结果时,再从剩下的三个判断结果中任选一个执行获取步骤并判断,若再选择的判断结果是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,为了更准确地判断机器人当前的运行情况,还可以再从剩下的判断结果中选择一个执行获取步骤并进行判断,依次循环,根据不同的情况对机器人平稳运行进行控制。
步骤S106,通过电机控制器基于目标运行速度在目标时刻运行机器人。
具体地,电机控制器可以控制机器人按照下发的速度运行,不管是满足速度限制条件还是不满足速度限制条件,机器人的处理器均会下发目标时刻对应的目标运行速度至电机控制器,以使电机控制器基于下发的目标运行速度控制机器人的平稳运行。
上述机器人控制方法,通过获取当前运行速度和目标时刻对应的目标运行速度,基于目标运行速度、当前运行速度和速度阈值,确定目标时刻对应的目标运行状态;当目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个,并判断获取结果是否为满足速度限制条件的结果;若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器;通过电机控制器基于目标运行速度在目标时刻运行机器人,实现了对机器人平稳运行的多方式、多角度中的至少一个进行分析,没有直接采用控制算法计算得到的目标运行速度,避免了控制算法得到的速度变化差异过大而影响机器人的平稳运行,只要当前判断出多种方式中的某一种方式符合限速条件,便可中断其他方式的获取和判断,极大地减少了控制机器人平稳运行的算力,在俯仰角以及速度对应的多方式与多角度的分析下,有效地提高了控制机器人运行的平稳度。
在一个实施例中,S1042中若不是满足速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
步骤S200,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中剩下三个中的任意一个。
步骤S201,判断获取的结果是否为满足速度限制条件的结果。
步骤S202,若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器。
步骤S204,通过电机控制器基于目标运行速度在目标时刻运行所述机器人。
具体地,为了进一步提高判断机器人是否运行平稳的准确性,还可以在当从运行状态判断结果、时间判断结果、第一结果和第二结果中已选择一个判断结果判断出不是满足速度限制条件的结果时,再从剩下的三个判断结果中任选一个进行判断,若再选择的判断结果是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,可以直接将目标运行速度发送至电机控制器,或者为更准确地判断机器人当前的运行情况,还可以再从剩下的判断结果中选择一个进行获取和判断,依次类推,根据不同的情况进行判断以确定对机器人平稳运行进行控制的目标运行速度。
在一个实施例中,S202中若不是满足速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
步骤S300,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中剩下两个中的任意一个。
步骤S301,判断获取的结果是否为满足速度限制条件的结果。
步骤S302,若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器。
步骤S304,通过电机控制器基于目标运行速度在目标时刻运行机器人。
具体地,在对机器人平稳运行的判断中,还可以在从运行状态判断结果、时间判断结果、第一结果和第二结果中已选择的两种情况均判断出不是满足速度限制条件的结果的情况下,再从剩下的两种判断情况中任选一种情况进行判断,此时判断机器人是否平稳运行的准确性得到进一步提升,当当前选择的判断结果是满足速度限制条件的结果时,则将当前运行速度作为目标时刻对应的目标运行速度发送至电机控制器;当当前选择的判断结果不是满足速度限制条件的结果时,则可以直接将目标运行速度发送至电机控制器,或者还可以继续对剩下的一种情况继续进行判断。
在一个实施例中,S302中若不是满足速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
步骤S400,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中剩下的一个。
步骤S401,判断获取的结果是否为满足速度限制条件的结果。
步骤S402,若是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度,将目标运行速度发送至电机控制器;若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器。
步骤S404,通过电机控制器基于目标运行速度在目标时刻运行机器人。
具体地,当从运行状态判断结果、时间判断结果、第一结果和第二结果中选择的三种情况均判断后,若已选择的三种情况均不是满足速度限制条件的结果,则还可以对剩下未选择的一种情况进行判断。若剩下的一种情况是满足速度限制条件的结果,则将当前运行速度作为目标时刻对应的目标运行速度发送至电机控制器,从而实现对机器人运行情况以及平稳控制情况的更高准确性的处理,极好地实现机器人平稳运行的控制;若剩下的一种情况不是满足速度限制条件的结果,则说明机器人继续以目标运行速度运行不会导致不平稳情况,可以直接将目标运行速度发送至电机控制器,以使电机控制器以目标运行速度控制机器人继续运行。
在一个实施例中,若是满足速度限制条件的结果,包括:
(1)运行状态判断结果为当前运行状态对应的类型与目标运行状态对应的类型不一致。
具体地,若当前运行状态与目标运行状态对应的类型不一致时,表明机器人要么从减速突然到提速状态,要么突然从提速状态到减速状态,这样大范围的速度变动超过了可以维持机器人平稳运行的程度,速度变化过大,会使机器人上的物品由于惯性的缘故发生倾倒,此时可以通过限制机器人的速度来维持机器人的平稳,以实现机器人的平稳运行。
(2)和/或,时间判断结果为时间间隔小于预设时间阈值。
具体地,通过相应的实验数据获得预设时间阈值,机器人要从某个运行状态下维持平稳,需要从变成该运行状态到根据该运行状态稳定运行的时长达到或者超过预设时间阈值,当机器人在预设时间阈值内改变运行状态时,表明机器人本身就还是不稳定状态却又要进入一个不稳定状态,此时可以先限制机器人到运行平稳之后,再进行后续的运行状态改变操作。比如预设时间阈值为1s,目标运行状态为减速状态,当前运行状态为加速状态,则目标前向运行状态亦为加速状态,若机器人将要从加速转变为减速状态,则从目标前向运行状态到当前运行状态的持续运行时长达到或超过1s之后才会运行稳定,若持续加速状态的时长未达到1s就又转变为减速状态,则机器人还处于转变状态不稳定的阶段。
(3)和/或,第一结果为俯仰角数据集中存在一个俯仰角对应的绝对值大于俯仰角阈值。
具体地,俯仰角数据集中采集到的数据会根据方向的不同带有正负,因此当俯仰角数据集中存在一个俯仰角对应的绝对值大于俯仰角阈值时,表明机器人存在运行不稳定倾向,会对机器人所载的物品的稳定性受影响,此时可以通过限制机器人的速度,以维持机器人的平稳。
(4)和/或,第二结果为存在一个角度差对应的绝对值大于预设角度。
具体地,俯仰角数据集中的数据均是相对当前时刻最接近以及最新的数据,当俯仰角数据集中存在俯仰角相差超过预设角度时,表明机器人在目标时刻会有很大概率的俯仰或前倾的不稳定倾向,此时也可以根据限制速度来维持机器人的平稳状态,以实现机器人的平稳运行。
上述实施例中,通过当判断结果为运行状态判断结果为当前运行状态对应的类型与目标运行状态对应的类型不一致;和/或,时间判断结果为时间间隔小于预设时间阈值;和/或,第一结果为俯仰角数据集中存在一个俯仰角对应的绝对值大于俯仰角阈值;和/或,第二结果为存在一个角度差对应的绝对值大于预设角度时,为满足速度限制条件的结果,此时可以对机器人速度进行限制,以使机器人达到平稳运行状态,以维持机器人所载的物品的平稳,从而实现了从多方式和多角度分析和调整机器人的运行状态,有利于提高机器人运行的平稳性。
在一个实施例中,获取目标时刻对应的目标运行速度包括:
步骤S500,基于当前运行速度和速度变化限制规则,采样多组组合速度。
其中,速度变化限制规则指采样数据时对应的采样方式,可以是等比采样。组合速度指采样的线速度和角速度。
具体地,为了计算机器人在当前时刻的下一时刻的速度,可以根据当前速度的情况,基于速度变化限制规则来采样多组组合速度,这样可以使得采样的组合速度与当前运行速度有一定的联系,不至于出现过大的偏差。比如若当前运行速度对应的线速度为0.5m/s、角速度为0.2rad/s,则速度变化限制规则为线速度限制0.2m/s、角速度限制0.2rad/s,则可以在0.3m/s~0.7m/s的区间采样当前运行速度对应的线速度、在0.0rad/s~0.4rad/s的区间采样当前运行速度对应的角速度,进而采样多组组合速度。
步骤S502,基于多组组合速度,计算得到多组中间运行轨迹。
其中,中间运行轨迹指根据组合速度所计算得到的可能运行轨迹。
具体地,可以根据DWA(Dynamic Window Approach)路径规则算法基于多组组合速度计算这些组合速度对应的中间运行轨迹,不同的组合速度对应的中间运行轨迹不同,对应的速度也不同,可以根据中间运行轨迹对应的优缺点的不同,按照需求从该多组中间运行轨迹中算出最优的运行轨迹。
步骤S504,基于评价函数,从多组中间运行轨迹中确定目标运行轨迹。
其中,评价函数指用于评价运行轨迹好坏的函数。目标运行轨迹指能够使机器人运行轨迹最优的运行轨迹。
具体地,可以根据DWA路径规则算法对应的评价函数,从该多组中间运行轨迹中选出满足行走距离尽量远、行走速度尽量快、距离目标点距离尽量近、速度变化尽量小、不发生碰撞以及距离障碍物尽量远等规则的中间运行轨迹作为目标运行轨迹。
步骤S506,将目标运行轨迹对应的速度作为目标运行速度。
具体地,每个中间运行轨迹均有其对应的运行速度,若通过DWA路径规则算法得到的目标时刻对应的目标运行轨迹,则可以将目标运行轨迹对应的速度作为目标时刻对应的目标运行速度,从而使得目标运行时刻对应的目标运行速度更加地优化,避免了机器人在运行过程中与障碍物的碰撞,有效地保证在相对稳定的环境中机器人保持一定的稳定状态。
此外,在一个实施例中,还可以通过TED(Time Elastic Band)路径规划算法来计算目标运行速度,还可以通过TEB路径规划算法和DWA路径规则算法切换的方式来计算不同时段对应的目标运行速度,比如机器人要运行的路程为10m,可以前面9.2m对应的不同时刻的目标运行速度采用TEB路径规划算法计算,后面0.8m采用DWA路径规则算法计算对应的不同时刻的目标运行速度。这样的构思主要考虑TEB路径规划算法对于绕障碍物的能力比较好;DWA绕障碍物能力比较差一些,但是DWA对于所有涉及的数据均是有对应的约束规则控制的,是可控的,例如DWA的加速度约束。因此可以考虑在距离目标点较远时,适用TEB路径规划算法来躲避障碍物,弥补了DWA算法对于障碍物不敏感的不足,在距离目标点较近时需要有比较多的约束来控制机器人的速度,以达到对机器人的运行控制,此时适用DWA算法,DWA算法弥补了TEB在距离目标点很近时还经常绕来绕去、约束条件较少的缺点,从而更有利于实现机器人运行稳定的控制,提高了机器人运行时的稳定性。
上述实施例中,通过基于当前运行速度和速度变化限制规则,采样多组组合速度,基于多组组合速度,计算得到多组中间运行轨迹,基于评价函数,从多组中间运行轨迹中确定目标运行轨迹,将目标运行轨迹对应的速度作为目标运行速度,可以优化机器人在目标时刻对应的速度以及运行轨迹,从而避免机器人在运行过程中与障碍物发生碰撞,有利于保障机器人在相对稳定的环境中保持一定的稳定运行状态,在一定程度上提高了机器人的运行的稳定性。
在一个实施例中,S100中基于目标运行速度、当前运行速度和速度阈值,确定目标时刻对应的目标运行状态包括:
步骤S600,将目标运行速度和当前运行速度进行差值运算,得到速度差值。
其中,速度差值指目标运行速度和当前运行速度进行相减操作之后得到的数值。
具体地,对于目标时刻对应的运行状态的判断,可以根据加速度的正负来判断,而加速度的正负取决于目标运行速度与当前运行速度相减后得到的速度差值对应的正负。
步骤S602,当速度差值大于或等于速度阈值时,将提速运行作为目标运行状态;当速度差值对应的绝对值小于速度阈值时,将匀速运行作为目标运行状态;当速度差值与速度阈值相加得到的值小于预设值时,将减速运行作为目标运行状态;非匀速运行包括提速运行和减速运行。
其中,预设值指用于界定机器人处于减速运行的值,可以是0。
具体地,并不是机器人只要有微小的变速,就会出现不平稳状态,当速度差值大于或等于速度阈值时,表示机器人处于可以影响平稳性的加速状态,此时可以将提速运行作为目标运行状态;当速度差值对应的绝对值小于速度阈值时,表明速度的变化处于与速度阈值相差较小的区间,此时这些微小的速度变化不会影响到机器人的平稳性,加速度的变化也相对较小,可以默认为没有发生变化,可以将匀速运行作为目标运行状态;可以将速度差值加上速度阈值,也就是速度差值与速度阈值相加,当相加得到的值小于预设值时,可以将减速运行作为目标运行状态,比如速度阈值是0.07m/s、速度差值是-0.1m/s和预设值是0,则当速度差值与速度阈值相加得到的值为-0.1m/s+0.07m/s=-0.03m/s,由于-0.03<0,因此,此时为减速运行状态。
上述实施例中,通过将目标运行速度和当前运行速度进行差值运算,得到速度差值,当速度差值大于或等于速度阈值时,将提速运行作为目标运行状态;当速度差值对应的绝对值小于速度阈值时,将匀速运行作为目标运行状态;当速度差值与速度阈值相加得到的值小于预设值时,将减速运行作为目标运行状态;非匀速运行包括提速运行和减速运行,确定了机器人目标运行状态,为后续进程的执行做了数据准备,提高了机器人运行状态判定的准确性。
在一个实施例中,参照图2,S100之后,该方法还包括:
步骤S700,当目标运行状态为匀速运行时,将目标时刻对应的目标运行速度发送至电机控制器。
具体地,当目标运行状态为匀速运行时,表明机器人目前仍然保持平稳运行的状态,不需要通过限制速度来控制机器人的运行,可以直接下发目标运行速度到电机控制器,为电机控制器控制机器人下一步运行操作提供数据依据。
步骤S702,通过电机控制器基于目标运行速度在目标时刻运行机器人。
具体地,电机控制器用于控制机器人的运行速度和方向,当接收到对应的目标运行速度之后,根据该目标运行速度控制机器人的继续平稳运行。
上述实施例中,通过当目标运行状态为匀速运行时,将目标时刻对应的目标运行速度发送至电机控制器,通过电机控制器基于目标运行速度在目标时刻运行机器人,实现了机器人匀速运行时的保持控制,维护了机器人的正常运行。
此外,继续参照图2,在一个实施例中,当目标运行速度为0m/s时,表明机器人检测到碰撞或者已经到达目标点,此时直接下发0m/s速度给电机控制器,以控制机器人的立即暂停,终止机器人的继续运行任务,有利于避免不确定环境突然出现的碰撞物带来的碰撞问题,在一定程度上提高了不确定环境时机器人运行的平稳性。
在一个实施例中,S102中获取当前运行状态包括:
步骤S800,获取目标时刻对应的历史时间区间的速度标志集,当速度标志集中存在第一预设数量的减速类型标志时,将减速运行作为当前运行状态。
其中,速度标志集指用于判断机器人当前运行状态的标志数据集合,这些标志可以是通过每0.1s进行采样并采用0.07m/s的变化值来判断机器人当前运行状态的标志数据。第一预设数量指当前运行状态为减速运行时对应的减速类型标志数量的临界值。
具体地,机器人对于当前运行状态的判断可以通过历史时间区间中的速度标志集进行判断,而速度标志集的收集可以通过每0.1s的采样间隔采用0.07m/s的变化值来判断对应的运行状态的标志数据,比如每0.1s采样得到的当前速度为X1,上次速度是X0,当当前速度X1-上次速度X0>=0.07m/s时,此次的运行状态标志记录为提速标志;当当前速度X1-上次速度X0>=-0.07m/s时,此次的运行状态标志记录为减速标志;当为其他情况时记录为匀速标志,速度标志集中对应的数据为最新的预设数量标志,比如可以是只存储最新的5次标志。对于当前运行状态为减速运行的判断,需要速度标志集中对应的减速类型标志达到第一预设数量,比如速度标志集中存储的是最新的5次标志,当存在4个减速类型标志时,则将当前运行状态设置为减速运行,并记录对应的时间;
步骤S802,当速度标志集中存在第二预设数量的提速类型标志时,将提速运行作为当前运行状态。
其中,第二预设数量指当前运行状态为提速运行时对应的提速类型标志数量的临界值。
具体地,速度标志集中的标志类型均是通过最新和时间间隔较小的速度进行判断的,对于通过标志类型数目来判断当前运行状态的构思,主要考虑速度的变动性带来的不确定性,通过历史时间区间对应的速度标志集来判断,较好地提高了判断的准确性。而对于提速运行状态的判断,可以根据采集速度标志集的时间区间、速度标志集中标志的总数等情况,预设一个符合提速情况的第二预设数量,以使当速度标志集中存在第二预设数量个提速型标志时,说明当前运行状态为提速运行的状态,比如速度标志集中存储的是最新的5次标志,当存在5个提速类型标志时,则将当前运行状态设置为提速运行;此外,若收集到的速度标志集均为提速类型标志,则需要记录此时对应的运行状态的时间,为需要用到该时间数据的进程提供数据基础,也就是比如存储了最新的5次标志的速度标志集中没有连续的5个提速类型标志,则不记录判定运行状态为提速运行时对应的时间。
步骤S804,当速度标志集中存在第三预设数量的匀速类型标志时,将匀速运行作为当前运行状态。
其中,第三预设数量指当前运行状态为匀速运行时对应的匀速类型标志数量的临界值。
具体地,对于匀速运行状态的判定,也需要速度标志集中匀速类型标志的数量达到第三预设数量,当第三预设数量等于速度标志集中的总数时,也就是速度标志集中的类型标志全为匀速类型标志时,匀速状态判断的准确性相对最好,比如速度标志集中存储的是最新的5次标志,当存在5个匀速类型标志时,则将当前运行状态设置为匀速运行。
步骤S806,当速度标志集中的各个类型标志对应的数量为其他情况时,获取前向运行状态,将前向运行状态作为当前运行状态。
其中,前向运行状态指相对当前时刻的上一时刻对应的运行状态,其可以是匀速运行、提速运行和减速运行。
具体地,速度标志集中不同的类型标志对应的数量为其他情况时,为了机器人平稳运行的考虑,可以直接将前向运行状态作为当前运行状态,比如前向运行状态是提速运行,此时对应的速度标志集是4个提速类型标志和1个刹车类型标志(依次是提速、提速、提速、提速、刹车),则此时将前向运行状态的提速运行作为当前运行状态,让机器人处于匀速运行一段时间,恢复平稳状态再进行相应的提速或减速操作。
上述实施例中,通过获取目标时刻对应的历史时间区间的速度标志集,当速度标志集中存在第一预设数量的减速类型标志时,将减速运行作为当前运行状态,当速度标志集中存在第二预设数量的提速类型标志时,将提速运行作为当前运行状态,当速度标志集中存在第三预设数量的匀速类型标志时,将匀速运行作为当前运行状态,当速度标志集中的各个类型标志对应的数量为其他情况时,获取前向运行状态,将前向运行状态作为当前运行状态,考虑了速度的变动性带来的不确定性的特点,根据历史时间区间对应的速度标志集来判断当前的运行状态,较好地提高了运行状态判断的准确性,进而有利于提高机器人运行的平稳程度。
在一个实施例中,以机器人配送饮品或汤品等液态物质的场景为例进行描述。可以通过图1所示的惯性测量单元(IMU)测量不同轴对应的角度,其中X轴对应横滚角、Y轴对应俯仰角以及Z轴对应航向角。图2为一个实施例中控制机器人平稳运行的流程图,在机器人运行时,可以通过惯性测量单元(IMU)采集到俯仰角数据集,以及通过从机器人动力轮实时的反馈中获得当前运行速度,并根据机器人记录的速度标志集判断机器人的当前运行状态;在机器人运行时,可以基于DWA算法或TEB算法或两种算法的结合运用,计算分析出目标时刻对应的目标运行速度,进一步计算目标运行速度与当前运行速度的速度差值,当速度差值大于或等于速度阈值时,说明从当前运行速度到目标运行速度的转变超出了预设的匀速状况范围,此时将提速运行作为目标运行状态;若速度差值对应的绝对值小于速度阈值,则说明从当前运行速度到目标运行速度,不管是加速还是减速都还处于预设的匀速状况范围内,此时可以将匀速运行作为目标运行状态;若速度差值与速度阈值相加得到的值小于0时,说明从当前运行速度到目标运行速度的减速程度上,超出了匀速状况的范围,将减速运行作为目标运行状态。若目标运行状态处于减速运行或提速运行的非匀速运行状态,可以先获取运行状态判断结果,进一步判断运行状态判断结果是否为满足速度限制条件的结果,即判断当前运行状态和目标运行状态的类型是否一致,若当前运行状态和目标运行状态的类型不一致,也就是运行状态判断结果是满足速度限制条件的结果,则说明机器人将进入运行不稳定的情况,可以将当前运行速度作为目标运行速度发送至电机控制器,以使电机控制器继续以当前的运行速度运行维持稳定;若当前运行状态和目标运行状态一致,也就是运行状态判断结果不是满足速度限制条件的结果,则说明机器人的运行是稳定的,可以直接将目标运行速度发送至电机控制器。
进一步地,为了提高判断机器人运行是否平稳的准确性,在运行状态判断结果不是满足速度限制条件的结果的情况下,可以继续获取时间判断结果,进一步判断时间判断结果是否为满足速度限制条件的结果,即可以将最近一次与当前运行状态类型相同的运行状态作为目标前向运行状态,并获取机器人运行过程中收集记录的目标前向运行状态对应的前向运行时间,计算当前时间与前向运行时间对应的时间间隔,将时间间隔与预设时间阈值进行比较得到判断结果,若时间间隔小于预设时间阈值,也就是时间判断结果是满足速度限制条件的结果,则说明机器人将进入运行不稳定的情况,可以将当前运行速度作为目标运行速度发送至电机控制器;若时间间隔大于或等于预设时间阈值,也就是时间判断结果不是满足速度限制条件的结果,则说明机器人在当前情况的判断下是处于平稳运行状态的,可以直接将目标运行速度发送至电机控制器。
进一步地,为了提高判断机器人运行是否平稳的准确性,在时间判断结果不是满足速度限制条件的结果的情况下,可以继续获取第一结果,判断第一结果是否为满足速度限制条件的结果,即判断俯仰角数据集中是否存在一个俯仰角对应的绝对值大于俯仰角阈值,若存在一个俯仰角对应的绝对值大于俯仰角阈值,也就是第一结果是满足速度限制条件的结果,则说明机器人将进入运行不稳定的情况,可以将当前运行速度作为目标运行速度发送至电机控制器;若俯仰角数据集中的俯仰角对应的绝对值均小于或等于俯仰角阈值,也就是第一结果不是满足速度限制条件的结果,则说明在这种情况的判断下机器人仍将处于平稳运行的状态,可以直接将目标运行速度发送至电机控制器。
进一步地,为了提高判断机器人运行是否平稳的准确性,在第一结果不是满足速度限制条件的结果的情况下,此时可以继续获取第二结果,判断第二结果是否为满足速度限制条件的结果,即判断俯仰角数据集中各俯仰角之间的角度差是否存在一个角度差对应的绝对值大于预设角度,若存在一个角度差大于预设角度,也就是第二结果是满足速度限制条件的结果,则说明机器人若在目标时刻以目标运行速度运行,会产生不平稳情况,可以将当前运行速度作为目标运行速度发送至电机控制器,以控制机器人继续平稳运行;若各俯仰角之间的角度差均小于或等于预设角度,也就是第二结果不是满足速度限制条件的结果,则说明机器人在目标时刻以目标运行速度运行仍可保持平稳运行,可以直接将目标运行速度发送至电机控制器,以使机器人以目标运行速度继续平稳运行。
此外,若目标运行状态为匀速运行,则说明机器人仍将保持平稳运行状态,此时直接将目标运行速度发送至电机控制器。若目标时刻对应的目标运行速度为0m/s,则说明机器人进入紧急刹车状态或者到达目的地,此时直接将0m/s作为目标运行速度发送至电机控制器,以使电机控制器控制机器人完成刹车操作。从多方式与多角度分析机器人的运行状态并控制机器人的运行速度,避免了机器人运行时过度前倾或后仰导致其配送的液态物质处于不平稳的状态,从而较好地提高了机器人运行时的平稳程度。
在一实施例中,若不是满足速度限制条件的结果,则直接将目标运行速度发送至电机控制器,通过电机控制器基于目标运行速度在目标时刻运行所述机器人的步骤还包括:若目标运行速度不满足加速度约束,则将预设加速度发送至电机控制器,通过电机控制器基于目标运行速度和预设加速度控制机器人在目标时刻运行。
其中,加速度约束是指机器人运行过程中速度对时间的变化率的最大限制,避免机器人的速度出现骤变,保持机器人运行的稳定性和机器人运行轨迹的一致性。
例如,机器人的目标运行速度为0.7m/s,加速度约束为0.7m/s2,此时,将目标运行速度发送至电机控制器,但是电机控制器将机器人的运行速度降为0.2m/s,为达到目标运行速度的0.7m/s,电机控制器会加速,如在0.5s加速到0.7m/s,则加速度为1 m/s2。此时的加速度超过了加速度约束0.7m/s2,说明机器人加速过快,会导致机器人运行的不平稳,为了保持机器人运行的平稳性将预设加速度(例如,0.7m/s2)发送给电机控制器,通过目标运行速度和预设加速度共同约束机器人在目标时刻的运行速度。
在一个实施例中,如图3所示,提供了一种机器人控制装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为机器人的一部分,该装置具体包括:状态确定模块300、结果确定模块302和运动控制模块304,其中:
状态确定模块300,用于获取当前运行速度和目标时刻对应的目标运行速度,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态。
结果确定模块302,用于当所述目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个;判断获取的结果是否为满足速度限制条件的结果;
运动控制模块304,用于在若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;在若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
通过上述实施例中,实现了对机器人平稳运行的多方式、多角度中的至少一个进行分析,没有直接采用控制算法计算得到的目标运行速度,避免了控制算法得到的速度变化差异过大而影响机器人的平稳运行,只要当前判断出多种方式中的某一种方式符合速度限速条件,便可中断其他方式的判断,极大地减少了控制机器人平稳运行控制的算力,在俯仰角以及速度对应的多方式与多角度的分析下,有效地提高了控制机器人运行的平稳度。
在一个实施例中,机器人控制装置包括继续判断模块306,用于执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下三个中的任意一个;判断获取的结果是否为满足速度限制条件的结果;若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在一个实施例中,继续判断模块306还用于执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下两个中的任意一个;判断获取的结果是否为满足速度限制条件的结果;若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在一个实施例中,继续判断模块306还用于执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下的一个;判断获取的结果是否为满足速度限制条件的结果;若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
在一个实施例中,状态确定模块300还用于基于所述当前运行速度和速度变化限制规则,采样多组组合速度;基于所述多组组合速度,计算得到多组中间运行轨迹;基于评价函数,从所述多组中间运行轨迹中确定目标运行轨迹;将所述目标运行轨迹对应的速度作为所述目标运行速度。
在一个实施例中,机器人控制装置还包括匀速行驶模块308,用于当所述目标运行状态为匀速运行时,将所述目标时刻对应的目标运行速度发送至所述电机控制器;通过所述电机控制器基于所述目标运行速度在所述目标时刻运行机器人。
在一个实施例中,结果确定模块302还用于获取所述目标时刻对应的历史时间区间的速度标志集,当所述速度标志集中存在第一预设数量的减速类型标志时,将减速运行作为所述当前运行状态;当所述速度标志集中存在第二预设数量的提速类型标志时,将提速运行作为所述当前运行状态;当所述速度标志集中存在第三预设数量的匀速类型标志时,将匀速运行作为所述当前运行状态;当所述速度标志集中的各个类型标志对应的数量为其他情况时,获取前向运行状态,将所述前向运行状态作为所述当前运行状态。
在一个实施例中,状态确定模块300还用于将所述目标运行速度和所述当前运行速度进行差值运算,得到速度差值;当所述速度差值大于或等于所述速度阈值时,将提速运行作为所述目标运行状态;当所述速度差值对应的绝对值小于所述速度阈值时,将匀速运行作为所述目标运行状态;当所述速度差值与所述速度阈值相加得到的值小于预设值时,将减速运行作为所述目标运行状态;所述非匀速运行包括所述提速运行和所述减速运行。
在一个实施例中,运动控制模块304,还用于所述运行状态判断结果为所述当前运行状态对应的类型与所述目标运行状态对应的类型不一致;和/或,所述时间判断结果为所述时间间隔大于所述预设时间阈值;和/或,所述第一结果为所述俯仰角数据集中存在一个俯仰角对应的绝对值大于所述俯仰角阈值;和/或,所述第二结果为存在一个角度差对应的绝对值大于所述预设角度。
关于机器人控制装置的具体限定可以参见上文中对于机器人控制方法的限定,在此不再赘述。上述机器人控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于机器人中的处理器中,也可以以软件形式存储于机器人中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种机器人,其内部结构图可以如图4所示。该机器人包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的通信接口用于与外部的机器人进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种机器人控制方法。该机器人的显示屏可以是液晶显示屏或者电子墨水显示屏,该机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种机器人控制方法,其特征在于,所述方法应用于机器人,所述方法包括:
获取当前运行速度和目标时刻对应的目标运行速度,基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态;
当所述目标运行状态为非匀速运行时,执行获取运行状态判断结果、获取时间判断结果、获取第一结果和获取第二结果的步骤中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人;
其中,
所述获取运行状态判断结果的步骤为获取当前运行状态,对所述当前运行状态对应的类型与所述目标运行状态对应的类型进行判断,得到运行状态判断结果;
所述获取时间判断结果的步骤为获取目标前向运行状态对应的前向运行时间,获取当前时间与所述前向运行时间对应的时间间隔,将所述时间间隔与预设时间阈值进行比较,得到时间判断结果;
所述获取第一结果的步骤为获取所述目标时刻对应的历史时间区间的俯仰角数据集,将所述俯仰角数据集中的各个俯仰角与俯仰角阈值进行比较,得到第一结果;
所述获取第二结果的步骤为获取所述俯仰角数据集中的各个俯仰角之间的角度差,将所述各个角度差与预设角度进行比较,得到第二结果。
2.根据权利要求1所述的方法,其特征在于,所述若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下三个中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
3.根据权利要求2所述的方法,其特征在于,所述若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下两个中的任意一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至所述电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
4.根据权利要求3所述的方法,其特征在于,所述若不是满足所述速度限制条件的结果之后,直接将所述目标运行速度发送至所述电机控制器之前,还包括:
执行获取所述运行状态判断结果、获取所述时间判断结果、获取所述第一结果和获取所述第二结果的步骤中剩下的一个;
判断获取的结果是否为满足速度限制条件的结果;
若是满足所述速度限制条件的结果,则将所述当前运行速度作为所述目标时刻对应的目标运行速度,将所述目标运行速度发送至电机控制器;
若不是满足所述速度限制条件的结果,则直接将所述目标运行速度发送至电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述若是满足所述速度限制条件的结果,包括:
所述运行状态判断结果为所述当前运行状态对应的类型与所述目标运行状态对应的类型不一致;
和/或,
所述时间判断结果为所述时间间隔小于所述预设时间阈值;
和/或,
所述第一结果为所述俯仰角数据集中存在一个俯仰角对应的绝对值大于所述俯仰角阈值;
和/或,
所述第二结果为存在一个角度差对应的绝对值大于所述预设角度。
6.根据权利要求1所述的方法,其特征在于,所述获取目标时刻对应的目标运行速度包括:
基于所述当前运行速度和速度变化限制规则,采样多组组合速度;
基于所述多组组合速度,计算得到多组中间运行轨迹;
基于评价函数,从所述多组中间运行轨迹中确定目标运行轨迹;
将所述目标运行轨迹对应的速度作为所述目标运行速度。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标运行速度、所述当前运行速度和速度阈值,确定所述目标时刻对应的目标运行状态包括:
将所述目标运行速度和所述当前运行速度进行差值运算,得到速度差值;
当所述速度差值大于或等于所述速度阈值时,将提速运行作为所述目标运行状态;
当所述速度差值对应的绝对值小于所述速度阈值时,将匀速运行作为所述目标运行状态;
当所述速度差值与所述速度阈值相加得到的值小于预设值时,将减速运行作为所述目标运行状态;所述非匀速运行包括所述提速运行和所述减速运行。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标运行状态为匀速运行时,将所述目标时刻对应的目标运行速度发送至所述电机控制器;
通过所述电机控制器基于所述目标运行速度在所述目标时刻运行所述机器人。
9.根据权利要求1所述的方法,其特征在于,所述获取当前运行状态包括:
获取所述目标时刻对应的历史时间区间的速度标志集;
当所述速度标志集中存在第一预设数量的减速类型标志时,将减速运行作为所述当前运行状态;
当所述速度标志集中存在第二预设数量的提速类型标志时,将提速运行作为所述当前运行状态;
当所述速度标志集中存在第三预设数量的匀速类型标志时,将匀速运行作为所述当前运行状态;
当所述速度标志集中的各个类型标志对应的数量为其他情况时,获取前向运行状态,将所述前向运行状态作为所述当前运行状态。
10.一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器用于执行所述计算机可读指令时实现权利要求1至9中任一项所述的方法的步骤。
CN202311126326.4A 2023-09-04 2023-09-04 机器人控制方法、装置、机器人和存储介质 Active CN116872217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311126326.4A CN116872217B (zh) 2023-09-04 2023-09-04 机器人控制方法、装置、机器人和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311126326.4A CN116872217B (zh) 2023-09-04 2023-09-04 机器人控制方法、装置、机器人和存储介质

Publications (2)

Publication Number Publication Date
CN116872217A CN116872217A (zh) 2023-10-13
CN116872217B true CN116872217B (zh) 2023-11-17

Family

ID=88271818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311126326.4A Active CN116872217B (zh) 2023-09-04 2023-09-04 机器人控制方法、装置、机器人和存储介质

Country Status (1)

Country Link
CN (1) CN116872217B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111633655A (zh) * 2020-06-06 2020-09-08 杭州电子科技大学 一种分布式自主移动机器人交通调度方法
CN113064433A (zh) * 2021-03-22 2021-07-02 深圳市优必选科技股份有限公司 机器人迈步控制方法、装置、机器人控制设备及存储介质
CN113618746A (zh) * 2021-10-13 2021-11-09 季华实验室 机器人导航控制方法、装置、电子设备及存储介质
CN115781658A (zh) * 2021-09-10 2023-03-14 腾讯科技(深圳)有限公司 构建机器人的控制器的方法和机器人

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130034082A (ko) * 2011-09-28 2013-04-05 삼성전자주식회사 로봇 및 그 제어 방법
CN105518702B (zh) * 2014-11-12 2018-06-26 深圳市大疆创新科技有限公司 一种对目标物体的检测方法、检测装置以及机器人

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111633655A (zh) * 2020-06-06 2020-09-08 杭州电子科技大学 一种分布式自主移动机器人交通调度方法
CN113064433A (zh) * 2021-03-22 2021-07-02 深圳市优必选科技股份有限公司 机器人迈步控制方法、装置、机器人控制设备及存储介质
CN115781658A (zh) * 2021-09-10 2023-03-14 腾讯科技(深圳)有限公司 构建机器人的控制器的方法和机器人
CN113618746A (zh) * 2021-10-13 2021-11-09 季华实验室 机器人导航控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116872217A (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN110320910B (zh) 车辆的避让控制方法、装置、电子设备与存储介质
EP3004800B1 (en) Method and apparatus for offboard navigation of a robotic device
GB2596709A (en) Passage planning and navigation systems and methods
WO2022022549A1 (zh) 用于控制车辆的方法、装置、电子设备和存储介质
US11803186B2 (en) Road quality based routing
CN113428137B (zh) 泊车控制方法、装置及存储介质
CN107807681A (zh) 一种基于编码器的传动设备自动定位方法及装置
CN113741440A (zh) 一种切入车辆的危险目标识别方法、装置、介质及设备
CN113380045A (zh) 一种车速引导方法、系统、计算机设备和存储介质
CN116872217B (zh) 机器人控制方法、装置、机器人和存储介质
JP2020154809A (ja) 運行制御装置及び車両
US11899459B2 (en) Low mobility assistance for autonomous vehicles passengers
CN114419758B (zh) 跟车距离的计算方法、装置、车辆及存储介质
CN114995464A (zh) 局部路径规划的控制方法及装置、机器人、存储介质
CN115014372A (zh) 路径规划方法、装置、存储介质及车辆
US20190137976A1 (en) Motor control device, control system, and motor control method
KR20090086864A (ko) 무인 차량 시스템의 통신 네트워크 구조
CN117226871B (zh) 导轨机器人运动控制系统、方法、计算机设备和存储介质
CN111540079A (zh) 行驶状态的评价方法、装置、电子设备及存储介质
CN114464013B (zh) 多车辆协同避碰方法、装置、系统、存储介质及终端
JP2023119357A (ja) 路面状態点検方法、路面状態点検装置、及び路面状態点検システム
JP6201854B2 (ja) 地点情報収集システム、方法およびプログラム
CN115384547A (zh) 车辆轨迹预测方法、装置、电子装置和存储介质
CN114572211A (zh) 基于自动驾驶车辆的跟车控制方法、装置和设备
JP2023048845A (ja) 管理装置および処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant