0
$\begingroup$

Rosanswers logo

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.


Originally posted by qrfaalnz on ROS Answers with karma: 1 on 2018-02-08

Post score: 0


Original comments

Comment by lucasw on 2018-02-20:
How about adding tf_prefix support to rosserial_python, and only the python on the computer would have to be changed?

Comment by AmateurHour on 2018-08-01:
Hello! Did you ever solve this? Having the same issue and the answers to this question were not correct.

Comment by qrfaalnz on 2018-08-01:
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.

Comment by AmateurHour on 2018-08-01:
Ok! Do you think you could post the code as an answer to my question https://answers.ros.org/question/299330/where-does-turtlebot3_core-define-odom-and-base_footprint-names/ ?

Comment by AmateurHour on 2018-08-01:
or could you perhaps elaborate on where to find Publisher's handlePacket()?

Comment by qrfaalnz on 2018-08-01:
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.

Comment by Darby Lim on 2018-08-01:
TurtleBot3 supports multi-robot application. This link might be help you http://emanual.robotis.com/docs/en/platform/turtlebot3/applications/#load-multiple-turtlebot3s

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The package has been updated, now you don't need namespace prefixing for single robot. There is an example launch file (simple.launch) you can check it out.


Originally posted by hasauino with karma: 91 on 2018-03-16

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.