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

TharushiDeSilva's profile - activity

2020-05-29 14:01:59 -0500 edited answer Is there any way to find how much of the space if free/occupied/unmpapped?

I am not sure if you want to evaluate your 2D navigation map or the 3D Octomap. But in either case you can write a node

2020-05-29 13:53:22 -0500 answered a question Is there any way to find how much of the space if free/occupied/unmpapped?

I am not sure if you want to evaluate your 2D navigation map or the 3D Octomap. But in either case you can write a node

2020-05-29 13:53:22 -0500 received badge  Rapid Responder (source)
2020-05-29 11:19:42 -0500 commented answer What is the input data for Octomap algorthim?

I used a Microsoft Kinect 360. It's a RGB-D camera

2019-11-04 08:26:10 -0500 received badge  Famous Question (source)
2019-08-22 04:14:15 -0500 received badge  Famous Question (source)
2019-07-08 23:36:06 -0500 commented question readData and writeData function for ColorOctree visualization is giving white color in RVIZ els

Have you tried visualizing your .ot file using octovis? If you can see your map in Octovis as expected, then you can ass

2019-07-07 23:12:02 -0500 commented question readData and writeData function for ColorOctree visualization is giving white color in RVIZ els

Did you try checking your subscribed topic in RViz? /octomap_full topic contains colors, while /octomap_binary topic dis

2019-06-20 05:17:21 -0500 answered a question What is the input data for Octomap algorthim?

I might be able to answer some of the questions you have. Octomap accepts sensor_msgs/PointCloud2 message type as its in

2019-06-20 05:17:21 -0500 received badge  Rapid Responder (source)
2019-06-20 04:51:35 -0500 answered a question Trouble installing ROS Melodic on Ubuntu Bionic 18.04 64-bit

I have faced the similar situation while trying to install ROS kinetic on embedded development boards. There were three

2019-05-28 01:20:47 -0500 marked best answer OcTree is Null after dynamic_cast from AbstractOcTree

Hi! I am trying to read an Octomap published by /octomap_full as octomap_msgs::Octomap type. My requirement is reading nodes of the octree and do further operations on the data. I have the following cpp function as explained in every documentation and source.

void octomap_callback(const octomap_msgs::Octomap::ConstPtr& msg){
   ROS_INFO("Octomap resolution: [%f]", msg->resolution); 
   AbstractOcTree* tree = octomap_msgs::msgToMap(*msg); 
   OcTree* octree = dynamic_cast<OcTree*>(tree);
   ROS_INFO("Resolution of octree: [%f]" , octree->getResolution()); 
}

The program is compiled normally without any warning. But when I run it I get the following result.

[ INFO] [1558769545.208112901]: Octomap resolution: [0.020000]
Segmentation fault (core dumped)

As I checked with the condition: if(octree){ }, the octree seem to be NULL.

What am I doing wrong here?

How can I dynamic_cast the AbstractOcTree to OcTree correctly?

Thanks in advance.

2019-05-27 21:53:00 -0500 received badge  Notable Question (source)
2019-05-27 04:00:28 -0500 commented answer OcTree is Null after dynamic_cast from AbstractOcTree

@Namal Senarathne, delete octree; gave me the same result. I declared the AbstractOctree, and Octree as global variab

2019-05-27 04:00:02 -0500 commented answer OcTree is Null after dynamic_cast from AbstractOcTree

@Namal Senarathne, delete octree; gave me the same result. I declared the AbstractOctree, and Octree as global variab

2019-05-27 03:59:47 -0500 commented answer OcTree is Null after dynamic_cast from AbstractOcTree

@Namal Senarathne, delete octree; gave me the same result. I declared the AbstractOctree, and Octree as global variab

2019-05-26 20:44:00 -0500 received badge  Popular Question (source)
2019-05-25 02:53:55 -0500 edited question OcTree is Null after dynamic_cast from AbstractOcTree

OcTree is Null after dynamic_cast from AbstractOcTree Hi! I am trying to read an Octomap published by /octomap_full as

2019-05-25 02:53:45 -0500 edited question OcTree is Null after dynamic_cast from AbstractOcTree

OcTree is empty after dynamic_cast from AbstractOcTree Hi! I am trying to read an Octomap published by /octomap_full as

2019-05-25 02:53:03 -0500 asked a question OcTree is Null after dynamic_cast from AbstractOcTree

OcTree is empty after dynamic_cast from AbstractOcTree Hi! I am trying to read an Octomap published by /octomap_full as

2019-04-08 01:31:01 -0500 commented answer How to detect objects using kinect sensor?

I have not directly used PCL. Since it's a very popular library, there should be a lot of tutorials, and examples availa

2019-04-08 00:01:29 -0500 commented answer How to detect objects using kinect sensor?

No. Those techniques are originally mapping techniques. They are popularly used in navigation stack to identify obstacle

2019-04-07 23:57:18 -0500 commented answer How to detect objects using kinect sensor?

No. Those techniques are originally mapping techniques. They are popularly used in navigation stack to identify obstacle

2019-04-07 23:56:19 -0500 commented answer How to detect objects using kinect sensor?

No. Those techniques are originally mapping techniques. They are commonly used in navigation stack to identify obstacles

2019-04-07 23:38:33 -0500 received badge  Teacher (source)
2019-04-07 23:07:13 -0500 edited answer How to detect objects using kinect sensor?

You can use the aid of a map to identify obstacles. since you have a 3D sensor, I can recommend octomap. Octomap is a 3D

2019-04-07 23:05:47 -0500 answered a question How to detect objects using kinect sensor?

You can use the aid of a map to identify obstacles. since you have a 3D sensor, I can recommend octomap. Octomap is a 3D

2019-04-07 22:38:01 -0500 commented question turtlesim node doesn't work

As I understand, you get the final error message because you have removed the turtlesim package from your workspace. If

2019-04-07 22:37:08 -0500 commented question turtlesim node doesn't work

As I understand, you get the final error message because you have removed the turtlesim package from your workspace. If

2019-04-07 00:23:14 -0500 edited answer freenect /camera/depth/points topic not published under a group namespace tag.

I figured out that qbot1/camera/depth/points topic is successfully published through freenect.launch launcher, but the o

2019-04-07 00:21:59 -0500 edited answer freenect /camera/depth/points topic not published under a group namespace tag.

I figured out that qbot1/camera/depth/points topic is successfully published through freenect.launch launcher, but the o

2019-04-06 19:02:13 -0500 marked best answer freenect /camera/depth/points topic not published under a group namespace tag.

Hi! I am currently running Octomap on my Qbot using ROS kinetic and Ubuntu 16.04. (My plan is to run ROS navigation stack using the built octomap and create a multi-robot system) Because of the multi-robot networking requirement I need to name my robots uniquely, and I tried doing this using both <include> and <group> tags. While my launch file works as expected without the namespace parameter, it does not give the expected result with the namespace. I generated rqt_graphs for my working and not working programs and figured out that /camera/depth/points topic is not published so that it can output into the octomap_server node.

This is my first launch file which works accurately.

    <launch>
        <!-- run kobuki base -->
        <include file="$(find kobuki_node)/launch/minimal.launch"/>

        <!-- tf config -->
        <include file="$(find multi_robot_exploration)/launch/tf_pub.launch" />

        <!-- run kinect -->
        <include file="$(find freenect_launch)/launch/freenect.launch"/>

        <!-- run octomap_server -->
        <include file="$(find octomap_server)/launch/octomap_mapping.launch"/>
</launch>

And here is the relevant rqt_graph (generated without running RViz) image description

This is my second launch file which I wrote by including the group tag and a namespace

     <launch>
    <group ns="qbot1">
        <!-- run kobuki base -->
        <include file="$(find kobuki_node)/launch/minimal.launch"/>

        <!-- tf config -->
        <include file="$(find multi_robot_exploration)/launch/tf_pub.launch" />

        <!-- run kinect -->
        <include file="$(find freenect_launch)/launch/freenect.launch"/>

        <!-- run octomap_server -->
        <include file="$(find octomap_server)/launch/octomap_mapping.launch"/>
    </group>
</launch>

And this is the relevant rqt_graph image description

It looks like the /camera/depth/points topic is not available in the second setting, and hence it cannot publish to octomap_server. But it is available when I launch the file without <group> tag. Does anybody know what I am doing wrong here?

Note: I use the standard ROS packages for Octomap, kobuki_node, and freenect drivers. I have located all of them within my working directory and sourced them. I have tried adding namespace variable as different include tags also.

2019-04-05 06:18:06 -0500 commented answer Adding a namespace to robot frames

@janindu, @Reamees, Thank you both for the tips. I should try those things in the future.

2019-04-05 06:14:23 -0500 marked best answer Adding a namespace to robot frames

I am running multiple qbots in a multi-master network, and I have been able to successfully run individual robot topics under a given namespace. (eg: qbot1/mobile_base/commands/ .... , qbot2/mobile_base/commands/... etc). But my robots still run under the default frame names defined by the system, so every robot has the same frame names. For example, this is my TF tree for qbot0:

image description

My expectation is to remap these frames as,

    odom  -> qbot0/odom
    base_footprint -> qbot0/base_footprint 
    camera_link -> qbot0/camera_link
    base_link -> qbot0/base_link   etc.

So that, when I run two robots in the system, I can visualize two separate trees. (one tree per robot) I use the following launch file with the standard kobuki, and freenect drivers.

<launch>
<group ns="qbot0">
    <!-- run kobuki base -->
    <include file="$(find kobuki_node)/launch/minimal.launch"/>

    <!-- tf config -->
    <param name="tf_prefix" value="qbot0" />
    <node pkg="tf" type="static_transform_publisher" name="camera_to_base" args="0 0 0.1 0 0.0 0 base_footprint camera_link 100"/>
    <node pkg="tf" type="static_transform_publisher" name="robot_state_publisher" args="0 0 0 0 0.0 0 base_footprint base_link 100"/>

    <!-- run kinect -->
    <include file="$(find freenect_launch)/launch/freenect.launch" />
</group>
</launch>

I get the following results when I run tf_monitor command.

Frames:
Frame: /camera_depth_frame published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: /camera_depth_optical_frame published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: /camera_rgb_frame published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: /camera_rgb_optical_frame published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: base_footprint published by unknown_publisher Average Delay: 0.000201064 Max Delay: 0.00149896
Frame: base_link published by unknown_publisher Average Delay: -0.0998057 Max Delay: 0
Frame: camera_link published by unknown_publisher Average Delay: -0.0998314 Max Delay: 0

I have no luck with the tf_prefix parameter. I wish to know a few thing if you are familiar with libraries like freenect and tf.

  1. What am I doing wrong with the tf_prefix parameter?
  2. Is there a way to debug the TF in more advanced manner s.t. I can find by whom the frames are actually being published?
  3. How can I accurately add the prefix in front of all the robot frames?
2019-04-05 00:27:16 -0500 received badge  Famous Question (source)
2019-04-05 00:27:04 -0500 received badge  Famous Question (source)
2019-04-04 23:56:36 -0500 commented answer Adding a namespace to robot frames

The reason for this issue was; apart from installing the packages from the source, I had also installed them using comma

2019-04-03 01:20:21 -0500 commented answer Adding a namespace to robot frames

Yes. I think my program is loading data via the sources in the /opt/ros/kinetic/share directory. They have all the old a

2019-04-03 01:19:17 -0500 received badge  Commentator
2019-04-03 01:19:17 -0500 commented answer Adding a namespace to robot frames

Yes. I think my program is loading data via the sources in the /opt/ros/kinetic/share directory. I have all the required