3 #include <parsernode/common.h>
4 #include <parsernode/parser.h>
22 void setRC(int16_t channels[4]) {
23 for (
int i = 0; i < 4; i++) {
24 quad_data.servo_in[i] = channels[i];
33 quad_data.quadstate =
"takeoff";
42 quad_data.quadstate =
"land";
51 quad_data.quadstate =
"disarm";
60 quad_data.quadstate =
"flowcontrol";
69 quad_data.quadstate =
"calibrateimu";
83 bool sendyaw =
false) {
84 quad_data.rpydata.x = rpytmsg.x;
85 quad_data.rpydata.y = rpytmsg.y;
86 quad_data.rpydata.z = rpytmsg.z;
97 virtual bool cmdvelguided(geometry_msgs::Vector3 &vel_cmd,
double &yaw_ang) {
98 quad_data.linvel = vel_cmd;
99 quad_data.rpydata.z = yaw_ang;
111 double desired_yaw = 0) {
112 quad_data.localpos = desired_pos;
113 quad_data.rpydata.z = desired_yaw;
121 virtual void grip(
int state) {}
150 virtual void getquaddata(parsernode::common::quaddata &d1) { d1 = quad_data; }
161 quad_data.batterypercent = percent;
169 quad_data.altitude = altitude_;
170 quad_data.localpos.z = altitude_;
189 parsernode::common::quaddata quad_data;
virtual bool takeoff()
Takeoff.
Definition: sample_parser.h:32
virtual void initialize(ros::NodeHandle &nh_)
Initialize the Hardware with a ros node handle to setup communications.
Definition: sample_parser.h:144
SampleParser()
Implict constructor.
Definition: sample_parser.h:15
virtual bool calibrateimubias()
Recalibrate IMU.
Definition: sample_parser.h:68
virtual bool land()
Land.
Definition: sample_parser.h:41
virtual bool cmdvelguided(geometry_msgs::Vector3 &vel_cmd, double &yaw_ang)
Command velocity and yaw to UAV.
Definition: sample_parser.h:97
virtual void setaltitude(double altitude_)
set the altitude or local z height data(m)
Definition: sample_parser.h:168
An example UAV hardware that emulates actual UAV hardware.
Definition: sample_parser.h:10
virtual void reset_attitude(double roll, double pitch, double yaw)
Set the attitude data to specified roll, pitch, yaw (rad)
Definition: sample_parser.h:129
virtual void setlogdir(string logdir)
Create log directory and create log files.
Definition: sample_parser.h:177
virtual void getquaddata(parsernode::common::quaddata &d1)
Get the sensor data and UAV state.
Definition: sample_parser.h:150
void setRC(int16_t channels[4])
set the rc channel information stored in the UAV brain
Definition: sample_parser.h:22
virtual bool disarm()
Turn off motor.
Definition: sample_parser.h:50
virtual void controllog(bool logswitch)
Toggle logging.
Definition: sample_parser.h:183
virtual ~SampleParser()
Polymorphic destructor.
Definition: sample_parser.h:154
virtual void grip(int state)
Toggle gripper.
Definition: sample_parser.h:121
virtual bool cmdwaypoint(geometry_msgs::Vector3 &desired_pos, double desired_yaw=0)
Command position yaw for UAV.
Definition: sample_parser.h:110
virtual bool cmdrpythrust(geometry_msgs::Quaternion &rpytmsg, bool sendyaw=false)
Command the euler angles of the quad and the thrust.
Definition: sample_parser.h:82
virtual bool flowControl(bool)
Toggle software control.
Definition: sample_parser.h:59
virtual void setBatteryPercent(double percent)
Set the battery percent sensor data.
Definition: sample_parser.h:160
virtual void setmode(std::string mode)
Set UAV controller mode such position controlling, rpyt etc.
Definition: sample_parser.h:135