1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 01:50:46 +02:00

Changed KinematicsInfo to match reality

In the docs, the message has a length of 222 bytes,
while the robots send 225 bytes of data.

As parsing goes correct, they have to be at the end of the message,
we assume that the calibration_data field in fact has the type of a 4-byte
integer.
This commit is contained in:
Felix Mauch
2019-04-10 08:30:50 +02:00
parent 38fc393f53
commit 4dc4cc0fb0
2 changed files with 14 additions and 3 deletions

View File

@@ -29,18 +29,21 @@ namespace primary_interface
class KinematicsInfo : public RobotState
{
public:
KinematicsInfo() = default;
KinematicsInfo() = delete;
KinematicsInfo(const RobotStateType type) : RobotState(type)
{
}
virtual ~KinematicsInfo() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
vector6d_t checksum_;
vector6uint32_t checksum_;
vector6d_t dh_theta_;
vector6d_t dh_a_;
vector6d_t dh_d_;
vector6d_t dh_alpha_;
uint8_t calibration_status_;
uint32_t calibration_status_; // According to the docs this should be uint8_t, but then I have 3 bytes left.
};
// TODO: Handle pre-3.6 as they don't have kinematics info