Coder Social home page Coder Social logo

bipedalwalkingrobots's Introduction

Bipedal Walking Robots


Required enverionments:

  • Python 3.6 +
  • CoppeliaSim 4.0 +

1. Basic computation of 2D LIPM

This project is about the models and algorithms for bipedal walking control, including the Linear Inverted Pendunum Model (LIPM) and humandoid robots. The LIPM is shown as follows:

LIPM

The calculation for LIPM is implemented with Python 3.6, given different target orbital energy, the LIPM can be controlled to different walking states.

1.1 Single leg

1.1 Giving a initial state for a positve orbital energy.

LIPM_single_leg_11

1.2 Giving a initial state for a negetive orbital energy.

LIPM_single_leg_12

1.2 Double legs

1.2.1 Giving a zero target orbital energy.

LIPM_double_legs_OE0

1.2.2 Giving a positive target orbital energy.

LIPM_double_legs_forward

1.2.3 Giving a negetive target orbital energy.

LIPM_double_legs_backward


2. Forward kinematics and inverse kinematics

2.1 Plot with python

Run the script in 'LIPM/LIPM_ik_test.py', you can get the following result:

LIPM_ik

LIPM_ik_joint_limitation

2.2 Plot with VREP (CoppliaSim)

Open 'scenes/demo_1_LIPM_kinematics.ttt' with CoppliaSim 4.0+ and run the project with the begin button of CoppeliaSim , then run with the script 'demo_1_LIPM_kinematics.py', you can get the following result:

LIPM_ik_vrep

3. 3D LIPM model

Run the script in 'LIPM/demo_LIPM_3D.py', and specify different parameters, you can get different simulation results.

Walk forward:

LIPM_3D_forward

Turn left:

LIPM_3D_turn_left

Turn right:

LIPM_3D_turn_right


4.ZMP preview control

The code is opensource at: https://github.com/chauby/ZMP_preview_control

Tutorial: https://zhuanlan.zhihu.com/p/452704228?

The ZMP and COM trajectory generation with the given ZMP stepping positions:

ZMP preview control


文章教程

代码对应的文章教程有两种访问方式,详见:

  1. 知乎专栏:https://www.zhihu.com/column/c_1212783320150577152

  2. 微信公众号:沙漏AI机器人。

image

获取《仿人机器人》中文版书籍,可关注公众号后,在后台回复【HR】获取下载链接。

bipedalwalkingrobots's People

Contributors

chauby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

bipedalwalkingrobots's Issues

关于倒立摆模型实际腿长

当步长参数发生改变时,倒立摆单腿的长度也会发生改变。
在仿真测试的时候,当修改其重力加速度,可以发现虽然倒立摆的重心(COM)轨迹仍旧会比较稳定,但是其腿的长度会越来越长,其长度显然与实际机器人尺寸不符。
想问一下考虑到实际腿部长度(即腿部工作空间时)应该如何对代码进行修正?

Snipaste_2024-03-01_16-25-54
图1.重力加速度为1,支撑时间t_sup = 0.1s

Foot trajectory shape

Trajectory
Hello!
I have question about the shape of the foot trajectory for 3D LIPM example. Why is it like trapezoid? How can I modify it to semicircle, for example? Which parameters do I need to change?
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.