1#ifndef DIFF_DRIVE_ROBOT_PLATES_H
2#define DIFF_DRIVE_ROBOT_PLATES_H
4#include "bitrl/bitrl_config.h"
11#include "chrono/physics/ChSystem.h"
17namespace rb::bitrl_chrono
29class CHRONO_DiffDriveRobot_BottomPlate :
public CHRONO_DiffDriveRobot_Part {
31 CHRONO_DiffDriveRobot_BottomPlate(std::shared_ptr<chrono::ChContactMaterial> mat,
32 chrono::ChSystem* system,
33 const chrono::ChVector3d& body_pos,
34 const chrono::ChQuaternion<>& body_rot,
35 std::shared_ptr<chrono::ChBodyAuxRef> chassis);
36 virtual ~CHRONO_DiffDriveRobot_BottomPlate()=
default;
39 virtual void init()
override;
43 void translate(
const chrono::ChVector3d& shift);
57class CHRONO_DiffDriveRobot_MiddlePlate :
public CHRONO_DiffDriveRobot_Part {
59 CHRONO_DiffDriveRobot_MiddlePlate(
60 std::shared_ptr<chrono::ChContactMaterial> mat,
61 chrono::ChSystem* system,
62 const chrono::ChVector3d& body_pos,
63 const chrono::ChQuaternion<>& body_rot,
64 std::shared_ptr<chrono::ChBodyAuxRef> chassis);
66 virtual ~CHRONO_DiffDriveRobot_MiddlePlate()=
default;
69 virtual void init()
override;
74 void translate(
const chrono::ChVector3d& shift);
88class CHRONO_DiffDriveRobot_TopPlate :
public CHRONO_DiffDriveRobot_Part {
92 CHRONO_DiffDriveRobot_TopPlate(std::shared_ptr<chrono::ChContactMaterial> mat,
93 chrono::ChSystem* system,
94 const chrono::ChVector3d& body_pos,
95 const chrono::ChQuaternion<>& body_rot,
96 std::shared_ptr<chrono::ChBodyAuxRef> chassis);
97 virtual ~CHRONO_DiffDriveRobot_TopPlate() {}
100 virtual void init()
override;
104 void translate(
const chrono::ChVector3d& shift);
Definition bitrl_consts.h:14