首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

hku-mars 时间同步-MID360驱动修改

后端 2.66MB 34 需要积分: 1
立即下载

资源介绍:

hku-mars 时间同步-MID360驱动修改
# Livox ROS Driver 2 Livox ROS Driver 2 is the 2nd-generation driver package used to connect LiDAR products produced by Livox, applicable for ROS (noetic recommended) and ROS2 (foxy or humble recommended). **Note :** As a debugging tool, Livox ROS Driver is not recommended for mass production but limited to test scenarios. You should optimize the code based on the original source to meet your various needs. ## 1. Preparation ### 1.1 OS requirements * Ubuntu 18.04 for ROS Melodic; * Ubuntu 20.04 for ROS Noetic and ROS2 Foxy; * Ubuntu 22.04 for ROS2 Humble; **Tips:** Colcon is a build tool used in ROS2. How to install colcon: [Colcon installation instructions](https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html) ### 1.2 Install ROS & ROS2 For ROS Melodic installation, please refer to: [ROS Melodic installation instructions](https://wiki.ros.org/melodic/Installation) For ROS Noetic installation, please refer to: [ROS Noetic installation instructions](https://wiki.ros.org/noetic/Installation) For ROS2 Foxy installation, please refer to: [ROS Foxy installation instructions](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html) For ROS2 Humble installation, please refer to: [ROS Humble installation instructions](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html) Desktop-Full installation is recommend. ## 2. Build & Run Livox ROS Driver 2 ### 2.1 Clone Livox ROS Driver 2 source code: ```shell git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2 ``` **Note :** Be sure to clone the source code in a '[work_space]/src/' folder (as shown above), otherwise compilation errors will occur due to the compilation tool restriction. ### 2.2 Build & install the Livox-SDK2 **Note :** Please follow the guidance of installation in the [Livox-SDK2/README.md](https://github.com/Livox-SDK/Livox-SDK2/blob/master/README.md) ### 2.3 Build the Livox ROS Driver 2: #### For ROS (take Noetic as an example): ```shell source /opt/ros/noetic/setup.sh ./build.sh ROS1 ``` #### For ROS2 Foxy: ```shell source /opt/ros/foxy/setup.sh ./build.sh ROS2 ``` #### For ROS2 Humble: ```shell source /opt/ros/humble/setup.sh ./build.sh humble ``` ### 2.4 Run Livox ROS Driver 2: #### For ROS: ```shell source ../../devel/setup.sh roslaunch livox_ros_driver2 [launch file] ``` in which, * **livox_ros_driver2** : is the ROS package name of Livox ROS Driver 2; * **[launch file]** : is the ROS launch file you want to use; the 'launch_ROS1' folder contains several launch samples for your reference; An rviz launch example for HAP LiDAR would be: ```shell roslaunch livox_ros_driver2 rviz_HAP.launch ``` #### For ROS2: ```shell source ../../install/setup.sh ros2 launch livox_ros_driver2 [launch file] ``` in which, * **[launch file]** : is the ROS2 launch file you want to use; the 'launch_ROS2' folder contains several launch samples for your reference. A rviz launch example for HAP LiDAR would be: ```shell ros2 launch livox_ros_driver2 rviz_HAP_launch.py ``` ## 3. Launch file and livox_ros_driver2 internal parameter configuration instructions ### 3.1 Launch file configuration instructions Launch files of ROS are in the "ws_livox/src/livox_ros_driver2/launch_ROS1" directory and launch files of ROS2 are in the "ws_livox/src/livox_ros_driver2/launch_ROS2" directory. Different launch files have different configuration parameter values and are used in different scenarios: | launch file name | Description | | ------------------------- | ------------------------------------------------------------ | | rviz_HAP.launch | Connect to HAP LiDAR device
Publish pointcloud2 format data
Autoload rviz | | msg_HAP.launch | Connect to HAP LiDAR device
Publish livox customized pointcloud data| | rviz_MID360.launch | Connect to MID360 LiDAR device
Publish pointcloud2 format data
Autoload rviz| | msg_MID360.launch | Connect to MID360 LiDAR device
Publish livox customized pointcloud data | | rviz_mixed.launch | Connect to HAP and MID360 LiDAR device
Publish pointcloud2 format data
Autoload rviz| | msg_mixed.launch | Connect to HAP and MID360 LiDAR device
Publish livox customized pointcloud data | ### 3.2 Livox ros driver 2 internal main parameter configuration instructions All internal parameters of Livox_ros_driver2 are in the launch file. Below are detailed descriptions of the three commonly used parameters : | Parameter | Detailed description | Default | | ------------ | ------------------------------------------------------------ | ------- | | publish_freq | Set the frequency of point cloud publish
Floating-point data type, recommended values 5.0, 10.0, 20.0, 50.0, etc. The maximum publish frequency is 100.0 Hz.| 10.0 | | multi_topic | If the LiDAR device has an independent topic to publish pointcloud data
0 -- All LiDAR devices use the same topic to publish pointcloud data
1 -- Each LiDAR device has its own topic to publish point cloud data | 0 | | xfer_format | Set pointcloud format
0 -- Livox pointcloud2(PointXYZRTLT) pointcloud format
1 -- Livox customized pointcloud format
2 -- Standard pointcloud2 (pcl :: PointXYZI) pointcloud format in the PCL library (just for ROS) | 0 | **Note :** Other parameters not mentioned in this table are not suggested to be changed unless fully understood.     ***Livox_ros_driver2 pointcloud data detailed description :*** 1. Livox pointcloud2 (PointXYZRTLT) point cloud format, as follows : ```c float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m float32 intensity # the value is reflectivity, 0.0~255.0 uint8 tag # livox tag uint8 line # laser number in lidar float64 timestamp # Timestamp of point ``` **Note :** The number of points in the frame may be different, but each point provides a timestamp. 2. Livox customized data package format, as follows : ```c std_msgs/Header header # ROS standard message header uint64 timebase # The time of first point uint32 point_num # Total number of pointclouds uint8 lidar_id # Lidar device id number uint8[3] rsvd # Reserved use CustomPoint[] points # Pointcloud data ```     Customized Point Cloud (CustomPoint) format in the above customized data package : ```c uint32 offset_time # offset time relative to the base time float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m uint8 reflectivity # reflectivity, 0~255 uint8 tag # livox tag uint8 line # laser number in lidar ``` 3. The standard pointcloud2 (pcl :: PointXYZI) format in the PCL library (only ROS can publish):     Please refer to the pcl :: PointXYZI data structure in the point_types.hpp file of the PCL library. ## 4. LiDAR config LiDAR Configurations (such as ip, port, data type... etc.) can be set via a json-style config file. Config files for single HAP, Mid360 and mixed-LiDARs are in the "config" folder. The parameter naming *'user_config_path'* in launch files indicates such json file path. 1. Follow is a configuration example for HAP LiDAR (located in config/HAP_config.json): ```json { "lidar_summary_info" : { "lidar_type": 8 # protocol type index, please don't revise this value }, "HAP": { "device_type" : "HAP", "lidar_ipaddr": "", "lidar_net_info" : { "cmd_data_port": 56000, # command port "push_msg_port": 0, "point_data_port": 57000, "imu_data_port": 58000, "log_data_port": 59000 }, "host_net_info" : { "cmd

资源文件列表:

livox_ros_driver2.zip 大约有157个文件
  1. livox_ros_driver2/
  2. livox_ros_driver2/package.xml 3.32KB
  3. livox_ros_driver2/.gitignore 37B
  4. livox_ros_driver2/CHANGELOG.md 1.54KB
  5. livox_ros_driver2/CMakeLists.txt 10.71KB
  6. livox_ros_driver2/LICENSE.txt 19.46KB
  7. livox_ros_driver2/README.md 12.83KB
  8. livox_ros_driver2/build.sh 1.6KB
  9. livox_ros_driver2/package_ROS1.xml 3.32KB
  10. livox_ros_driver2/package_ROS2.xml 1.1KB
  11. livox_ros_driver2/.git/
  12. livox_ros_driver2/.git/config 310B
  13. livox_ros_driver2/.git/description 73B
  14. livox_ros_driver2/.git/index 9.55KB
  15. livox_ros_driver2/.git/HEAD 23B
  16. livox_ros_driver2/.git/packed-refs 570B
  17. livox_ros_driver2/.git/info/
  18. livox_ros_driver2/.git/info/exclude 240B
  19. livox_ros_driver2/.git/branches/
  20. livox_ros_driver2/.git/hooks/
  21. livox_ros_driver2/.git/hooks/prepare-commit-msg.sample 1.46KB
  22. livox_ros_driver2/.git/hooks/pre-applypatch.sample 424B
  23. livox_ros_driver2/.git/hooks/update.sample 3.53KB
  24. livox_ros_driver2/.git/hooks/fsmonitor-watchman.sample 3.01KB
  25. livox_ros_driver2/.git/hooks/pre-merge-commit.sample 416B
  26. livox_ros_driver2/.git/hooks/pre-receive.sample 544B
  27. livox_ros_driver2/.git/hooks/pre-rebase.sample 4.78KB
  28. livox_ros_driver2/.git/hooks/applypatch-msg.sample 478B
  29. livox_ros_driver2/.git/hooks/pre-commit.sample 1.6KB
  30. livox_ros_driver2/.git/hooks/pre-push.sample 1.32KB
  31. livox_ros_driver2/.git/hooks/commit-msg.sample 896B
  32. livox_ros_driver2/.git/hooks/post-update.sample 189B
  33. livox_ros_driver2/.git/refs/
  34. livox_ros_driver2/.git/refs/heads/
  35. livox_ros_driver2/.git/refs/heads/master 41B
  36. livox_ros_driver2/.git/refs/tags/
  37. livox_ros_driver2/.git/refs/remotes/
  38. livox_ros_driver2/.git/refs/remotes/origin/
  39. livox_ros_driver2/.git/refs/remotes/origin/HEAD 32B
  40. livox_ros_driver2/.git/objects/
  41. livox_ros_driver2/.git/objects/pack/
  42. livox_ros_driver2/.git/objects/pack/pack-490f3b9ceb677a487c693aeb08474d9595b0ce2f.pack 2.36MB
  43. livox_ros_driver2/.git/objects/pack/pack-490f3b9ceb677a487c693aeb08474d9595b0ce2f.idx 43.68KB
  44. livox_ros_driver2/.git/objects/info/
  45. livox_ros_driver2/.git/logs/
  46. livox_ros_driver2/.git/logs/HEAD 191B
  47. livox_ros_driver2/.git/logs/refs/
  48. livox_ros_driver2/.git/logs/refs/remotes/
  49. livox_ros_driver2/.git/logs/refs/remotes/origin/
  50. livox_ros_driver2/.git/logs/refs/remotes/origin/HEAD 191B
  51. livox_ros_driver2/.git/logs/refs/heads/
  52. livox_ros_driver2/.git/logs/refs/heads/master 191B
  53. livox_ros_driver2/3rdparty/
  54. livox_ros_driver2/3rdparty/rapidjson/
  55. livox_ros_driver2/3rdparty/rapidjson/allocators.h 10.19KB
  56. livox_ros_driver2/3rdparty/rapidjson/cursorstreamwrapper.h 2.18KB
  57. livox_ros_driver2/3rdparty/rapidjson/document.h 115.2KB
  58. livox_ros_driver2/3rdparty/rapidjson/encodedstream.h 10.38KB
  59. livox_ros_driver2/3rdparty/rapidjson/encodings.h 29.13KB
  60. livox_ros_driver2/3rdparty/rapidjson/filereadstream.h 2.89KB
  61. livox_ros_driver2/3rdparty/rapidjson/filewritestream.h 3KB
  62. livox_ros_driver2/3rdparty/rapidjson/fwd.h 4.02KB
  63. livox_ros_driver2/3rdparty/rapidjson/istreamwrapper.h 4.02KB
  64. livox_ros_driver2/3rdparty/rapidjson/license.txt 5.03KB
  65. livox_ros_driver2/3rdparty/rapidjson/memorybuffer.h 2.51KB
  66. livox_ros_driver2/3rdparty/rapidjson/memorystream.h 2.61KB
  67. livox_ros_driver2/3rdparty/rapidjson/ostreamwrapper.h 2.29KB
  68. livox_ros_driver2/3rdparty/rapidjson/pointer.h 58.82KB
  69. livox_ros_driver2/3rdparty/rapidjson/prettywriter.h 10.01KB
  70. livox_ros_driver2/3rdparty/rapidjson/rapidjson.h 23.72KB
  71. livox_ros_driver2/3rdparty/rapidjson/reader.h 87.2KB
  72. livox_ros_driver2/3rdparty/rapidjson/schema.h 98.89KB
  73. livox_ros_driver2/3rdparty/rapidjson/stream.h 6.54KB
  74. livox_ros_driver2/3rdparty/rapidjson/stringbuffer.h 3.89KB
  75. livox_ros_driver2/3rdparty/rapidjson/writer.h 25.56KB
  76. livox_ros_driver2/3rdparty/rapidjson/error/
  77. livox_ros_driver2/3rdparty/rapidjson/error/en.h 3.65KB
  78. livox_ros_driver2/3rdparty/rapidjson/error/error.h 6.32KB
  79. livox_ros_driver2/3rdparty/rapidjson/internal/
  80. livox_ros_driver2/3rdparty/rapidjson/internal/biginteger.h 8.1KB
  81. livox_ros_driver2/3rdparty/rapidjson/internal/clzll.h 1.99KB
  82. livox_ros_driver2/3rdparty/rapidjson/internal/diyfp.h 11.12KB
  83. livox_ros_driver2/3rdparty/rapidjson/internal/dtoa.h 7.54KB
  84. livox_ros_driver2/3rdparty/rapidjson/internal/ieee754.h 2.92KB
  85. livox_ros_driver2/3rdparty/rapidjson/internal/itoa.h 9.05KB
  86. livox_ros_driver2/3rdparty/rapidjson/internal/meta.h 6.57KB
  87. livox_ros_driver2/3rdparty/rapidjson/internal/pow10.h 3.86KB
  88. livox_ros_driver2/3rdparty/rapidjson/internal/regex.h 22.69KB
  89. livox_ros_driver2/3rdparty/rapidjson/internal/stack.h 6.65KB
  90. livox_ros_driver2/3rdparty/rapidjson/internal/strfunc.h 2.13KB
  91. livox_ros_driver2/3rdparty/rapidjson/internal/strtod.h 8.45KB
  92. livox_ros_driver2/3rdparty/rapidjson/internal/swap.h 1.39KB
  93. livox_ros_driver2/3rdparty/rapidjson/msinttypes/
  94. livox_ros_driver2/3rdparty/rapidjson/msinttypes/inttypes.h 7.64KB
  95. livox_ros_driver2/3rdparty/rapidjson/msinttypes/stdint.h 8.94KB
  96. livox_ros_driver2/cmake/
  97. livox_ros_driver2/cmake/version.cmake 990B
  98. livox_ros_driver2/config/
  99. livox_ros_driver2/config/HAP_config.json 863B
  100. livox_ros_driver2/config/MID360_config.json 883B
  101. livox_ros_driver2/config/display_point_cloud_ROS1.rviz 5.52KB
  102. livox_ros_driver2/config/display_point_cloud_ROS2.rviz 4.72KB
  103. livox_ros_driver2/config/mixed_HAP_MID360_config.json 1.63KB
  104. livox_ros_driver2/launch_ROS1/
  105. livox_ros_driver2/launch_ROS1/msg_HAP.launch 1.7KB
  106. livox_ros_driver2/launch_ROS1/msg_MID360.launch 1.7KB
  107. livox_ros_driver2/launch_ROS1/msg_mixed.launch 1.71KB
  108. livox_ros_driver2/launch_ROS1/rviz_HAP.launch 1.88KB
  109. livox_ros_driver2/launch_ROS1/rviz_MID360.launch 1.89KB
  110. livox_ros_driver2/launch_ROS1/rviz_mixed.launch 1.9KB
  111. livox_ros_driver2/launch_ROS2/
  112. livox_ros_driver2/launch_ROS2/msg_HAP_launch.py 1.92KB
  113. livox_ros_driver2/launch_ROS2/msg_MID360_launch.py 1.86KB
  114. livox_ros_driver2/launch_ROS2/rviz_HAP_launch.py 2.13KB
  115. livox_ros_driver2/launch_ROS2/rviz_MID360_launch.py 2.14KB
  116. livox_ros_driver2/launch_ROS2/rviz_mixed.py 2.15KB
  117. livox_ros_driver2/msg/
  118. livox_ros_driver2/msg/CustomMsg.msg 341B
  119. livox_ros_driver2/msg/CustomPoint.msg 353B
  120. livox_ros_driver2/src/
  121. livox_ros_driver2/src/driver_node.cpp 1.45KB
  122. livox_ros_driver2/src/driver_node.h 2.42KB
  123. livox_ros_driver2/src/lddc.cpp 23.52KB
  124. livox_ros_driver2/src/lddc.h 5.83KB
  125. livox_ros_driver2/src/lds.cpp 5.81KB
  126. livox_ros_driver2/src/lds.h 2.63KB
  127. livox_ros_driver2/src/lds_lidar.cpp 6.34KB
  128. livox_ros_driver2/src/lds_lidar.h 2.67KB
  129. livox_ros_driver2/src/livox_ros_driver2.cpp 7.71KB
  130. livox_ros_driver2/src/call_back/
  131. livox_ros_driver2/src/call_back/lidar_common_callback.cpp 2.22KB
  132. livox_ros_driver2/src/call_back/lidar_common_callback.h 1.54KB
  133. livox_ros_driver2/src/call_back/livox_lidar_callback.cpp 15KB
  134. livox_ros_driver2/src/call_back/livox_lidar_callback.h 3.22KB
  135. livox_ros_driver2/src/comm/
  136. livox_ros_driver2/src/comm/cache_index.cpp 3.77KB
  137. livox_ros_driver2/src/comm/cache_index.h 2.01KB
  138. livox_ros_driver2/src/comm/comm.cpp 2.16KB
  139. livox_ros_driver2/src/comm/comm.h 8.38KB
  140. livox_ros_driver2/src/comm/ldq.cpp 4.57KB
  141. livox_ros_driver2/src/comm/ldq.h 2.28KB
  142. livox_ros_driver2/src/comm/lidar_imu_data_queue.cpp 2.2KB
  143. livox_ros_driver2/src/comm/lidar_imu_data_queue.h 2.57KB
  144. livox_ros_driver2/src/comm/pub_handler.cpp 15.74KB
  145. livox_ros_driver2/src/comm/pub_handler.h 4.36KB
  146. livox_ros_driver2/src/comm/semaphore.cpp 1.44KB
  147. livox_ros_driver2/src/comm/semaphore.h 1.58KB
  148. livox_ros_driver2/src/include/
  149. livox_ros_driver2/src/include/livox_ros_driver2.h 1.69KB
  150. livox_ros_driver2/src/include/ros1_headers.h 2.16KB
  151. livox_ros_driver2/src/include/ros2_headers.h 2.42KB
  152. livox_ros_driver2/src/include/ros_headers.h 1.31KB
  153. livox_ros_driver2/src/parse_cfg_file/
  154. livox_ros_driver2/src/parse_cfg_file/parse_cfg_file.cpp 2.33KB
  155. livox_ros_driver2/src/parse_cfg_file/parse_cfg_file.h 1.68KB
  156. livox_ros_driver2/src/parse_cfg_file/parse_livox_lidar_cfg.cpp 5.17KB
  157. livox_ros_driver2/src/parse_cfg_file/parse_livox_lidar_cfg.h 2KB
0评论
提交 加载更多评论
其他资源 电力系统静态稳定性仿真Matlab编程 simulink仿真 1.用Matlab编程,把转子运动方程(摇摆方程)在运行点处线性化
电力系统静态稳定性仿真Matlab编程 simulink仿真 1.用Matlab编程,把转子运动方程(摇摆方程)在运行点处线性化,采用小信号分析法,对线性化之后状态方程的系数矩阵求解特征值,根轨迹,通过特征值的特点来判断系统稳定性。 2.用simulink搭建搭建单机无穷大系统,对其静态稳定性进行仿真分析。
电力系统静态稳定性仿真Matlab编程 simulink仿真
1.用Matlab编程,把转子运动方程(摇摆方程)在运行点处线性化
光伏三相并网: 1.光伏10kw+MPPT控制+两级式并网逆变器(boost+三相桥式逆变) 2.坐标变换+锁相环+dq功率控制
光伏三相并网: 1.光伏10kw+MPPT控制+两级式并网逆变器(boost+三相桥式逆变) 2.坐标变换+锁相环+dq功率控制+解耦控制+电流内环电压外环控制+spwm调制 3.LCL滤波 仿真结果: 1.逆变输出与三项380V电网同频同相 2.直流母线电压800V稳定 3.d轴电压稳定311V;q轴电压稳定为0V,有功功率高效输出
光伏三相并网:
1.光伏10kw+MPPT控制+两级式并网逆变器(boost+三相桥式逆变)
2.坐标变换+锁相环+dq功率控制
基于stm32多路温室大棚监测 容易制作 主要功能: 1OLED屏可以实时显示四路温湿度数据 2手机APP可以远程监控
基于stm32多路温室大棚监测 容易制作 主要功能: [1]OLED屏可以实时显示四路温湿度数据 [2]手机APP可以远程监控四路温湿度数据 [3]温度湿度阈值均可手动通过按键设置 温度或者湿度超过阈值上限打开排气扇 温度低于阈值打开加热器 湿度低于阈值打开加湿器 原理图pcb使用立创eda 软件Keil5 主控芯片是stm32f103c8t6 WIFI模块使用 esp 8266 云平台使用阿里云
基于stm32多路温室大棚监测 容易制作 
主要功能:
1OLED屏可以实时显示四路温湿度数据
2手机APP可以远程监控
三菱电梯主板地址表参数 三菱电梯地址码, KCD-116主板地址参数, MAXIEZ电梯主板地址参数, VFGLC电梯主板地址参
三菱电梯主板地址表参数 三菱电梯地址码, KCD-116主板地址参数, MAXIEZ电梯主板地址参数, VFGLC电梯主板地址参数, 可以修改电梯楼层显示、基站、强迫关门、消防功能、开关门时间等参数,如B1层显示改成-1等
三菱电梯主板地址表参数
三菱电梯地址码,
KCD-116主板地址参数,
MAXIEZ电梯主板地址参数,
VFGLC电梯主板地址参
质子交换膜燃料电池(PEMFC) Simulink模型 包括静态模型和动态模型(两个独立模型 可计算输出电压、输出功率、效率、产
质子交换膜燃料电池(PEMFC) Simulink模型 包括静态模型和动态模型(两个独立模型 可计算输出电压、输出功率、效率、产热量、产水量、氢氧消耗速率等 附带参考公式、参考文献
质子交换膜燃料电池(PEMFC) Simulink模型
包括静态模型和动态模型(两个独立模型
可计算输出电压、输出功率、效率、产
基于一种低通滤波反电势观测器的永磁同步电机无感FOC 采用的反电势观测器相比传统的SMO、龙伯格等反电势观测方法,在算法结构上更
基于一种低通滤波反电势观测器的永磁同步电机无感FOC 采用的反电势观测器相比传统的SMO、龙伯格等反电势观测方法,在算法结构上更加简单,参数调节容易,只有一个参数。 1.提供算法对应的参考文献和仿真模型; 2.提供该算法对应代码,可直接移植到CCS中实现实验验证;
基于一种低通滤波反电势观测器的永磁同步电机无感FOC
采用的反电势观测器相比传统的SMO、龙伯格等反电势观测方法,在算法结构上更
hku-mars 时间同步-海康相机驱动修改
hku-mars 时间同步-海康相机驱动修改
ABB机器人、PLC、C#上位机全套程序 1.项目用的是ABB蜘蛛机器人,六轴用的程序开发都一样 2.上位机与机器人和PLC通讯
ABB机器人、PLC、C#上位机全套程序 1.项目用的是ABB蜘蛛机器人,六轴用的程序开发都一样 2.上位机与机器人和PLC通讯都是通过以太网总线方式,没有使用传统的IO方式 3.自己写的程序,可提供部分 3.PLC使用的是200smart 4.作为案例适合自己提升学习用
ABB机器人、PLC、C#上位机全套程序
1.项目用的是ABB蜘蛛机器人,六轴用的程序开发都一样
2.上位机与机器人和PLC通讯