Giter VIP home page Giter VIP logo

control_and_simulation's Introduction

Motion generation and simulation

Libraries

Utilisaing crocoddyl open source software for generation and control simulation.

Results

Example of Jumping motion generation for FORE:

Program can format the results into arrays and write them to a file to be later used for testing the motion. For example:

#define TIME_INDEXES 47
float pos[][TIME_INDEXES] = {
				{0.00, -0.05, -0.10, -0.15, -0.20, -0.23, -0.11, -0.10, -0.12, -0.13, -0.15, -0.17, -0.19, -0.20, -0.22, -0.23, -0.24, -0.26, -0.27, -0.28, -0.29, -0.30, -0.31, -0.31, -0.32, -0.32, -0.33, -0.33, -0.33, -0.33, -0.32, -0.32, -0.32, -0.31, -0.30, -0.30, -0.29, -0.28, -0.26, -0.25, -0.31, -0.31, -0.30, -0.29, -0.29, -0.28, -0.28 },
				{0.00, 0.05, 0.11, 0.16, 0.22, 0.27, 0.17, 0.18, 0.19, 0.20, 0.20, 0.21, 0.22, 0.22, 0.23, 0.24, 0.24, 0.25, 0.26, 0.27, 0.27, 0.28, 0.29, 0.29, 0.30, 0.31, 0.31, 0.32, 0.33, 0.33, 0.34, 0.35, 0.35, 0.36, 0.37, 0.38, 0.38, 0.39, 0.40, 0.40, 0.47, 0.46, 0.45, 0.44, 0.43, 0.43, 0.43 },
				{0.00, 0.10, 0.20, 0.30, 0.40, 0.48, 0.29, 0.30, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.40, 0.41, 0.42, 0.43, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.59, 0.60, 0.61, 0.62, 0.63, 0.64, 0.65, 0.76, 0.75, 0.73, 0.72, 0.71, 0.70, 0.70 }
				};
float vel[][TIME_INDEXES] = {
				{0.00, -5.72, -5.20, -5.20, -4.71, -3.17, 12.85, 0.90, -1.93, -1.90, -1.85, -1.80, -1.75, -1.68, -1.61, -1.53, -1.44, -1.35, -1.25, -1.15, -1.04, -0.93, -0.81, -0.69, -0.56, -0.44, -0.31, -0.18, -0.04, 0.09, 0.22, 0.36, 0.49, 0.62, 0.75, 0.88, 1.00, 1.12, 1.24, 1.35, -6.44, 0.27, 1.01, 0.78, 0.54, 0.30, 0.04 },
				{0.00, 5.61, 5.59, 6.12, 6.11, 4.78, -10.32, 1.27, 0.75, 0.74, 0.74, 0.73, 0.73, 0.73, 0.73, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.72, 0.72, 0.72, 0.72, 0.71, 0.71, 6.93, -0.49, -1.49, -1.14, -0.80, -0.47, -0.12 },
				{0.00, 10.78, 10.32, 10.61, 10.27, 8.87, -19.99, 1.16, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.14, 1.13, 1.13, 1.13, 1.13, 1.13, 1.13, 1.13, 1.13, 1.13, 1.13, 11.14, -1.04, -1.75, -1.35, -0.96, -0.57, -0.13 }
				};

One can expect graph outputs:

control_and_simulation's People

Contributors

vasilyrakche avatar

Stargazers

 avatar

control_and_simulation's Issues

Problem with constraining the motion along z direction for One Leg Jumpping

Requirement

I want to establish the simulation of one leg jumping motion. Its important to make just that in order to more thoroughly test impact during jumps with different lending and jumping configurations since the structure allows redundant positions:

Problem

I have manually created the URDF and SRDF representation with the masses and inertia properties which correspond to my model (the visualization is highly simplified, but I will work more on it once I have more time). I have established jumping motions with crocoddyl and this is how it looks like at this stage:

Robot_FORE_jump-2021-08-09_20.47.28.mp4

Jumping is good but it fails when landing - its not just a landing problem actually. The problem is that I can not constrain the COM to only move vertically. One can see that the COM goes too far away, which causes the solver to end:

One can check the current solution in master branch with jupyter notebook (dont forget to clone the submodules as-well)

Solution I have tried

I have tried to add additional prismatic joint in URDF and specify that the joint is passive joint in SRDF so it wont be used for the control, but looks like that didnt work at all - the passive joint is still being controlled I think. The result I am getting here is that the robot at the end is not moving at all. You can check it out in the z_constraint branch (dont forget to check out to the develop branch in the submodule for the changes)

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.