personalrobotics / herb_launch

Launch files for HERB.
BSD 3-Clause "New" or "Revised" License
0 stars 4 forks source link

Update schunk package name. #48

Closed brianhou closed 5 years ago

brianhou commented 5 years ago

Need to check

Also need to update neck script.

brianhou commented 5 years ago

The issue was that the controller manager by default operates on /controller_manager. Both controller managers were trying to be there, which was causing problems. I've pushed the neck controllers into the /schunk_robot namespace, and everything seems to work now. The only remaining annoyance is that all hard-coded neck things from libherb (e.g. joint states, switching controllers) are now also under that namespace.

One roadblock for automatically aggregating the WAM and neck joint states (as I previously thought might be possible) is that the timestamps are different. @aditya-vk any thoughts about what to do? I'm now leaning toward just keeping them separate: people will just have to remember to get information from both places, and we'd need a JointStateClient for each logical component in libherb.

brianhou commented 5 years ago

Things seem to work now! Here's a quick summary of the decisions I made:

  1. ROS doesn't like multiple /controller_managers (they listen to the root /controller_manager topic). My workaround is to push all the neck things into their own /schunk_robot namespace in launch/schunk_neck.launch. (It looks like I had to do different things to different nodes to make that change happen, and I'm not sure why. I'll investigate later.)
  2. Since everything was pushed into the /schunk_robot namespace, the joint states are now published to /schunk_robot/joint_states. This doesn't work because ROS state publishers will only read from the root /joint_states topic. My workaround is to relay all messages from /schunk_robot/joint_states to /joint_states. This means that each message on /joint_states doesn't contain the whole joint state of the robot, but it looks like a thing that other people do.

@aditya-vk please review and let me know what you think!