leggedrobotics / xpp

Visualization of Motions for Legged Robots in ros-rviz

Home Page:http://wiki.ros.org/xpp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question about visualization platform of xpp

littleggghost opened this issue · comments

Xpp is really a rare and profound work which means a lot for legged robot locomotion. But I still have some doubt that why use rviz, as I know that rviz can only do the visualization work, but other platform, like gazebo,v-rep, can also achieve dynamic simlation, and all of above can communicate with ROS, so I can't fix out the advantage of rviz in xpp. Maybe the state of robot is feedback in realtime and then just to plot it through rviz?

@awinkler

Yes, you are absolutely right that xpp is intended as pure visualization. There are many good libraries for simulation out there as you mentioned, but they introduce many more dependencies and the need for dynamic parameters. The goal is to keep xpp lightweight, minimal dependency, to e.g. visualize the current state of the robot, or the motion plan before sending it to the robot.

Firstly thanks for your reply!
I read your newest paper(Gait and Trajectory Optimization for Legged Systems through Phase-based End-Effector Parameterization) and notice that your other repository towr shows the screenshot which demonstrates the robot is under contact with the environment like walls and stairs. So under such circumstances, I guess only rviz can't satisfy the need, there should be physical engine to simulate the collision, am I right?

Well, the newest paper proposes a way to design the motion AND the physically correct contact forces simultaneously. There is still no physics engine, but simply me sending the robot state AND the value of the contact forces to xpp, which then visualizes it with the red arrows. Xpp doesn't care what I send and would even plot a red force arrow in the air if I send that in the xpp message.

I got you.
Xpp act as a plotter.
Because the contact forces need to be calculated, the optimizer towr acts like a physical engine but more lightweight.
The problem is that there is no feedback in the simulation using an open loop control under ideal situation.