- Add a new lcm server which combined the lowlevel and highlevel control. It is useful for ROS.
============================================================================================= V1.2.1
- Add new UDP constructor function as server.
- Move GetState() to GetRecv() in udp.hpp.
=============================================================================================
- Remove global variables in examples. All variables are user defined.
- Callback functions in LOOP need a parameter now.
- Change "PositionLimit", "PositionProtect" and "PowerProtect" to static functions.
=============================================================================================
- Add "PositionProtect" to prevent programs runaway.
- Move "JointLimit" to "PositionLimit".
- Move "PowerLimit" to "PowerProtect".
=============================================================================================
- Decrease interruptions.
- X86 uses core 2 and 3.
- ARM(TX2) uses core 2 and 3. The core 1 and 2 of TX2 are more likely have frequency reduction.
=============================================================================================
- Abolish "#define", which causes conflicts between user and library macros. Now use "constexpr" instead. Thanks Stuart Anderson.
- Add C++11 compile option.
- Fixed "-fPIC" related problem for shared library "liblaikago_comm.so".
=============================================================================================
- Move "SetLCM" and "SetPrint" from 'class control' to 'class loop'.
- Abolish publish or subscribe the state or command in ROS now, which causes data lag.
- Add 'print' thread.
=============================================================================================
- Abolish global variables, like "SendHigh, SendLow, RecvHigh, RecvLow". Now use Class.
- Replace directory "laikago_ws" with "laokago_sdk".
- Examples are now under "laokago_sdk/examples".
- Move 'liblaikago_comm.so' to folder "aliengo_sdk/lib".
- The name of send and receive variables are user defined and should be passed in.
- The name of callback functions are user defined and should be passed in.
- Replace function SetLevel() with Class Control(high or low level).
- Replace "status" with "state".
- Using LCM module for cross-process communication.
- Class UDP can be used to transfer user defined data now.
- Class loop can help running two or three soft-realtime threads. Each thread corresponds to a callback.
- Add namespace "laikago".
- All receive functions will save data in buffer first, that's why recv callback exists.
- Fixed 500Hz to control real robot with UDP.
=============================================================================================
- Simple SDK for rapid development.
- Integrate and simplify send and receive function of UDP.
- Running with multi threads in soft-realtime mode.