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

Moataz Elmasry's profile - activity

2021-05-17 22:11:54 -0500 received badge  Good Answer (source)
2018-07-31 04:16:30 -0500 received badge  Famous Question (source)
2017-03-17 11:23:33 -0500 received badge  Famous Question (source)
2017-03-17 11:23:33 -0500 received badge  Popular Question (source)
2017-03-17 11:23:33 -0500 received badge  Notable Question (source)
2014-01-28 17:25:34 -0500 marked best answer doubts about interpreting x,y,z from kinect

Hello everyone

I'm implementing a stair detection algorithm using kinect. My understanding is that in ros and openni the y and z of 3D points are reversed. so point.y indicates depth, and point.z indicates depth, while (0,0,1) is the normal to the ground plane

Now when I'm running plane/stair detection on some sample stairs, I have the feeling this is not the case, for example:

`Standing down and looking upstairs:
where Normal (x,y,z) is the angle between plane normal and (1,0,0), (0,0,1), (0,1,0), and center means the center point of the plane

Normal (x,y,z) to plane=8=(85.9741,5.20184,86.7113), center=(-486.011,110.283,1775.32, is vertical
Normal (x,y,z) to plane=17=(86.2233,6.65427,84.5293), center=(97.3194,177.953,1440.98, is vertical
Normal (x,y,z) to plane=21=(87.3236,16.1993,74.0353), center=(54.2511,277.825,1146.79, is vertical
Normal (x,y,z) to plane=22=(90.2841,87.4952,2.52085), center=(-26.3924,329.484,929.445, is horizontal
Normal (x,y,z) to plane=24=(87.1528,12.2501,78.0953), center=(-31.5048,393.672,855.474, is vertical
Normal (x,y,z) to plane=25=(89.4157,90.5968,179.165), center=(-21.418,422.656,675.315, is horizontal

since points are scanned from top left to bottom right, so planes with smaller id´s are scanned first, i.e. in the upper case they are the higher further plane.

Now for the case standing up the stairs and looking downwards, here are my planes:

Normal (x,y,z) to plane=67=(90.5932,89.6205,179.296), center=(-223.516,950.897,2188.82, is horizontal
Normal (x,y,z) to plane=85=(90.4772,93.7257,176.244), center=(70.3257,842.521,1605.57, is horizontal
Normal (x,y,z) to plane=86=(90.4431,94.3491,175.628), center=(32.0055,743.043,1304.14, is horizontal
Normal (x,y,z) to plane=88=(90.4187,78.5517,168.544), center=(20.4919,639.753,996.574, is horizontal
Normal (x,y,z) to plane=90=(90.0278,110.79,20.7901), center=(-1.77436,540.584,736.258

Again small plane id means further (but lower planes in this case) As you can see, the 3rd component of the center (z) starts large and goes smaller in both cases, while the (y) component in the first case is small and goes larger and vice versa in second case, so this tells me that this coordinate system is just a standard coordinate system with y indicates height and z indicates depth one more tip, calculating angle between plane normal and (0,0,1) yields almost 90 degrees for horizontal planes and 0 or 180 degrees for vertical planes, while using the normal (0,1,0) as ... (more)

2014-01-28 17:23:16 -0500 marked best answer exclude dependancy while using rosdoc

Hello everyone

I have a ros stack, which I like to generate its documentation using rosdoc. but then it generates documentation for alot of other ros packages. I'd like to generate documentation only for my packages I'm aware of the exclude attribute for the rosdoc configuration, but it excludes a pattern, and I want to exclude dependancy Any ideas? thnx

2014-01-28 17:22:37 -0500 marked best answer cannot install neither electric nor unstable

Hello list

I use ubuntu 10.04(lucid) 64 bit. I have been using diamondback for a while with no problems Due to some new code I need, which does not exist on diamondback, I tried to upgrade to unstable, so I removed all the diamondback stacks using synaptic and installed unstable one day after, ubuntu reported a partial upgrade regarding the ros unstable stacks. After that partial upgrade, some packages have been removed and could not be installed. I get the error msg: "error dependancy ros-unstable-opencv, but it cannot be installed" Among these packages are: ros-unstable-opencv ros-unstable-image-pipeline ros-unstable-simulator Same problem happens with ros-electric I had to revert back to diamondback Anyone else having problems installing either electric or unstable short ago?

Best regards

2014-01-28 17:22:37 -0500 marked best answer openni kinect gazebo no depth data

Hello

I'm trying to use the simulated kinect in gazebo, I just copy pasted the gazebo kinect snippet used in turtlebot and adapted it to my needs. the topic /camera/image_raw is publishing and I can see the image in rviz On the other hand no point cloud is being published on /camera/depth/points, The topic has been started, just no data are published on it. Any ideas? Regards, Moataz

2014-01-28 17:21:51 -0500 marked best answer Warn: gazebo ApplyBodyWrench: reference frame not implemented yet

Hello List

I'm a newbie to Gazebo and have been experimenting with it for the last couple of days. So now I have a small problem, I wrote a simple 4 wheels robot (attached to this email) which spawns perfectly in gazebo. Now whenever I apply a body wrench, I get the following warning in Gazebo "[ WARN] [1299848525.581625793, 11872.099000000]: ApplyBodyWrench: reference frame and reference_point not implemented yet, force is defined and applied at the body frame"

rosservice call gazebo/apply_body_wrench '{body_name: "car::left_front_wheel" , wrench: { force: { x: 0.1, y: 0, z: 0 } , torque: { x: 0.0, y: 0 , z: 0 } }, start_time: 10000000000, duration: 1000000000 }'

The car moves actually the way I want, but it I'd understande from that warning that the force is applied to the base_link and not to the wheel the way I want. Or did I miss something?

Thanks alot for the help Best regards Moataz

wheels_robot4.urdf

<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from wheels_robot4.xacro            | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="wheels_robot" xmlns:body="http://playerstage.sourceforge.net/gazebo/xmlschema/#body" xmlns:geom="http://playerstage.sourceforge.net/gazebo/xmlschema/#geom" xmlns:joint="http://playerstage.sourceforge.net/gazebo/xmlschema/#joint" xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/#model" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:visual="http://playerstage.sourceforge.net/gazebo/xmlschema/#visual" xmlns:xacro="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface">
  <link name="base_link">
    <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
    <visual>
      <geometry>
        <box size="1 0.6 0.1"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <box size="1 0.6 0.1"/>
      </geometry>
    </collision>
  </link>
  <link name="left_front_wheel">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
      <material name="Cyan1">
        <color rgba="0 1 1 1.0"/>
      </material>
    </visual>
    <collision>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
  </link>
  <link name="right_front_wheel">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
      <material name="Cyan1">
        <color rgba="0 1 1 1.0"/>
      </material>
    </visual>
    <collision>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
  </link>
  <link name="left_back_wheel">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
      <material name="Cyan1">
        <color rgba="0 1 1 1.0"/>
      </material>
    </visual>
    <collision>
      <geometry>
        <cylinder length="0.11" radius="0.096"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0 ...
(more)
2013-09-10 06:39:04 -0500 received badge  Taxonomist
2013-01-29 23:07:29 -0500 commented question ONI to BAG and BAG to ONI

great question. I was just thinking about writing one myself :)

2013-01-13 21:58:28 -0500 received badge  Notable Question (source)
2012-12-21 17:15:06 -0500 received badge  Nice Answer (source)
2012-11-23 01:40:45 -0500 received badge  Popular Question (source)
2012-11-06 03:53:42 -0500 received badge  Critic (source)
2012-11-06 00:14:45 -0500 asked a question ros fuerte rosdoc does not generate index.html

Hello everyone

I had a system running with multiple own ros packages using electric on ubuntu 10.04 I upgraded to ros fuerte and ubuntu 12.04 Now I have the problem when I run the command

rosrun rosdoc rosdoc camera1394 vision_msgs

which are own packages, then I get a bunch of warnings, but no errors, and inside the "doc" folder the two packages documentation are generated, but the main "index.html" is missing

The log can be found here which contains a bunch of warnings about missing paths, but the the point is, even with missing paths, they are still warnings, and this shouldn't affect the generation of main index.html, right?

Edit1

Another interesting example is a project that uses actionlib package(defined int the manifest), and rosdoc is throwing the warning

warning: tag INCLUDE_PATH: include path `/opt/ros/fuerte/share/actionlib/include' does not exist

warning: source /opt/ros/fuerte/share/actionlib/include is not a readable file or directory... skipping.

this path is defined inside the local CMakeFiles, but in fuerte, the path

/opt/ros/fuerte/share/actionlib

exists while its /include directory is in

/opt/ros/fuerte/include/actionlib

Is that a bug?

2012-10-18 01:56:44 -0500 edited answer doubts about interpreting x,y,z from kinect

So it looks like that the problem has been solved (at least for now) Many thanks to Martin Günther I have been working with pcd files extracted from kinect. Either if pcds are recorded from the rgb or depth frame, this understanding apply (rgb and depth keywords are interchangable)

Points are represented under the frame /openni_rgb_optical_frame, which is a child of openni_rgb_frame

  1. The axis for /openni_rgb_optical_frame are: x-right, y-downwards, z-forward
  2. The axis for /openni_rgb_frame are: x-forward, y-left, z-upward ("standard understanding of coordinates in ros")

This can be seen clearly in /tf topic under rviz

now considering the transformation between the two frames through "rostopic echo /tf", one can see that there's a rotation between the two frames with the following values: x: -0.499999841466 y: 0.499601836645 z: -0.499999841466 w: 0.500398163355

so we need to rotate the point cloud in the opoosite direction of these values. something like that

Quaternion<float> q;
q = Quaternion<float> (-0.500398163355, 0.499999841466, -0.499601836645, 0.499999841466);
pcl::transformPointCloud (tmpCloud, source, Eigen::Vector3f (0, 0, 0), q);

That's it, now it looks like the coordinates are again in the standard ros coordinate system

2012-10-18 01:32:51 -0500 received badge  Notable Question (source)
2012-10-18 01:32:51 -0500 received badge  Famous Question (source)
2012-10-18 01:32:51 -0500 received badge  Popular Question (source)
2012-10-18 01:32:23 -0500 received badge  Famous Question (source)
2012-09-25 10:58:48 -0500 received badge  Notable Question (source)
2012-09-24 10:51:04 -0500 received badge  Popular Question (source)
2012-09-22 00:24:53 -0500 received badge  Notable Question (source)
2012-09-22 00:24:53 -0500 received badge  Famous Question (source)
2012-09-20 07:30:03 -0500 asked a question find transformation rgbdslam

Hello

I managed to get rgbdslam up and running under ros electric and ubuntu 10.04

I'd like to know the transformation between two frames using rgbdslam. the topics being published are of type PointCloud2 and markers. Is this possible?

Many thanks

2012-09-05 03:05:39 -0500 commented answer boost version for node with external class

This sounds dangerous and unstable. I'd try to really solve the problem and not just patch it. this code might also be not portable

2012-08-26 22:16:28 -0500 received badge  Notable Question (source)
2012-08-26 22:16:28 -0500 received badge  Famous Question (source)
2012-08-15 07:11:14 -0500 received badge  Famous Question (source)
2012-08-13 05:18:08 -0500 received badge  Notable Question (source)
2012-07-08 17:40:16 -0500 received badge  Self-Learner (source)