1.MIT cheetah源码业务层逻辑简介
2.华北舵狗王带你一起做四足机器人9 (MIT Cheetah 开源 代码 仿真器编译)
3.CFN9çGPW设置
MIT cheetah源码业务层逻辑简介
MIT Cheetah机器人源码揭示了其业务层逻辑的罗技罗技全面体系结构。自从MIT公开了Cheetah Mini的源码完整资料,包括主控源代码、脚本电机驱动源代码、代码控制板硬件PCB设计以及本体结构资料后,罗技罗技这款腿部型机器人的源码弱点控制源码研发在国内受到了广泛关注,从而催生了多个基于此平台的脚本机器人研发团队。 整体系统由个电机驱动单元、代码一个数据转接板SPIne、罗技罗技一台主控电脑、源码一个手柄以及一个缺省状态的脚本IMU组成。个电机驱动单元通过CAN总线和数据转接板SPIne连接,代码分别控制着Cheetah腿部的罗技罗技关节电机,每条腿由三个关节组成。源码dll转成源码SPIne模块由两个STM芯片构成,脚本负责主控数据的分发到驱动以及驱动反馈数据的打包。主控部分采用开源ethercat协议栈soem,支持两种通信方式:spi通信频率为Hz,ethercat通信频率为Hz。目前推测SPIne上可能仅支持spi通信。主控部分是一个计算机,通过USB连接手柄,实现手动控制,并包含上位机软件及仿真器代码,用于配置主控单元的控制参数和下发指令信息。 主控部分业务逻辑主要通过多态设计实现多种控制类型,包括MIT_Controller、游戏源码下午MiniCheetahSpi_Controller、JPos_Controller等。用户可根据已有功能模块继承基类RobotController,在Cheetah Software/user目录下创建自定义控制器。JPos_Controller提供参考示例,算法完整实现则需参考MIT_Controller模块调用。 程序运行模式分为仿真模式和实际控制模式,通过main_helper函数进行加载启动。HardwareBridge实现加载实际控制程序流程,从Cheetah3HardwareBridge.run()开始,执行控制器硬件初始化、配置参数加载以及算法功能模块初始化,随后启动多个任务,电脑源码调试包括可视化线程、日志线程、手柄通信线程、IMU通信线程、关节电机通信线程和周期回调主控线程。 主控线程周期回调执行关键操作,包括更新数据、步态规划、外部输入转换、状态机运行以及控制数据更新。具体操作如下:更新数据:通过运动学和雅可比计算,将电机传回的关节角度和角速度信息转换为机器人腿部末端的速度和位置信息。
步态规划:对机器人步态进行规划,dux源码6.3内容涉及算法细节,后续将单独分析。
外部输入转换:将外部指令转换为机器人本体的位姿控制信息,包括机器人位姿和位姿速度,共计组外部控制量。
状态机运行:执行机器人集成动作的状态机,进行动力学、步态规划、MPC控制等核心算法计算,周期性更新legController中command信息,通过调用legController中的updateCommand更新电机控制相关通信数据寄存器。
控制数据更新:将机器人控制核心的输出控制数据写入相关寄存器,通过spi接口输入到电机驱动,控制电机运行。
对于仿真部分,由于需要接入罗技F手柄才能进行仿真。因未配备手柄,源代码被相应修改,以便实现仿真运行。华北舵狗王带你一起做四足机器人9 (MIT Cheetah 开源 代码 仿真器编译)
在探讨如何成功在虚拟机中安装和编译四足机器人开源代码的过程中,我遇到了一些挑战。最初,通过基本库的预编译,没有报错出现。然而,在进行make操作时,遇到了“c++ no-pie”错误。我尝试通过移除cmakelist文件中的相关标志位来解决,但仍然遇到了文件缺失问题,尤其是与ipopt相关的文件。目前,我仍在尝试解决这些问题,并将更新帖子提供解决方案。
在9月3日的更新中,我已经在.虚拟机中成功编译并运行程序。如果有兴趣尝试但遇到编译问题,可参考本帖子。
首先,我要感谢廖洽源对该项目的整理,他在帖子中详细介绍了开源程序架构和仿真软件的操作。
安装过程主要分为以下步骤:安装虚拟机和Linux镜像、更新阿里云源、解决虚拟机网络问题、安装缺失库和gcc(针对gcc版本过低的情况)、安装MIT所需的基本库、安装Java(为后续LCM链接做准备)、更新cmake、安装LCM实时通信库、安装QT5、安装IPOPT(重要)、修改cmakelist链接QT文件、编译MIT源码、测试。
在测试阶段,首先在build目录下启动仿真环境,然后在新控制台中运行控制器。使用如“./user/${ controller_folder}/${ controller_name} ${ robot_name} ${ target_system}”这样的命令,例如“./user/JPos_Controller/jpos_ctrl 3 s”。选择Cheetah 3、Mini Cheetah或在仿真环境中运行。
对于虚拟机中仿真器无法连接网络导致的LCM库报错问题,需要在启动仿真器时解决。官方推荐使用罗技Gamepad F遥控器进行控制。对于vmware不识别USB遥控器的问题,可以通过特定的步骤解决,确保在虚拟机中正确链接并使用遥控器。
在廖洽源给出的软件操作方法中,运行MIT Controller后,会模拟机器人从伸展状态到趴着状态的运动。如果在模拟过程中未插入手柄且使用的是MIT Cheetah 3,可能会出现关节反向穿透身体导致的物理引擎错误。注意,在更改控制模式时,直接修改参数即可,无需点击界面上的SAVE按钮。
CFN9çGPW设置
ä¸è½½ç½æç驱å¨ï¼ç¶åå°±å¯ä»¥è¿è¡GPW设置äºã
ä½ éè¦å ä¸è½½ä¸ä¸ªç½æç驱å¨ï¼ä¸ç¥éå¨åªéä¸çç´æ¥å¨ç¥ä¹æç½æ驱å¨å°±æ¾å°äºï¼ç¶åè¿å»è®¾ç½®ï¼ä¾§è¾¹æé®ï¼éç¹æ侧边æé®è®¾ç½®æä½ é®çä¸éè¦æçæé®ï¼ç¶åä¿åï¼ä¹åå°±å¯ä»¥äºã
CFN9éè§è¾ å©é©±å¨æºç ï¼ä¸æ¬¾å¾ç«çCF人ç©éè§è¾ å©çæºç æ°æ®èµæºï¼æ ä»»ä½æ¨¡åï¼ç´æ¥ç¼è¾å³å¯çæè¾ å©æåï¼ç¨æ·è¿è½ç 究éè§çå®ç°åçã