小米cyberdog仿真平台

 零、虚拟机出现的问题(每个人可能不一样)

1、在新开虚拟机的时候,出现虚拟机页面很小的问题,我按照这个博客的第一步操作解决了VM小技巧——虚拟机解决vm窗口太小的办法 - seayuns - 博客园

2、发现虚拟机与电脑之间无法复制粘贴,按照这个来安装vmtool,我看有人在这一步就可以了,但是我重启了之后仍然不行。【VMware】虚拟机与windows之间无法复制粘贴的解决方法_虚拟机上的qt无法复制粘贴到windows-优快云博客

之后按照这个博主的博客的解决方法二成功解决关于VMware虚拟机与主机之间不能复制粘贴问题解决方案_安装完vmware-tools主机文件无法复制到虚拟机_虚拟机无法复制粘贴到主机-优快云博客

3、虚拟机没网

彻底解决VM ubuntu在虚拟机找不到网卡无法上网的问题 - 知乎

方法一重启network-manager 服务可以解决我的问题

4、出现死锁的问题

Ubuntu使用sudo apt install安装时,提示正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 35132(unattended-_sudo apt install net-tools无法获得锁-优快云博客 用方法2强制解锁

一、安装vmware、ubuntu20.4、 ROS2 Galactic

https://blog.youkuaiyun.com/2301_79704871/article/details/136468783?spm=1001.2014.3001.5502

二、按照小米官方文档进行依赖安装

仿真平台模块 (miroboticslab.github.io) 此为小米官方文档

1. 在cmake -DLCM_ENABLE_JAVA=ON ..

①是遇到没有java的问题(没有截图报错)

Java基础:Ubuntu20.04下JDK1.8安装+配置_ubuntu20.04安装jdk1.8-优快云博客 这个解决。

注意java版本

①.(1)在配置Java环境变量时,需要改变版本同时部分设备可能会由于配置环境在vim编辑器中的相关语句而导致系统崩溃 同ubuntu 配置java环境变量 修改/etc/environment 导致,登录界面进不去了_ubuntu 安装java环境变量无法进入桌面-优快云博客PATH代码这一行在编辑的时候输入导致虚拟机开机登录后黑屏,而在解决无果后重装了虚拟机系统,并且在配置Java环境变量时删除了PATH此行代码,后续cmake正常进行无异常

①.(2)在vim编辑器里输入了非法的字符“rt”命令,导致终端不断循环的报错并且无法输入指令

在终端CTRL+c停止循环输出报错后,出现了正常的命令行,重新编辑vim.bashrc删除错误的非法字符报错不再出现

②CMake Error: The source directory "/home" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

另一种报错也是在没有安装cmake的情况下出现的,make指令进行到35%停滞如下图也可以使用以下方法解决

ubuntu安装cmake的三种方法(超方便!)-优快云博客我用了第三种方法解决

2. git clone https://github.com/eigenteam/eigen-git-mirror需要下载加速器

我们下载了WattToolkit

打开终端输入 curl -sSL https://steampp.net/Install/Linux.sh | bash

下载后运行报错

fatal: 无法访问 'https://github.com/eigenteam/eigen-git-mirror/':server certificate verification failed. CAfile: none CRLfile: none

在终端输入git config --global http.sslverify false 

再运行时成功

3. vcs import < cyberdog_sim.repos

直接运行这一步会报错

需要根据这个文档做CV_engineer/cyberdog_sim (gitee.com)

### 研究方案 #### (一)硬件改造方案 1. **轮腿结构设计** - **基于SolidWorks的三维建模**:通过收集小米CyberDog 2的腿部尺寸、关节活动范围、外壳拆卸接口等精确参数,导入SolidWorks软件。首先利用草图绘制功能,精准规划轮式模块的轮廓、安装孔位;再通过零件建模工具,构建轮毂、轮辐等部件的详细结构,确保与CyberDog 2腿部机械接口匹配。利用装配体功能进行虚拟装配,检查干涉问题,调整模型参数优化空间布局,避免影响腿部关节运动。 - **结构强度分析优化**:借助SolidWorks Simulation模块,对轮腿结构的关键部件(如连接轴、支撑臂)施加模拟载荷,分析应力分布与变形情况。通过仿真结果验证结构强度,反复优化设计,确保其在运动中满足强度要求。 2. **硬件系统集成** - **装配与电机调试**:完成轮式模块加工后,与CyberDog 2腿部实际装配。针对轮腿复合运动需求,调试自研CyberGear微电机的扭矩、转速等参数,确保轮式驱动与腿部关节驱动协调。 - **传感器布局优化**:重新布局激光雷达、视觉传感器等,调整安装位置与角度,提升对轮腿运动状态及环境信息采集的准确性,为控制算法提供可靠数据。 #### (二)控制算法开发方案 1. **多模态控制算法设计** - **算法开发与地形识别**:基于CyberDog 2开源SDK,在开发环境中集成UWB定位、视觉传感器数据。利用Python编写运动模式识别算法,通过卷积神经网络等机器学习模型分类地形(平坦、崎岖、障碍物)。制定决策规则,触发轮式或腿式运动模式控制指令。 - **运动控制逻辑实现**:开发轮式与腿式运动的具体控制算法。轮式运动设计速度闭环控制,确保直线行驶、转弯稳定;腿式运动优化关节轨迹规划,实现稳定行走、越障。 2. **动力学模型建立与优化** - **模型构建与验证**:利用MATLAB建立轮腿复合结构动力学模型,纳入轮式滚动摩擦力、腿部关节驱动力、质量分布等因素,推导动力学方程。将实测数据输入模型,对比预测与实测结果,调整参数优化算法,提升动态响应与稳定性。 #### (三)经济可行性探索方案 1. **供应链整合** - **零部件调研与成本统计**:调研国内供应链,以绿的谐波减速器等国产部件为基础,统计轮腿改造所需零部件(电机、传感器等)的采购成本。与供应商沟通定制部件(如轮式模块连接件)的工艺与价格,评估批量生产优势,建立成本数据库。 2. **开源技术利用** - **代码复用与开发规划**:研究CyberDog 2开源SDK架构,结合MIT迷你猎豹等开源项目的MPC代码库,复用成熟控制算法模块。制定软件开发计划,明确各模块开发负责人与时间节点,提高效率、降低人力成本。 ### 技术路线 #### (一)硬件改造技术路线 1. **数据收集与建模**:收集CyberDog 2机械结构参数,导入SolidWorks创建腿部三维模型。 2. **轮腿设计与仿真**:在SolidWorks中设计轮式模块,虚拟装配检查干涉,利用Simulation完成强度仿真,输出优化图纸。 3. **加工与装配**:通过3D打印或机械加工制作轮式模块,与CyberDog 2腿部装配,连接电机与传动机构。 4. **硬件测试**:测试轮式转动、关节活动,记录问题并调整优化。 #### (二)控制算法开发技术路线 1. **开发环境搭建**:配置CyberDog 2软件开发环境,集成开源SDK,连接UWB、视觉传感器等硬件。 2. **算法开发与仿真**:编写多模态控制算法,利用Gazebo搭建虚拟模型,输入地形场景仿真测试,优化算法参数。 3. **实测与优化**:将算法部署至实际机器人,在不同地形测试,采集数据优化算法,直至满足设计要求。 #### (三)经济可行性分析技术路线 1. **成本数据调研**:调研国内零部件市场,收集部件价格、供应商信息,统计定制部件开发成本,建立数据表格。 2. **成本分析与策略制定**:分析数据评估成本构成,制定优化采购、利用开源技术降本等策略,形成经济可行性分析报告。 写一个简洁的思维导图
03-13
### CyberDog 技术资料与项目介绍 #### 项目概述 CyberDog 是一个开源项目,其目标是帮助用户控制和定制自己的智能机械狗。该项目受到现代机器人技术和 AI 驱动的四足机器人的启发,提供了交互平台,使爱好者和开发者可以轻松地与这些未来宠物互动[^1]。 #### 软件架构 CyberDog 使用 ROS2 作为主要的技术框架。ROS2 是一种改进版的机器人操作系统(Robot Operating System),相比传统的 ROS 提供了更高的实时性和更强的多机通信能力。尽管传统 ROS 广泛应用于许多机器人开发场景中,但 CyberDog 明确选择了 ROS2 来构建其核心功能[^2]。 #### 开发环境配置 对于希望深入研究 CyberDog 的开发者来说,理解 Docker 和相关容器化工具是非常重要的。Docker 可以为开发者提供一致的运行环境,减少因不同操作系统的差异而导致的问题。在具体实现上,`cyberdog_ws` 源码仓库中的 `cyberdog_bringup` 文件夹包含了启动和初始化的关键脚本,这有助于快速搭建开发测试环境[^3]。 以下是基于上述描述的一个简单代码示例,展示如何通过 Python 接口调用 ROS2 中的服务: ```python import rclpy from std_srvs.srv import Empty def main(args=None): rclpy.init(args=args) node = rclpy.create_node('example_service_caller') client = node.create_client(Empty, 'reset_simulation') while not client.wait_for_service(timeout_sec=1.0): node.get_logger().info('等待服务上线...') request = Empty.Request() future = client.call_async(request) rclpy.spin_until_future_complete(node, future) if future.result() is not None: node.get_logger().info('重置模拟器成功!') else: node.get_logger().error('调用失败!') node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main() ``` 该代码片段展示了如何创建一个简单的 ROS2 客户端来请求远程服务,这对于调试或扩展 CyberDog 功能非常有用。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值