# turtlebot2 kobuki turns itself off when cmd_velocity > 1

The setup: I currently have 2 turtlebots and a workstation all communicating via multimaster_fkie. The workstation only launches the multimaster_discovery node while the turtlebots bringup both multimaster_discovery and multimaster_sync nodes. The turtlebots have been configured to ignore one another so that only communication with the workstation is possible.

The problem occurs when a velocity command that is "too high" is published from the workstation. The workstation publishes velocity commands to both the turtlebots under topics /master_cmd and /slave_cmd (there is no real master/slave implementation going on unless you count the workstation as the master and the turtlebots as slaves)

I have a simple implementation where the turtlebots listen for either /master[slave]_cmd velocity command from the workstation and subsequently publishes this command to the kobuki base. I have turned all other diagnostics off so only the kobuki base should initialized. (My launch file can be seen pasted below)

Currently I have many different implementations all yielding the same result. I have tried defining my own nodlet so a constant twist message is published. I have a full node which does the same thing. and I have a node runnning on the turtlebot netbook while another node from the workstation computer sends commands.

In all most all cases I am able to send a velocity of up to 1.0 (I assume m/s)

When I change from: msg.linear.x = 1 to msg.linear.x = 2 and run everything as before the turtlebot kobuki sounds the offline jingle and everything stops. When I kill the node trying to publish the velocity commands the online jingle can be heard.

Throughout this I can rostopic list/echo all the topics and even verify that the correct value is being sent.

The problem is very weird because if all the velocities are below 1 both turtlebots act as excepted. It is only when one is commanded to go faster than 1 that the problem occurs.

Why does the kobuki turn it self off when too high a velocity is received?

<launch>
<!-- Turtlebot -->
<arg name="base"              default="$(env TURTLEBOT_BASE)" doc="mobile base type [create, roomba]"/> <arg name="battery" default="$(env TURTLEBOT_BATTERY)"      doc="kernel provided locatio for battery info, use /proc/acpi/battery/BAT0 in 2.6 or earlier kernels." />
<arg name="stacks"            default="$(env TURTLEBOT_STACKS)" doc="stack type displayed in visualisation/simulation [circles, hexagons]"/> <arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"    doc="3d sensor types [kinect, asux_xtion_pro]"/>
<arg name="simulation"        default="$(env TURTLEBOT_SIMULATION)" doc="set flags to indicate this turtle is run in simulation mode."/> <arg name="serialport" default="$(env TURTLEBOT_SERIAL_PORT)"  doc="used by create to configure the port it is connected on [/dev/ttyUSB0, /dev/ttyS0]"/>
<arg name="robot_name"        default="$(env TURTLEBOT_NAME)" doc="used as a unique identifier and occasionally to preconfigure root namespaces, gateway/zeroconf ids etc."/> <arg name="robot_type" default="$(env TURTLEBOT_TYPE)"         doc="just in case you are considering a 'variant' and want to make use of this."/>
<arg name="manager"       default="mobile_base_nodelet_manager"   doc=""/>
<param name="/use_sim_time" value="\$(arg simulation ...
edit retag close merge delete

Sort by » oldest newest most voted

I'm not quite sure I understand your problem description: is the problem that the TBs just stop?

Is 1 m/s a valid velocity for a Kobuki TB? According to the specifications, the maximum is 0.7m/s (this is also mentioned on wiki/Setup the Navigation Stack for TurtleBot):

• Functional Specification

• Maximum translational velocity: 70 cm/s
• ..

I can imagine that the controller shuts down on an invalid command input. 1 m/s already seems quite far outside the specs.

more

I have seen that before and maybe just mistook it for 7m/s but why then, when I have only 1 turtlebot can I see a difference in the rate the wheel spins when commanded to go at 1 vs 3? I would expect both cases to yield 0.7 but I do not observe this. There is distinctly more 'buzzing' and its faster

( 2017-05-25 12:44:30 -0500 )edit
1

I feel like the only people that can give you an authoritative answer would be Yujin Robot themselves. Either wait for them to post an answer/comment to this question, or open an issue over at yujinrobot/kobuki/issues. Do refer to this one, please.

( 2017-05-26 03:45:00 -0500 )edit