Ask Your Question

85pando's profile - activity

2016-01-13 05:03:35 -0600 received badge  Famous Question (source)
2016-01-04 11:49:46 -0600 received badge  Famous Question (source)
2015-11-27 04:59:44 -0600 received badge  Famous Question (source)
2015-11-04 08:25:49 -0600 received badge  Notable Question (source)
2015-10-27 20:53:13 -0600 received badge  Notable Question (source)
2015-10-14 03:23:48 -0600 commented question Gmapping Launch File

The thing is, with the same launch file, it works on the actual robot (Kuka YouBot).

2015-10-14 03:20:13 -0600 commented answer Gmapping works in Gazebo, but not on robot

Yeah, that helped a lot. The Hokuyo node publishes on the wrong frame. For the youbot I now changed the launch file to include:

<node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_node">
  <param name="frame_id" value="/base_laser_front_link" />
</node>
2015-10-10 15:42:40 -0600 received badge  Notable Question (source)
2015-10-09 07:40:31 -0600 received badge  Popular Question (source)
2015-10-08 05:37:30 -0600 asked a question Gmapping works in Gazebo, but not on robot

Hello everyone,

another problem with gmapping.

When using the Gazebo simulator gmapping works fine with this command

$ rosrun gmapping slam_gmapping scan:=youbot/scan_front _base_frame:=youbot/base_link _odom_frame:=youbot/odom

As far as I understand this correcly, the arguments should be

  • scan:=scan
  • _base_link:=base_link
  • _odom_frame:=odom

which are the default values, so just starting it with $ rosrun gmapping slam_gmapping scan:=scan should work. The values were obtained from a rosrun tf view_frames (image is a link, click to expand) and rostopic list.

image description

$ rostopic list
/cmd_vel
/cmd_vel_safe
/dashboard/platform_state
/diagnostics
/hokuyo_node/parameter_descriptions
/hokuyo_node/parameter_updates
/joint_states
/map
/map_metadata
/odom
/rosout
/rosout_agg
/scan
/slam_gmapping/entropy
/tf
/tf_static

Gmapping gives with the error:

 [ WARN] [1444300130.237434289]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.

which then leads me to the debug messages:

[DEBUG] [1444300178.106273471]: MessageFilter [target=odom ]: Added message in frame laser at time 1444300192.911, count now 5
[DEBUG] [1444300178.210528915]: MessageFilter [target=odom ]: Removed oldest message because buffer is full, count now 5 (frame_id=laser, stamp=1444300192.508830)

In Gazebo Gmapping starts up with some messages (Laser pose, values of settings,...) until Registering first Scan appears, on the actual robot there is just the warning message after a time.

I really don't know what the problem is and would be glad about any input!

2015-10-06 22:40:10 -0600 received badge  Popular Question (source)
2015-09-25 07:24:15 -0600 commented answer Hokuyo laser getID failed. How to fix it?

On the youbot there should also be a /dev/sensors/hokuyo symlink that you can set by:

$ rosparam set hokuyo_node/port /dev/sensors/hokuyo
2015-09-25 07:19:50 -0600 answered a question How to connect YouBot with a Laptop

There are two ways to do this:


Using the internal PC

As cyborg-x1 already hinted, you can also use ROS with multiple nodes over a network.

  • Start up the youbot as usual:

    • start up power supply
    • start up internal pc
    • start up arm/motors
  • Connect network cable or wireless adapter, configure as appropriate or your environment.

  • On the youbot:

    • find out your IP adress (via GUI or simply $ sudo ifconfig), e.g. YOUBOT_IP=123.456.789.123
    • set ROS_MASTER_URI: export ROS_MASTER_URI=http://123.456.789.123:11311
    • set ROS_IP: export ROS_IP=123.456.789.123
  • On the laptop/PC:

    • find out your IP adress, e.g. LAPTOP_IP=789.456.123.789
    • set ROS_MASTER_URI: export ROS_MASTER_URI=http://123.456.789.123:11311
    • set ROS_IP: export ROS_IP=123.456.789.123
  • As you need to do the exports for every shell that you start, you might want to put those lines into your .bashrc or somewhere else that will be loaded.

  • Now go back to the youbot and start the driver as usual.
  • Now everything should be ready. When you start nodes on the youbot they will work. When you start nodes on the Laptop/PC they will also work and communicate over your network.

Not using the internal PC

(Have not done this myself, as we wanted the youbot to work with a wireless adapter, so no knowledge on mileage.)

  • Have ROS running on your PC.
  • Connect your Laptop/PC via Ethernet cable to the base (Ethercat1).
  • Connect the Arm to Ethercat2
  • Install the driver from inside ROS or from GitHub
  • Start up the youbot power supply and motor, do _not_ start up the internal PC.
  • Start the driver on your PC/laptop. Everything should work.
2015-09-25 07:16:09 -0600 asked a question Gmapping Launch File

At the moment we are trying to increasingly use launch files (for obvious resons).

With Gmapping in the Gazebo simulator I am somehow stuck. The mapping works fine, when I start it via rosrun as follows:

$ rosparam set use_sim_time true
$ rosrun gmapping slam_gmapping scan:=youbot/scan_front _base_frame:=youbot/base_link _odom_frame:=youbot/odom

We then tried to do the same thing in a launch file, which resulted in something like this:

<launch>
  <param name="use_sim_time" value="true" />
  <node pkg="gmapping" type="slam_gmapping" name="gmapping_thing" output="screen" >
    <remap from="scan" to="youbot/scan_front" />
    <remap from="base_link" to="youbot/base_link" />
    <remap from="odom" to="youbot/odom" />
  </node>
</launch>

which results in debug messages like:

Node: /gmapping_thing
Time: 01:01:51.823000000 (1970-01-01)
Severity: Debug
Published Topics: /gmapping_thing/entropy, /map, /map_metadata, /rosout, /tf

MessageFilter [target=odom ]: Added message in frame youbot/base_laser_front_link at time 111.818, count now 5

Location:
/opt/ros/indigo/include/tf/message_filter.h:MessageFilter<M>::add:280

and:

Node: /gmapping_thing
Time: 01:01:51.823000000 (1970-01-01)
Severity: Debug
Published Topics: /gmapping_thing/entropy, /map, /map_metadata, /rosout, /tf

MessageFilter [target=odom ]: Removed oldest message because buffer is full, count now 5 (frame_id=youbot/base_laser_front_link, stamp=111.806000)

Location:
/opt/ros/indigo/include/tf/message_filter.h:MessageFilter<M>::add:264

One thing I already find strange here is the date, which seems to be low unix time stamps? The actual date of the machine is:

$ date
Fri Sep 25 13:22:50 CEST 2015

After further searching we found that the remap-tag might not be the best approach here, as the parameters can be set directly, which lead to the following launch file (it yields the same result when using _odom_frame and _base_link respectively):

<launch>
  <param name="use_sim_time" value="true" />
  <node pkg="gmapping" type="slam_gmapping" name="gmapping_thing" output="screen" >
    <param name="scan" value="youbot/scan_front" />
    <param name="odom_frame" value="youbot/odom" />
    <param name="base_frame" value="youbot/base_link" />
  </node>
</launch>

This leads to dropping of /clock messages

Node: /gmapping_thing
Time: 01:16:09.648000000 (1970-01-01)
Severity: Debug
Published Topics: /gmapping_thing/entropy, /map, /map_metadata, /rosout, /tf

Incoming queue full for topic "/clock".  Discarding oldest message (current queue size [0])

Location:
/tmp/buildd/ros-indigo-roscpp-1.11.13-0trusty-20150522-1157/src/libros/subscription_queue.cpp:SubscriptionQueue::push:67

We are kinda stuck here, so if anyone could provide some input, we would be glad.

2015-09-25 06:01:27 -0600 received badge  Scholar (source)
2015-09-25 06:01:02 -0600 received badge  Popular Question (source)
2015-07-17 03:50:07 -0600 asked a question hokuyo at /dev/ttyACM0 change default settings

Hi everyone,

With our robot we are using a single hokuyo laser scanner for obstacle detection.

As software we are using ROS-Hydro and the Hokuyo node here. We got everything working, but startup is kinda cumbersome:

  • Depending on order of bootup the hokuyo will be either /dev/ttyACM0 or /dev/ttyACM1, so we created a udev rule to always have it at /dev/sensors/hokuyo.
  • Therefore we always need to set the port before starting up: rosparam set hokuyo_node/port /dev/sensors/hokuyo (taken from here )

Of course, this is scriptable, but I'm looking for a better way to change this in some configuration file or similar.

2015-07-17 03:20:56 -0600 received badge  Supporter (source)