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

nsprague's profile - activity

2022-03-31 10:23:37 -0500 received badge  Great Answer (source)
2021-04-19 08:04:16 -0500 received badge  Famous Question (source)
2020-12-28 15:46:27 -0500 received badge  Enlightened (source)
2020-12-28 02:43:35 -0500 received badge  Good Answer (source)
2020-12-26 14:48:57 -0500 received badge  Nice Answer (source)
2020-07-04 08:22:20 -0500 marked best answer Error when running a C++ service node using a custom srv in ROS2

I'm trying to follow these two tutorials to create a node that provides a ROS2 service using a custom .srv:

Following the steps in the tutorials, I've created the following packages:

  • transform_service_srv - contains the custom srv type.
  • transform_service - contains the server.

Both packages build using colcon with no warnings.

I can examine the srv as follows:

$ ros2 srv show transform_service_srv/srv/TransformPose 
geometry_msgs/PoseStamped source_pose
string target_frame
---
geometry_msgs/PoseStamped target_pose
bool success

Attempting to run the service node results in the following error:

$ ros2 run transform_service transform_service 
/home/spragunr/ros2_ws/install/transform_service/lib/transform_service/transform_service: symbol lookup error: /home/spragunr/ros2_ws/install/transform_service_srv/lib/libtransform_service_srv__rosidl_typesupport_fastrtps_cpp.so: undefined symbol: _ZN13geometry_msgs3msg24typesupport_fastrtps_cpp31max_serialized_size_PoseStampedERbm

I don't have any experience building ROS2 C++ nodes, so I don't know where to begin debugging this. I've attempted this in both dashing and foxy and the result is exactly the same for both.

2020-07-03 15:24:42 -0500 answered a question Error when running a C++ service node using a custom srv in ROS2

Found the answer here: https://answers.ros.org/question/326008/ros2-run-symbol-not-found-on-custom-msg/

2020-07-01 10:52:28 -0500 received badge  Notable Question (source)
2020-06-29 11:25:40 -0500 edited answer Creart Gazebo World based on map

Check out this package: https://github.com/shilohc/map2gazebo It claims to do exactly what you are asking for. See al

2020-06-29 11:25:24 -0500 received badge  Rapid Responder (source)
2020-06-29 11:25:24 -0500 answered a question Creart Gazebo World based on map

Check out this package: https://github.com/shilohc/map2gazebo It claims to do exactly what you are asking for. See al

2020-06-29 09:03:01 -0500 answered a question How to execute the rest of the python script while launching and running the launch files in the background?

You should check out the subprocess module in the Python standard libraries.

2020-06-29 09:03:01 -0500 received badge  Rapid Responder (source)
2020-06-25 15:09:37 -0500 received badge  Organizer (source)
2020-06-25 15:02:18 -0500 answered a question ROS2 Python quaternion to euler

You may be looking for the transformations.py file that is associated with tf. Here is an issue explaining why it doesn

2020-06-25 15:02:18 -0500 received badge  Rapid Responder (source)
2020-06-24 07:18:36 -0500 commented question Error when running a C++ service node using a custom srv in ROS2

Here is a github repository with both packages: https://github.com/spragunr/transform_service

2020-06-23 15:19:16 -0500 received badge  Popular Question (source)
2020-06-23 12:45:59 -0500 answered a question Mapping 2D-circuit drawn on the floor with only a camera.

This package might be useful: https://github.com/jforsyth/ROS-Map-Generator

2020-06-23 12:45:59 -0500 received badge  Rapid Responder (source)
2020-06-23 12:29:44 -0500 received badge  Rapid Responder (source)
2020-06-23 12:29:44 -0500 answered a question How to get the room dimensions from a map build using gmapping?

Publish the map using map_server: rosrun map_server map_server yourmap.yaml Then use the "Measure" tool in rviz to me

2020-06-23 11:46:12 -0500 answered a question ROS2 custom message python import error

It is currently not possible in ROS2 to create a custom message type in a Python package: https://index.ros.org/doc/ros

2020-06-23 11:32:59 -0500 asked a question Error when running a C++ service node using a custom srv in ROS2

Error when running a C++ service node using a custom srv in ROS2 I'm trying to follow these two tutorials to create a no

2019-07-31 04:41:51 -0500 received badge  Favorite Question (source)
2015-08-11 14:35:00 -0500 received badge  Enthusiast
2015-08-04 11:40:06 -0500 answered a question roslaunch multiple turtlebots

In my experience it is difficult (impossible?) to create launch files to run multiple Turtlebots within one ROS instance. I suggest that you check out rocon:

http://wiki.ros.org/turtlebot_concert...

I haven't used it, but it is intended to solve this problem.

2014-01-28 17:29:47 -0500 marked best answer Kobuki "malformed subpayload"

I'm working with Turtlebot2 (with the Kobuki base) and running ROS Groovy. I'm intermittently seeing error messages like the ones below. Once these error messages start to appear, the robot becomes unresponsive. Relaunching the Turtlebot by running:

roslaunch turtlebot_bringup minimal.launch

doesn't help. Nor does power-cycling the robot. The only thing that seems to help is rebooting the notebook and re-launching. This works for a few minutes until the error messages reappear. I haven't been able to reliably reproduce the conditions that cause the error. I'm running version 1.1.3 of the Kobuki firmware. Any advice would be much appreciated.

[ERROR] [1358185944.885286960]: Kobuki : malformed sub-payload detected. [116][255] [74 FF 77 00 D6 FF 7B FF 10 10 01 00 D9 0F DA 0F D3 0F DB 0F EF 0F 00 00 00 00 62 AA 55 4D 01 0F 60 D8 00 00 00 69 5D FA 5B 00 00 00 00 9E 00 03 03 00 00 00 04 07 A9 FB F9 FF 00 00 00 05 06 2B 06 50 07 99 06 06 02 00 00 0D 0E 13 06 7D 00 DD FF 83 FF 75 00 E0 FF 8E FF 10 10 01 00 D9 0F DD 0F D6 0F D7 0F F1 0F ]
[ERROR] [1358185986.942876038]: Kobuki : Timed out while waiting for serial data stream [/mobile_base].
[ERROR] [1358185987.905898133]: Kobuki : malformed subpayload detected.
[ERROR] [1358185997.916354409]: Kobuki : malformed sub-payload detected. [177][255] [B1 FF 6A 00 DF FF A6 FF 10 10 01 00 D7 0F DE 0F D4 0F D8 0F EE 0F 00 00 00 00 ]
[ERROR] [1358186002.942891211]: Kobuki : Timed out while waiting for serial data stream [/mobile_base].
[ERROR] [1358186018.942877693]: Kobuki : Timed out while waiting for serial data stream [/mobile_base].
[ERROR] [1358186025.965638646]: Kobuki : malformed sub-payload detected. [15][219] [0F DB 0F D3 0F D8 0F EF 0F 00 00 00 00 B9 AA 55 4D 01 0F 68 15 00 00 00 69 5D FA 5B 00 00 00 00 9E 00 03 03 00 00 00 04 07 A9 FB F9 FF 00 00 00 05 06 2C 06 53 07 99 06 06 02 00 00 0D 0E DB 06 51 00 DC FF 8C FF 55 00 DD FF 92 FF 10 10 01 00 D7 0F DA 0F DC 0F D5 0F F1 0F 00 00 ]
[ERROR] [1358186047.963542755]: Kobuki : malformed sub-payload detected. [152][255] [98 FF 10 10 01 00 DB 0F D7 0F D4 0F DE 0F F0 0F 00 00 00 00 ]

EDIT: After the error messages above, the ftdi device associated with the Kobuki no longer shows up after an lsusb.

Here is some additional output from dmesg in case it means anything to anyone:

[ 1798.755034] ftdi_sio ttyUSB0: ftdi_set_termios FAILED to set databits/stopbits/parity
[ 1799.766442] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[ 1800.777800] usb 2-1: clear tt 1 (00c0) error -110
[ 1809.784380] ftdi_sio ttyUSB0: urb failed ...
(more)
2014-01-28 17:27:51 -0500 marked best answer Information about Turtlebot2

I'll be teaching a robotics course this spring using ROS and Turtlebots as the platform. I currently have several of the original Turtlebots and intend to order several more in the near future. I noticed today that the Turtlebot2 is now available for purchase. I'm trying to determine which version I should buy, and I'm having trouble finding very much information about the new release. I'm hoping that someone in the know can help me answer a few questions, or point me in the right direction.

-Is there currently support for the new Turtlebot in Fuerte?

-To what degree will code for the new Turtlebot be backward compatible with the old Turtlebot. Will the existing Turtlebot node still work with the new base? Or will there be a new stack?

-It looks like the new Turtlebot is designed to provide power to a laptop. What laptop(s) will be supported? I've been looking at the Acer Aspire One AO756-4854.

-Is the low-level interface to the Kobuki base compatible with the interface to the Create? Is there a published specification for the Kobuki interface?

2014-01-26 23:54:40 -0500 received badge  Famous Question (source)
2014-01-21 03:57:06 -0500 received badge  Notable Question (source)
2014-01-16 01:19:39 -0500 received badge  Popular Question (source)
2014-01-09 00:29:18 -0500 received badge  Commentator (source)
2014-01-09 00:29:18 -0500 commented question 3dsensor.launch doesn't work on hydro

The issue is discussed here: http://answers.ros.org/question/112391/nothing-published-to-scan-under-hydro/ . I've submitted an issue to the github repository here: https://github.com/turtlebot/turtlebot/issues/123

2014-01-08 07:11:02 -0500 asked a question Turtlebot gmapping demo crashes with low-end CPUs

Update:

It turns out that the problem has something to do with the instruction set available on the CPU. The exact same setup (booting from the same iso) works fine on a Core i7-3820, but dies on a Celeron 847. I suspect that the issue is similar to the Fuerte bug described here: https://github.com/ros-perception/perception_pcl/issues/10 . If anyone can suggest a workaround (that doesn't involve recompiling PCL across an entire teaching lab worth of machines), I would appreciate it.

Running the move_base node in gdb gives:

Program received signal SIGILL, Illegal instruction.
0x00007ffff35c9d3f in std::vector<double, std::allocator<double> >::_M_insert_aux(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double const&) () from /usr/lib/libpcl_common.so.1.7

And valgrind shows the following:

vex amd64->IR: unhandled instruction bytes: 0xC5 0xFB 0x10 0x2 0xC5 0xFB 0x11 0x0
==16678== valgrind: Unrecognised instruction at address 0x944fd3f.
==16678==    at 0x944FD3F: std::vector<double, std::allocator<double> >::_M_insert_aux(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double const&) (in /usr/lib/libpcl_common.so.1.7.0)
==16678==    by 0x1927C2AD: std::vector<double, std::allocator<double> >::push_back(double const&) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x1928B2B2: base_local_planner::TrajectoryPlannerROS::loadYVels(ros::NodeHandle) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x19289D89: base_local_planner::TrajectoryPlannerROS::initialize(std::string, tf::TransformListener*, costmap_2d::Costmap2DROS*) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x4F567DA: move_base::MoveBase::MoveBase(tf::TransformListener&) (in /opt/ros/hydro/lib/libmove_base.so)
==16678==    by 0x40780B: main (in /opt/ros/hydro/lib/move_base/move_base)
==16678== Your program just tried to execute an instruction that Valgrind
==16678== did not recognise.  There are two possible reasons for this.
==16678== 1. Your program has a bug and erroneously jumped to a non-code
==16678==    location.  If you are running Memcheck and you just saw a
==16678==    warning about a bad jump, it's probably your program's fault.
==16678== 2. The instruction is legitimate but Valgrind doesn't handle it,
==16678==    i.e. it's Valgrind's fault.  If you think this is the case or
==16678==    you are not sure, please let us know and we'll try to fix it.
==16678== Either way, Valgrind will now raise a SIGILL signal which will
==16678== probably kill your program.
==16678== 
==16678== Process terminating with default action of signal 4 (SIGILL)
==16678==  Illegal opcode at address 0x944FD3F
==16678==    at 0x944FD3F: std::vector<double, std::allocator<double> >::_M_insert_aux(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double const&) (in /usr/lib/libpcl_common.so.1.7.0)
==16678==    by 0x1927C2AD: std::vector<double, std::allocator<double> >::push_back(double const&) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x1928B2B2: base_local_planner::TrajectoryPlannerROS::loadYVels(ros::NodeHandle) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x19289D89: base_local_planner::TrajectoryPlannerROS::initialize(std::string, tf::TransformListener*, costmap_2d::Costmap2DROS*) (in /opt/ros/hydro/lib/libtrajectory_planner_ros.so)
==16678==    by 0x4F567DA: move_base::MoveBase::MoveBase(tf::TransformListener&) (in /opt/ros/hydro/lib/libmove_base.so)
==16678==    by 0x40780B: main (in /opt/ros ...
(more)
2014-01-06 05:50:00 -0500 answered a question turtlebot calibration no IR scan using Hydro

I would guess it's the same issue discussed here:

http://answers.ros.org/question/112391/nothing-published-to-scan-under-hydro/

Nothing is published to /scan (which is required for calibration) unless depth_registration is set to false. You might try:

roslaunch turtlebot_calibration calibrate.launch depth_registration:=false

I can't test it directly because I'm using Kobuki-based turtlebots.

2014-01-03 02:49:27 -0500 commented answer Nothing published to /scan under Hydro

https://github.com/turtlebot/turtlebot/issues/123

2014-01-03 02:35:23 -0500 received badge  Famous Question (source)
2014-01-02 09:22:48 -0500 marked best answer Nothing published to /scan under Hydro

After updating to Hydro, executing:

roslaunch turtlebot_bringup 3dsensor.launch

no longer seems to work correctly.

The expected topics appear, and it is possible to get some data off the Kinect: images and pointcloud data can be visualized in rviz. However, nothing is being published to the \scan topic.

Everything seems to work fine if I grab a copy of the Groovy version of 3dsensor.launch and launch that.

The issue is the same whether I use a Kinect or Asus Xtion.

Has anyone else had luck with 3dsensor.launch under Hydro?