1
$\begingroup$

I have a preliminary design for a legged robot that uses compliant elements in the legs and in parallel with the motors for energy recovery during impact as well as a pair of flywheels on the front and back that will oscillate back and forth to generate angular momentum. I'd like to create a dynamic simulation of this robot in order to be able to test a few control strategies before I build a real model. What simulation package should I be using and why?

I have heard good things about MSC Adams, namely that it is slow to learn, but has a lot of capability, including integration with matlab and simulink. I have also heard about the simmechanics toolbox in matlab, which would be nice to use since I already am decent with CAD and know the matlab language. I am not yet familiar with simulink, but have used Labview before.

$\endgroup$

3 Answers 3

2
$\begingroup$

Matlab Simulink has a blockset called Simmechanics. It is very well suited for robotic simulation (it is ment for multibody mechanics simulations). It is a bit tricky to set it up for mobile robots (get the force reaction from the ground) but you can find demos and examples to do that. Like this.

Compliance is however more tricky. If you want to simulate it exaclty, you will need to used a Finite Element Analysis software (e.g Ansys, CosmosWorks for SolidWorks, ...). If you are fine with very very rough approximations of the compliance simulation you can set up additional joints in SimMechanics with a spring damper actutation which will act as a comliant joint. Like this.

I have never worked with Adams, but I assume in your case it does not offer any additional functionality when compared to SimMechanics. However it might be easier to implement mobile robots in Adams. I do not know if Adams can also do finite element simulations.

I am a bit worried about simulating the oscillations with any multibody simulations tool. Normally in multibody simultations a sample time of 1ms is enough. In your case the sample time will very much influence how precisly the oscilations will be simulatied and a 1 ms sample time might make your model unusable (if you have 1khz oscilations, you would have 1 sample from each oscillation, which is unusable).Pease make sure to colerate the sample time with the oscilations, as a rule of thumb I would recommend 10 samples per oscilation (I think the Nyquist theorem recommends at least 2)

$\endgroup$
1
$\begingroup$

As I understand from your case is I think you need to do multibody dynamics (major part for any robot simulation) and some flexible body simulation in dynamics (for compliant parts) You have learnt write about MSC Adams capabilites. Follow this link: http://www.mscsoftware.com/product/flexible-multibody-systems-adams Your concept can be simulated with Adams View and Flex. The only downside for beginners is Adams's vastness.

MatLAB has very limited features for your case.

$\endgroup$
2
  • $\begingroup$ I notice that Adams seems to be a very pricey solution for the needs of a maker. Does it really contain necessary utilities not found in other libraries? $\endgroup$
    – George ZP
    Commented Jan 14, 2016 at 17:26
  • $\begingroup$ Adams is like u can simulate any multi-body dynamics. Other solutions now a days is Autodesk Simulation, FEA and Multibody dynamics engine in Inventor or Solidworks simulation. Both of this solves purpose of CAD design as well as some simulation. But the features are limited. For small problems, they are very good. Yes, MSC Adams is very costly. Small companies or makers cannot afford it. $\endgroup$ Commented Aug 17, 2016 at 12:15
0
$\begingroup$

Check out this link.

It is about a Matlab Toolbox by Roy Featherstone, author of the book Rigid Body Dynamics Algorithms.

It can be used for robot with contacts, like in your case. I don't know if it can be extended to compliant elements.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.