huanankx

  • 2024-01-06
  • 回复了主题帖: 使用linuxcnc制作的机械手臂控制器

    linuxcnc有官网,官网上有相关的说明,比较全。国内能找到的都是比较零散的。而且比较浅。

  • 2023-12-31
  • 回复了主题帖: 使用linuxcnc制作的机械手臂控制器

    freebsder 发表于 2023-12-28 14:47 cnc数控这种机械臂和ros这种机器机械臂有什么区别吗? linuxcnc倾向于工业应用。ros偏向于民用。内部控制策略也不同。

  • 2023-12-23
  • 发表了主题帖: 使用linuxcnc制作的机械手臂控制器

    本帖最后由 huanankx 于 2023-12-23 19:44 编辑 一、项目背景及总体说明     目前机械臂及其他构型工业机器人的控制器,高端产品都是由国外公司垄断,例如四大家族,ABB、发那科、安川、库卡等。国内近些年也自研了一些控制器,例如:广数、新时达、钱江机器人、埃斯顿、埃夫新松等都是国内比较不错的,但是性能、功能、易用性上都与国外产品由不小的差距。 linuxcnc是国外开源的机器人架构,他支持9大类型的机器人构型,其中包含:串行机器人也就是机械臂,龙门架机器人、并联机器人等。国内外好多厂家都是以linuxcnc为原型开发自己的控制器,目前的项目想通过LicheePi 4A作为硬件平台,在上面运行linuxcnc实行串行机器人的功能。用户了解、熟悉linuxcnc的性能。然后与现有控制器进行融合。以提升产品的性能及功能。 二、串行机械臂     机械臂是一种用于执行各种任务的机械装置,通常由多个关节连接的刚性链条组成。社会上的机械臂构造十分的繁杂,但是基本上都是以机械结构、驱动系统、传感器和控制系统,末端工具系统这五个部分构成的,机械结构是机械臂的主体,由臂、腕、手等部分组成,各部分通过关节连接;驱动系统提供动力,并使机械臂的各个关节能够运动;传感器用于感知周围环境和机械臂自身状态;控制系统根据传感器的反馈信息,对机械臂进行高效控制;末端执行工具根据具体任务的需求,可以是各种不同形式的工具,例如夹具或焊接器。     机械臂常见的运动原理主要基于关节运动和链节伸缩的组合。通过控制关节的角度和链节的长度,实现机械臂在空间中的灵活运动。机械臂的控制方式主要分为位置控制和力控制两种。位置控制是通过控制关节的角度和链节的长度,准确地控制机械臂的运动轨迹。力控制则是让机械臂能够根据外部力的变化做出相应的调整,实现更灵活的工作。      在我们的日常生活中,机械臂主要运用在医疗领域和工业领域。在工业生产活动中,可以用于重复性、高精度的任务,例如装配、焊接和搬运等。在医疗领域中,机械臂的作用更加的广泛,机械臂的准确性和稳定性使得手术操作更加精细,减少对患者的损伤。同时,机械臂还可以协助康复患者进行运动训练,帮助他们恢复肌肉力量和功能。  总的来说,机械臂作为一个现代科技的产物,它伴随科学技术和人工智能技术的发展,将更加智能化和自适应,为社会进步和发展带来巨大潜力 三、系统框图 2.1、控制器硬件组成     一般机械臂,由下面几个部分组成,示教器,控制器、驱动器、机械本体组成。本次展示作品是在现有机器人本体及驱动器的上开发,示教器部分暂未开发。驱动器外购,采用国产一体的6轴驱动器,目前国产驱动器厂家比较多,如:清能德创、武汉久同、成都新源等。本体使用外购的钱江机器人本体。示教器未开发。 控制器的架构图如下:   2.2、控制器软件架构     控制器使用linuxcnc,控制器与驱动器采用ethercat协议通信,我们采用网上主流的soem协议栈(ethercat开源免费协议栈)。驱动器采用清能德创的R6驱动器。 2.3、linuxcnc的软件配置方法 2.3.1、修改ini文件(修改工程配置文件夹的默认目录)     将melfa-sim:linuxcnc-master\configs\sim\axis\vismach\melfa-sim文件夹移动到linuxcnc-master的根目录。改名为:melfa 2.3.2、启动命令测试(ok)     cd linuxcnc-master ./scripts/linuxcnc melfa/melfa.ini   2.3.3、melfa.ini修改记录 原: [HAL] HALUI = halui HALFILE = LIB:basic_sim.tcl ---这是一个脚本文件,它生产melfa_cmds.hal文件。 改: [HAL] HALUI = halui HALFILE = melfa_cmds.hal 改名后,就可以修改文件中的配置,如果使用tcl脚本,每次都是默认配置。 修改见2.4.1章。 2.3.4、修改hal文件(重点修改) 文件夹中有3个hal文件,通过分析melfa.ini,可知使用了melfa_dh.hal(感觉是配置初始值)、melfa-postgui.hal (界面相关) 、mefla_cmds.hal 与伺服驱动器相关。 2.3.4.1、修改mefla_cmds.hal文件 1)修改位置1---添加soem协议栈 # user space components loadusr -W hal_manualtoolchange ----手动更换工具(刀具),linuxcnc中是换刀相关 loadrt soem ----增加此行,与soem关联。 修改位置2---将soem与linuxcnc的1轴链接上,需要注意限位问题,否则很容易出事故。 net J0:on-pos J0_pid.output => J0_mux.in1 net J0:pos-cmd joint.0.motor-pos-cmd => J0_pid.command => qnhc.0.motor_pos_cmd 其他轴以此类推。 2.3.5、与soem关联,这里需要修改soem的代码,这里我们已经修改过 addf ethercat.do-read servo-thread 1 addf ethercat.do-write servo-thread -1 通过上面修改,就可以控制电机旋转,如果连接机械结构,需要注意构型等多个设置。这些设置在melfa_dh.hal文件中,根据提示修改就可以。 然后启动linuxcnc就可以控制机器人运行, 三、项目状态及总结     目前项目制调试了1好个轴,可以控制在一个范围内运动。这个机械臂是借用的。其他轴的电机可以旋转,但是限位、减速比等没有知道好。我要做得机器人构型,机械结构部分还没有完全弄好,项目进度控制的不好,抱歉。     所以借用机械臂本体部分。如果是学习研究linuxcnc的项目,大家可以与我交流。联系方式是否可以公布,需要与网站沟通后才决定。 运行效果: https://www.bilibili.com/video/BV1Ki4y1h7LT/?vd_source=95a6c853485bd028f84b1e372c054783       通过运行内部软件测试,Licheepi 4A处理器硬件平台可以控制4轴,cpu的使用率比较理想,6轴平台可以运行,但有风险。

  • 2023-10-07
  • 回复了主题帖: LicheePi 4A安装linuxcnc

    bigbat 发表于 2023-9-27 19:09 学习了,CNC支持GPIO输出吗?还是需要特殊的板卡。 看你硬件情况。如果是ARM,需要自己制作一定的代码。才行。

  • 回复了主题帖: LicheePi 4A安装linuxcnc

    freebsder 发表于 2023-9-28 09:59 数控机床的吗? 是,支持很多机器人

  • 发表了主题帖: linuxcnc制作melfa机器人软件配置过程

    新的驱动器,现在还没有到货,手里没有现成的驱动器了。本文是借鉴以前调试经验,在平头哥的板子上制作的软件。实机测试要等驱动器 到货后。 步骤1: 将melfa-sim:linuxcnc-master\configs\sim\axis\vismach\melfa-sim文件夹移动到linuxcnc-master的根目录。改名为:melfa 步骤2: cd linuxcnc-master ./scripts/linuxcnc melfa/melfa.ini 步骤3:     按顺序点击1~4的按钮就可以。 测试能够运行,后停止程序。 步骤4: 修改后面的几个配置文件:melfa.ini、melfa_dh.hal(感觉是配置初始值)、melfa-postgui.hal (界面相关) 、mefla_cmds.hal 这些文件与硬件关系密切,这里不细写了 这些文件可以配置的ethercat总线。目前免费igh用得比较多,soem相对少些。要自己根据自己的硬件情况移植。 链接相关电机,即可观察相关效果。 测试的时候,开始让电机空转,不要带负载。    

  • 2023-09-27
  • 发表了主题帖: LicheePi 4A安装linuxcnc

    安装实时内核 1、编译实时内核 参考: https://blog.csdn.net/weixin_51760563/article/details/122231647 2、下载内核及补丁 内核下载网址: https://www.kernel.org/pub/linux/kernel RT补丁下载网址: https://www.kernel.org/pub/linux/kernel/projects/rt/ 下载: linux-5.13.tar.gz 和patch-5.13-rt1.patch.gz --2个文件放到同一目录下。 3、打补丁 tar -xzvf linux-5.13.tar.gz gunzip patch-5.13-rt1.patch.gz --注意2个gz的解压包,解压方式不一样。 cp patch-5.13-rt1.patch linux-5.13/ patch -p1 < patch-5.13-rt1.patch 4、编译 cd linux-5.13 make ARCH=arm64 CROSS_COMPILE=arm-linux-gnueabihf- defconfig 二选一 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig 二选一 make bcm2711_defconfig ----重要,更改linux内核的配置,设置为树莓派的cpu。-好像没有这一步 make menuconfig general setup–>Preemption Model(Preemptible kernel)–>   这里没有实时内核选项。需要安装补丁。-有些安装补丁后,也看不到 make -j4 Image.gz modules dtbs sudo make modules_install sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/ sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/ ---可能没有overlays的目录。 sudo cp arch/arm64/boot/dts/overlays/README /boot/overlays/ sudo cp arch/arm64/boot/Image.gz /boot/$KERNEL.img sudo cp arch/arm64/boot/Image.gz /boot/kernel8.img --上面的一行,可能是这个。     二、安装linuxcnc git clone -b master https://github.com/LinuxCNC/linuxcnc.git ---下载源码 cd src ./autogen.sh ./configure --with-realtime=uspace make clean -----这个步骤可以不用。 make sudo make setuid -----setuid/setgid 使其他用户在执行程序时,具有用户程序文件拥有者一样的权限。 sudo make setgid ----这步可能没有。 cd .. sudo ./scripts/rip-environment ./scripts/linuxcnc ----启动linuxcnc, ./scripts/latency-test ---启动线程精度测试窗口 ok   运行效果:      

  • 2023-09-26
  • 发表了主题帖: LicheePi 4A开发板 debian12 系统无线网络ping 异常。

    系统:     开发板模式的debian12。     问题:         链接wifi后,ping 提示如下错误。          ping: socktype  :sock_raw          ping: socket operation  not permitted          ping: => missing cap_net_raw+p  capability or setuid      解决方法:         切换到root,    su  root         该权限,             chmod  u+s   /bin/ping     问题解决。         

最近访客

< 1/2 >

统计信息

已有100人来访过

  • 芯积分:29
  • 好友:--
  • 主题:4
  • 回复:7

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言