开源协议栈对比

开源协议栈对比

本目录克隆的源码见:../开源项目/
选型看:主站/从站、语言、平台、许可证、与 ROS 2 关系


1. 总览对比

项目 语言 典型角色 许可证(以仓库为准) 适合
CANopenNode C 设备/从站为主,亦可扩展 Apache-2.0 MCU / 嵌入式设备端
lely-core C Master + Slave Apache-2.0 Linux 主站、机器人、高可靠场景
CanFestival C + Python 工具 Master/Slave LGPL(常见发行) 经典教学、ObjDict 编辑器
python-canopen Python 主站/脚本/测试 MIT 快速联调、产测、原型
ros2_canopen C++/Python ROS 2 主站集成 Apache-2.0 机器人 ros2_control 接入

许可证以各仓库 LICENSE 文件为准,集成前务必复核。


2. CANopenNode

目录对应(克隆后):../开源项目/CANopenNode


3. Lely CANopen(lely-core)

目录:../开源项目/lely-core


4. CanFestival

  • 活跃分支示例:https://github.com/embox/canfestival
  • 特点:
    • 老牌开源栈
    • objdictgen:Python 对象字典/网络编辑与代码生成
    • 多 CAN 驱动(SocketCAN、厂商卡等)
    • 适合学习 OD 生成流程

目录:../开源项目/CanFestival


5. python-canopen

  • 仓库:https://github.com/christiansandberg/canopen
  • 特点:
    • 纯 Python,基于 python-can
    • 读 EDS、SDO、PDO、NMT、402 辅助
    • 非常适合:扫节点、改参数、写产测脚本
    • 不适合硬实时多轴闭环(GIL/调度限制)

目录:../开源项目/python-canopen


6. ros2_canopen

目录:../开源项目/ros2_canopen
详见:06-ROS2与CANopen集成.md


7. 选型建议(实用)

需求 建议
自己做从站固件 CANopenNode
Linux 上做可靠主站 lely-core
几天内把驱动器点亮 python-canopen + SocketCAN
接入 ROS 2 控制栈 ros2_canopen
教学 / OD 可视化生成 CanFestival objdictgen
高动态多轴机器人 优先评估 EtherCAT;CANopen 适合作业机构/外设

下一篇:06-ROS2与CANopen集成.md

文章互动

阅读 --

留言

0 条留言

正在加载留言…