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

neato does not respond to keyboard commands

asked 2016-12-04 12:19:23 -0500

tuxiano gravatar image

Hi,

I use ros/kinetic under ubuntu 16.04 and try to get a vorwerk VR100 (XV11) to work.

Issue: I am at the very beginning to start something really great ... I want to move the VR100 with my keyboard around, but nothing happens when I hit I,U, etc ...

I followed this guide: https://bbot.org/blog/archives/2016/0...

According to this guide, I should run first "roslaunch neato_node bringup.launch"

Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://mifcom:39688/

SUMMARY
========

PARAMETERS
 * /neato/port: /dev/ttyACM0
 * /rosdistro: kinetic
 * /rosversion: 1.12.6

NODES
  /
    laser_to_base (tf/static_transform_publisher)
    neato (neato_node/neato.py)

auto-starting new master
process[master]: started with pid [22065]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 50c279a2-ba47-11e6-ba27-d43d7ef32be2
process[rosout-1]: started with pid [22078]
started core service [/rosout]
process[laser_to_base-2]: started with pid [22082]
process[neato-3]: started with pid [22094]
[INFO] [1480872614.927360]: Using port: /dev/ttyACM0

then, roslaunch neato_2dnav move_base.launch

Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://mifcom:35750/

SUMMARY
========

PARAMETERS
 * /move_base/TrajectoryPlannerROS/acc_lim_th: 0.5
 * /move_base/TrajectoryPlannerROS/acc_lim_x: 0.5
 * /move_base/TrajectoryPlannerROS/acc_lim_y: 0.0
 * /move_base/TrajectoryPlannerROS/dwa: False
 * /move_base/TrajectoryPlannerROS/goal_distance_bias: 0.8
 * /move_base/TrajectoryPlannerROS/heading_lookahead: 0.325
 * /move_base/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base/TrajectoryPlannerROS/max_rotational_vel: 0.4
 * /move_base/TrajectoryPlannerROS/max_vel_x: 0.15
 * /move_base/TrajectoryPlannerROS/min_in_place_rotational_vel: 0.3
 * /move_base/TrajectoryPlannerROS/min_vel_x: 0.01
 * /move_base/TrajectoryPlannerROS/path_distance_bias: 0.6
 * /move_base/TrajectoryPlannerROS/sim_time: 1.5
 * /move_base/TrajectoryPlannerROS/vtheta_samples: 20
 * /move_base/TrajectoryPlannerROS/vx_samples: 6
 * /move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.1
 * /move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.05
 * /move_base/controller_frequency: 5.0
 * /move_base/global_costmap/base_scan/clearing: True
 * /move_base/global_costmap/base_scan/data_type: LaserScan
 * /move_base/global_costmap/base_scan/marking: True
 * /move_base/global_costmap/base_scan/sensor_frame: base_laser_link
 * /move_base/global_costmap/base_scan/topic: base_scan
 * /move_base/global_costmap/footprint: [[0.1, 0.1], [0.1...
 * /move_base/global_costmap/global_frame: /map
 * /move_base/global_costmap/inflation_radius: 0.42
 * /move_base/global_costmap/observation_sources: base_scan
 * /move_base/global_costmap/obstacle_range: 2.5
 * /move_base/global_costmap/publish_frequency: 0.0
 * /move_base/global_costmap/raytrace_range: 5.0
 * /move_base/global_costmap/robot_base_frame: base_link
 * /move_base/global_costmap/robot_radius: 0.3
 * /move_base/global_costmap/static_map: True
 * /move_base/global_costmap/transform_tolerance: 1.0
 * /move_base/global_costmap/update_frequency: 1.0
 * /move_base/local_costmap/base_scan/clearing: True
 * /move_base/local_costmap/base_scan/data_type: LaserScan
 * /move_base/local_costmap/base_scan/marking: True
 * /move_base/local_costmap/base_scan/sensor_frame: base_laser_link
 * /move_base/local_costmap/base_scan/topic: base_scan
 * /move_base/local_costmap/footprint: [[0.1, 0.1], [0.1...
 * /move_base/local_costmap/global_frame: odom
 * /move_base/local_costmap/height: 2.5
 * /move_base/local_costmap/inflation_radius: 0.42
 * /move_base/local_costmap/observation_sources: base_scan
 * /move_base/local_costmap/obstacle_range: 2.5
 * /move_base/local_costmap/publish_frequency: 1.0
 * /move_base/local_costmap/raytrace_range: 5.0
 * /move_base/local_costmap/resolution: 0.025
 * /move_base/local_costmap/robot_base_frame: base_link
 * /move_base/local_costmap/robot_radius: 0.3
 * /move_base/local_costmap/rolling_window: True
 * /move_base/local_costmap/static_map: False
 * /move_base/local_costmap/transform_tolerance: 1.0
 * /move_base/local_costmap/update_frequency: 2.0
 * /move_base/local_costmap/width: 2.5
 * /rosdistro: kinetic
 * /rosversion: 1.12.6
 * /use_sim_time: False

NODES
  /
    amcl (amcl/amcl)
    map_server (map_server/map_server)
    move_base (move_base/move_base)

ROS_MASTER_URI=http://localhost:11311 ...
(more)
edit retag flag offensive close merge delete

Comments

Run rosrun rqt_graph rqt_graph and make sure teleop_twist_keyboard is properly connected to the appropriate topics. If not, that is something to fix.

gvdhoorn gravatar image gvdhoorn  ( 2016-12-04 13:16:39 -0500 )edit

Hi gvdhoorn,

thank you for your quick response.

From what looks relevant to me rpt_graph shows an arrow from "teleop_twist_keyboard/teleop_twist_keyboard" to "move_base/cmd_vel" to "neato/neato.

I assume that means, that teleop an neato should communicate with each other.

Kind regard

tuxiano gravatar image tuxiano  ( 2016-12-04 14:59:10 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-12-05 15:09:56 -0500

tuxiano gravatar image

Hi,

found the solution

  1. Add "blacklist cdc_acm" to /etc/modprobe.d/blacklist.conf
  2. add user to dialout group: "sudo adduser $USER dialout"
  3. add "usbserial vendor=0x2108 product=0x780B" to "/etc/modules"
  4. reboot your system
  5. connect your neato to your PC
  6. Check if the neato appears as /dev/ttyUSB0 in dmesg (if not ...)
  7. Compile neat_driver as explained here: https://github.com/mikeferguson/neato...
  8. enable the environment: source <ws>/devel/setup.bash
  9. start the launch file "roslaunch neato_node bringup.launch"

If you get an "IOError: [Errno 22] Invalid argument":

  1. Edit "/catkin_ws/src/neato_robot/neato_driver/src/neato_driver/neato_driver.py"
  2. In line 118 change self.port = serial.Serial(port, 115200) to self.port = serial.Serial(port, 115200, rtscts=True, dsrdtr=True)
  3. delete the build and devel folder
  4. recompile the neato drive
  5. start again "roslaunch neato_node bringup.launch"

Regards, tuxiano

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2016-12-04 12:19:23 -0500

Seen: 173 times

Last updated: Dec 05 '16