项目简介
本项目是基于EtherCAT协议的开源项目,主要用于对一个7自由度的机器人臂进行测试与控制。项目聚焦于实现与EtherCAT从设备的通信和控制,确保实时性能以及数据传输的准确与稳定。通过Etherlab Master软件库创建和管理EtherCAT主节点并完成通信,结合Orocos机器人控制框架进行机器人的逆动力学计算和实时控制。
项目的主要特性和功能
- 可创建和管理EtherCAT主节点,与多个EtherCAT从设备(如机器人控制器)通信。
- 借助一系列测试和基准测试程序,监控和测试EtherCAT网络的实时性能,包括数据传输速度、延迟和执行时间等。
- 利用Orocos机器人控制框架,根据机器人的关节位置和速度计算所需的关节力矩,实现机器人的精确控制。
- 包含Python脚本处理和展示数据,以周期性数据的统计结果和直方图呈现,方便用户理解数据分布和性能特点。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件,且已完成Etherlab和Orocos等相关环境的安装与配置。
操作步骤
1. 启动EtherLab master
sudo /etc/init.d/ethercat restart
/opt/etherlab/bin/ethercat master
/opt/etherlab/bin/ethercat slaves -v
2. 测试无线程性能
gcc dc_test_no_thread.c -o dc_test_no_thread -I/opt/etherlab/include -L/opt/etherlab/lib -lethercat -Wl,--rpath -Wl,/opt/etherlab/lib
sudo ./dc_test_no_thread > histogram_no_thread.csv
python plot_no_thread.py
3. 测试线程性能
gcc dc_test_thread.c -lpthread -o dc_test_thread -I/opt/etherlab/include -L/opt/etherlab/lib -lethercat -Wl,--rpath -Wl,/opt/etherlab/lib
sudo ./dc_test_thread > histogram_thread.csv
python plot_thread.py
4. 测试线程 + 7自由度机器人臂逆动力学性能
``` source /home/hiep/linuxcnc-dev/scripts/rip-environment g++ -c -fPIC -L/usr/local/lib -I. -I/usr/local/include -I/usr/include/eigen3 -lorocos-kdl orocos_cnc.cpp -o orocos_cnc.o g++ -fPIC -shared orocos_cnc.o -o liborocos_cnc.so
gcc dc_test_thread_orocos.c -lpthread -o dc_test_thread_orocos -I/opt/etherlab/include -L/opt/etherlab/lib -L. -lethercat -lorocos_cnc -lorocos-kdl -Wl,-rpath,/opt/etherlab/lib -Wl,-rpath,/home/hiep/hiep_igh/thread_id7dof sudo ./dc_test_thread_orocos > ../histogram_thread_orocos.csv python plot_thread_orocos.py ```
5. 运行LinuxCNC线程 + 7自由度机器人臂逆动力学
``` gcc etherlab_thread_orocos.c -lpthread -o etherlab_thread_orocos -I. -I/opt/etherlab/include -L/opt/etherlab/lib -L. -lethercat -lorocos_cnc -lorocos-kdl -Wl,-rpath,/opt/etherlab/lib -Wl,-rpath,/home/hiep/hiep_igh/thread_id7dof
sudo ./etherlab_thread_orocos ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】