【无人水面艇路径跟随控制1】(C++)USV代码阅读:包含了路径点的索引、期望的航向和速度、前视距离等参数,并提供了从路径点和里程计信息中计算期望航向的功能。

【无人水面艇路径跟随控制1】(C++)USV代码阅读:包含了路径点的索引、期望的航向和速度、前视距离等参数,并提供了从路径点和里程计信息中计算期望航向的功能。


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

阅读代码:https://github.com/USE-jx/USV_path_follow/tree/main

usv path follow:无人水面艇路径跟随
trajectory tracking:轨迹跟踪

请添加图片描述

set_of_los.h

motion_control\guidance\los_guidance\include\los_guidance\set_of_los.h

这个文件 set_of_los.h 是一个C++头文件,定义了一个名为 SetOfLos 的类,该类属于 motion_control 命名空间。这个类主要用于路径跟随和轨迹跟踪控制。

梳理

这个类 SetOfLos 主要用于路径跟随控制,包含了路径点的索引、期望的航向和速度、前视距离等参数,并提供了从路径点和里程计信息中计算期望航向的功能。

详细解释

以下是代码的详细解释:

宏定义

#ifndef SET_OF_LOS_H
#define SET_OF_LOS_H

这些宏定义用于防止头文件被多次包含,避免重复定义。

头文件包含

#include <ros/ros.h>
#include <geometry_msgs/PoseStamped.h>
#include <nav_msgs/Path.h>
#include <nav_msgs/Odometry.h>
#include <Eigen/Eigen.h>
#include <tf2/utils.h>

这些头文件提供了ROS功能、几何消息、路径消息、里程计消息、Eigen库(用于线性代数操作)和TF2库(用于坐标变换)的支持。

命名空间

namespace motion_control {

SetOfLos 类放在 motion_control 命名空间中,以避免命名冲突。

类定义

class SetOfLos {
private:
    double desired_course_;
    double desired_speed_;
    bool is_final_;
    int index_;  //index of waypoints
    double switch_dist_;

    //if use const lookahead distance
    bool use_const_delta_;
    double const_delta_;

    //time-varying params
    double delta_max_;
    double delta_min_;
    double gamma_;
私有成员变量
公有成员函数
public:
    SetOfLos();
    ~SetOfLos();

    void setParam(ros::NodeHandle& nh);

    //get desired course from waypoints path
    Eigen::Vector2d getCourseFromWaypoints(const nav_msgs::Path &path, 
                                  const nav_msgs::Odometry &odom,
                                  bool &is_final);
  • 构造函数 SetOfLos() 和析构函数 ~SetOfLos():用于初始化和清理对象。
  • setParam(ros::NodeHandle& nh):从ROS节点句柄中设置参数。
  • getCourseFromWaypoints(const nav_msgs::Path &path, const nav_msgs::Odometry &odom, bool &is_final):从路径点和里程计信息中获取期望的航向。

结束宏定义

}
#endif

结束命名空间和宏定义。


hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家添加好友交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是Yu欸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值