Realistic tri-axial-accelerometer behavior for Inertial Measurement Unit

Official Python bindings with a focus on reinforcement learning and robotics.
Post Reply
richardbloemenkamp
Posts: 14
Joined: Tue Sep 18, 2018 7:50 pm

Realistic tri-axial-accelerometer behavior for Inertial Measurement Unit

Post by richardbloemenkamp »

Many legged robots have Inertial Measurement Units (IMU's) on them to determine whether they are falling over or other. Usually these IMU's have accelerometers in them to determine the direction of gravity. This gravity direction is then be used to work out the robot tilt angle. For Pybullet models one can directly get the tilt angle of any link of the robot, but this is less realistic.
A real tri-axial accelerometer is sensitive to both accelerations and gravity. Therefore it seems useful to have a function that can give a realistic response for a model IMU attached to a robot link.
I'm trying to make such a function myself, but I can imagine more robot-simulators would like to have it and it may be a nice extension for Pybullet.
Maybe someone else has already made this?
RobertWagoner
Posts: 2
Joined: Fri Jan 17, 2020 3:10 pm

Re: Realistic tri-axial-accelerometer behavior for Inertial Measurement Unit

Post by RobertWagoner »

Well said. I have just begun to review Pybullet and was lured in by the research paper "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots".

I am also keen on understanding the relationship and connection between the simulated IMU, and physical implementation on the robot that is vague to me so far. I have been searching for the design of experiments and code in that paper with no success yet.

So far I like what is offered for the rapid results that can be obtained over other offerings I have tried, that are not open or take much more time for setup and usage. I look forward to the continued learning with Pybullet, and I will continue the search for more details on the topic and share if I find them.

--RW
LocknutBushing
Posts: 11
Joined: Sat Jan 18, 2020 4:37 am

Re: Realistic tri-axial-accelerometer behavior for Inertial Measurement Unit

Post by LocknutBushing »

Bumping this as it is highly relevant to me as well.
RobertWagoner
Posts: 2
Joined: Fri Jan 17, 2020 3:10 pm

Re: Realistic tri-axial-accelerometer behavior for Inertial Measurement Unit

Post by RobertWagoner »

During my recent search on the weekend I found two interesting repositories. I was able to eventually begin reviewing and running the sims, it's always a challenge getting the environments setup with all the different dependencies. Persistence prevailed!

The SpotMicoAi project has reference to a Sim2Real function getIMU, I'm still diving in to studying all the details, however this looks very promising and Interaction with individuals has been encouraging.

https://github.com/nicrusso7/rex-gym

https://gitlab.com/custom_robots/spotmicro

File: \nvidia-jetson-nano-master\Core\spotmicroai.py
...
def getIMU(self):
_, bodyOrn = p.getBasePositionAndOrientation(self.quadruped)
linearVel, angularVel = p.getBaseVelocity(self.quadruped)
return bodyOrn,linearVel,angularVel
...

--RW
Post Reply