On Wed, 20 Nov 2013 14:12:08 +0100
Tobias Fromm <
t.f...@jacobs-university.de> wrote:
> I have no idea whether it works to remap both topic
> into /joint_states, that sounds rather like both messages are
> published alternately. What I did is something like
>
> sensor_msgs::JointState completeState;
> for(unsigned int i = 0; i < armState->position.size(); ++i){
> completeState.position.push_back(armState->position[i]);
> completeState.name.push_back(armState->name[i]);
> }
> completeState.position.push_back(-gripperPosition);
> completeState.position.push_back(gripperPosition);
> completeState.name.push_back("gripper_left");
> completeState.name.push_back("gripper_right");
> completeState.header = armState->header;
> joint_state_publisher.publish(completeState);
>
> inside a joint state callback. Maybe that helps?
Hi all,
a long while ago, on Diamondback IIRC, some Willow nodes didn't like
it if you remapped different joint state publishers to
the /joint_state topic, because it indeed leads to the different
messages being published alternately, and the node in question assumed
that all messages contained the full joint state. But it doesn't sound
as if MoveIt had that bug, since the warning about "no full joint state
received" only appears when Rasmus doesn't remap all required topics
to /joint_states, which is correct.
Anyway, to work around that problem, I created a "joint_state_muxer"
that does exactly what Tobias is suggesting:
https://github.com/uos/uos_tools/tree/hydro/joint_state_muxer
You can include the following snippet into your launch files (replace
the list of joint state topics with your topics):
<node pkg="joint_state_muxer" type="joint_state_muxer" name="joint_state_muxer" output="screen">
<rosparam param="source_list">[kurtana_joint_states, katana_joint_states, wheel_joint_states]</rosparam>
</node>
On Hydro, you just need the Deb package ros-hydro-urdfdom-py. On groovy, you
need:
git clone -b groovy 'git://
github.com/laas/robot_model_py.git' 'robot_model_py'
As I wrote before, this probably won't fix the problem, but it's
worth a try.
Cheers,
Martin