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,得到我们可以称之为中性点,就保持当前速度的一个位置。然后再加上我们期望,当前的速度和期望的速度之间的一个反馈量。反馈系数是我们可以调节的。
机器人的全动力学模型非线性太复杂,如果用它来做预算控制,就像前面说的太耗时了。在机载的平台上很难做到实时控制。因此在实际机载平台上实现简化模型。即把机器狗简化成一个一个带质量的长方体来控制。