在之前的文章中已经看过simple_message协议的头部信息封装类与关节数据封装类,同时也涉及到了反馈的关节数据,但是对于机器人的状态信息还没有涉及,此篇中将着重分析机器人的状态类,同时将一些相对简单的类也放在这里。
目录
robot_status
先来看一下记录反映机器人状态的代码声明:
#ifndef ROBOT_STATUS_H
#define ROBOT_STATUS_H
#ifndef FLATHEADERS
#include "simple_message/simple_message.h"
#include "simple_message/simple_serialize.h"
#include "simple_message/shared_types.h"
#else
#include "simple_message.h"
#include "simple_serialize.h"
#include "shared_types.h"
#endif
namespace industrial
{
namespace robot_status
{
//枚举反映industrial_msgs/RobotMode定义的常量
namespace RobotModes
{
enum RobotMode
{
UNKNOWN = -1,MANUAL = 1, AUTO = 2,
};
#ifdef ROS
int toROSMsgEnum(RobotModes::RobotMode mode);
#endif
}
typedef RobotModes::RobotMode RobotMode;
//枚举反映industrial_msgs/TriState定义的常量
namespace TriStates
{
enum TriState
{
TS_UNKNOWN = -1,
//以下定义值要保持一致
TS_TRUE = 1, TS_ON = 1, TS_ENABLED = 1, TS_HIGH = 1,
//以下定义值要保持一致
TS_FALSE = 0, TS_OFF = 0, TS_DISABLED = 0, TS_LOW = 0
};
#ifdef ROS
int toROSMsgEnum(TriStates::TriState state);
#endif
}
typedef TriStates::TriState TriState;
class RobotStatus : public industrial::simple_serialize::SimpleSerialize