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

McKracken82's profile - activity

2020-10-06 17:01:37 -0500 received badge  Nice Question (source)
2019-11-25 06:30:52 -0500 received badge  Notable Question (source)
2019-03-01 04:51:09 -0500 received badge  Famous Question (source)
2019-03-01 04:51:09 -0500 received badge  Notable Question (source)
2018-11-22 04:03:37 -0500 received badge  Famous Question (source)
2018-09-19 04:37:54 -0500 received badge  Famous Question (source)
2017-11-19 04:31:18 -0500 received badge  Famous Question (source)
2017-11-19 04:31:18 -0500 received badge  Notable Question (source)
2017-11-19 04:31:18 -0500 received badge  Popular Question (source)
2017-10-14 12:34:55 -0500 received badge  Popular Question (source)
2017-06-12 01:54:15 -0500 received badge  Famous Question (source)
2017-04-20 15:13:52 -0500 marked best answer Unable to compile workspace for unsolved reference to serial::Serial::waitReadable

Hi to all,

I'm kind of new to ROS and I'm having a problem while compiling the catkin workspace on my laptop. I'm using ROS Indigo on Ubuntu 14.04, and I'm trying to compile the irobotcreate2ros package (https://github.com/MirkoFerrati/irobotcreate2ros).

It requires the packages serial and joy to be installed. The problem is that when I compile the workspace, I received the following error:

CMakeFiles/basic_commands.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::getSensorPackets(int):

OpenInterface.cpp:(.text+0xf3c): undefined reference to serial::Serial::waitReadable()

CMakeFiles/basic_commands.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::streamSensorPackets():

OpenInterface.cpp:(.text+0x12a5): undefined reference to serial::Serial::waitReadable()

collect2: error: ld returned 1 exit status

make[2]: [/home/myhome/Projects/ros/indigo/catkin_ws/devel/lib/irobotcreate2/basic_commands] Error 1

make[1]: [irobotcreate2ros/CMakeFiles/basic_commands.dir/all] Error 2

make[1]: Waiting for unfinished jobs....

CMakeFiles/irobotcreate2_lightweight.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::getSensorPackets(int):

OpenInterface.cpp:(.text+0xf3c): undefined reference to serial::Serial::waitReadable()

CMakeFiles/irobotcreate2_lightweight.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::streamSensorPackets():

OpenInterface.cpp:(.text+0x12a5): undefined reference to serial::Serial::waitReadable()

collect2: error: ld returned 1 exit status

make[2]: [/home/myhome/Projects/ros/indigo/catkin_ws/devel/lib/irobotcreate2/irobotcreate2_lightweight] Error 1

make[1]: [irobotcreate2ros/CMakeFiles/irobotcreate2_lightweight.dir/all] Error 2

CMakeFiles/irobotcreate2.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::getSensorPackets(int):

OpenInterface.cpp:(.text+0xf3c): undefined reference to serial::Serial::waitReadable()

CMakeFiles/irobotcreate2.dir/src/irobotcreate2/OpenInterface.cpp.o: In function irobot::OpenInterface::streamSensorPackets():

OpenInterface.cpp:(.text+0x12a5): undefined reference to serial::Serial::waitReadable()

collect2: error: ld returned 1 exit status

make[2]: [/home/myhome/Projects/ros/indigo/catkin_ws/devel/lib/irobotcreate2/irobotcreate2] Error 1

make[1]: [irobotcreate2ros/CMakeFiles/irobotcreate2.dir/all] Error 2

make: [all] Error 2

Invoking "make" failed

This makes me think that probably the compiler is not able to find the serial package. Now:

  1. The problem with serial is only related to the waitReadable() function, as if I comment it from the code, the rest of serial references do not rise any compilation error, and the process ends without problem (I've the right configuration of CMake. I know also because I'm using the same CMakeFile I used on other machines, that is the one provided within the package).
  2. I compiled this package (irobotcreate2ros) on other machines without problem, so maybe there's a wrong version of serial installed on my laptop. I went digging around on the internet, and I found that previous version of serial (http://rosindex.github.io/p/serial/), e.g. until v1.1.7, didn't have any waitReadable() method. I then checked which version was installed, and it says 1.2.1.
  3. To be completely sure, I also went through the code of serial.h in /opt/ros/indigo/include/serial/ to see if there was the waitReadable() method, and it's there (although there ...
(more)
2017-02-01 14:32:03 -0500 received badge  Notable Question (source)
2017-02-01 14:32:03 -0500 received badge  Popular Question (source)
2016-12-06 09:03:30 -0500 commented answer running rosmsg show from code

Great, that was exactly what I was searching for, although I thought messages were managed in a more object-oriented like structure. Anyway, that worked perfectly. Thanks!

2016-12-06 09:02:19 -0500 received badge  Supporter (source)
2016-12-05 12:41:51 -0500 received badge  Popular Question (source)
2016-12-05 11:22:07 -0500 commented question running rosmsg show from code

I need to build instances of all the ros messages and services in a KB, so I need to understand which are all the messages/services being published, and which re their structures in terms of submessages/primitive types.

2016-12-05 10:31:14 -0500 asked a question running rosmsg show from code

Hi,

is there a way (possibly in Python) to call the command line command rosmsg show from code, passing as an argument the name of the message/service and getting an object representing the message/the class with the message structure? I know that some commands can be called from rospy (as rostopic list, for example), but I can't find how to run rosmsg.

2016-12-01 10:08:22 -0500 commented question Rviz crashing (core dumped) when running with Gazebo

I have a Nvidia GeForce 640M. The drivers are the standard-default ones that come with ubuntu 14.04 (nouveau). I tried installing the proper ones (nvidia-375), but I just messed up xorg (graphic interface wasn't starting anymore). I rolled back, but yet no gazebo and rviz together working.

2016-12-01 06:51:52 -0500 commented question Rviz crashing (core dumped) when running with Gazebo

No, I'm running everything in a real Ubuntu 14.04. Funny thing is that if I run the same exact launch file on another laptop (definitely less powerful than mine), both gazebo and rviz can live together. I have to imply that there should be other problems on my laptop...

2016-12-01 05:45:04 -0500 asked a question Rviz crashing (core dumped) when running with Gazebo

Hi to all,

I'm following a tutorial, for which I have to run a launch file that runs Gazebo (with a wold with three robots) and runs also rviz. What happens constantly is that rviz always crashes, while Gazebo keeps running. This happens also if I run rviz from command line with rosrun (while Gazebo is still on), terminating with the message

[ INFO] [1480592319.442365758]: rviz version 1.11.15
[ INFO] [1480592319.442474349]: compiled against Qt version 4.8.6
[ INFO] [1480592319.442517957]: compiled against OGRE version 1.8.1 (Byatis)
[ INFO] [1480592319.648792445]: Stereo is NOT SUPPORTED
[ INFO] [1480592319.648914712]: OpenGl version: 3 (GLSL 1.3).
Segmentation fault (core dumped)

Is it possible that my laptop is not powerful enough?

2016-11-30 08:23:16 -0500 received badge  Famous Question (source)
2016-11-29 11:44:53 -0500 asked a question Rosjava interacting with Master

Hi, is there any example of how to use the classes to interact with the master node in rosjava (e.g. http://rosjava.github.io/rosjava_core/0.0.0/javadoc/org/ros/master/client/SystemState.html)? I can navigate the documentatino, but it's quite hard to understand where to begin.

2016-11-08 11:55:36 -0500 asked a question Best configuration for hector_slam and Rplidar 2

I have a freshly new Rplidar 2 that I'd like to use to build some maps with my basic iRobot2 create. I tried using gmapping, but apparently there are inconsistencies between the rplidar node and gmapping itself (that can be solved for Rplidar 1 following this link, but at a first sight, it doesn't work with Rplidar 2 - I'll open a separated question for this). Anyway, I decided to use Hector Slam, as "adverstised" on the Rplidar rosWiki page (actually the hector_mapping node of Hector Slam). I managed to build some basic maps, mainly without using the odometry, but what I noticed is:

  • The hector_mapping node often crashes with the recurrent message SerachDir angle change too large (I searched around and there are some solutions, like this)
  • The produced maps are really coarse grained (almost at the level of the ones I was obtaining with a kinect). In many videos and threads around I saw many maps done with the Rplidar that are much more defined than the one I'm getting.

Now, given that, my general question is: does anybody have accumulated enough experience to propose some really good configuration to use with hector_slam and Rplidar 2 on a wheeled robot, where for configuration I mean any possible configurable parameter (including publishing frequency of involved static transformation publishers)?

2016-10-25 00:28:05 -0500 received badge  Student (source)
2016-10-21 01:33:06 -0500 received badge  Notable Question (source)
2016-10-20 05:14:05 -0500 received badge  Popular Question (source)
2016-10-20 03:14:05 -0500 asked a question ROS standard topics, messages and nodes

Hi to all,

I have a question that is really general, and I already know (more than) half of the answer, but for completeness I'd like to have information from people that might be more expert than me.

I kind of understood that there is a set of "more or less" standard messages that have been defined within ROS ( http://wiki.ros.org/common_msgs?distr... ). I also think I understood that there is a set of nodes that is somehow "recognized" by the ROS community ( http://www.ros.org/browse/list.php?pa... ). While this is more or less clear (if I'm right), I can't figure how if there is also a standard for the topics, e.g. ROS tells you that the standard topic where to publish odometry is /odom (then you can actually publish it wherever you want). Or similarly, somewhere around the wiki there is written that /camera/image_raw is the standard topics for RGB camera publishing.

Is there any list of this "supposed to be" standard topic in this sense?

And what about messages-services-actions that are used by recognized nodes (e.g. MoveBase.action of move_base)?

2016-10-06 12:23:42 -0500 received badge  Notable Question (source)
2016-08-19 09:58:59 -0500 received badge  Famous Question (source)
2016-07-19 09:15:50 -0500 received badge  Popular Question (source)
2016-07-19 08:23:18 -0500 answered a question Inconsistency between move_base and stage_ros

I actually found the solution. The name of the laser frame mismatched between the costmap_common_params.yaml file of move_base and the name given by default by stage. The first one was set to laser, while the second was base_laser_link.

2016-07-19 08:19:36 -0500 commented question Inconsistency between move_base and stage_ros

Sorry, that was a typo. Anyway I found the solution!

2016-07-19 08:19:24 -0500 received badge  Editor (source)
2016-07-15 10:00:59 -0500 received badge  Enthusiast
2016-07-13 12:02:34 -0500 asked a question Inconsistency between move_base and stage_ros

Hi, I'm using move_base and stage_ros in the indigo release and I'm getting a strange behavior of the simulated robot. I'll try to explain it with an example:

I have a map which is loaded both by the map_server for move_base and by stage (the map is the same, I checked). I'm also using amcl as localiser. Then, if I open rviz, I can clearly see the map, the robot, and what the robot is sensing with is laser. What the laser is scanning is exactly compliant with the map I see (that is the one published by the map_server). If I give a goal through the Nav2Goal tool, the robot starts moving, following the path evaluated by the motion planner. Everything ok until here. The strange behavior starts happening when the robot, for some reasons, gets stuck in an obstacle: at that point, in stage the robot is stuck (with the exclamation mark on it), while for move_base (and so in rviz) it keeps moving along the path. Moreover, the laser scan stays consistent with stage, so that it starts misaligning with the map in rviz. Even more strange, although the path is evaluated by move_base to avoid obstacles, the robot still drive over there without problem (only in rviz, not in stage, where, instead, it gets stuck generating the strange behavior). It seems like stage keeps publishing the odometry of the robot moving, and so move_base move the robot independently. Moreover, I get this warning on move_base

[ WARN] [1468429179.824253819, 23.400000000]: MessageFilter [target=map laser ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information.

I checked the tf tree, and everything is connected as due.

I report my launch and config files for consistency.

test_move_base.launch

<launch>
  <master auto="start"/>
   <!-- Run the map server -->
   <node name="map_server" pkg="map_server" type="map_server" args="maps/my_map.yaml" />
   <!--- Run AMCL -->
   <include file="$(find localisation)/launch/amcl.launch">
       <arg name="initial_pose_x"  value="0"/>
           <arg name="initial_pose_y"  value="0"/>
       <arg name="initial_pose_a"  value="0"/>

           <arg name="scan_topic"      value="/scan"/>
           <arg name="odom_frame_id"   value="odom"/>
           <arg name="base_frame_id"   value="base_link"/>
           <arg name="global_frame_id" value="map"/>
    </include>
    <!-- run move_base -->
   <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
             <rosparam file="configs/costmap_common_params.yaml" command="load" ns="global_costmap" />
             <rosparam file="configs/costmap_common_params.yaml" command="load" ns="local_costmap" />
             <rosparam file="configs/costmap_param.yaml" command="load" />
             <rosparam file="configs/costmap_param.yaml" command="load" />
             <rosparam file="configs/stage_base_local_planner_params.yaml" command="load" />
 </node>

</launch>

test_stage.launch

<launch>
     <param name="/use_sim_time" value="true"/>

     <node pkg="stage_ros" type="stageros" name="stageros" args="maps/my_map.world" respawn="false" output="screen">
         <param name="base_watchdog_timeout" value="0.2"/>
         <remap from="/base_scan" to="/scan" />
     </node>
</launch>

my_map.yaml

image: my_map.pgm
resolution: 0.050000
origin: [-100.000000, -100.000000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

my_map.world

include "urg.inc"
include "erratic.inc"

define floorplan model
(
    color "black"
    boundary 1
    gui_nose 0
    gui_grid 0 ...
(more)
2016-03-23 18:21:38 -0500 marked best answer Getting only the first snapshot of the scans with gmapping

Hi, I've gone through one that seems to be a shared problem, as the following links testify

Some of them didn't received a satisfactory answers, while the successful replies to the others are not working for me. I'm trying to make a map with an iRobot Create 2, using the irobotcreate2ros node (https://github.com/MirkoFerrati/irobotcreate2ros), and using a Kinect as a sensor (from which I take the laser scan using the depth2laser node https://github.com/mauriliodc/depth2laser). I changed the tf published by the irobotcreate2ros node, so that the frames are directly odom and base_link, instead of iRobot_0/odom and iRobot_0/base_link (as in the original version), and then I don't need a static_transformation_publisher (it shouldn't affect the general behavior, I suppose).

What happen is that when I start gmapping, it seems to take only the first snapshot from the sensor, showing a small segment of the map, and not updating it while the robot moves. I tried both to see the realtime mapping in rviz and to try with a rosbag, but the result is always the same.

The following picture shows a snapshot or what I see in rviz

Rviz snaptshot

And the following picture instead shows my tfs (that are supposed to be correct, as far as I know)

View_frames output

I already checked that my odometry, the base_link, the xtion and the laser tf are consistent with each other (as they move accordingly in rviz). I've also a bag, but I cannot yet upload it. I'm searching a space where to do it. As soon as I find it, I'll edit this post.

2016-03-23 18:21:38 -0500 received badge  Scholar (source)
2016-03-23 17:09:40 -0500 received badge  Self-Learner (source)
2016-03-23 17:09:40 -0500 received badge  Teacher (source)
2016-03-23 15:42:15 -0500 answered a question Getting only the first snapshot of the scans with gmapping

Solution found. The problem was a bug in the depth2laser node. When publishing the laser, the time field in the header was always set to 0, so that was impossible to reconstruct the time sequence of the scans. After having fixed that, gmapping was working correctly. I already informed the author of the node about the bug, and it should be now fixed.

2016-03-23 10:36:08 -0500 received badge  Notable Question (source)