Skip to content

RBL C++ cleaning #4

Description

@afxalz
  • Clean the RBL library to become ROS API free
  • We will still use the mrs_lib, mrs_msgs and any kind of ROS msgs but use Eigen wherever possible
  • Currently the wrapper expects the following design
  struct RBLParams
  {
    double step_size;
    double radius;
    double encumbrance;
    double dt;
    double beta_min;
    double betaD;
    double beta;
    double d1;
    double d2;
    double d3;
    double d4;
    double d5;
    double d6;
    double d7;
    double th;
    double ph;
    double max_connection_dist;
    double cwvd_rob;
    double cwvd_obs;
    double radius_search;
    bool   use_z_rule;
    double z_ref;
    double z_min;
    double z_max;
    bool   only_2d = false;
  };

  class RBLController
  {
  public:
    RBLController(const RBLParams& params);
    void setCurrentPosition(const Eigen::Vector3d& point);
    void setGroupPositions(const std::vector<Eigen::Vector3d>& list_points);
    void setPCL(const sensor_msgs::PointCloud2::ConstPtr& list_points);
    void setGoal(const Eigen::Vector3d& point);

    mrs_msgs::Reference            getNextRef();
    Eigen::Vector3d                getGoal();
    Eigen::Vector3d                getCurrentPosition();
    Eigen::Vector3d                getCentroid();
    pcl::PointCloud<pcl::PointXYZ> getPCL();
  };

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions