[学习笔记]CyberDog小米机器狗 开发学习

本文介绍了使用Ubuntu+ROS2系统的机器狗控制,重点讲解了lcm和Rostopic通讯在传感器数据广播和机器人状态输出中的作用,以及如何通过Topic进行初步控制。此外,还讨论了运动指令、运动ID、运控算法和简化模型在实际应用中的重要性,以及在Gazebo中添加传感器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、机器狗本身是Ubuntu+ROS2系统
2、控制机器人只需要了解lcm和Ros topic通讯
3、传感器数据(包括一些imu(/imu)、激光雷达(/scan))会进行topic的一个广播。
仿真环境通信接口:
-命令输入(见后续运控说明)
    运控lcm数据接口
    Motion manager的Ros topic接囗
-机器人数据输出:
    仿真器数据:通过lcm发送
    机器人状态数据:通过lcm或topic发送
    机器人传感器数据:通过topic发送
4、仿真环境比真狗多一个第三视角数据(simulator_state_lcmt)用于解到一个机器人的真实状态和我们抓取到的数据之间的一些区别
5、Topic的返回中,joint_states返回的是各个关节的信号,/scan是激光雷达信号,/tf是一个重要的数据,这个数据体现了 机器人的各个关节 或 传感器之间的一个坐标系的转换的位置转换 的一个规律。
6、初步的控制的话,可以尝试只用 topic。
(更加详细的修改一些或了解一些运控更加深层的数据的话,就可以对 LCM数据进行一个了解(有助于我们去获得一些运控层面的数据))。
7、仿真要加传感器需要使用Grazebo第三方传感器插件(如图)。

(学习到0:30:38)

00:55 Ros 运动指令

00:58 运动对应的Motion ID简表

01:08 LCM运控通讯的介绍

01:22 运控算法-步态

马克瑞博的经验公式:根据当前的速度,乘以一个着地项,或者支撑项的时间除以2,得到我们可以称之为中性点,就保持当前速度的一个位置。然后再加上我们期望,当前的速度和期望的速度之间的一个反馈量。反馈系数是我们可以调节的。

机器人的全动力学模型非线性太复杂,如果用它来做预算控制,就像前面说的太耗时了。在机载的平台上很难做到实时控制。因此在实际机载平台上实现简化模型。即把机器狗简化成一个一个带质量的长方体来控制。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值