Prefix transformations from OpenCR
I am trying to run rrt_exploration on my turtlebot3. I need to prefix all per-robot nodes, topics, and transforms with a per-robot name such as "robot_1". I can do this the usual way for all nodes and topics with <group ns="robot_1">
in my launch file and for almost all transforms with <param name="tf_prefix", value="robot_1"/>
in the node that provides the transform.
However, this does not work for transforms that are published by the OpenCR via rosserial_python such as odom
. How can I change the name of the transforms published by the rosserial_python node? Re-flashing the openCR is not an option, as this must be extensible to multi-robot systems.
How about adding tf_prefix support to rosserial_python, and only the python on the computer would have to be changed?
Hello! Did you ever solve this? Having the same issue and the answers to this question were not correct.
I solved this similarly to @lucasw's comment. Modify rosserial_python to accept a tf_prefix parameter and change Publisher's handlePacket() to add the prefix to child_frame_id and header.frame_id of each tf/tfMessage. Unfortunately I can't post code.
Ok! Do you think you could post the code as an answer to my question https://answers.ros.org/question/2993... ?
or could you perhaps elaborate on where to find Publisher's handlePacket()?
That is part of rosserial in SerialClient.py. Clone rosserial into your catkin_ws and you should be able to search for it. Look at how other parameters are handled.
TurtleBot3 supports multi-robot application. This link might be help you http://emanual.robotis.com/docs/en/pl...