6 #ifndef PROJECT_SIMULATION_H 7 #define PROJECT_SIMULATION_H 28 #include <lcm/lcm-cpp.hpp> 29 #include "simulator_lcmt.hpp" 31 #define SIM_LCM_NAME "simulator_state" 41 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 void step(
double dt,
double dtLowLevelControl,
double dtHighLevelControl);
55 double sizeX = 20,
double sizeY = 20,
56 double checkerX = 40,
double checkerY = 40,
57 bool addToWindow =
true);
58 void addCollisionBox(
double mu,
double resti,
double depth,
double width,
61 bool transparent =
true);
65 bool transparent =
true);
116 bool addGraphics =
true);
153 #endif // PROJECT_SIMULATION_H
void addCollisionBox(double mu, double resti, double depth, double width, double height, const Vec3< double > &pos, const Mat3< double > &ori, bool addToWindow=true, bool transparent=true)
const FBModelState< double > & getRobotState()
void runAtSpeed(bool graphics=true)
Shared memory utilities for connecting the simulator program to the robot program.
void step(double dt, double dtLowLevelControl, double dtHighLevelControl)
ControlParameters & getUserParams()
ControlParameterValueKind
void addCollisionMesh(double mu, double resti, double grid_size, const Vec3< double > &left_corner_loc, const DMat< double > &height_map, bool addToWindow=true, bool transparent=true)
std::vector< ActuatorModel< double > > _actuatorModels
typename Eigen::Matrix< T, 3, 3 > Mat3
Data structure containing parameters for quadruped robot.
typename Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > DMat
Utility function to build a Cheetah 3 Quadruped object.
Utility function to build a Mini Cheetah Quadruped object.
typename Eigen::Matrix< T, 3, 1 > Vec3
TI_BoardControl _tiBoards[4]
SharedMemoryObject< SimulatorSyncronizedMessage > _sharedMemory
DynamicsSimulator< double > * _robotDataSimulator
void loadTerrainFile(const std::string &terrainFileName, bool addGraphics=true)
void setState(const FBModelState< T > &state)
RobotControlParameters _robotParams
void addCollisionPlane(double mu, double resti, double height, double sizeX=20, double sizeY=20, double checkerX=40, double checkerY=40, bool addToWindow=true)
Quadruped< double > _quadruped
void setRobotState(FBModelState< double > &state)
Spine Board Code, used to simulate the SpineBoard.
double _timeOfNextLowLevelControl
Timer for measuring how long things take.
SpineBoard _spineBoards[4]
RobotControlParameters & getRobotParams()
ControlParameters & _userParams
SimulatorControlParameters & _simParams
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Simulation(RobotType robot, Graphics3D *window, SimulatorControlParameters ¶ms, ControlParameters &userParams)
FloatingBaseModel< double > _model
const FBModelState< T > & getState() const
size_t _controllerRobotID
DynamicsSimulator< double > * _simulator
typename Eigen::Matrix< T, Eigen::Dynamic, 1 > DVec
Types to allow remote access of control parameters, for use with LCM/Shared memory.
Messages sent to/from the development simulator.
ImuSimulator< double > * _imuSimulator
FBModelState< double > _robotControllerState
SimulatorControlParameters & getSimParams()
double _timeOfNextHighLevelControl
void sendControlParameter(const std::string &name, ControlParameterValue value, ControlParameterValueKind kind, bool isUser)
Visualizer window for simulator.
FloatingBaseModel< double > _robotDataModel