0


【GitHub项目推荐--MIT开源四足机器人】【转载】

github地址

https://github.com/chvmp/champ

翻译版本:

http://www.gitpp.com/robotlee/champ

CHAMP 四足控制器的 ROS 软件包。

CHAMP 是一个开源开发框架,用于构建新的四足机器人和开发新的控制算法。该控制框架基于“利用模式调制和阻抗控制的高动态运动分层控制器:在麻省理工学院猎豹机器人上的实现”

核心特点:

  • 完全自主(使用 ROS 导航堆栈)。
  • 设置助手用于配置新建的机器人。
  • 预配置URDF的集合,例如 Anymal、MIT Mini Cheetah、Boston Dynamic's Spot 和 LittleDog。
  • Gazebo模拟环境。
  • 与SpotMicroAI和OpenQuadruped等 DIY 四足项目兼容。
  • TOWR和鸡头稳定等演示应用程序。
  • 轻量级 C++ 仅头文件库,可在 SBC 和微控制器上运行。

测试于:

  • Ubuntu 16.04(ROS 动力学)
  • Ubuntu 18.04(ROS Melodic)

1. 安装

1.1 克隆并安装所有依赖项:

sudo apt install -y python-rosdep
cd <your_ws>/src
git clone --recursive https://github.com/chvmp/champ
git clone https://github.com/chvmp/champ_teleop
cd ..
rosdep install --from-paths src --ignore-src -r -y

如果您想使用任何预先配置的机器人,例如 Anymal、Mini Cheetah 或 Spot,请按照此处的说明进行操作。

1.2 构建你的工作空间:

cd <your_ws>
catkin_make
source <your_ws>/devel/setup.bash

2. 快速入门

您不需要物理机器人来运行以下演示。如果您正在构建物理机器人,您可以在步骤 3 中了解如何配置和运行新机器人的更多信息。

2.1 RVIZ 步行演示:

2.1.1 运行基础驱动程序:
roslaunch champ_config bringup.launch rviz:=true
2.1.2 运行teleop节点:
roslaunch champ_teleop teleop.launch

如果您想使用操纵杆,请添加 Joy:=true 作为参数。

2.2 SLAM演示:

2.2.1 运行Gazebo环境:
roslaunch champ_config gazebo.launch
2.2.2 运行gmapping包和move_base:
roslaunch champ_config slam.launch rviz:=true

开始映射:

  • 单击“二维导航目标”。
  • 单击并拖动您希望机器人移动的位置。
  • 通过运行以下命令保存地图:roscd champ_config/mapsrosrun map_server map_saver

2.3 自主导航:

2.3.1 运行Gazebo环境:
roslaunch champ_config gazebo.launch
2.3.2 运行amcl和move_base:
roslaunch champ_config navigate.launch rviz:=true

导航:

  • 单击“二维导航目标”。
  • 单击并拖动您希望机器人移动的位置。

3. 运行自己的机器人:

在真实机器人上运行 CHAMP 有两种方法:

Linux机器

  • 使用此 ROS 包计算关节角度并将其发送到硬件接口来控制执行器。您可以遵循这些指南来创建执行器的界面。

轻量版

  • 在 Teensy 系列微控制器上运行 CHAMP 的轻量级版本,并用它直接控制您的执行器。

3.1 生成机器人配置

  • 首先使用champ_setup_assistant生成配置包。按照自述文件中的说明配置您自己的机器人。生成的包包含:作为参考,您可以在此处查看已预先配置的机器人集合。列表中包括一些流行的四足机器人,例如 Anymal、MIT Mini Cheetah、Boston Dynamic 的 LittleDog 和 SpotMicroAI。请随意下载catkin工作区'src'目录中的配置包来尝试。- 机器人的 URDF 路径。- 关节和链接图可帮助控制器了解机器人的语义。- 步态参数。- 硬件驱动程序。- 导航参数(move_base、amcl 和 gmapping)。- 用于步态和轻型机器人描述的微控制器头文件。这仅适用于使用微控制器运行四足控制器的机器人构建。
  • 接下来,构建您的工作区,以便可以找到新生成的包:cd <your_ws>catkin_make

3.2 基本驱动器:

这将运行四足控制器和所有传感器/硬件驱动程序:

roslaunch <myrobot_config> bringup.launch

可用参数:

  • rviz - 与 RVIZ 一起启动。默认值:假
  • lite - 如果您使用微控制器来运行算法,请始终将其设置为 true。默认为 false。

用法示例:

查看您新配置的机器人:

roslaunch <myrobot_config> bringup.launch rviz:true

使用微控制器运行真实的机器人:

roslaunch <myrobot_config> bringup.launch lite:=true

3.3 创建地图:

必须运行 3.2 中描述的基本驱动程序才能运行 gmapping 和 move_base。

运行 gmapping 包和 move_base:

roslaunch <myrobot_config> slam.launch

要打开 RVIZ 并查看地图:

roscd champ_navigation/rviz 
rviz -d navigate.rviz

开始映射:

  • 单击“二维导航目标”。
  • 单击并拖动您希望机器人移动的位置。
  • 通过运行以下命令保存地图:roscd <myrobot_config>/mapsrosrun map_server map_saver

3.4 自主导航:

必须运行 3.2 中描述的基本驱动程序才能运行 amcl 和 move_base。

运行 amcl 和 move_base:

roslaunch <myrobot_config> navigate.launch

要打开 RVIZ 并查看地图:

roscd champ_navigation/rviz 
rviz -d navigate.rviz

导航:

  • 单击“二维导航目标”。
  • 单击并拖动您希望机器人移动的位置。

3.5 在 Gazebo 中运行机器人

在模拟模式下运行 Gazebo 和基本驱动程序:

roslaunch <myrobot_config> gazebo.launch

您还可以查看此拉取请求作为示例。

3.6 在 Gazebo 中生成多个机器人

运行 Gazebo 和默认模拟世界:

roslaunch champ_gazebo spawn_world.launch

您还可以通过将世界路径传递给“gazebo_world”参数来加载您自己的世界文件:

roslaunch champ_gazebo spawn_world.launch gazebo_world:=<path_to_world_file>

生成机器人:

roslaunch champ_config spawn_robot.launch robot_name:=<unique_robot_name> world_init_x:=<x_position> world_init_y:=<y_position>
  • 生成的机器人的每个实例都必须有一个唯一的机器人名称,以防止主题和变换发生冲突。

4. 调整步态参数

机器人的步态配置可以在 <my_robot_config>/gait/gait.yaml 中找到。

  • 膝盖方向- 膝盖应如何弯曲。您可以将机器人配置为遵循以下方向 .>> .>< .<< .<> 其中点是机器人的前侧。
  • 最大线速度 X(米/秒)- 机器人的最大前进/后退速度。
  • 最大线速度 Y(米/秒)- 机器人侧向移动时的最大速度。
  • 最大角速度 Z(弧度/秒)- 机器人的最大旋转速度。
  • 站立持续时间(秒)- 行走时每条腿应在地面上停留多长时间。如果您不确定,可以将其设置为默认值 (0.25)。站立持续时间越长,位移距参考点越远。
  • 腿部摆动高度(米)- 摆动阶段的轨迹高度。
  • 腿部站立高度(米)- 站立阶段的轨迹深度。
  • 机器人行走高度(米)- 行走时臀部到地面的距离。请注意,将此参数设置得太高可能会使您的机器人不稳定。
  • CoM X 平移(米)- 您可以使用此参数在 X 轴上移动参考点。如果质心不在机器人的中间(从前臀部到后臀部),当您想要补偿重量时,这非常有用。例如,如果您发现机器人后面较重,您将设置一个负值以将参考点移动到后面。
  • 里程计缩放器- 您可以使用此参数作为航位推算计算速度的乘数。这对于补偿开环系统上的里程计误差很有用。通常该值的范围是 1.0 到 1.20。

开源四足机器人在当前技术发展和应用探索中,表现出了广泛的使用场景和潜在的应用价值。具体来说,这些使用场景包括但不限于以下几个方面:

  1. 教育和研究:作为教学和科研的工具,开源四足机器人能够提供一种成本效益高且便于操作的平台,供学生和科研人员学习和实践机器人技术、控制理论、人工智能等领域。

  2. 探测与监测:四足机器人能够适应复杂地形,因此它们可以被用于地质勘探、灾害救援、环境监测等场合,进行地形勘测、数据采集或搜索与营救任务。

  3. 军事应用:在军事领域,四足机器人可以执行侦察、物资运输、战场环境监测等任务,提高军事行动的效率和安全性。

  4. 工业维护与检测:在工业环境中,四足机器人可用于设备维护、质量检测、生产流程监控等,特别是在那些对人类工人来说危险或不便进入的区域。

  5. 农业服务:在农业上,四足机器人能够协助进行作物监测、病虫害检测、施肥等工作,提升农业生产的自动化水平。

  6. 家庭服务与娱乐:随着技术的成熟,四足机器人未来可能在家庭环境中提供陪伴、教育、清洁等服务,甚至成为家庭的一员。

  7. 商业展示与促销:在商业活动中,四足机器人可以作为吸引眼球的展示工具,用于科技展览、产品促销等场合。

  8. 医疗辅助:在医疗领域,四足机器人可能用于辅助手术、照顾病人、药物配送等,减轻医护人员的负担。

  9. 科研探索:在科学研究中,例如考古发掘、生物多样性调查等领域,四足机器人能够进入人类难以到达的地区,协助科研人员开展工作。

通过开源模式,四足机器人的研发成本得以降低,这使得更多的研究者和爱好者能够参与到这一领域中来,进一步推动了技术的创新和应用的拓展。未来,随着技术的不断进步和成熟,四足机器人的应用场景将会更加广泛。

原文链接:

MIT开源四足机器人!猎豹

标签: github 开源 机器人

本文转载自: https://blog.csdn.net/j8267643/article/details/136032479
版权归原作者 旅之灵夫 所有, 如有侵权,请联系我们删除。

“【GitHub项目推荐--MIT开源四足机器人】【转载】”的评论:

还没有评论