gt-ros-pkg / hrl-assistive

PR2 controllers and interfaces for assistive teleoperation
22 stars 7 forks source link

Unable to run in indigo #12

Closed TimAdamson21 closed 7 years ago

TimAdamson21 commented 7 years ago

I have cloned your package, and tried to run it on my own machine, but am getting errors due to dependencies on packages not supported in indigo. Am I missing something, or did the package recently break?

pgrice commented 7 years ago

There are quite a few packages in this repository. Can you please specify which one(s) you are interested in?

TimAdamson21 commented 7 years ago

I am trying to run assistive_teleop. Is it possible to run in sim, or only on a real pr2?

pgrice commented 7 years ago

It should be possible to run it on a on either a Gazebo simulation (though I haven't done this recently) or a real PR2, though some of the topics (specifically for the Kinect, iirc) may need to be changed. We are currently using this with a real PR2 on Indigo. What packages are you unable to find in indigo?

TimAdamson21 commented 7 years ago

I was getting some errors saying that I needed kinematics_msgs, which seemed to be a dependency of one of assistive_teleop's dependencies.

pgrice commented 7 years ago

Yes, kinematics_msgs was dropped after groovy, and has been removed/replaced in more recent versions. The necessary packages should be up to date. Please make sure you've checked out the indigo-devel branch for this and any other source repositories (they may default to master).

TimAdamson21 commented 7 years ago

The assistive_teleop launch file seems to require hrl_haptic_mpc , which is not supported in indigo.

TimAdamson21 commented 7 years ago

And should I follow the instructions on the ROS wiki for launching assistive_teleop, even though those are last indexed for fuerte?

pgrice commented 7 years ago

We have an up-to-date version of hrl_haptic_mpc on an internal repository. I will add a copy of that branch to the public repo, hopefully tomorrow.

The wiki page is old, and I may find time to update it, but the information is still mostly correct. You likely have a different Kinect launch file (and may need to adjust Kinect-related topics accordingly), but assistive_teleop.launch will launch the original version of the web interface. I've also developed a more recent version, which can be launched with vci.launch. This second (vci.launch and http://PR2HOSTNAME:8008/assistive_teleop/vci.html) is likely preferable, but I believe both work.

pgrice commented 7 years ago

I just pushed a new indigo-devel branch of the hrl-haptic-manip repository from our internal repo.

TimAdamson21 commented 7 years ago

Thank you so much! I will try running the vci.launch today, and can let you know how it goes.

TimAdamson21 commented 7 years ago

I tried adding the hrl_haptic_mpc package today, but it does not seem to be catkinized. Is it using rosbuild?

pgrice commented 7 years ago

My apologies. A number of files got missed (including the package.xml's) when I copied over the code for release earlier. You should be able to pull the indigo-devel branch for haptic_mpc and build through catkin now.

TimAdamson21 commented 7 years ago

When I try to run "roslaunch assistive_teleop vci.launch", I get a slew of errors. I have copied the output into a file which I have attached to this comment. Any suggestions on how I should go about fixing the errors? vci_error.txt

kavikode commented 7 years ago

Thanks Dr. Phil! Tim and I are working together this summer with Dr. Maya Cakmak. Congratulations again on your dissertation!

pgrice commented 7 years ago

Many of the errors are associated with the fabric-based tactile sensors, which I imagine you do not have on your robot. You can remove these from the launch files by commenting out the 2 includes under in vci.launch (ll. 75-76). That will clear up many of the errors.

The errors with the < ...urdf_parser_py.urdf.Transmission> are related to an issue in either urdy_parser_py or the PR2 URDF itself (which may not properly conform to more recent standards), though it's unclear which. Our solution here has been to replace the core of urdf_parser_py with the old files from hydro [This is an ugly hack, but solves this problem. The community may appreciate someone taking the time to dig to the bottom of this and find a proper solution].

Checkout the hydro-devel branch from [https://github.com/ros/urdfdom/tree/hydro-devel], and in /opt/ros/indigo/lib/python2.7/dist-packages/urdf_parser_py/ replace sdf.py, urdf.py, xml_reflection/basics.py, and xml_reflection/core.py with the same files from the urdf_parser_py hydro-devel branch.

I think those two issues likely account for most of the errors you're seeing, and if not, addressing them will certainly make it easier to see what issues remain.

TimAdamson21 commented 7 years ago

It's working! How fast do the arms normally move, because they seem to be moving quite slowly right now, even when the step size is on large?

pgrice commented 7 years ago

That's a side-effect of the MPC arm controller. It is designed to be run with low-stiffness gains on the low-level arm controllers. Before running the launch file (once only), run hrl_haptic_mpc/scripts/change_gains_pr2.sh. The MPC controller loads these gains when it starts, and the motion velocity depends on the stiffness. Once the gains are set, they'll remain in place until the low-level controllers (r/l_arm_controller) are restarted, usually with a robot start.

Glad to hear it's working. Is this in simulation, or on your real PR2?

TimAdamson21 commented 7 years ago

It's on our real PR2. I would say we can probably close this issue now. Thank you for all your help!