rpos::features::MotionPlanner类

路径规划功能特征,包括了动态路径规划功能和自动壁障功能。

头文件

rpos/features/motion_planner.h

父类

继承自rpos::core::Feature类

构造器

MotionPlanner(boost::shared_ptr<detail::MotionPlannerImpl>)   

该构造器仅限SDK内部使用。

MotionPlanner(const MotionPlanner&)   

拷贝构造函数。

运算符

MotionPlanner& operator=(const MotionPlanner&)   

赋值运算符

方法

rpos::actions::MoveAction moveTo(const std::vector<rpos::core::Location>&, bool, bool)   

让机器人沿着路径移动(机器人会逐一走过路径中的节点,在节点之间尽量走圆滑的曲线,如果遇到障碍物,机器人会自动避开)。

名称 类型 说明
locations const std::vector<rpos::core::Location>& 期望机器人经过的点
appending bool 如果机器人正在执行其他的移动动作,该参数决定新的点是追加或是替换既有节点
isMilestone bool 当该参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。
rpos::actions::MoveAction moveTo(const rpos::core::Location&, bool, bool)   

让机器人移动到目标位置。

名称 类型 说明
location const rpos::core::Location& 期望机器人经过的点
appending bool 如果机器人正在执行其他的移动动作,该参数决定新的点是追加或是替换既有节点
isMilestone bool 当该参数设为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数设为false时,会被视作普通点,不会启用路径搜索功能。
rpos::actions::MoveAction moveTo(const std::vector<rpos::core::Location>& locations, const motion_planner::MoveOptions& options, float yaw)   

让机器人沿着路径移动(机器人会逐一走过路径中的节点,在节点之间尽量走圆滑的曲线,如果遇到障碍物,机器人会自动避开)。

名称 类型 说明
locations const std::vector<rpos::core::Location>& 期望机器人经过的点
options const motion_planner::MoveOptions& 运动参数
yaw float 机器人在到达目标点之后会旋转到此角度。
rpos::actions::MoveAction moveTo(const rpos::core::Location& location, const motion_planner::MoveOptions& options, float yaw)   

让机器人移动到目标位置。

名称 类型 说明
location const rpos::core::Location& 期望机器人经过的点
options const motion_planner::MoveOptions& 运动参数
yaw float 机器人在到达目标点之后会旋转到此角度。
rpos::actions::MoveAction moveBy(const rpos::core::Direction& direction)   

控制机器人朝向一个方向直线运动。

rpos::actions::MoveAction moveBy(const rpos::core::Direction& direction, const motion_planner::MoveOptions& options)   

控制机器人朝向一个方向直线运动。

rpos::actions::MoveAction moveBy(float theta, const motion_planner::MoveOptions& options)```

控制机器人朝向theta曲线运动。

```cpp
rpos::actions::MoveAction rotateTo(const rpos::core::Rotation& orientation)   

控制机器人旋转到一个角度。

rpos::actions::MoveAction rotateTo(const rpos::core::Rotation& orientation, const motion_planner::MoveOptions& options)   

控制机器人旋转到一个角度。

rpos::actions::MoveAction rotate(const rpos::core::Rotation& rotation)   

控制机器人旋转一定的角度。

rpos::actions::MoveAction rotate(const rpos::core::Rotation& rotation, const motion_planner::MoveOptions& options)   

控制机器人旋转一定的角度。

rpos::actions::MoveAction recoverLocalization(const core::RectangleF& area, const motion_planner::RecoverLocalizationOptions& options)   

请求机器人重定位。

rpos::actions::VelocityControlMoveAction velocityControl();   

启动一个机器人速度设置的行动,通过返回的对象可以设置机器人线速度和角速度。

rpos::actions::MoveAction getCurrentAction()   

获得机器人当前正在进行的移动动作。您可以使用Action::isEmpty()方法判断它是否存在。当机器人当前没有正在进行的动作时,它Action::isEmpty()将会返回true。

rpos::features::motion_planner::Path searchPath(const rpos::core::Location&)   

使用机器人内置的寻路算法寻找前往指定目的地的路径。