From 51ca7421471f25bee15de97f462f46684f83a486 Mon Sep 17 00:00:00 2001 From: fan-ziqi Date: Thu, 27 Feb 2025 23:01:11 +0800 Subject: [PATCH] lib --- src/rl_sar/library/{ => core}/loop/loop.hpp | 0 .../{ => core}/matplotlibcpp/matplotlibcpp.h | 0 .../observation_buffer/observation_buffer.cpp | 0 .../observation_buffer/observation_buffer.hpp | 0 .../library/{ => core}/rl_sdk/rl_sdk.cpp | 61 +- .../library/{ => core}/rl_sdk/rl_sdk.hpp | 6 +- src/rl_sar/library/thirdparty/l4w4_sdk/comm.h | 60 ++ .../library/thirdparty/l4w4_sdk/joystick.h | 41 ++ .../library/thirdparty/l4w4_sdk/l4w4_sdk.hpp | 534 ++++++++++++++++++ .../include/unitree_legged_sdk/a1_const.h | 0 .../unitree_legged_sdk/aliengo_const.h | 0 .../include/unitree_legged_sdk/comm.h | 0 .../include/unitree_legged_sdk/lcm.h | 0 .../include/unitree_legged_sdk/lcm_server.h | 0 .../include/unitree_legged_sdk/loop.h | 0 .../include/unitree_legged_sdk/quadruped.h | 0 .../include/unitree_legged_sdk/safety.h | 0 .../include/unitree_legged_sdk/udp.h | 0 .../unitree_legged_sdk/unitree_joystick.h | 0 .../unitree_legged_sdk/unitree_legged_sdk.h | 0 .../lib/libunitree_legged_sdk_amd64.so | Bin .../lib/libunitree_legged_sdk_arm32.so | Bin .../lib/libunitree_legged_sdk_arm64.so | Bin .../include/unitree/common/any.hpp | 0 .../include/unitree/common/assert.hpp | 0 .../include/unitree/common/block_queue.hpp | 0 .../unitree/common/dds/dds_callback.hpp | 0 .../unitree/common/dds/dds_easy_model.hpp | 0 .../include/unitree/common/dds/dds_entity.hpp | 0 .../include/unitree/common/dds/dds_error.hpp | 0 .../unitree/common/dds/dds_exception.hpp | 0 .../unitree/common/dds/dds_factory_model.hpp | 0 .../include/unitree/common/dds/dds_native.hpp | 0 .../unitree/common/dds/dds_parameter.hpp | 0 .../include/unitree/common/dds/dds_qos.hpp | 0 .../unitree/common/dds/dds_qos_parameter.hpp | 0 .../unitree/common/dds/dds_qos_policy.hpp | 0 .../common/dds/dds_qos_policy_parameter.hpp | 0 .../unitree/common/dds/dds_qos_realize.hpp | 0 .../unitree/common/dds/dds_topic_channel.hpp | 0 .../include/unitree/common/dds/dds_traits.hpp | 0 .../include/unitree/common/decl.hpp | 0 .../include/unitree/common/error.hpp | 0 .../include/unitree/common/exception.hpp | 0 .../unitree/common/filesystem/directory.hpp | 0 .../unitree/common/filesystem/file.hpp | 0 .../unitree/common/filesystem/filesystem.hpp | 0 .../include/unitree/common/json/json.hpp | 0 .../unitree/common/json/json_config.hpp | 0 .../include/unitree/common/json/jsonize.hpp | 0 .../include/unitree/common/lock/lock.hpp | 0 .../include/unitree/common/log/log.hpp | 0 .../include/unitree/common/log/log_buffer.hpp | 0 .../include/unitree/common/log/log_decl.hpp | 0 .../include/unitree/common/log/log_initor.hpp | 0 .../include/unitree/common/log/log_keeper.hpp | 0 .../include/unitree/common/log/log_logger.hpp | 0 .../include/unitree/common/log/log_policy.hpp | 0 .../include/unitree/common/log/log_store.hpp | 0 .../include/unitree/common/log/log_writer.hpp | 0 .../include/unitree/common/os.hpp | 0 .../service/base/service_application.hpp | 0 .../common/service/base/service_base.hpp | 0 .../common/service/base/service_config.hpp | 0 .../common/service/base/service_decl.hpp | 0 .../unitree/common/service/dds_service.hpp | 0 .../include/unitree/common/string_tool.hpp | 0 .../include/unitree/common/thread/future.hpp | 0 .../common/thread/recurrent_thread.hpp | 0 .../include/unitree/common/thread/thread.hpp | 0 .../unitree/common/thread/thread_decl.hpp | 0 .../unitree/common/thread/thread_pool.hpp | 0 .../unitree/common/thread/thread_task.hpp | 0 .../include/unitree/common/time/sleep.hpp | 0 .../include/unitree/common/time/time_tool.hpp | 0 .../include/unitree/idl/go2/AudioData_.hpp | 0 .../include/unitree/idl/go2/BmsCmd_.hpp | 0 .../include/unitree/idl/go2/BmsState_.hpp | 0 .../unitree/idl/go2/ConfigChangeStatus_.hpp | 0 .../include/unitree/idl/go2/Error_.hpp | 0 .../unitree/idl/go2/Go2FrontVideoData_.hpp | 0 .../include/unitree/idl/go2/HeightMap_.hpp | 0 .../include/unitree/idl/go2/IMUState_.hpp | 0 .../unitree/idl/go2/InterfaceConfig_.hpp | 0 .../include/unitree/idl/go2/LidarState_.hpp | 0 .../include/unitree/idl/go2/LowCmd_.hpp | 0 .../include/unitree/idl/go2/LowState_.hpp | 0 .../include/unitree/idl/go2/MotorCmd_.hpp | 0 .../include/unitree/idl/go2/MotorCmds_.hpp | 0 .../include/unitree/idl/go2/MotorState_.hpp | 0 .../include/unitree/idl/go2/MotorStates_.hpp | 0 .../include/unitree/idl/go2/PathPoint_.hpp | 0 .../include/unitree/idl/go2/Req_.hpp | 0 .../include/unitree/idl/go2/Res_.hpp | 0 .../include/unitree/idl/go2/SportModeCmd_.hpp | 0 .../unitree/idl/go2/SportModeState_.hpp | 0 .../include/unitree/idl/go2/TimeSpec_.hpp | 0 .../include/unitree/idl/go2/UwbState_.hpp | 0 .../include/unitree/idl/go2/UwbSwitch_.hpp | 0 .../unitree/idl/go2/WirelessController_.hpp | 0 .../include/unitree/idl/ros2/Header_.hpp | 0 .../include/unitree/idl/ros2/MapMetaData_.hpp | 0 .../unitree/idl/ros2/OccupancyGrid_.hpp | 0 .../include/unitree/idl/ros2/Odometry_.hpp | 0 .../include/unitree/idl/ros2/Point32_.hpp | 0 .../include/unitree/idl/ros2/PointCloud2_.hpp | 0 .../include/unitree/idl/ros2/PointField_.hpp | 0 .../unitree/idl/ros2/PointStamped_.hpp | 0 .../include/unitree/idl/ros2/Point_.hpp | 0 .../include/unitree/idl/ros2/Pose2D_.hpp | 0 .../include/unitree/idl/ros2/PoseStamped_.hpp | 0 .../idl/ros2/PoseWithCovarianceStamped_.hpp | 0 .../unitree/idl/ros2/PoseWithCovariance_.hpp | 0 .../include/unitree/idl/ros2/Pose_.hpp | 0 .../unitree/idl/ros2/QuaternionStamped_.hpp | 0 .../include/unitree/idl/ros2/Quaternion_.hpp | 0 .../include/unitree/idl/ros2/String_.hpp | 0 .../include/unitree/idl/ros2/Time_.hpp | 0 .../unitree/idl/ros2/TwistStamped_.hpp | 0 .../idl/ros2/TwistWithCovarianceStamped_.hpp | 0 .../unitree/idl/ros2/TwistWithCovariance_.hpp | 0 .../include/unitree/idl/ros2/Twist_.hpp | 0 .../include/unitree/idl/ros2/Vector3_.hpp | 0 .../robot/b2/back_video/back_video_api.hpp | 0 .../robot/b2/back_video/back_video_client.hpp | 0 .../robot/b2/back_video/back_video_error.hpp | 0 .../unitree/robot/b2/config/config_api.hpp | 0 .../unitree/robot/b2/config/config_client.hpp | 0 .../unitree/robot/b2/config/config_error.hpp | 0 .../robot/b2/front_video/front_video_api.hpp | 0 .../b2/front_video/front_video_client.hpp | 0 .../b2/front_video/front_video_error.hpp | 0 .../motion_switcher/motion_switcher_api.hpp | 0 .../motion_switcher_client.hpp | 0 .../motion_switcher/motion_switcher_error.hpp | 0 .../robot/b2/robot_state/robot_state_api.hpp | 0 .../b2/robot_state/robot_state_client.hpp | 0 .../b2/robot_state/robot_state_error.hpp | 0 .../unitree/robot/b2/sport/sport_api.hpp | 0 .../unitree/robot/b2/sport/sport_client.hpp | 0 .../unitree/robot/b2/sport/sport_error.hpp | 0 .../unitree/robot/channel/channel_factory.hpp | 0 .../unitree/robot/channel/channel_labor.hpp | 0 .../unitree/robot/channel/channel_namer.hpp | 0 .../robot/channel/channel_publisher.hpp | 0 .../robot/channel/channel_subscriber.hpp | 0 .../include/unitree/robot/client/client.hpp | 0 .../unitree/robot/client/client_base.hpp | 0 .../unitree/robot/client/client_stub.hpp | 0 .../unitree/robot/client/lease_client.hpp | 0 .../unitree/robot/future/request_future.hpp | 0 .../unitree/robot/g1/loco/g1_loco_api.hpp | 0 .../unitree/robot/g1/loco/g1_loco_client.hpp | 0 .../unitree/robot/g1/loco/g1_loco_error.hpp | 0 .../obstacles_avoid/obstacles_avoid_api.hpp | 0 .../obstacles_avoid_client.hpp | 0 .../unitree/robot/go2/public/jsonize_type.hpp | 0 .../robot/go2/robot_state/robot_state_api.hpp | 0 .../go2/robot_state/robot_state_client.hpp | 0 .../go2/robot_state/robot_state_error.hpp | 0 .../unitree/robot/go2/sport/sport_api.hpp | 0 .../unitree/robot/go2/sport/sport_client.hpp | 0 .../unitree/robot/go2/sport/sport_error.hpp | 0 .../unitree/robot/go2/utrack/utrack_api.hpp | 0 .../robot/go2/utrack/utrack_client.hpp | 0 .../unitree/robot/go2/video/video_api.hpp | 0 .../unitree/robot/go2/video/video_client.hpp | 0 .../unitree/robot/go2/video/video_error.hpp | 0 .../include/unitree/robot/go2/vui/vui_api.hpp | 0 .../unitree/robot/go2/vui/vui_client.hpp | 0 .../unitree/robot/go2/vui/vui_error.hpp | 0 .../unitree/robot/h1/loco/h1_loco_api.hpp | 0 .../unitree/robot/h1/loco/h1_loco_client.hpp | 0 .../unitree/robot/h1/loco/h1_loco_error.hpp | 0 .../unitree/robot/internal/internal.hpp | 0 .../unitree/robot/internal/internal_api.hpp | 0 .../unitree/robot/internal/internal_error.hpp | 0 .../internal_idl_decl/RequestHeader_.hpp | 0 .../internal_idl_decl/RequestIdentity_.hpp | 0 .../internal_idl_decl/RequestLease_.hpp | 0 .../internal_idl_decl/RequestPolicy_.hpp | 0 .../internal/internal_idl_decl/Request_.hpp | 0 .../internal_idl_decl/ResponseHeader_.hpp | 0 .../internal_idl_decl/ResponseStatus_.hpp | 0 .../internal/internal_idl_decl/Response_.hpp | 0 .../internal/internal_request_response.hpp | 0 .../unitree/robot/serialize/serialize.hpp | 0 .../unitree/robot/server/lease_server.hpp | 0 .../include/unitree/robot/server/server.hpp | 0 .../unitree/robot/server/server_base.hpp | 0 .../unitree/robot/server/server_stub.hpp | 0 .../lib/aarch64/libunitree_sdk2.a | Bin .../unitree_sdk2/lib/x86_64/libunitree_sdk2.a | Bin .../unitree_sdk2/thirdparty/CMakeLists.txt | 0 .../thirdparty/include/dds/config.h | 0 .../unitree_sdk2/thirdparty/include/dds/dds.h | 0 .../include/dds/ddsc/dds_basic_types.h | 0 .../include/dds/ddsc/dds_data_allocator.h | 0 .../include/dds/ddsc/dds_internal_api.h | 0 .../include/dds/ddsc/dds_loan_api.h | 0 .../thirdparty/include/dds/ddsc/dds_opcodes.h | 0 .../include/dds/ddsc/dds_public_alloc.h | 0 .../include/dds/ddsc/dds_public_error.h | 0 .../include/dds/ddsc/dds_public_impl.h | 0 .../include/dds/ddsc/dds_public_listener.h | 0 .../include/dds/ddsc/dds_public_qos.h | 0 .../include/dds/ddsc/dds_public_qosdefs.h | 0 .../include/dds/ddsc/dds_public_status.h | 0 .../thirdparty/include/dds/ddsc/dds_rhc.h | 0 .../include/dds/ddsc/dds_statistics.h | 0 .../include/dds/ddsi/ddsi_acknack.h | 0 .../include/dds/ddsi/ddsi_builtin_topic_if.h | 0 .../include/dds/ddsi/ddsi_cdrstream.h | 0 .../include/dds/ddsi/ddsi_cfgelems.h | 0 .../include/dds/ddsi/ddsi_cfgunits.h | 0 .../thirdparty/include/dds/ddsi/ddsi_config.h | 0 .../include/dds/ddsi/ddsi_config_impl.h | 0 .../include/dds/ddsi/ddsi_deadline.h | 0 .../include/dds/ddsi/ddsi_deliver_locally.h | 0 .../include/dds/ddsi/ddsi_domaingv.h | 0 .../include/dds/ddsi/ddsi_endpoint.h | 0 .../thirdparty/include/dds/ddsi/ddsi_entity.h | 0 .../include/dds/ddsi/ddsi_entity_index.h | 0 .../include/dds/ddsi/ddsi_entity_match.h | 0 .../thirdparty/include/dds/ddsi/ddsi_guid.h | 0 .../include/dds/ddsi/ddsi_handshake.h | 0 .../thirdparty/include/dds/ddsi/ddsi_iid.h | 0 .../thirdparty/include/dds/ddsi/ddsi_ipaddr.h | 0 .../include/dds/ddsi/ddsi_keyhash.h | 0 .../include/dds/ddsi/ddsi_lifespan.h | 0 .../include/dds/ddsi/ddsi_list_genptr.h | 0 .../include/dds/ddsi/ddsi_list_tmpl.h | 0 .../include/dds/ddsi/ddsi_locator.h | 0 .../include/dds/ddsi/ddsi_mcgroup.h | 0 .../thirdparty/include/dds/ddsi/ddsi_ownip.h | 0 .../include/dds/ddsi/ddsi_participant.h | 0 .../thirdparty/include/dds/ddsi/ddsi_plist.h | 0 .../include/dds/ddsi/ddsi_plist_generic.h | 0 .../thirdparty/include/dds/ddsi/ddsi_pmd.h | 0 .../include/dds/ddsi/ddsi_portmapping.h | 0 .../include/dds/ddsi/ddsi_proxy_endpoint.h | 0 .../include/dds/ddsi/ddsi_proxy_participant.h | 0 .../thirdparty/include/dds/ddsi/ddsi_raweth.h | 0 .../thirdparty/include/dds/ddsi/ddsi_rhc.h | 0 .../include/dds/ddsi/ddsi_security_exchange.h | 0 .../include/dds/ddsi/ddsi_security_msg.h | 0 .../include/dds/ddsi/ddsi_security_omg.h | 0 .../include/dds/ddsi/ddsi_security_util.h | 0 .../include/dds/ddsi/ddsi_serdata.h | 0 .../include/dds/ddsi/ddsi_serdata_default.h | 0 .../include/dds/ddsi/ddsi_serdata_plist.h | 0 .../include/dds/ddsi/ddsi_serdata_pserop.h | 0 .../include/dds/ddsi/ddsi_sertopic.h | 0 .../include/dds/ddsi/ddsi_sertype.h | 0 .../include/dds/ddsi/ddsi_shm_transport.h | 0 .../thirdparty/include/dds/ddsi/ddsi_ssl.h | 0 .../include/dds/ddsi/ddsi_statistics.h | 0 .../thirdparty/include/dds/ddsi/ddsi_tcp.h | 0 .../include/dds/ddsi/ddsi_threadmon.h | 0 .../thirdparty/include/dds/ddsi/ddsi_time.h | 0 .../thirdparty/include/dds/ddsi/ddsi_tkmap.h | 0 .../thirdparty/include/dds/ddsi/ddsi_topic.h | 0 .../thirdparty/include/dds/ddsi/ddsi_tran.h | 0 .../include/dds/ddsi/ddsi_typebuilder.h | 0 .../include/dds/ddsi/ddsi_typelib.h | 0 .../include/dds/ddsi/ddsi_typelookup.h | 0 .../include/dds/ddsi/ddsi_typewrap.h | 0 .../thirdparty/include/dds/ddsi/ddsi_udp.h | 0 .../thirdparty/include/dds/ddsi/ddsi_vendor.h | 0 .../thirdparty/include/dds/ddsi/ddsi_vnet.h | 0 .../include/dds/ddsi/ddsi_wraddrset.h | 0 .../thirdparty/include/dds/ddsi/ddsi_xqos.h | 0 .../include/dds/ddsi/ddsi_xt_impl.h | 0 .../include/dds/ddsi/ddsi_xt_typeinfo.h | 0 .../include/dds/ddsi/ddsi_xt_typeinfo.idl | 0 .../include/dds/ddsi/ddsi_xt_typelookup.h | 0 .../include/dds/ddsi/ddsi_xt_typelookup.idl | 0 .../include/dds/ddsi/ddsi_xt_typemap.h | 0 .../include/dds/ddsi/ddsi_xt_typemap.idl | 0 .../thirdparty/include/dds/ddsi/q_addrset.h | 0 .../thirdparty/include/dds/ddsi/q_bitset.h | 0 .../thirdparty/include/dds/ddsi/q_bswap.h | 0 .../include/dds/ddsi/q_ddsi_discovery.h | 0 .../thirdparty/include/dds/ddsi/q_debmon.h | 0 .../include/dds/ddsi/q_feature_check.h | 0 .../thirdparty/include/dds/ddsi/q_freelist.h | 0 .../thirdparty/include/dds/ddsi/q_gc.h | 0 .../thirdparty/include/dds/ddsi/q_hbcontrol.h | 0 .../thirdparty/include/dds/ddsi/q_init.h | 0 .../include/dds/ddsi/q_inverse_uint32_set.h | 0 .../thirdparty/include/dds/ddsi/q_lat_estim.h | 0 .../thirdparty/include/dds/ddsi/q_lease.h | 0 .../thirdparty/include/dds/ddsi/q_log.h | 0 .../thirdparty/include/dds/ddsi/q_misc.h | 0 .../thirdparty/include/dds/ddsi/q_pcap.h | 0 .../thirdparty/include/dds/ddsi/q_protocol.h | 0 .../thirdparty/include/dds/ddsi/q_qosmatch.h | 0 .../thirdparty/include/dds/ddsi/q_radmin.h | 0 .../thirdparty/include/dds/ddsi/q_receive.h | 0 .../thirdparty/include/dds/ddsi/q_rtps.h | 0 .../include/dds/ddsi/q_sockwaitset.h | 0 .../thirdparty/include/dds/ddsi/q_thread.h | 0 .../thirdparty/include/dds/ddsi/q_transmit.h | 0 .../thirdparty/include/dds/ddsi/q_unused.h | 0 .../thirdparty/include/dds/ddsi/q_whc.h | 0 .../thirdparty/include/dds/ddsi/q_xevent.h | 0 .../thirdparty/include/dds/ddsi/q_xmsg.h | 0 .../thirdparty/include/dds/ddsi/sysdeps.h | 0 .../thirdparty/include/dds/ddsrt/align.h | 0 .../thirdparty/include/dds/ddsrt/arch.h | 0 .../thirdparty/include/dds/ddsrt/atomics.h | 0 .../include/dds/ddsrt/atomics/arm.h | 0 .../include/dds/ddsrt/atomics/gcc.h | 0 .../include/dds/ddsrt/atomics/msvc.h | 0 .../include/dds/ddsrt/atomics/sun.h | 0 .../thirdparty/include/dds/ddsrt/attributes.h | 0 .../thirdparty/include/dds/ddsrt/avl.h | 0 .../thirdparty/include/dds/ddsrt/bswap.h | 0 .../thirdparty/include/dds/ddsrt/cdtors.h | 0 .../thirdparty/include/dds/ddsrt/circlist.h | 0 .../thirdparty/include/dds/ddsrt/countargs.h | 0 .../thirdparty/include/dds/ddsrt/dynlib.h | 0 .../thirdparty/include/dds/ddsrt/endian.h | 0 .../thirdparty/include/dds/ddsrt/environ.h | 0 .../include/dds/ddsrt/expand_vars.h | 0 .../thirdparty/include/dds/ddsrt/fibheap.h | 0 .../thirdparty/include/dds/ddsrt/filesystem.h | 0 .../include/dds/ddsrt/filesystem/posix.h | 0 .../include/dds/ddsrt/filesystem/windows.h | 0 .../thirdparty/include/dds/ddsrt/heap.h | 0 .../thirdparty/include/dds/ddsrt/hopscotch.h | 0 .../thirdparty/include/dds/ddsrt/ifaddrs.h | 0 .../thirdparty/include/dds/ddsrt/io.h | 0 .../thirdparty/include/dds/ddsrt/iovec.h | 0 .../thirdparty/include/dds/ddsrt/log.h | 0 .../thirdparty/include/dds/ddsrt/md5.h | 0 .../thirdparty/include/dds/ddsrt/mh3.h | 0 .../thirdparty/include/dds/ddsrt/misc.h | 0 .../thirdparty/include/dds/ddsrt/netstat.h | 0 .../thirdparty/include/dds/ddsrt/process.h | 0 .../thirdparty/include/dds/ddsrt/random.h | 0 .../thirdparty/include/dds/ddsrt/retcode.h | 0 .../thirdparty/include/dds/ddsrt/rusage.h | 0 .../thirdparty/include/dds/ddsrt/sched.h | 0 .../thirdparty/include/dds/ddsrt/sockets.h | 0 .../include/dds/ddsrt/sockets/posix.h | 0 .../include/dds/ddsrt/sockets/windows.h | 0 .../include/dds/ddsrt/static_assert.h | 0 .../thirdparty/include/dds/ddsrt/string.h | 0 .../thirdparty/include/dds/ddsrt/strtod.h | 0 .../thirdparty/include/dds/ddsrt/strtol.h | 0 .../thirdparty/include/dds/ddsrt/sync.h | 0 .../include/dds/ddsrt/sync/freertos.h | 0 .../thirdparty/include/dds/ddsrt/sync/posix.h | 0 .../include/dds/ddsrt/sync/windows.h | 0 .../thirdparty/include/dds/ddsrt/threads.h | 0 .../include/dds/ddsrt/threads/freertos.h | 0 .../include/dds/ddsrt/threads/posix.h | 0 .../include/dds/ddsrt/threads/windows.h | 0 .../thirdparty/include/dds/ddsrt/time.h | 0 .../include/dds/ddsrt/time/freertos.h | 0 .../thirdparty/include/dds/ddsrt/types.h | 0 .../include/dds/ddsrt/types/posix.h | 0 .../include/dds/ddsrt/types/vxworks.h | 0 .../include/dds/ddsrt/types/windows.h | 0 .../thirdparty/include/dds/ddsrt/xmlparser.h | 0 .../thirdparty/include/dds/export.h | 0 .../thirdparty/include/dds/features.h | 0 .../thirdparty/include/dds/version.h | 0 .../thirdparty/include/ddsc/dds.h | 0 .../thirdparty/include/ddscxx/dds/LICENSE | 0 .../ddscxx/dds/core/BuiltinTopicTypes.hpp | 0 .../include/ddscxx/dds/core/Duration.hpp | 0 .../include/ddscxx/dds/core/Entity.hpp | 0 .../include/ddscxx/dds/core/Exception.hpp | 0 .../include/ddscxx/dds/core/External.hpp | 0 .../ddscxx/dds/core/InstanceHandle.hpp | 0 .../ddscxx/dds/core/LengthUnlimited.hpp | 0 .../include/ddscxx/dds/core/Optional.hpp | 0 .../include/ddscxx/dds/core/QosProvider.hpp | 0 .../include/ddscxx/dds/core/Reference.hpp | 0 .../ddscxx/dds/core/SafeEnumeration.hpp | 0 .../ddscxx/dds/core/TBuiltinTopicTypes.hpp | 0 .../include/ddscxx/dds/core/TEntity.hpp | 0 .../include/ddscxx/dds/core/TEntityQos.hpp | 0 .../ddscxx/dds/core/TInstanceHandle.hpp | 0 .../include/ddscxx/dds/core/TQosProvider.hpp | 0 .../include/ddscxx/dds/core/Time.hpp | 0 .../include/ddscxx/dds/core/Value.hpp | 0 .../include/ddscxx/dds/core/WeakReference.hpp | 0 .../include/ddscxx/dds/core/array.hpp | 0 .../ddscxx/dds/core/cond/Condition.hpp | 0 .../ddscxx/dds/core/cond/GuardCondition.hpp | 0 .../ddscxx/dds/core/cond/StatusCondition.hpp | 0 .../ddscxx/dds/core/cond/TCondition.hpp | 0 .../ddscxx/dds/core/cond/TGuardCondition.hpp | 0 .../ddscxx/dds/core/cond/TStatusCondition.hpp | 0 .../include/ddscxx/dds/core/cond/TWaitSet.hpp | 0 .../include/ddscxx/dds/core/cond/WaitSet.hpp | 0 .../ddscxx/dds/core/cond/detail/Condition.hpp | 0 .../dds/core/cond/detail/GuardCondition.hpp | 0 .../dds/core/cond/detail/StatusCondition.hpp | 0 .../dds/core/cond/detail/TConditionImpl.hpp | 0 .../core/cond/detail/TGuardConditionImpl.hpp | 0 .../core/cond/detail/TStatusConditionImpl.hpp | 0 .../dds/core/cond/detail/TWaitSetImpl.hpp | 0 .../ddscxx/dds/core/cond/detail/WaitSet.hpp | 0 .../include/ddscxx/dds/core/conformance.hpp | 0 .../include/ddscxx/dds/core/ddscore.hpp | 0 .../dds/core/detail/BuiltinTopicTypes.hpp | 0 .../include/ddscxx/dds/core/detail/Entity.hpp | 0 .../ddscxx/dds/core/detail/InstanceHandle.hpp | 0 .../ddscxx/dds/core/detail/QosProvider.hpp | 0 .../ddscxx/dds/core/detail/ReferenceImpl.hpp | 0 .../ddscxx/dds/core/detail/TEntityImpl.hpp | 0 .../ddscxx/dds/core/detail/TEntityQosImpl.hpp | 0 .../dds/core/detail/TInstanceHandleImpl.hpp | 0 .../dds/core/detail/TQosProviderImpl.hpp | 0 .../include/ddscxx/dds/core/detail/Value.hpp | 0 .../dds/core/detail/WeakReferenceImpl.hpp | 0 .../include/ddscxx/dds/core/detail/array.hpp | 0 .../ddscxx/dds/core/detail/conformance.hpp | 0 .../ddscxx/dds/core/detail/ddscore.hpp | 0 .../include/ddscxx/dds/core/detail/export.hpp | 0 .../ddscxx/dds/core/detail/inttypes.hpp | 0 .../include/ddscxx/dds/core/detail/macros.hpp | 0 .../ddscxx/dds/core/detail/module_docs.hpp | 0 .../ddscxx/dds/core/detail/old_win_stdint.h | 0 .../ddscxx/dds/core/detail/ref_traits.hpp | 0 .../include/ddscxx/dds/core/macros.hpp | 0 .../ddscxx/dds/core/policy/CorePolicy.hpp | 0 .../ddscxx/dds/core/policy/PolicyKind.hpp | 0 .../ddscxx/dds/core/policy/QosPolicyCount.hpp | 0 .../ddscxx/dds/core/policy/TCorePolicy.hpp | 0 .../dds/core/policy/TQosPolicyCount.hpp | 0 .../dds/core/policy/detail/CorePolicy.hpp | 0 .../dds/core/policy/detail/QosPolicyCount.hpp | 0 .../core/policy/detail/TCorePolicyImpl.hpp | 0 .../policy/detail/TQosPolicyCountImpl.hpp | 0 .../include/ddscxx/dds/core/ref_traits.hpp | 0 .../include/ddscxx/dds/core/refmacros.hpp | 0 .../include/ddscxx/dds/core/status/State.hpp | 0 .../include/ddscxx/dds/core/status/Status.hpp | 0 .../ddscxx/dds/core/status/TStatus.hpp | 0 .../ddscxx/dds/core/status/detail/Status.hpp | 0 .../dds/core/status/detail/TStatusImpl.hpp | 0 .../include/ddscxx/dds/core/types.hpp | 0 .../ddscxx/dds/core/xtypes/Annotations.hpp | 0 .../dds/core/xtypes/CollectionTypes.hpp | 0 .../ddscxx/dds/core/xtypes/DynamicData.hpp | 0 .../ddscxx/dds/core/xtypes/DynamicType.hpp | 0 .../ddscxx/dds/core/xtypes/MemberType.hpp | 0 .../ddscxx/dds/core/xtypes/PrimitiveTypes.hpp | 0 .../ddscxx/dds/core/xtypes/StructType.hpp | 0 .../ddscxx/dds/core/xtypes/TAnnotation.hpp | 0 .../dds/core/xtypes/TCollectionTypes.hpp | 0 .../ddscxx/dds/core/xtypes/TDynamicData.hpp | 0 .../ddscxx/dds/core/xtypes/TDynamicType.hpp | 0 .../ddscxx/dds/core/xtypes/TMemberType.hpp | 0 .../ddscxx/dds/core/xtypes/TStructType.hpp | 0 .../ddscxx/dds/core/xtypes/TTypeProvider.hpp | 0 .../ddscxx/dds/core/xtypes/TypeKind.hpp | 0 .../ddscxx/dds/core/xtypes/TypeProvider.hpp | 0 .../ddscxx/dds/core/xtypes/UnionCase.hpp | 0 .../ddscxx/dds/core/xtypes/UnionType.hpp | 0 .../dds/core/xtypes/detail/Annotation.hpp | 0 .../core/xtypes/detail/CollectionTypes.hpp | 0 .../dds/core/xtypes/detail/DynamicData.hpp | 0 .../dds/core/xtypes/detail/DynamicType.hpp | 0 .../dds/core/xtypes/detail/MemberType.hpp | 0 .../dds/core/xtypes/detail/PrimitiveTypes.hpp | 0 .../dds/core/xtypes/detail/StructType.hpp | 0 .../dds/core/xtypes/detail/TypeProvider.hpp | 0 .../dds/core/xtypes/detail/UnionCase.hpp | 0 .../dds/core/xtypes/detail/UnionType.hpp | 0 .../thirdparty/include/ddscxx/dds/dds.hpp | 0 .../ddscxx/dds/domain/DomainParticipant.hpp | 0 .../dds/domain/DomainParticipantListener.hpp | 0 .../ddscxx/dds/domain/TDomainParticipant.hpp | 0 .../include/ddscxx/dds/domain/ddsdomain.hpp | 0 .../dds/domain/detail/DomainParticipant.hpp | 0 .../domain/detail/TDomainParticipantImpl.hpp | 0 .../ddscxx/dds/domain/detail/ddsdomain.hpp | 0 .../include/ddscxx/dds/domain/discovery.hpp | 0 .../include/ddscxx/dds/domain/find.hpp | 0 .../dds/domain/qos/DomainParticipantQos.hpp | 0 .../qos/detail/DomainParticipantQos.hpp | 0 .../include/ddscxx/dds/features.hpp | 0 .../include/ddscxx/dds/pub/AnyDataWriter.hpp | 0 .../ddscxx/dds/pub/AnyDataWriterListener.hpp | 0 .../include/ddscxx/dds/pub/CoherentSet.hpp | 0 .../include/ddscxx/dds/pub/DataWriter.hpp | 0 .../ddscxx/dds/pub/DataWriterListener.hpp | 0 .../include/ddscxx/dds/pub/Publisher.hpp | 0 .../ddscxx/dds/pub/PublisherListener.hpp | 0 .../ddscxx/dds/pub/SuspendedPublication.hpp | 0 .../include/ddscxx/dds/pub/TAnyDataWriter.hpp | 0 .../include/ddscxx/dds/pub/TCoherentSet.hpp | 0 .../include/ddscxx/dds/pub/TPublisher.hpp | 0 .../ddscxx/dds/pub/TSuspendedPublication.hpp | 0 .../include/ddscxx/dds/pub/ddspub.hpp | 0 .../ddscxx/dds/pub/detail/AnyDataWriter.hpp | 0 .../ddscxx/dds/pub/detail/CoherentSet.hpp | 0 .../ddscxx/dds/pub/detail/DataWriter.hpp | 0 .../ddscxx/dds/pub/detail/DataWriterImpl.hpp | 0 .../ddscxx/dds/pub/detail/Publisher.hpp | 0 .../dds/pub/detail/SuspendedPublication.hpp | 0 .../dds/pub/detail/TAnyDataWriterImpl.hpp | 0 .../dds/pub/detail/TCoherentSetImpl.hpp | 0 .../ddscxx/dds/pub/detail/TPublisherImpl.hpp | 0 .../pub/detail/TSuspendedPublicationImpl.hpp | 0 .../include/ddscxx/dds/pub/detail/ddspub.hpp | 0 .../ddscxx/dds/pub/detail/discovery.hpp | 0 .../include/ddscxx/dds/pub/detail/find.hpp | 0 .../include/ddscxx/dds/pub/discovery.hpp | 0 .../include/ddscxx/dds/pub/find.hpp | 0 .../ddscxx/dds/pub/qos/DataWriterQos.hpp | 0 .../ddscxx/dds/pub/qos/PublisherQos.hpp | 0 .../dds/pub/qos/detail/DataWriterQos.hpp | 0 .../dds/pub/qos/detail/PublisherQos.hpp | 0 .../include/ddscxx/dds/sub/AnyDataReader.hpp | 0 .../ddscxx/dds/sub/AnyDataReaderListener.hpp | 0 .../include/ddscxx/dds/sub/CoherentAccess.hpp | 0 .../include/ddscxx/dds/sub/DataReader.hpp | 0 .../ddscxx/dds/sub/DataReaderListener.hpp | 0 .../ddscxx/dds/sub/GenerationCount.hpp | 0 .../include/ddscxx/dds/sub/LoanedSamples.hpp | 0 .../include/ddscxx/dds/sub/Query.hpp | 0 .../include/ddscxx/dds/sub/Rank.hpp | 0 .../include/ddscxx/dds/sub/Sample.hpp | 0 .../include/ddscxx/dds/sub/SampleInfo.hpp | 0 .../include/ddscxx/dds/sub/SampleRef.hpp | 0 .../include/ddscxx/dds/sub/SharedSamples.hpp | 0 .../include/ddscxx/dds/sub/Subscriber.hpp | 0 .../ddscxx/dds/sub/SubscriberListener.hpp | 0 .../include/ddscxx/dds/sub/TAnyDataReader.hpp | 0 .../ddscxx/dds/sub/TCoherentAccess.hpp | 0 .../include/ddscxx/dds/sub/TDataReader.hpp | 0 .../ddscxx/dds/sub/TGenerationCount.hpp | 0 .../include/ddscxx/dds/sub/TQuery.hpp | 0 .../include/ddscxx/dds/sub/TRank.hpp | 0 .../include/ddscxx/dds/sub/TSample.hpp | 0 .../include/ddscxx/dds/sub/TSampleInfo.hpp | 0 .../include/ddscxx/dds/sub/TSampleRef.hpp | 0 .../include/ddscxx/dds/sub/TSubscriber.hpp | 0 .../ddscxx/dds/sub/cond/QueryCondition.hpp | 0 .../ddscxx/dds/sub/cond/ReadCondition.hpp | 0 .../ddscxx/dds/sub/cond/TQueryCondition.hpp | 0 .../ddscxx/dds/sub/cond/TReadCondition.hpp | 0 .../dds/sub/cond/detail/QueryCondition.hpp | 0 .../dds/sub/cond/detail/ReadCondition.hpp | 0 .../sub/cond/detail/TQueryConditionImpl.hpp | 0 .../sub/cond/detail/TReadConditionImpl.hpp | 0 .../include/ddscxx/dds/sub/ddssub.hpp | 0 .../ddscxx/dds/sub/detail/AnyDataReader.hpp | 0 .../ddscxx/dds/sub/detail/CoherentAccess.hpp | 0 .../ddscxx/dds/sub/detail/DataReader.hpp | 0 .../ddscxx/dds/sub/detail/GenerationCount.hpp | 0 .../ddscxx/dds/sub/detail/LoanedSamples.hpp | 0 .../dds/sub/detail/LoanedSamplesImpl.hpp | 0 .../ddscxx/dds/sub/detail/Manipulators.hpp | 0 .../include/ddscxx/dds/sub/detail/Query.hpp | 0 .../include/ddscxx/dds/sub/detail/Rank.hpp | 0 .../include/ddscxx/dds/sub/detail/Sample.hpp | 0 .../ddscxx/dds/sub/detail/SampleInfo.hpp | 0 .../ddscxx/dds/sub/detail/SampleRef.hpp | 0 .../ddscxx/dds/sub/detail/SamplesHolder.hpp | 0 .../ddscxx/dds/sub/detail/SharedSamples.hpp | 0 .../dds/sub/detail/SharedSamplesImpl.hpp | 0 .../ddscxx/dds/sub/detail/Subscriber.hpp | 0 .../dds/sub/detail/TAnyDataReaderImpl.hpp | 0 .../dds/sub/detail/TCoherentAccessImpl.hpp | 0 .../ddscxx/dds/sub/detail/TDataReaderImpl.hpp | 0 .../dds/sub/detail/TGenerationCountImpl.hpp | 0 .../ddscxx/dds/sub/detail/TQueryImpl.hpp | 0 .../ddscxx/dds/sub/detail/TRankImpl.hpp | 0 .../ddscxx/dds/sub/detail/TSampleImpl.hpp | 0 .../ddscxx/dds/sub/detail/TSampleInfoImpl.hpp | 0 .../ddscxx/dds/sub/detail/TSampleRefImpl.hpp | 0 .../ddscxx/dds/sub/detail/TSubscriberImpl.hpp | 0 .../include/ddscxx/dds/sub/detail/ddssub.hpp | 0 .../ddscxx/dds/sub/detail/discovery.hpp | 0 .../include/ddscxx/dds/sub/detail/find.hpp | 0 .../include/ddscxx/dds/sub/discovery.hpp | 0 .../include/ddscxx/dds/sub/find.hpp | 0 .../ddscxx/dds/sub/qos/DataReaderQos.hpp | 0 .../ddscxx/dds/sub/qos/SubscriberQos.hpp | 0 .../dds/sub/qos/detail/DataReaderQos.hpp | 0 .../dds/sub/qos/detail/SubscriberQos.hpp | 0 .../ddscxx/dds/sub/status/DataState.hpp | 0 .../dds/sub/status/detail/DataStateImpl.hpp | 0 .../include/ddscxx/dds/topic/AnyTopic.hpp | 0 .../ddscxx/dds/topic/AnyTopicListener.hpp | 0 .../include/ddscxx/dds/topic/BuiltinTopic.hpp | 0 .../ddscxx/dds/topic/BuiltinTopicKey.hpp | 0 .../ddscxx/dds/topic/ContentFilteredTopic.hpp | 0 .../include/ddscxx/dds/topic/Filter.hpp | 0 .../include/ddscxx/dds/topic/MultiTopic.hpp | 0 .../include/ddscxx/dds/topic/TAnyTopic.hpp | 0 .../ddscxx/dds/topic/TBuiltinTopic.hpp | 0 .../ddscxx/dds/topic/TBuiltinTopicKey.hpp | 0 .../dds/topic/TContentFilteredTopic.hpp | 0 .../include/ddscxx/dds/topic/TFilter.hpp | 0 .../include/ddscxx/dds/topic/TMultiTopic.hpp | 0 .../include/ddscxx/dds/topic/TTopic.hpp | 0 .../ddscxx/dds/topic/TTopicDescription.hpp | 0 .../include/ddscxx/dds/topic/Topic.hpp | 0 .../ddscxx/dds/topic/TopicDescription.hpp | 0 .../ddscxx/dds/topic/TopicInstance.hpp | 0 .../ddscxx/dds/topic/TopicListener.hpp | 0 .../include/ddscxx/dds/topic/TopicTraits.hpp | 0 .../include/ddscxx/dds/topic/ddstopic.hpp | 0 .../ddscxx/dds/topic/detail/AnyTopic.hpp | 0 .../ddscxx/dds/topic/detail/BuiltinTopic.hpp | 0 .../dds/topic/detail/BuiltinTopicKey.hpp | 0 .../dds/topic/detail/ContentFilteredTopic.hpp | 0 .../ddscxx/dds/topic/detail/Filter.hpp | 0 .../ddscxx/dds/topic/detail/MultiTopic.hpp | 0 .../ddscxx/dds/topic/detail/TAnyTopicImpl.hpp | 0 .../dds/topic/detail/TBuiltinTopicImpl.hpp | 0 .../dds/topic/detail/TBuiltinTopicKeyImpl.hpp | 0 .../detail/TContentFilteredTopicImpl.hpp | 0 .../ddscxx/dds/topic/detail/TFilterImpl.hpp | 0 .../topic/detail/TTopicDescriptionImpl.hpp | 0 .../ddscxx/dds/topic/detail/TTopicImpl.hpp | 0 .../include/ddscxx/dds/topic/detail/Topic.hpp | 0 .../dds/topic/detail/TopicDescription.hpp | 0 .../dds/topic/detail/TopicInstanceImpl.hpp | 0 .../ddscxx/dds/topic/detail/ddstopic.hpp | 0 .../ddscxx/dds/topic/detail/discovery.hpp | 0 .../include/ddscxx/dds/topic/detail/find.hpp | 0 .../include/ddscxx/dds/topic/discovery.hpp | 0 .../include/ddscxx/dds/topic/find.hpp | 0 .../include/ddscxx/dds/topic/qos/TopicQos.hpp | 0 .../ddscxx/dds/topic/qos/detail/TopicQos.hpp | 0 .../cyclonedds/ForwardDeclarations.hpp | 0 .../cyclonedds/core/DDScObjectDelegate.hpp | 0 .../cyclonedds/core/EntityDelegate.hpp | 0 .../cyclonedds/core/EntityRegistry.hpp | 0 .../org/eclipse/cyclonedds/core/EntitySet.hpp | 0 .../core/InstanceHandleDelegate.hpp | 0 .../cyclonedds/core/ListenerDispatcher.hpp | 0 .../org/eclipse/cyclonedds/core/MiscUtils.hpp | 0 .../org/eclipse/cyclonedds/core/Missing.hpp | 0 .../org/eclipse/cyclonedds/core/Mutex.hpp | 0 .../cyclonedds/core/ObjectDelegate.hpp | 0 .../org/eclipse/cyclonedds/core/ObjectSet.hpp | 0 .../cyclonedds/core/QosProviderDelegate.hpp | 0 .../eclipse/cyclonedds/core/ReportUtils.hpp | 0 .../eclipse/cyclonedds/core/ScopedLock.hpp | 0 .../eclipse/cyclonedds/core/TimeHelper.hpp | 0 .../cyclonedds/core/WeakReferenceSet.hpp | 0 .../cyclonedds/core/cdr/basic_cdr_ser.hpp | 0 .../eclipse/cyclonedds/core/cdr/cdr_enums.hpp | 0 .../cyclonedds/core/cdr/cdr_stream.hpp | 0 .../cyclonedds/core/cdr/entity_properties.hpp | 0 .../core/cdr/extended_cdr_v1_ser.hpp | 0 .../core/cdr/extended_cdr_v2_ser.hpp | 0 .../eclipse/cyclonedds/core/cdr/fragchain.hpp | 0 .../core/cond/ConditionDelegate.hpp | 0 .../cyclonedds/core/cond/FunctorHolder.hpp | 0 .../core/cond/GuardConditionDelegate.hpp | 0 .../core/cond/ShadowParticipant.hpp | 0 .../core/cond/StatusConditionDelegate.hpp | 0 .../cyclonedds/core/cond/WaitSetDelegate.hpp | 0 .../org/eclipse/cyclonedds/core/config.hpp | 0 .../eclipse/cyclonedds/core/policy/Policy.hpp | 0 .../cyclonedds/core/policy/PolicyDelegate.hpp | 0 .../core/policy/ProprietaryPolicyKind.hpp | 0 .../core/policy/QosPolicyCountDelegate.hpp | 0 .../cyclonedds/core/policy/TPolicy.hpp | 0 .../cyclonedds/core/status/StatusDelegate.hpp | 0 .../eclipse/cyclonedds/core/type_helpers.hpp | 0 .../org/eclipse/cyclonedds/domain/Domain.hpp | 0 .../domain/DomainParticipantDelegate.hpp | 0 .../domain/DomainParticipantListener.hpp | 0 .../domain/DomainParticipantRegistry.hpp | 0 .../eclipse/cyclonedds/domain/DomainWrap.hpp | 0 .../qos/DomainParticipantQosDelegate.hpp | 0 .../cyclonedds/pub/AnyDataWriterDelegate.hpp | 0 .../cyclonedds/pub/CoherentSetDelegate.hpp | 0 .../cyclonedds/pub/PublisherDelegate.hpp | 0 .../pub/SuspendedPublicationDelegate.hpp | 0 .../pub/qos/DataWriterQosDelegate.hpp | 0 .../pub/qos/PublisherQosDelegate.hpp | 0 .../cyclonedds/sub/AnyDataReaderDelegate.hpp | 0 .../sub/BuiltinSubscriberDelegate.hpp | 0 .../cyclonedds/sub/CoherentAccessDelegate.hpp | 0 .../cyclonedds/sub/GenerationCountImpl.hpp | 0 .../eclipse/cyclonedds/sub/QueryDelegate.hpp | 0 .../org/eclipse/cyclonedds/sub/RankImpl.hpp | 0 .../eclipse/cyclonedds/sub/SampleInfoImpl.hpp | 0 .../cyclonedds/sub/SubscriberDelegate.hpp | 0 .../sub/cond/QueryConditionDelegate.hpp | 0 .../sub/cond/ReadConditionDelegate.hpp | 0 .../sub/qos/DataReaderQosDelegate.hpp | 0 .../sub/qos/SubscriberQosDelegate.hpp | 0 .../cyclonedds/topic/AnyTopicDelegate.hpp | 0 .../cyclonedds/topic/AnyTopicListener.hpp | 0 .../eclipse/cyclonedds/topic/BuiltinTopic.hpp | 0 .../cyclonedds/topic/BuiltinTopicCopy.hpp | 0 .../cyclonedds/topic/BuiltinTopicDelegate.hpp | 0 .../topic/BuiltinTopicKeyDelegate.hpp | 0 .../cyclonedds/topic/BuiltinTopicTraits.hpp | 0 .../org/eclipse/cyclonedds/topic/CDRBlob.hpp | 0 .../cyclonedds/topic/FilterDelegate.hpp | 0 .../cyclonedds/topic/TBuiltinTopic.hpp | 0 .../topic/TopicDescriptionDelegate.hpp | 0 .../cyclonedds/topic/TopicListener.hpp | 0 .../eclipse/cyclonedds/topic/TopicTraits.hpp | 0 .../eclipse/cyclonedds/topic/datatopic.hpp | 0 .../eclipse/cyclonedds/topic/discovery.hpp | 0 .../org/eclipse/cyclonedds/topic/find.hpp | 0 .../org/eclipse/cyclonedds/topic/hash.hpp | 0 .../cyclonedds/topic/qos/TopicQosDelegate.hpp | 0 .../thirdparty/lib/aarch64/libddsc.so | Bin .../thirdparty/lib/aarch64/libddsc.so.0 | 0 .../thirdparty/lib/aarch64/libddscxx.so | Bin .../thirdparty/lib/aarch64/libddscxx.so.0 | 0 .../thirdparty/lib/x86_64/libddsc.so | Bin .../thirdparty/lib/x86_64/libddsc.so.0 | 0 .../thirdparty/lib/x86_64/libddscxx.so | Bin .../thirdparty/lib/x86_64/libddscxx.so.0 | 0 723 files changed, 654 insertions(+), 48 deletions(-) rename src/rl_sar/library/{ => core}/loop/loop.hpp (100%) rename src/rl_sar/library/{ => core}/matplotlibcpp/matplotlibcpp.h (100%) rename src/rl_sar/library/{ => core}/observation_buffer/observation_buffer.cpp (100%) rename src/rl_sar/library/{ => core}/observation_buffer/observation_buffer.hpp (100%) rename src/rl_sar/library/{ => core}/rl_sdk/rl_sdk.cpp (92%) rename src/rl_sar/library/{ => core}/rl_sdk/rl_sdk.hpp (96%) create mode 100644 src/rl_sar/library/thirdparty/l4w4_sdk/comm.h create mode 100644 src/rl_sar/library/thirdparty/l4w4_sdk/joystick.h create mode 100644 src/rl_sar/library/thirdparty/l4w4_sdk/l4w4_sdk.hpp rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/a1_const.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/aliengo_const.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/comm.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/lcm.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/lcm_server.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/loop.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/quadruped.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/safety.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/udp.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/unitree_joystick.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/include/unitree_legged_sdk/unitree_legged_sdk.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/lib/libunitree_legged_sdk_amd64.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/lib/libunitree_legged_sdk_arm32.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_legged_sdk_3.2/lib/libunitree_legged_sdk_arm64.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/any.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/assert.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/block_queue.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_callback.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_easy_model.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_entity.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_exception.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_factory_model.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_native.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_parameter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_qos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_qos_parameter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_qos_policy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_qos_policy_parameter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_qos_realize.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_topic_channel.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/dds/dds_traits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/decl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/exception.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/filesystem/directory.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/filesystem/file.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/filesystem/filesystem.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/json/json.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/json/json_config.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/json/jsonize.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/lock/lock.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_buffer.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_decl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_initor.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_keeper.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_logger.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_policy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_store.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/log/log_writer.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/os.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/service/base/service_application.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/service/base/service_base.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/service/base/service_config.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/service/base/service_decl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/service/dds_service.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/string_tool.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/future.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/recurrent_thread.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/thread.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/thread_decl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/thread_pool.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/thread/thread_task.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/time/sleep.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/common/time/time_tool.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/AudioData_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/BmsCmd_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/BmsState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/ConfigChangeStatus_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/Error_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/Go2FrontVideoData_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/HeightMap_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/IMUState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/InterfaceConfig_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/LidarState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/LowCmd_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/LowState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/MotorCmd_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/MotorCmds_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/MotorState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/MotorStates_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/PathPoint_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/Req_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/Res_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/SportModeCmd_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/SportModeState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/TimeSpec_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/UwbState_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/UwbSwitch_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/go2/WirelessController_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Header_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/MapMetaData_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/OccupancyGrid_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Odometry_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Point32_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PointCloud2_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PointField_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PointStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Point_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Pose2D_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PoseStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PoseWithCovarianceStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/PoseWithCovariance_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Pose_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/QuaternionStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Quaternion_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/String_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Time_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/TwistStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/TwistWithCovarianceStamped_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/TwistWithCovariance_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Twist_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/idl/ros2/Vector3_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/back_video/back_video_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/back_video/back_video_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/back_video/back_video_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/config/config_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/config/config_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/config/config_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/front_video/front_video_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/front_video/front_video_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/front_video/front_video_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/motion_switcher/motion_switcher_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/motion_switcher/motion_switcher_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/motion_switcher/motion_switcher_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/robot_state/robot_state_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/robot_state/robot_state_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/robot_state/robot_state_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/sport/sport_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/sport/sport_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/b2/sport/sport_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/channel/channel_factory.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/channel/channel_labor.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/channel/channel_namer.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/channel/channel_publisher.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/channel/channel_subscriber.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/client/client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/client/client_base.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/client/client_stub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/client/lease_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/future/request_future.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/g1/loco/g1_loco_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/g1/loco/g1_loco_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/g1/loco/g1_loco_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/obstacles_avoid/obstacles_avoid_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/obstacles_avoid/obstacles_avoid_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/public/jsonize_type.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/robot_state/robot_state_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/robot_state/robot_state_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/robot_state/robot_state_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/sport/sport_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/sport/sport_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/sport/sport_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/utrack/utrack_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/utrack/utrack_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/video/video_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/video/video_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/video/video_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/vui/vui_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/vui/vui_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/go2/vui/vui_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/h1/loco/h1_loco_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/h1/loco/h1_loco_client.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/h1/loco/h1_loco_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_api.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_error.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/RequestHeader_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/RequestIdentity_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/RequestLease_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/RequestPolicy_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/Request_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/ResponseHeader_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/ResponseStatus_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_idl_decl/Response_.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/internal/internal_request_response.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/serialize/serialize.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/server/lease_server.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/server/server.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/server/server_base.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/include/unitree/robot/server/server_stub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/lib/aarch64/libunitree_sdk2.a (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/lib/x86_64/libunitree_sdk2.a (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/CMakeLists.txt (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/config.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/dds.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_basic_types.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_data_allocator.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_internal_api.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_loan_api.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_opcodes.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_alloc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_error.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_impl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_listener.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_qos.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_qosdefs.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_public_status.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_rhc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsc/dds_statistics.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_acknack.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_builtin_topic_if.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_cdrstream.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_cfgelems.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_cfgunits.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_config.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_config_impl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_deadline.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_deliver_locally.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_domaingv.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_endpoint.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_entity.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_entity_index.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_entity_match.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_guid.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_handshake.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_iid.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_ipaddr.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_keyhash.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_lifespan.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_list_genptr.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_list_tmpl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_locator.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_mcgroup.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_ownip.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_participant.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_plist.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_plist_generic.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_pmd.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_portmapping.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_proxy_endpoint.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_proxy_participant.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_raweth.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_rhc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_security_exchange.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_security_msg.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_security_omg.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_security_util.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_serdata.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_serdata_default.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_serdata_plist.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_serdata_pserop.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_sertopic.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_sertype.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_shm_transport.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_ssl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_statistics.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_tcp.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_threadmon.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_time.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_tkmap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_topic.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_tran.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_typebuilder.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_typelib.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_typelookup.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_typewrap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_udp.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_vendor.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_vnet.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_wraddrset.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xqos.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_impl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typeinfo.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typeinfo.idl (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typelookup.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typelookup.idl (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typemap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/ddsi_xt_typemap.idl (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_addrset.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_bitset.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_bswap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_ddsi_discovery.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_debmon.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_feature_check.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_freelist.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_gc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_hbcontrol.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_init.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_inverse_uint32_set.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_lat_estim.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_lease.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_log.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_misc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_pcap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_protocol.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_qosmatch.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_radmin.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_receive.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_rtps.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_sockwaitset.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_thread.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_transmit.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_unused.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_whc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_xevent.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/q_xmsg.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsi/sysdeps.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/align.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/arch.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/atomics.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/atomics/arm.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/atomics/gcc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/atomics/msvc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/atomics/sun.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/attributes.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/avl.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/bswap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/cdtors.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/circlist.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/countargs.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/dynlib.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/endian.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/environ.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/expand_vars.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/fibheap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/filesystem.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/filesystem/posix.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/filesystem/windows.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/heap.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/hopscotch.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/ifaddrs.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/io.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/iovec.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/log.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/md5.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/mh3.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/misc.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/netstat.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/process.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/random.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/retcode.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/rusage.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sched.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sockets.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sockets/posix.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sockets/windows.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/static_assert.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/string.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/strtod.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/strtol.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sync.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sync/freertos.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sync/posix.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/sync/windows.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/threads.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/threads/freertos.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/threads/posix.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/threads/windows.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/time.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/time/freertos.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/types.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/types/posix.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/types/vxworks.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/types/windows.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/ddsrt/xmlparser.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/export.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/features.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/dds/version.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddsc/dds.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/LICENSE (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/BuiltinTopicTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Duration.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Entity.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Exception.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/External.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/InstanceHandle.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/LengthUnlimited.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Optional.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/QosProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Reference.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/SafeEnumeration.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/TBuiltinTopicTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/TEntity.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/TEntityQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/TInstanceHandle.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/TQosProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Time.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/Value.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/WeakReference.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/array.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/Condition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/GuardCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/StatusCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/TCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/TGuardCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/TStatusCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/TWaitSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/WaitSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/Condition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/GuardCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/StatusCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/TConditionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/TGuardConditionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/TStatusConditionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/TWaitSetImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/cond/detail/WaitSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/conformance.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/ddscore.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/BuiltinTopicTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/Entity.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/InstanceHandle.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/QosProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/ReferenceImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/TEntityImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/TEntityQosImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/TInstanceHandleImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/TQosProviderImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/Value.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/WeakReferenceImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/array.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/conformance.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/ddscore.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/export.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/inttypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/macros.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/module_docs.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/old_win_stdint.h (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/detail/ref_traits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/macros.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/CorePolicy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/PolicyKind.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/QosPolicyCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/TCorePolicy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/TQosPolicyCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/detail/CorePolicy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/detail/QosPolicyCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/detail/TCorePolicyImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/policy/detail/TQosPolicyCountImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/ref_traits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/refmacros.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/status/State.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/status/Status.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/status/TStatus.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/status/detail/Status.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/status/detail/TStatusImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/types.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/Annotations.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/CollectionTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/DynamicData.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/DynamicType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/MemberType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/PrimitiveTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/StructType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TAnnotation.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TCollectionTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TDynamicData.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TDynamicType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TMemberType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TStructType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TTypeProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TypeKind.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/TypeProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/UnionCase.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/UnionType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/Annotation.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/CollectionTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/DynamicData.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/DynamicType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/MemberType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/PrimitiveTypes.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/StructType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/TypeProvider.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/UnionCase.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/core/xtypes/detail/UnionType.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/dds.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/DomainParticipant.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/DomainParticipantListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/TDomainParticipant.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/ddsdomain.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/detail/DomainParticipant.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/detail/TDomainParticipantImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/detail/ddsdomain.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/qos/DomainParticipantQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/domain/qos/detail/DomainParticipantQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/features.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/AnyDataWriter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/AnyDataWriterListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/CoherentSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/DataWriter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/DataWriterListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/Publisher.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/PublisherListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/SuspendedPublication.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/TAnyDataWriter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/TCoherentSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/TPublisher.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/TSuspendedPublication.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/ddspub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/AnyDataWriter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/CoherentSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/DataWriter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/DataWriterImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/Publisher.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/SuspendedPublication.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/TAnyDataWriterImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/TCoherentSetImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/TPublisherImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/TSuspendedPublicationImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/ddspub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/detail/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/qos/DataWriterQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/qos/PublisherQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/qos/detail/DataWriterQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/pub/qos/detail/PublisherQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/AnyDataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/AnyDataReaderListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/CoherentAccess.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/DataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/DataReaderListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/GenerationCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/LoanedSamples.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/Query.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/Rank.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/Sample.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/SampleInfo.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/SampleRef.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/SharedSamples.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/Subscriber.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/SubscriberListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TAnyDataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TCoherentAccess.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TDataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TGenerationCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TQuery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TRank.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TSample.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TSampleInfo.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TSampleRef.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/TSubscriber.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/QueryCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/ReadCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/TQueryCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/TReadCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/detail/QueryCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/detail/ReadCondition.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/detail/TQueryConditionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/cond/detail/TReadConditionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/ddssub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/AnyDataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/CoherentAccess.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/DataReader.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/GenerationCount.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/LoanedSamples.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/LoanedSamplesImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/Manipulators.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/Query.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/Rank.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/Sample.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/SampleInfo.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/SampleRef.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/SamplesHolder.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/SharedSamples.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/SharedSamplesImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/Subscriber.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TAnyDataReaderImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TCoherentAccessImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TDataReaderImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TGenerationCountImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TQueryImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TRankImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TSampleImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TSampleInfoImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TSampleRefImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/TSubscriberImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/ddssub.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/detail/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/qos/DataReaderQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/qos/SubscriberQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/qos/detail/DataReaderQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/qos/detail/SubscriberQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/status/DataState.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/sub/status/detail/DataStateImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/AnyTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/AnyTopicListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/BuiltinTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/BuiltinTopicKey.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/ContentFilteredTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/Filter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/MultiTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TAnyTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TBuiltinTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TBuiltinTopicKey.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TContentFilteredTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TFilter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TMultiTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TTopicDescription.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/Topic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TopicDescription.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TopicInstance.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TopicListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/TopicTraits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/ddstopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/AnyTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/BuiltinTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/BuiltinTopicKey.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/ContentFilteredTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/Filter.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/MultiTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TAnyTopicImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TBuiltinTopicImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TBuiltinTopicKeyImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TContentFilteredTopicImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TFilterImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TTopicDescriptionImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TTopicImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/Topic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TopicDescription.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/TopicInstanceImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/ddstopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/detail/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/qos/TopicQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/dds/topic/qos/detail/TopicQos.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/ForwardDeclarations.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/DDScObjectDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/EntityDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/EntityRegistry.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/EntitySet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/InstanceHandleDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/ListenerDispatcher.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/MiscUtils.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/Missing.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/Mutex.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/ObjectDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/ObjectSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/QosProviderDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/ReportUtils.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/ScopedLock.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/TimeHelper.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/WeakReferenceSet.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/basic_cdr_ser.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/cdr_enums.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/cdr_stream.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/entity_properties.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/extended_cdr_v1_ser.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/extended_cdr_v2_ser.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cdr/fragchain.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/ConditionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/FunctorHolder.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/GuardConditionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/ShadowParticipant.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/StatusConditionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/cond/WaitSetDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/config.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/policy/Policy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/policy/PolicyDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/policy/ProprietaryPolicyKind.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/policy/QosPolicyCountDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/policy/TPolicy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/status/StatusDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/core/type_helpers.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/Domain.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/DomainParticipantDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/DomainParticipantListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/DomainParticipantRegistry.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/DomainWrap.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/domain/qos/DomainParticipantQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/AnyDataWriterDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/CoherentSetDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/PublisherDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/SuspendedPublicationDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/qos/DataWriterQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/pub/qos/PublisherQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/AnyDataReaderDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/BuiltinSubscriberDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/CoherentAccessDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/GenerationCountImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/QueryDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/RankImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/SampleInfoImpl.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/SubscriberDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/cond/QueryConditionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/cond/ReadConditionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/qos/DataReaderQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/sub/qos/SubscriberQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/AnyTopicDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/AnyTopicListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/BuiltinTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/BuiltinTopicCopy.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/BuiltinTopicDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/BuiltinTopicKeyDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/BuiltinTopicTraits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/CDRBlob.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/FilterDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/TBuiltinTopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/TopicDescriptionDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/TopicListener.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/TopicTraits.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/datatopic.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/discovery.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/find.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/hash.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/include/ddscxx/org/eclipse/cyclonedds/topic/qos/TopicQosDelegate.hpp (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/aarch64/libddsc.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/aarch64/libddsc.so.0 (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/aarch64/libddscxx.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/aarch64/libddscxx.so.0 (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/x86_64/libddsc.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/x86_64/libddsc.so.0 (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/x86_64/libddscxx.so (100%) rename src/rl_sar/library/{ => thirdparty}/unitree_sdk2/thirdparty/lib/x86_64/libddscxx.so.0 (100%) diff --git a/src/rl_sar/library/loop/loop.hpp b/src/rl_sar/library/core/loop/loop.hpp similarity index 100% rename from src/rl_sar/library/loop/loop.hpp rename to src/rl_sar/library/core/loop/loop.hpp diff --git a/src/rl_sar/library/matplotlibcpp/matplotlibcpp.h b/src/rl_sar/library/core/matplotlibcpp/matplotlibcpp.h similarity index 100% rename from src/rl_sar/library/matplotlibcpp/matplotlibcpp.h rename to src/rl_sar/library/core/matplotlibcpp/matplotlibcpp.h diff --git a/src/rl_sar/library/observation_buffer/observation_buffer.cpp b/src/rl_sar/library/core/observation_buffer/observation_buffer.cpp similarity index 100% rename from src/rl_sar/library/observation_buffer/observation_buffer.cpp rename to src/rl_sar/library/core/observation_buffer/observation_buffer.cpp diff --git a/src/rl_sar/library/observation_buffer/observation_buffer.hpp b/src/rl_sar/library/core/observation_buffer/observation_buffer.hpp similarity index 100% rename from src/rl_sar/library/observation_buffer/observation_buffer.hpp rename to src/rl_sar/library/core/observation_buffer/observation_buffer.hpp diff --git a/src/rl_sar/library/rl_sdk/rl_sdk.cpp b/src/rl_sar/library/core/rl_sdk/rl_sdk.cpp similarity index 92% rename from src/rl_sar/library/rl_sdk/rl_sdk.cpp rename to src/rl_sar/library/core/rl_sdk/rl_sdk.cpp index 189879e..4395cf8 100644 --- a/src/rl_sar/library/rl_sdk/rl_sdk.cpp +++ b/src/rl_sar/library/core/rl_sdk/rl_sdk.cpp @@ -458,45 +458,14 @@ std::vector ReadVectorFromYaml(const YAML::Node &node) return values; } -template -std::vector ReadVectorFromYaml(const YAML::Node &node, const std::string &framework, const int &rows, const int &cols) +void RL::ReadYaml(std::string robot_path) { - std::vector values; - for (const auto &val : node) - { - values.push_back(val.as()); - } - - if (framework == "isaacsim") - { - std::vector transposed_values(cols * rows); - for (int r = 0; r < rows; ++r) - { - for (int c = 0; c < cols; ++c) - { - transposed_values[c * rows + r] = values[r * cols + c]; - } - } - return transposed_values; - } - else if (framework == "isaacgym") - { - return values; - } - else - { - throw std::invalid_argument("Unsupported framework: " + framework); - } -} - -void RL::ReadYaml(std::string robot_name) -{ - // The config file is located at "rl_sar/src/rl_sar/models//config.yaml" - std::string config_path = std::string(CMAKE_CURRENT_SOURCE_DIR) + "/models/" + robot_name + "/config.yaml"; + // The config file is located at "rl_sar/src/rl_sar/models/params.model_name = config["model_name"].as(); this->params.framework = config["framework"].as(); - int rows = config["rows"].as(); - int cols = config["cols"].as(); this->params.dt = config["dt"].as(); this->params.decimation = config["decimation"].as(); this->params.num_observations = config["num_observations"].as(); @@ -528,8 +495,8 @@ void RL::ReadYaml(std::string robot_name) } else { - this->params.clip_actions_upper = torch::tensor(ReadVectorFromYaml(config["clip_actions_upper"], this->params.framework, rows, cols)).view({1, -1}); - this->params.clip_actions_lower = torch::tensor(ReadVectorFromYaml(config["clip_actions_lower"], this->params.framework, rows, cols)).view({1, -1}); + this->params.clip_actions_upper = torch::tensor(ReadVectorFromYaml(config["clip_actions_upper"])).view({1, -1}); + this->params.clip_actions_lower = torch::tensor(ReadVectorFromYaml(config["clip_actions_lower"])).view({1, -1}); } this->params.action_scale = config["action_scale"].as(); this->params.hip_scale_reduction = config["hip_scale_reduction"].as(); @@ -543,13 +510,15 @@ void RL::ReadYaml(std::string robot_name) this->params.dof_vel_scale = config["dof_vel_scale"].as(); this->params.commands_scale = torch::tensor(ReadVectorFromYaml(config["commands_scale"])).view({1, -1}); // this->params.commands_scale = torch::tensor({this->params.lin_vel_scale, this->params.lin_vel_scale, this->params.ang_vel_scale}); - this->params.rl_kp = torch::tensor(ReadVectorFromYaml(config["rl_kp"], this->params.framework, rows, cols)).view({1, -1}); - this->params.rl_kd = torch::tensor(ReadVectorFromYaml(config["rl_kd"], this->params.framework, rows, cols)).view({1, -1}); - this->params.fixed_kp = torch::tensor(ReadVectorFromYaml(config["fixed_kp"], this->params.framework, rows, cols)).view({1, -1}); - this->params.fixed_kd = torch::tensor(ReadVectorFromYaml(config["fixed_kd"], this->params.framework, rows, cols)).view({1, -1}); - this->params.torque_limits = torch::tensor(ReadVectorFromYaml(config["torque_limits"], this->params.framework, rows, cols)).view({1, -1}); - this->params.default_dof_pos = torch::tensor(ReadVectorFromYaml(config["default_dof_pos"], this->params.framework, rows, cols)).view({1, -1}); - this->params.joint_controller_names = ReadVectorFromYaml(config["joint_controller_names"], this->params.framework, rows, cols); + this->params.rl_kp = torch::tensor(ReadVectorFromYaml(config["rl_kp"])).view({1, -1}); + this->params.rl_kd = torch::tensor(ReadVectorFromYaml(config["rl_kd"])).view({1, -1}); + this->params.fixed_kp = torch::tensor(ReadVectorFromYaml(config["fixed_kp"])).view({1, -1}); + this->params.fixed_kd = torch::tensor(ReadVectorFromYaml(config["fixed_kd"])).view({1, -1}); + this->params.torque_limits = torch::tensor(ReadVectorFromYaml(config["torque_limits"])).view({1, -1}); + this->params.default_dof_pos = torch::tensor(ReadVectorFromYaml(config["default_dof_pos"])).view({1, -1}); + this->params.joint_controller_names = ReadVectorFromYaml(config["joint_controller_names"]); + this->params.command_mapping = ReadVectorFromYaml(config["command_mapping"]); + this->params.state_mapping = ReadVectorFromYaml(config["state_mapping"]); } void RL::CSVInit(std::string robot_name) diff --git a/src/rl_sar/library/rl_sdk/rl_sdk.hpp b/src/rl_sar/library/core/rl_sdk/rl_sdk.hpp similarity index 96% rename from src/rl_sar/library/rl_sdk/rl_sdk.hpp rename to src/rl_sar/library/core/rl_sdk/rl_sdk.hpp index a948d66..5dabf1d 100644 --- a/src/rl_sar/library/rl_sdk/rl_sdk.hpp +++ b/src/rl_sar/library/core/rl_sdk/rl_sdk.hpp @@ -108,6 +108,8 @@ struct ModelParams torch::Tensor commands_scale; torch::Tensor default_dof_pos; std::vector joint_controller_names; + std::vector command_mapping; + std::vector state_mapping; }; struct Observations @@ -152,7 +154,7 @@ public: torch::Tensor QuatRotateInverse(torch::Tensor q, torch::Tensor v, const std::string &framework); // yaml params - void ReadYaml(std::string robot_name); + void ReadYaml(std::string robot_path); // csv logger std::string csv_filename; @@ -164,7 +166,7 @@ public: void KeyboardInterface(); // others - std::string robot_name; + std::string robot_name, config_name; STATE running_state = STATE_RL_RUNNING; // default running_state set to STATE_RL_RUNNING bool simulation_running = false; diff --git a/src/rl_sar/library/thirdparty/l4w4_sdk/comm.h b/src/rl_sar/library/thirdparty/l4w4_sdk/comm.h new file mode 100644 index 0000000..af71d61 --- /dev/null +++ b/src/rl_sar/library/thirdparty/l4w4_sdk/comm.h @@ -0,0 +1,60 @@ +#ifndef L4W4_SDK_COMM_H +#define L4W4_SDK_COMM_H + +#include + +typedef struct +{ + float x; + float y; + float z; +} Vector3; + +typedef struct +{ + float quaternion[4]; // quaternion, normalized, (w,x,y,z) + float gyroscope[3]; // angular velocity (unit: rad/s) + float accelerometer[3]; // m/(s2) + float rpy[3]; // euler angle(unit: rad) + int8_t temperature; +} IMU; // when under accelerated motion, the attitude of the robot calculated by IMU will drift. + +typedef struct +{ + uint8_t mode; // motor working mode + float q; // current angle (unit: radian) + float dq; // current velocity (unit: radian/second) + float ddq; // current acc (unit: radian/second*second) + float tauEst; // current estimated output torque (unit: N.m) + float q_raw; // current angle (unit: radian) + float dq_raw; // current velocity (unit: radian/second) + float ddq_raw; + int8_t temperature; // current temperature (temperature conduction is slow that leads to lag) + uint32_t reserve[2]; +} MotorState; // motor feedback + +typedef struct +{ + uint8_t mode; // desired working mode + float q; // desired angle (unit: radian) + float dq; // desired velocity (unit: radian/second) + float tau; // desired output torque (unit: N.m) + float Kp; // desired position stiffness (unit: N.m/rad ) + float Kd; // desired velocity stiffness (unit: N.m/(rad/s) ) + uint32_t reserve[3]; +} MotorCmd; // motor control + +typedef struct +{ + IMU imu; + MotorState motorState[20]; + uint8_t wirelessRemote[40]; // wireless commands +} LowState; // low level feedback + +typedef struct +{ + MotorCmd motorCmd[20]; + uint8_t wirelessRemote[40]; +} LowCmd; // low level control + +#endif // L4W4_SDK_COMM_H diff --git a/src/rl_sar/library/thirdparty/l4w4_sdk/joystick.h b/src/rl_sar/library/thirdparty/l4w4_sdk/joystick.h new file mode 100644 index 0000000..2b551b1 --- /dev/null +++ b/src/rl_sar/library/thirdparty/l4w4_sdk/joystick.h @@ -0,0 +1,41 @@ +#ifndef L4W4_SDK_JOYSTICK_H +#define L4W4_SDK_JOYSTICK_H + +#include +// 16b +typedef union { + struct { + uint8_t R1 :1; + uint8_t L1 :1; + uint8_t start :1; + uint8_t select :1; + uint8_t R2 :1; + uint8_t L2 :1; + uint8_t F1 :1; + uint8_t F2 :1; + uint8_t A :1; + uint8_t B :1; + uint8_t X :1; + uint8_t Y :1; + uint8_t up :1; + uint8_t right :1; + uint8_t down :1; + uint8_t left :1; + } components; + uint16_t value; +} xKeySwitchUnion; + +// 40 Byte (now used 24B) +typedef struct { + uint8_t head[2]; + xKeySwitchUnion btn; + float lx; + float rx; + float ry; + float L2; + float ly; + + uint8_t idle[16]; +} xRockerBtnDataStruct; + +#endif // L4W4_SDK_JOYSTICK_H \ No newline at end of file diff --git a/src/rl_sar/library/thirdparty/l4w4_sdk/l4w4_sdk.hpp b/src/rl_sar/library/thirdparty/l4w4_sdk/l4w4_sdk.hpp new file mode 100644 index 0000000..5c339e3 --- /dev/null +++ b/src/rl_sar/library/thirdparty/l4w4_sdk/l4w4_sdk.hpp @@ -0,0 +1,534 @@ +#ifndef L4W4_SDK_HPP +#define L4W4_SDK_HPP + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "joystick.h" +#include "comm.h" + +class L4W4SDK +{ +private: + float tmp_time_from_mcu = -1; + int show_rc = 0; + int ctr = 0; + float t0 = -1; + int n_cpu = 0; + int n_run = 0; + + float read_float(unsigned char *buff, int *idx); + float read_from1byte(unsigned char *buff, int *idx, float v_min, float v_max); + float read_from2bytes(unsigned char *buff, int *idx, float v_min, float v_max); + void write_into2bytes(float value, unsigned char *buff, int *idx, float v_min, float v_max); + float read_byte(unsigned char *buff, int *idx); + float Vector3_Dot(Vector3 v1, Vector3 v2); + Vector3 Vector3_Cross(Vector3 u, Vector3 v); + float Sign(float value); + float Vector3_invSqrt(Vector3 v); + Vector3 Vector3_Direction(Vector3 v); + float Clamp(float value, float min, float max); + float Angle_vA_2_vB(Vector3 vA, Vector3 vB, Vector3 axle); + void Vector3_Normalize(Vector3 *v); + Vector3 Quaternion_Transform(float vx, float vy, float vz, float qx, float qy, float qz, float qw); +public: + L4W4SDK() {}; + ~L4W4SDK() {}; + int client_socket; + struct sockaddr_in server_addr; + int recv_len = 0; + int ex_send_recv = -1; + unsigned char sent_buff[256]; + unsigned char recv_buff[512]; + void InitUDP(); + void AnalyzeUDP(unsigned char *recv_buff, LowState &lowState); + void SendUDP(LowCmd &lowCmd); + void PrintMCU(int running_state); + void InitCmdData(LowCmd& cmd); +}; + +void L4W4SDK::InitCmdData(LowCmd& cmd) +{ + for (int i = 0; i < 20; ++i) { + cmd.motorCmd[i].mode = 0; + cmd.motorCmd[i].q = 0.0; + cmd.motorCmd[i].dq = 0.0; + cmd.motorCmd[i].tau = 0.0; + cmd.motorCmd[i].Kp = 0.0; + cmd.motorCmd[i].Kd = 0.0; + } + memset(cmd.wirelessRemote, 0, sizeof(cmd.wirelessRemote)); +} + +void L4W4SDK::PrintMCU(int running_state) +{ + float t1 = tmp_time_from_mcu; + if(t1 < t0) + t0 = t1; + + float ms = (t1 - t0) * 1000.0; + n_cpu++; + n_run++; + + if(ms > 1000) + { + std::cout<<"mcu time = "<< tmp_time_from_mcu<<", n_cpu = "<= 0) + { + std::cout << "udp bind success (" << ret << ")" <>8) & 0xff; + (*idx)++; + buff[*idx] = v16 & 0xff; + (*idx)++; +} + +float L4W4SDK::read_byte(unsigned char *buff, int *idx) +{ + float v = (float)buff[*idx]; + (*idx)++; + return v; +} + +float L4W4SDK::Vector3_Dot(Vector3 v1, Vector3 v2) +{ + return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; +} + +Vector3 L4W4SDK::Vector3_Cross(Vector3 u, Vector3 v) +{ + Vector3 vn; + vn.x = u.y * v.z - u.z * v.y; + vn.y = u.z * v.x - u.x * v.z; + vn.z = u.x * v.y - u.y * v.x; + return vn; +} + +float L4W4SDK::Sign(float value) +{ + if(value >= 0) + return 1; + else + return -1; +} + +float L4W4SDK::Vector3_invSqrt(Vector3 v) +{ + return 1.0 / sqrtf(v.x * v.x + v.y * v.y + v.z * v.z); +} + +Vector3 L4W4SDK::Vector3_Direction(Vector3 v) +{ + float invSqrt = Vector3_invSqrt(v); + Vector3 dv = v; + dv.x *= invSqrt; + dv.y *= invSqrt; + dv.z *= invSqrt; + + return dv; +} + +float L4W4SDK::Clamp(float value, float min, float max) +{ + if(min > max) + { + float tmp = min; + min = max; + max = tmp; + } + + if(value < min) return min; + else if(value > max) return max; + else return value; +} + +float L4W4SDK::Angle_vA_2_vB(Vector3 vA, Vector3 vB, Vector3 axle) +{ + Vector3 vA_dir = Vector3_Direction(vA); + Vector3 vB_dir = Vector3_Direction(vB); + Vector3 axle_dir = Vector3_Direction(axle); + + float sinA = Clamp( Vector3_Dot(axle_dir, Vector3_Cross(vA_dir, vB_dir) ), -1, 1); + float angle_raw = asinf(sinA); + + float angle = Vector3_Dot(vA_dir, vB_dir) > 0 ? angle_raw : Sign(angle_raw) * M_PI - angle_raw; + + return angle; +} + +void L4W4SDK::Vector3_Normalize(Vector3 *v) +{ + float invSqrt = Vector3_invSqrt(*v); + v->x *= invSqrt; + v->y *= invSqrt; + v->z *= invSqrt; +} +Vector3 L4W4SDK::Quaternion_Transform(float vx, float vy, float vz, float qx, float qy, float qz, float qw) +{ + float dot_u_v = qx * vx + qy * vy + qz * vz; + float dot_u_u = qx * qx + qy * qy + qz * qz; + float x_of_uXv = qy * vz - qz * vy; + float y_of_uXv = qz * vx - qx * vz; + float z_of_uXv = qx * vy - qy * vx; + float k1 = 2.0 * dot_u_v; + float k2 = qw * qw - dot_u_u; + float k3 = 2.0 * qw; + + Vector3 vout; + vout.x = k1 * qx + k2 * vx + k3 * x_of_uXv; + vout.y = k1 * qy + k2 * vy + k3 * y_of_uXv; + vout.z = k1 * qz + k2 * vz + k3 * z_of_uXv; + return vout; +} + + +void L4W4SDK::AnalyzeUDP(unsigned char *recv_buff, LowState &lowState) +{ + int idx = 2; + tmp_time_from_mcu = read_float(recv_buff, &idx); + float BatteryVoltage = read_from1byte(recv_buff, &idx, 20, 60); + float MCUTemperature = read_byte(recv_buff, &idx); + + float acc_lx = read_float(recv_buff, &idx); + float acc_ly = read_float(recv_buff, &idx); + float acc_lz = read_float(recv_buff, &idx); + float omega_lx = read_float(recv_buff, &idx); + float omega_ly = read_float(recv_buff, &idx); + float omega_lz = read_float(recv_buff, &idx); + float orientation_x = read_float(recv_buff, &idx); + float orientation_y = read_float(recv_buff, &idx); + float orientation_z = read_float(recv_buff, &idx); + float orientation_w = read_float(recv_buff, &idx); + + + + Vector3 robot_up_w = Quaternion_Transform(0, 1, 0, orientation_x, orientation_y, orientation_z, orientation_w); + Vector3 current_trunk_front = Quaternion_Transform(1, 0, 0, orientation_x, orientation_y, orientation_z, orientation_w); + Vector3 current_trunk_right = Quaternion_Transform(0, 0, 1, orientation_x, orientation_y, orientation_z, orientation_w); + Vector3 trunk_hori_front = current_trunk_front; + trunk_hori_front.y = 0; + Vector3_Normalize(&trunk_hori_front); + Vector3 trunk_hori_right = Vector3_Cross(trunk_hori_front, {0,1,0}); + float r2d = 180.0f / M_PI; + + + float robot_yaw_deg = Angle_vA_2_vB({1,0,0}, trunk_hori_front, {0,1,0}) * r2d; + float robot_pitch_deg = Angle_vA_2_vB(trunk_hori_front, current_trunk_front, trunk_hori_right) * r2d; + float robot_roll_deg = Angle_vA_2_vB(trunk_hori_right, current_trunk_right, current_trunk_front) * r2d; + + + read_byte(recv_buff, &idx); + read_byte(recv_buff, &idx); + + xRockerBtnDataStruct *rockerBtn = (xRockerBtnDataStruct*)(&(lowState.wirelessRemote)); + + unsigned char key1 = recv_buff[idx]; idx++; + rockerBtn->btn.components.R1 = (key1 & 0x80) >> 7; + rockerBtn->btn.components.L1 = (key1 & 0x40) >> 6; + rockerBtn->btn.components.start = (key1 & 0x20) >> 5; + rockerBtn->btn.components.select = (key1 & 0x10) >> 4; + rockerBtn->btn.components.R2 = (key1 & 0x08) >> 3; + rockerBtn->btn.components.L2 = (key1 & 0x04) >> 2; + rockerBtn->btn.components.F1 = (key1 & 0x02) >> 1; + rockerBtn->btn.components.F2 = (key1 & 0x01) >> 0; + + unsigned char key2 = recv_buff[idx]; idx++; + rockerBtn->btn.components.A = (key2 & 0x80) >> 7; + rockerBtn->btn.components.B = (key2 & 0x40) >> 6; + rockerBtn->btn.components.X = (key2 & 0x20) >> 5; + rockerBtn->btn.components.Y = (key2 & 0x10) >> 4; + rockerBtn->btn.components.up = (key2 & 0x08) >> 3; + rockerBtn->btn.components.right = (key2 & 0x04) >> 2; + rockerBtn->btn.components.down = (key2 & 0x02) >> 1; + rockerBtn->btn.components.left = (key2 & 0x01) >> 0; + + + rockerBtn->lx = read_float(recv_buff, &idx); + rockerBtn->rx = read_float(recv_buff, &idx); + rockerBtn->ly = read_float(recv_buff, &idx); + rockerBtn->L2 = read_float(recv_buff, &idx); + rockerBtn->ry = read_float(recv_buff, &idx); + + if(rockerBtn->btn.components.F1) + show_rc = 1; + else + show_rc = 0; + + idx+=4*4; + + float motor_leg1_j0 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg1_j0_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg1_j1 = read_from2bytes(recv_buff, &idx, -1.3*M_PI, 0.7*M_PI); + float motor_leg1_j1_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg1_j2 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg1_j2_dot = read_from2bytes(recv_buff, &idx, -33, 33); + + float motor_leg2_j0 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg2_j0_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg2_j1 = read_from2bytes(recv_buff, &idx, -1.3*M_PI, 0.7*M_PI); + float motor_leg2_j1_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg2_j2 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg2_j2_dot = read_from2bytes(recv_buff, &idx, -33, 33); + + float motor_leg3_j0 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg3_j0_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg3_j1 = read_from2bytes(recv_buff, &idx, -1.3*M_PI, 0.7*M_PI); + float motor_leg3_j1_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg3_j2 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg3_j2_dot = read_from2bytes(recv_buff, &idx, -33, 33); + + float motor_leg4_j0 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg4_j0_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg4_j1 = read_from2bytes(recv_buff, &idx, -1.3*M_PI, 0.7*M_PI); + float motor_leg4_j1_dot = read_from2bytes(recv_buff, &idx, -33, 33); + float motor_leg4_j2 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg4_j2_dot = read_from2bytes(recv_buff, &idx, -33, 33); + + float motor_leg1_j3 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg1_j3_dot = read_from2bytes(recv_buff, &idx, -200, 200); + float motor_leg2_j3 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg2_j3_dot = read_from2bytes(recv_buff, &idx, -200, 200); + float motor_leg3_j3 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg3_j3_dot = read_from2bytes(recv_buff, &idx, -200, 200); + float motor_leg4_j3 = read_from2bytes(recv_buff, &idx, -M_PI, M_PI); + float motor_leg4_j3_dot = read_from2bytes(recv_buff, &idx, -200, 200); + + lowState.imu.quaternion[0] = orientation_w; + lowState.imu.quaternion[1] = orientation_x; + lowState.imu.quaternion[2] = -orientation_z; + lowState.imu.quaternion[3] = orientation_y; + + lowState.imu.gyroscope[0] = omega_lx; + lowState.imu.gyroscope[1] = -omega_lz; + lowState.imu.gyroscope[2] = omega_ly; + lowState.imu.accelerometer[0] = acc_lx; + lowState.imu.accelerometer[1] = -acc_lz; + lowState.imu.accelerometer[2] = acc_ly; + + // leg4 leg1 leg3 leg2 + // hip thigh shank wheel + + lowState.motorState[0].q = lowState.motorState[0].q_raw = motor_leg4_j0; + lowState.motorState[0].dq = lowState.motorState[0].dq_raw = motor_leg4_j0_dot; + lowState.motorState[0].ddq = lowState.motorState[0].ddq_raw = 0; + lowState.motorState[1].q = lowState.motorState[1].q_raw = -motor_leg4_j1; + lowState.motorState[1].dq = lowState.motorState[1].dq_raw = -motor_leg4_j1_dot; + lowState.motorState[1].ddq = lowState.motorState[1].ddq_raw = 0; + lowState.motorState[2].q = lowState.motorState[2].q_raw = -motor_leg4_j2; + lowState.motorState[2].dq = lowState.motorState[2].dq_raw = -motor_leg4_j2_dot; + lowState.motorState[2].ddq = lowState.motorState[2].ddq_raw = 0; + lowState.motorState[3].q = lowState.motorState[3].q_raw = -motor_leg4_j3; + lowState.motorState[3].dq = lowState.motorState[3].dq_raw = -motor_leg4_j3_dot; + lowState.motorState[3].ddq = lowState.motorState[3].ddq_raw = 0; + + lowState.motorState[4].q = lowState.motorState[4].q_raw = motor_leg1_j0; + lowState.motorState[4].dq = lowState.motorState[4].dq_raw = motor_leg1_j0_dot; + lowState.motorState[4].ddq = lowState.motorState[4].ddq_raw = 0; + lowState.motorState[5].q = lowState.motorState[5].q_raw = -motor_leg1_j1; + lowState.motorState[5].dq = lowState.motorState[5].dq_raw = -motor_leg1_j1_dot; + lowState.motorState[5].ddq = lowState.motorState[5].ddq_raw = 0; + lowState.motorState[6].q = lowState.motorState[6].q_raw = -motor_leg1_j2; + lowState.motorState[6].dq = lowState.motorState[6].dq_raw = -motor_leg1_j2_dot; + lowState.motorState[6].ddq = lowState.motorState[6].ddq_raw = 0; + lowState.motorState[7].q = lowState.motorState[7].q_raw = -motor_leg1_j3; + lowState.motorState[7].dq = lowState.motorState[7].dq_raw = -motor_leg1_j3_dot; + lowState.motorState[7].ddq = lowState.motorState[7].ddq_raw = 0; + + lowState.motorState[8].q = lowState.motorState[8].q_raw = motor_leg3_j0; + lowState.motorState[8].dq = lowState.motorState[8].dq_raw = motor_leg3_j0_dot; + lowState.motorState[8].ddq = lowState.motorState[8].ddq_raw = 0; + lowState.motorState[9].q = lowState.motorState[9].q_raw = -motor_leg3_j1; + lowState.motorState[9].dq = lowState.motorState[9].dq_raw = -motor_leg3_j1_dot; + lowState.motorState[9].ddq = lowState.motorState[9].ddq_raw = 0; + lowState.motorState[10].q = lowState.motorState[10].q_raw = -motor_leg3_j2; + lowState.motorState[10].dq = lowState.motorState[10].dq_raw = -motor_leg3_j2_dot; + lowState.motorState[10].ddq = lowState.motorState[10].ddq_raw = 0; + lowState.motorState[11].q = lowState.motorState[11].q_raw = -motor_leg3_j3; + lowState.motorState[11].dq = lowState.motorState[11].dq_raw = -motor_leg3_j3_dot; + lowState.motorState[11].ddq = lowState.motorState[11].ddq_raw = 0; + + lowState.motorState[12].q = lowState.motorState[12].q_raw = motor_leg2_j0; + lowState.motorState[12].dq = lowState.motorState[12].dq_raw = motor_leg2_j0_dot; + lowState.motorState[12].ddq = lowState.motorState[12].ddq_raw = 0; + lowState.motorState[13].q = lowState.motorState[13].q_raw = -motor_leg2_j1; + lowState.motorState[13].dq = lowState.motorState[13].dq_raw = -motor_leg2_j1_dot; + lowState.motorState[13].ddq = lowState.motorState[13].ddq_raw = 0; + lowState.motorState[14].q = lowState.motorState[14].q_raw = -motor_leg2_j2; + lowState.motorState[14].dq = lowState.motorState[14].dq_raw = -motor_leg2_j2_dot; + lowState.motorState[14].ddq = lowState.motorState[14].ddq_raw = 0; + lowState.motorState[15].q = lowState.motorState[15].q_raw = -motor_leg2_j3; + lowState.motorState[15].dq = lowState.motorState[15].dq_raw = -motor_leg2_j3_dot; + lowState.motorState[15].ddq = lowState.motorState[15].ddq_raw = 0; + + ctr++; + if(ctr>=100) + { + //float r2d = 180.0/M_PI; + //std::cout<<"mcu time = "<ly * 100) / 100.0) << "\t" << ((int)(rockerBtn->lx * 100) / 100.0); + std::cout<< "\t" << ((int)(rockerBtn->ry * 100) / 100.0) << "\t" << ((int)(rockerBtn->rx * 100) / 100.0)<