ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Ok, now I found a solution, what is working:

  1. install bluetooth usb key on the turtlebot controller DESKTOP not on the turtlebot laptop
  2. sudo bash
  3. {edit /etc/bluetooth/main.conf - add line "DisablePlugins = input"}
  4. "#rosrun ps3joy ps3joy.py"
  5. roslaunch turtlebot_teleop ps3_teleop.launch

So, instead of installing the bluetooth dongle on the turtlebot laptop, I installed it on the controller computer. Strange, I think it should anyways work on both computers. It might have something to do with the device number /dev/input/js0 vs js1, as my desktop didn't have any js device originally and the turtlebot laptop did.

click to hide/show revision 2
disable HP laptop accelerometer

Ok, now I found the problem and the solution that works. The problem is caused by the accelerometer of the HP laptop that is mapped as /dev/input/js0. By disabling the accelerometer the issue is gone:

  1. lsmod|grep accel --> this returns two lines in my case
  2. sudo modprobe -r hp_accel
  3. sudo modprobe -r lis3lv02d this is probably not the best solution, since it needs to repeated after a solution, what is working:reboot. blacklisting the modules could be better, but I haven't tested it yet.

The following steps are straightforward:

  1. install bluetooth usb key on the turtlebot controller DESKTOP not on the turtlebot laptop
  2. sudo bash
  3. in order to stop Ubuntu automatically popping up the Bluetooth pairing dialog {edit /etc/bluetooth/main.conf - add line "DisablePlugins = input"}
  4. "#rosrun ps3joy ps3joy.py"
  5. roslaunch turtlebot_teleop ps3_teleop.launch

So, instead of installing the bluetooth dongle on the turtlebot laptop, Previously I installed tried to change the joystick to /dev/input/js1 by using rosparam set ... command. It worked for the rostopic echo /joy, but the roslaunch turtlebot_teleop ps3_teleop.launch always produced error, it on the controller computer. Strange, I think it should anyways work on both computers. It might have something to do with the device number /dev/input/js0 vs js1, as my desktop didn't have any js device originally and the turtlebot laptop did.is somewhere hardcoded to use the js0 device.

Ok, now I found the problem and the solution that works. The problem is caused by the accelerometer of the HP laptop that is mapped as /dev/input/js0. By disabling the accelerometer the issue is gone:

  1. lsmod|grep accel --> this returns two lines in my case
  2. sudo modprobe -r hp_accel
  3. sudo modprobe -r lis3lv02d lis3lv02d

this is probably not the best solution, since it needs to be repeated after a reboot. blacklisting the modules could be better, but I haven't tested it yet.

The following steps are straightforward:

  1. install bluetooth usb key on the turtlebot laptop
  2. sudo bash
  3. in order to stop Ubuntu automatically popping up the Bluetooth pairing dialog {edit /etc/bluetooth/main.conf - add line "DisablePlugins = input"}
  4. "#rosrun ps3joy ps3joy.py"
  5. roslaunch turtlebot_teleop ps3_teleop.launch

Previously I tried to change the joystick to /dev/input/js1 by using rosparam set ... command. It worked for the rostopic echo /joy, but the roslaunch turtlebot_teleop ps3_teleop.launch always produced error, it is somewhere hardcoded to use the js0 device.