Add TRACLabs Atlas model to SCS

Issue #45 open
Stephen Hart created an issue

I've created a pull request with the correct URDF (atlas_traclabs.urdf).

Of course, we would like that in SCS itself, so this is the requested feature request to do so.

I can make another issue, but is it on the horizon to make the SCS hands controllable?

Thanks!

Comments (5)

  1. DouglasS

    @swhart115 Thanks for the PR!

    We'll work on getting this URDF in the models package and generating the .sdf for it so you can use it in SCS.

    The Robotiq hands are controllable in SCS but there's currently no endpoint for it in the ROS API so you guys can't use the hands. This is for a few reasons; the main reason being that the hand control isn't generalized and we have to greatly simplify the models so that the simulator doesn't choke.

    We don't control the hands from within the control loop on the real robot. Each hand runs in its own process, on a completely separate machine from the real-time code. So the process for simulating the hands is a bit of a hack. This is why there's no ROS endpoint; we didn't want to provide APIs for all of the different possible Atlas hands since we don't have a general hand control framework.

    We can expose an API for controlling the hands in Sim but it will be a very simple API, as that's all we use (some basic grasps, open and close commands). It will also be specific to the Robotiq hands. Long term we don't really have plans for integrating hand control in to the IHMC controller, so if we did expose an API it may not conform to the way in which you control hands on the real robot, so you may need to put together a translation layer or have diverging code paths.

  2. Stephen Hart reporter

    Thanks, @dljsjr.

    For our purposes, we can likely live with the simplest of interfaces for the robotiq hand(s) for the foreseeable future---ideally getters/setters for finger joints, though just being able to command pre-determined grasp poses is probably fine as well as long as we still get full joint state feedback. I don't mind having to write our own external ros controllers for them, in fact we did this for gazebo, and can likely use the same node. I don't expect there to be strong performance requirements here as we're more concerned with just having the sim "reality" match the ROS/RViz models right now so we use hook up our UI and application code.

  3. DouglasS

    @swhart115 Understood. The blocker on that is that we (currently) can't model closed kinematic structures like the linkages used on the Robotiq hands in SCS. This is definitely a shortcoming of our simulator but it'll take a while to fix. In a perfect world we'd expose position/velocity/torque inputs for all joints when simulating robots but that'll also take us a while. So we could definitely expose direct joint commands for hands in general (and probably will eventually) but we can't currently enforce that the commands make sense in simulation since we model every joint as a controllable pin joint instead of a linked mechanism.

    I'm thinking that the way forward on this is to expose our current hand API only in sim and then work towards direct joint control as mentioned above, with the mentioned understanding of the limitations.

  4. Log in to comment