Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
We need to save and load fusiontrack data from a file, the functions to do this (toFlatBuffer) are partially implemented, but don't yet save all of the data.
[x] Create a new function flatbuffers::Offset
toFlatBuffer(flatbuffers::FlatBufferBuilder &fbb, const grl::sensor::FusionTrack &fusiontrack, const grl::sensor::FusionTrack::Frame) in FusionTrackToFlatBuffer.hpp to record FusionTrackMessage (in FusionTrack.fbs
[x] timestamp:double is from fusiontrack->frame.imageHeader.timestampUS * microsecToSec;
[x] geometries:[ftkGeometry] is from FusionTrack.hpp->class FusionTrack -> struct Params -> std::vector markerModelGeometries
[x] timeEvent:TimeEvent is defined in TimeEvent, which is used in LogKUKAiiwaFusionTrack.fbs -> table LogKUKAiiwaFusionTrack states -> table KUKAiiwaFusionTrackMessage; the values are from FusionTrack.hpp->class FusionTrack -> Class Frame -> TimeEvent TimeStamp
Before assign any value to timeEvent, firstly we should define a new function writing the timeEvent to flatbuffer.
[x] frames:[FusionTrackFrame] is the vector of FusionTrackFrame, which is defined in the values are from FusionTrack.hpp->class FusionTrack -> Class Frame .
New table (table FusionTrackParameters) has been added in FusionTrack.fbs to record data that doesn't change often.
As for this part, I think we should store all the flatbuffer stuff physically, and then get flatbuffer files such as monsterdata_test.mon.
The toFlatBuffer functions are designed to write the bytes to a file, and then send them over the network.here can we get the flatbuffer disk fill?
Then we should use buffer_pointer and flatbuffers/util.h to load, read and deserialize a FlatBuffer, convert all the parameter types into string, then Save it to disk.
Don't forget to refer to the example .
We need to save and load fusiontrack data from a file, the functions to do this (toFlatBuffer) are partially implemented, but don't yet save all of the data.
Finish implementation of data conversion API:
Important code:
Before assign any value to timeEvent, firstly we should define a new function writing the timeEvent to flatbuffer.
[x] Complete four toFlatBuffer functions in FusionTrackToFlatBuffer.hpp. (10/18)
TimeEvent
FusionTrackMessage
KUKAiiwaFusionTrackMessage
LogKUKAiiwaFusionTrack. UNION (deviceState:DeviceState) in LogKUKAiiwaFusionTrack.fbs doesn't work now.
[x] Save flatbuffers file containing buffers of type LogKUKAiiwaFusionTrack.fbs to disk with flatbuffers/util.h (10/20-10/22)
As for this part, I think we should store all the flatbuffer stuff physically, and then get flatbuffer files such as monsterdata_test.mon. The toFlatBuffer functions are designed to write the bytes to a file, and then send them over the network.here can we get the flatbuffer disk fill? Then we should use buffer_pointer and flatbuffers/util.h to load, read and deserialize a FlatBuffer, convert all the parameter types into string, then Save it to disk. Don't forget to refer to the example .
[x] Add test. Example for test part KukaLBRiiwaVrepPluginTest.cpp. fusionTrackTest.cpp add another case Boost_Auto_Test_Case (maybe need to edit the function).
[x] add atracsys logging to V-REP plugin
[x] run v-rep and collect a log file of the motion of the real robot.