Armar6Converter.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <string>
5
6#include <Eigen/Core>
7
8#include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
9
10#include "ConverterInterface.h"
11
13{
14 struct ConverterValue;
15 class ConverterTools;
16
18 {
19 public:
21 virtual ~Armar6Converter() override;
22
23
25 convert(const RobotUnitDataStreaming::TimeStep& data,
26 const RobotUnitDataStreaming::DataStreamingDescription& description) override;
27
28
29 protected:
30 void process(arondto::Proprioception& dto,
31 const std::string& entryName,
32 const ConverterValue& value);
33
34
35 private:
36 void processPlatformEntry(prop::arondto::Platform& dto,
37 const std::string& fieldName,
38 const ConverterValue& value);
39
40 void processForceTorqueEntry(std::map<std::string, prop::arondto::ForceTorque>& fts,
41 const std::vector<std::string>& split,
42 const ConverterValue& value);
43
44 void processForceTorqueEntry(prop::arondto::ForceTorque& ft,
45 const std::vector<std::string>& split,
46 const ConverterValue& value);
47
48 bool processJointEntry(prop::arondto::Joints& dto,
49 const std::vector<std::string>& split,
50 const ConverterValue& value);
51
52
53 private:
54 std::unique_ptr<ConverterTools> tools;
55 };
56} // namespace armarx::armem::server::robot_state::proprioception
aron::data::DictPtr convert(const RobotUnitDataStreaming::TimeStep &data, const RobotUnitDataStreaming::DataStreamingDescription &description) override
void process(arondto::Proprioception &dto, const std::string &entryName, const ConverterValue &value)
std::shared_ptr< Dict > DictPtr
Definition Dict.h:42
std::vector< std::string > split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)