5#include <chrono/physics/ChSystemNSC.h>
6#include <chrono/physics/ChBodyEasy.h>
7#include <chrono/functions/ChFunctionConst.h>
8#include <chrono/physics/ChLinkMotorRotationSpeed.h>
22auto build_wheel(std::shared_ptr<chrono::ChContactMaterialNSC> material,
const chrono::ChVector3d& pos);
23auto build_motor(std::shared_ptr<chrono::ChBodyEasyCylinder> wheel,
24 std::shared_ptr<chrono::ChFunctionConst> speed_func,
25 std::shared_ptr<chrono::ChBodyEasyBox> chassis,
26 const chrono::ChVector3d& pos);
39 void build(std::shared_ptr<chrono::ChContactMaterialNSC> material);
48 chrono::ChVector3d
position()noexcept{
return chassis_ -> GetPos();}
52 std::shared_ptr<chrono::ChBodyEasyBox> chassis_;
53 std::shared_ptr<chrono::ChBodyEasyCylinder> left_wheel_;
54 std::shared_ptr<chrono::ChBodyEasyCylinder> right_wheel_;
55 std::shared_ptr<chrono::ChLinkMotorRotationSpeed> left_wheel_motor_;
56 std::shared_ptr<chrono::ChLinkMotorRotationSpeed> right_wheel_motor_;
57 std::shared_ptr<chrono::ChBodyEasySphere> caster_wheel_;
58 std::shared_ptr<chrono::ChLinkLockRevolute> caster_link_joint_;
chrono::ChVector3d position() noexcept
Definition robot.h:48
void set_speed(real_t speed)
void add_to_sys(chrono::ChSystemNSC &sys) const
void build(std::shared_ptr< chrono::ChContactMaterialNSC > material)
Definition bitrl_consts.h:14
double real_t
real_t
Definition bitrl_types.h:23
const real_t WHEEL_WIDTH
Definition robot.h:19
auto build_wheel(std::shared_ptr< chrono::ChContactMaterialNSC > material, const chrono::ChVector3d &pos)
const real_t CASTER_RADIUS
Definition robot.h:20
const real_t CHASSIS_HEIGHT
Definition robot.h:18
auto build_motor(std::shared_ptr< chrono::ChBodyEasyCylinder > wheel, std::shared_ptr< chrono::ChFunctionConst > speed_func, std::shared_ptr< chrono::ChBodyEasyBox > chassis, const chrono::ChVector3d &pos)
const real_t WHEEL_RADIUS
Definition robot.h:17