22 #ifndef __HAPTIX_SIM_API_HAPTIX_H__
23 #define __HAPTIX_SIM_API_HAPTIX_H__
34 #define hxsMAXCONTACT 200
37 #define hxsMAXLINKS 100
40 #define hxsMAXJOINTS 50
43 #define hxsMAXMODELS 50
46 #define hxsMAXNAMESIZE 100
61 typedef enum {hxsNOCOLLIDE, hxsDETECTIONONLY, hxsCOLLIDE} hxsCollideMode;
112 hxsQuaternion orient;
338 float _pos,
float _vel);
353 float _x,
float _y,
float _z,
float _roll,
float _pitch,
float _yaw,
354 int _gravity_mode, hxsModel *_model);
367 const hxsTransform *_transform);
404 const hxsVector3 *_velocity);
424 const hxsVector3 *_ang_vel);
434 const hxsVector3 *_force,
const float _duration);
444 const hxsVector3 *_torque,
const float _duration);
454 const hxsWrench *_wrench,
const float _duration);
496 const hxsCollideMode *_collide_mode);
504 hxsCollideMode *_collide_mode);
hxResult hxs_set_angular_velocity(const char *_name, const hxsVector3 *_ang_vel)
Set the angular velocity of a model.
char name[100]
Model name.
Definition: haptix_sim.h:193
hxResult hxs_reset(int _resetLimbPose)
Send world reset command/Carry over limb pose between world reset.
hxResult hxs_set_model_joint_state(const char *_model, const char *_joint, float _pos, float _vel)
Set simulation state (position and velocity) of joint named "_joint" in model "_model" to the desired...
hxsTransform transform
The position and orientation of the model, relative to the global coordinate frame.
Definition: haptix_sim.h:197
char name[100]
Link name.
Definition: haptix_sim.h:166
hxsVector3 ang_vel
Angular velocity (rad/s).
Definition: haptix_sim.h:176
hxResult hxs_sim_info(hxsSimInfo *_siminfo)
Get simulation information.
hxResult hxs_model_collide_mode(const char *_model, hxsCollideMode *_collide_mode)
Get the collide mode of the object.
hxResult hxs_set_model_transform(const char *_name, const hxsTransform *_transform)
Set model transform (position and orientation in the global coordinate frame).
float torque_motor
Torque due to actuation (N-m).
Definition: haptix_sim.h:152
hxResult hxs_linear_velocity(const char *_name, hxsVector3 *_velocity)
Get the linear velocity of a model.
hxResult hxs_add_model(const char *_sdf, const char *_name, float _x, float _y, float _z, float _roll, float _pitch, float _yaw, int _gravity_mode, hxsModel *_model)
Add model during runtime.
hxResult hxs_model_gravity_mode(const char *_name, int *_gravity_mode)
Get whether or not this model is affected by gravity.
hxResult hxs_start_logging(const char *_dirname)
Start recording log file.
hxsTransform camera_transform
Information about the camera.
Definition: haptix_sim.h:284
hxResult hxs_set_model_collide_mode(const char *_model, const hxsCollideMode *_collide_mode)
Set the collide mode of the object.
hxsVector3 lin_acc
Linear acceleration (m/s/s).
Definition: haptix_sim.h:179
#define hxsMAXJOINTS
Maximum number of joints per model.
Definition: haptix_sim.h:40
hxResult hxs_set_model_gravity_mode(const char *_name, const int _gravity_mode)
Set whether or not this model is affected by gravity.
Information about a model.
Definition: haptix_sim.h:190
Information about a joint. A joint is a component of a model.
Definition: haptix_sim.h:137
hxResult hxs_apply_force(const char *_modelName, const char *_linkName, const hxsVector3 *_force, const float _duration)
Apply force to a link.
hxsVector3 ang_acc
Angular acceleration (rad/s/s).
Definition: haptix_sim.h:182
hxsLink links[100]
Array of links in the model.
Definition: haptix_sim.h:205
hxsJoint joints[50]
Array of joints in the model.
Definition: haptix_sim.h:213
int link_count
Number of links in the model.
Definition: haptix_sim.h:201
#define hxsMAXNAMESIZE
Maximum number of characters allowed per name.
Definition: haptix_sim.h:46
int model_count
Number of models in simulation.
Definition: haptix_sim.h:276
hxsVector3 lin_vel
Linear velocity (m/s).
Definition: haptix_sim.h:173
hxResult hxs_set_model_color(const char *_model, const hxsColor *_color)
Set the color of the model.
hxResult hxs_camera_transform(hxsTransform *_transform)
Get information about the simulation camera.
int gravity_mode
1 if the model is affected by gravity, 0 otherwise.
Definition: haptix_sim.h:216
int joint_count
Number of joints in the model.
Definition: haptix_sim.h:209
hxsWrench wrench_reactive
Force/torque pair due to external disturbances.
Definition: haptix_sim.h:155
Definition: haptix_sim.h:121
A three-tuple vector.
Definition: haptix_sim.h:66
hxResult hxs_model_joint_state(const char *_model, hxsModel *_state)
Get simulation state (position and velocity) of joint named "_joint" in model "_model".
float acc
Acceleration (rad/s/s).
Definition: haptix_sim.h:149
hxResult hxs_is_logging(int *_result)
Determine if logging is running.
hxResult hxs_remove_model(const char *_name)
Remove model.
Information about a link. A link is a component of a model.
Definition: haptix_sim.h:163
hxResult hxs_model_transform(const char *_name, hxsTransform *_transform)
Get model transform (position and orientation in the global coordinate frame).
hxResult hxs_stop_logging()
Stop recording log file.
hxResult hxs_contacts(const char *_model, hxsContactPoints *_contact)
Get information about active contacts for a model.
hxsTransform transform
The position and orientation of the link, relative to the model.
Definition: haptix_sim.h:170
hxResult hxs_apply_wrench(const char *_modelName, const char *_linkName, const hxsWrench *_wrench, const float _duration)
Apply a wrench to a link.
hxResult hxs_apply_torque(const char *_modelName, const char *_linkName, const hxsVector3 *_torque, const float _duration)
Apply torque to a link.
hxsVector3 force
3-dimensional force vector (Newtons).
Definition: haptix_sim.h:124
A quaternion.
Definition: haptix_sim.h:95
Simulation information.
Definition: haptix_sim.h:272
hxsVector3 torque
3-dimensional torque vector.
Definition: haptix_sim.h:129
hxResult hxs_set_camera_transform(const hxsTransform *_transform)
Set camera transform.
hxResult hxs_remove_constraint(const char *_name, const char *_model)
Remove constraint.
#define hxsMAXCONTACT
Maximum number of contacts.
Definition: haptix_sim.h:34
hxResult hxs_add_constraint(const char *_sdf, const char *_model)
Dynamically add constraint between two links during runtime.
#define hxsMAXLINKS
Maximum number of links per model.
Definition: haptix_sim.h:37
char name[100]
Joint name.
Definition: haptix_sim.h:140
hxResult
API return codes.
Definition: haptix.h:60
A 4-tuple representing a color in RGBA space.
Definition: haptix_sim.h:79
hxResult hxs_set_linear_velocity(const char *_name, const hxsVector3 *_velocity)
Set the linear velocity of a model.
hxResult hxs_angular_velocity(const char *_name, hxsVector3 *_ang_vel)
Get the angular velocity of a model.
hxResult hxs_model_color(const char *_model, hxsColor *_color)
Get the color of the model.
float pos
Position (radians).
Definition: haptix_sim.h:143
Structures and functions for the primary HAPTIX API.
float vel
Velocity (rad/s).
Definition: haptix_sim.h:146
hxsModel models[50]
Array of models in simulation.
Definition: haptix_sim.h:280
#define hxsMAXMODELS
Maximum number of models per simulation.
Definition: haptix_sim.h:43