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

Prof. xavier's profile - activity

2020-05-15 18:13:10 -0500 received badge  Famous Question (source)
2020-04-29 10:11:50 -0500 received badge  Notable Question (source)
2020-02-28 10:35:24 -0500 received badge  Famous Question (source)
2019-09-13 16:50:38 -0500 marked best answer working with stereo camera and rtabmap for 3d mapping

So I am using rtabmap and a ZED stereo for this project based o, 3D mapping. I have the following launch file, I tried to play with with it but no mapping :

<launch>

<arg name="rviz" default="false" />
   <arg name="rtabmapviz" default="true" />
   <arg name="local_bundle" default="true" />
   <arg name="stereo_sync" default="false" />

   <param name="use_sim_time" type="bool" value="True"/>

   <!-- Just to uncompress images for stereo_image_rect -->
   <node name="republish_left"  type="republish" pkg="image_transport" args="compressed in:=/left/image_raw_color out:=/stereo_camera/left/image_raw_throttle_relay" />
   <node name="republish_right" type="republish" pkg="image_transport" args="compressed in:=/right/image_raw_color raw out:=/stereo_camera/right/image_raw_throttle_relay" />

   <!-- Run the ROS package stereo_image_proc for image rectification -->

      <node pkg="stereo_image_proc" type="stereo_image_proc" name="stereo_image_proc">
         <remap from="left/image_raw_color"          to="/stereo_camera/left/image_raw_throttle_relay"/>
         <remap from="left/camera_info"              to="/stereo_camera/left/camera_info_throttle"/>
         <remap from="right/image_raw_color"         to="/stereo_camera/right/image_raw_throttle_relay"/>
         <remap from="right/camera_info"             to="/stereo_camera/right/camera_info_throttle"/>
         <param name="disparity_range"               value="128"/>
      </node>

      <node if="$(arg stereo_sync)" pkg="nodelet" type="nodelet" name="stereo_sync" args="standalone rtabmap_ros/stereo_sync">
      <remap from="left/image_rect_color"   to="left/image_rect_color"/>
      <remap from="right/image_rect_color"   to="right/image_rect"/>
      <remap from="left/camera_info"   to="left/camera_info_throttle"/>
      <remap from="right/camera_info"   to="right/camera_info_throttle"/>
    </node>


   <group ns="rtabmap">   

      <!-- Stereo Odometry -->   
      <node pkg="rtabmap_ros" type="stereo_odometry" name="stereo_odometry" output="screen">
         <remap from="left/image_rect"       to="/stereo_camera/left/image_rect"/>
         <remap from="right/image_rect"      to="/stereo_camera/right/image_rect"/>
         <remap from="left/camera_info"      to="/stereo_camera/left/camera_info_throttle"/>
         <remap from="right/camera_info"     to="/stereo_camera/right/camera_info_throttle"/>
         <remap from="rgbd_image_raw"        to="/stereo_camera/rgbd_image"/>
         <remap from="odom"                  to="/stereo_odometry"/>

         <param name="subscribe_rgbd"  type="bool" value="$(arg stereo_sync)"/>
         <param name="frame_id"        type="string" value="zed_camera_center"/>
         <param name="odom_frame_id"   type="string" value="odom"/>

         <param name="Odom/Strategy"      type="string" value="0"/> <!-- 0=Frame-to-Map, 1=Frame=to=Frame -->
         <param name="Vis/EstimationType" type="string" value="1"/> <!-- 0=3D->3D 1=3D->2D (PnP) -->
         <param name="Vis/MaxDepth"       type="string" value="0"/>
         <param name="Odom/GuessMotion" type="string" value="true"/>
         <param name="Vis/MinInliers"     type="string" value="10"/>
         <param unless="$(arg local_bundle)" name="OdomF2M/BundleAdjustment" type="string" value="0"/>
         <param name="OdomF2M/MaxSize"    type="string" value="1000"/> 
         <param name="GFTT/MinDistance"   type="string" value="10"/>
         <param name="GFTT/QualityLevel"  type="string" value="0.00001"/> 
         <param name="GFTT/QualityLevel"  type="string" value="0.00001"/>
      </node>

      <!-- Visual SLAM: args: "delete_db_on_start" and "udebug" -->
      <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="--delete_db_on_start">
         <param name="frame_id"         type="string" value="zed_camera_center"/>
         <param unless="$(arg stereo_sync)" name="subscribe_stereo" type="bool" value="true"/>
         <param name="subscribe_depth"  type="bool" value="false"/>
         <param name="subscribe_rgbd"      type="bool" value="$(arg stereo_sync)"/>

         <remap from="left/image_rect"   to="/stereo_camera/left/image_rect_color"/>
         <remap from="right/image_rect"  to="/stereo_camera/right/image_rect"/>
         <remap from="left/camera_info"  to="/stereo_camera/left/camera_info_throttle"/>
         <remap from="right/camera_info" to="/stereo_camera/right/camera_info_throttle"/>
         <remap from="rgbd_image_raw"        to="/stereo_camera/rgbd_image"/>

         <remap from="odom" to="/stereo_odometry"/>

         <param name="queue_size" type="int" value="30"/>
         <param name="map_negative_poses_ignored" type="bool" value="true"/>

         <!-- RTAB-Map's parameters -->
         <param name="Rtabmap/TimeThr"                   type="string" value="700"/>
         <param name="Grid/DepthDecimation"              type="string" value="4"/>
         <param name ...
(more)
2019-08-22 09:20:28 -0500 received badge  Famous Question (source)
2019-08-20 03:01:54 -0500 received badge  Notable Question (source)
2019-05-20 01:36:15 -0500 marked best answer ROSRUN can't find EXECUTABLE

Hello, I am using kinetic and I am trying to run a simple publisher and subscriber.

the cmakelists.xml has the following code.

cmake_minimum_required(VERSION 2.8.3)
project(mastering_ros_demo_pkg)

cmake_policy(SET CMP0046 OLD)

find_package(catkin REQUIRED COMPONENTS
  actionlib
  actionlib_msgs
  roscpp
  std_msgs
)


include_directories(
 include
  ${catkin_INCLUDE_DIRS}
)



add_executable(demo_topic_publisher src/demo_topic_publisher.cpp) 
add_executable(demo_topic_subscriber src/demo_topic_subscriber.cpp)


add_dependencies(demo_topic_publisher ${mastering_ros_demo_pkg}_gencfg)
add_dependencies(demo_topic_subscriber ${mastering_ros_demo_pkg}_gencfg)


target_link_libraries(demo_topic_publisher ${catkin_LIBRARIES}) 
target_link_libraries(demo_topic_subscriber ${catkin_LIBRARIES})

after running rosrun i get the following error :

[rosrun] Couldn't find executable named demo_topic_publisher below /home/xavier/catkin_ws/src/mastering_ros_demo_pkg

I did source the setup.bash after catkin_make but still the issue was not sovled.

Please help me out here.

2019-05-20 01:25:47 -0500 marked best answer How can I add mesh ?

I am a beginner, I am making a 4dof custom arm and I am not able to understand how to add mesh objects to the existing links and code for putting the links at right places with respect to meshes? how does it work? please explain? How can I find custom mesh objects for my arm, if someone has it please provide a link?

2019-05-20 01:15:37 -0500 marked best answer facing problems with launch file

I am a beginner, I am trying to launch a URDF file in rviz with the following code :

launch file code :

<launch>

<arg name="model" />


<param name="robot_description" textfile="$(find robot_description)/urdf/final_arm.urdf" />

<param name="use_gui" value="true"/>

<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />

<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find robot_description)/urdf.rviz" required="true" />

</launch>

urdf file code (final_arm.urdf) :

<?xml version="1.0"?>
<robot name="ARM">

<link name="base_link">
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <mesh filename="package://robot_description/meshes/base_link.dae"/>
        </geometry>
      </visual>

      <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
      </inertial>
</link>


     <joint name="base_joint" type="revolute">
       <parent link="base_link"/>
       <child link="shoulder_link"/>
       <origin xyz="0 0 0"/>
       <axis xyz="0 0 1" />
       <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
       <dynamics damping="50" friction="1"/>
     </joint>

<link name="shoulder_link">
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <mesh filename="package://robot_description/meshes/shoulder_link.dae"/>
        </geometry>
      </visual>
      <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0"izz="1.0"/>
      </inertial>
</link>


<joint name="shoulder_joint" type="revolute">
       <parent link="shoulder_link"/>
       <child link="elbo_link"/>
       <origin xyz="-0.385379 0.00451305 0.398126"/>
       <axis xyz="0 1 0" />
       <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
       <dynamics damping="50" friction="1"/>
     </joint>


<link name="elbo_link">
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <mesh filename="package://robot_description/meshes/elbo_link.dae"/>
        </geometry>
      </visual>
      <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0"izz="1.0"/>
      </inertial>
</link>


<joint name="elbo_joint" type="revolute">
       <parent link="elbo_link"/>
       <child link="wrist_link"/>
       <origin xyz="-0.692963 0.022576 0.569845"/>
       <axis xyz="0 1 0" />
       <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
       <dynamics damping="50" friction="1"/>
     </joint>



<link name="wrist_link">
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <mesh filename="package://robot_description/meshes/wrist_link.dae"/>
        </geometry>
      </visual>
      <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0"izz="1.0"/>
      </inertial>
</link>

<joint name="wrist_joint" type="revolute">
       <parent link="wrist_link"/>
       <child link="wrist2_link"/>
       <origin xyz="-0.580553 -0.720985 0.109695"/>
       <axis xyz="0 1 0" />
       <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
       <dynamics damping="50" friction="1"/>
  </joint>


<link name="wrist2_link">
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <mesh filename="package://robot_description/meshes/wrist2_link.dae"/>
        </geometry>
      </visual>
      <inertial>
      <mass value="1"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0"izz="1.0"/>
      </inertial>
</link>

<joint name="wrist2_joint" type="revolute">
       <parent link="wrist2_link"/>
       <child link="wrist3_link"/>
       <origin xyz="0 ...
(more)
2019-05-20 01:14:24 -0500 received badge  Famous Question (source)
2019-05-16 21:22:44 -0500 marked best answer How to use navigation stack for line following with opencv

Hello, I am trying understand what exactly is the use of navigation stack and how I can leverage navigation stack for Line following robot(AGV), I just want simple object avoidance with laser data and to follow a line with opencv camera.

2019-04-08 15:33:59 -0500 received badge  Taxonomist
2019-04-07 22:39:13 -0500 marked best answer How is the coordinate system working in URDF

I am a beginner and I can't seem to understand as I was going through some examples of URDF that how the Coordinate system is working here though, I am sure it's working normally but it's not making any sense to me. Below is an example.

<?xml version="1.0">
<robot name = "my_first">

 <link name="base_link">
  <visual>
    <geometry>
     <cylinder length = "0.01" radius="0.2"/>
      </geometry>
      <origin rpy = "0 0 0" xyz = "0 0 0"/>
      <material name = "yellow">
        <color rgba= "1 1 0 1"/>
      <material/>
     </visual>
    </link>

    <joint name = "pan_joint" type = "revolute">
     <parent link = "base_link"/> 
     <child link = "pan_link"/>
     <origin xyz = "0 0 0.1"/>
     <axis xyz = "0 0 1"/>
    <joint/>

   <link name = "pan_link">
    <visual>
     <geometry>
     <cylinder length = "0.4" radius = "0.04"/>
     <geometry/>
     <origin rpy = " 0 0 0" xyz = " 0 0 0.09"/>
      <material name="red"> 
        <color rgba="0 0 1 1"/> 
      <material/>
    <visual/>
   <link/>


    <joint name="tilt_joint" type="revolute">  
       <parent link="pan_link"/>  
        <child link="tilt_link"/>  
         <origin xyz="0 0 0.2"/>  
         <axis xyz="0 1 0" /> 
    </joint>


 <link name="tilt_link">    
   <visual>      
    <geometry> 
      <cylinder length="0.4" radius="0.04"/>   
    </geometry>     
 <origin rpy="0 1.5 0" xyz="0 0 0"/>
      <material name="green">
        <color rgba="1 0 0 1"/>
      </material>
    </visual>
  </link>
 </robot>

How are the Pan_link's and tilt's xyz is calculated ? Whats the differnce b/w origin rpy and xyz ? please help me out here

2019-04-07 22:37:48 -0500 marked best answer Rviz not displaying anything

I am a beginner. This is the URDF file code

<?xml version="1.0"?>
<robot name="pan_tilt">

  <link name="base_link">

    <visual>
      <geometry>
    <cylinder length="0.01" radius="0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <material name="yellow">
        <color rgba="1 1 0 1"/>
      </material>
    </visual>

    <collision>
      <geometry>
    <cylinder length="0.03" radius="0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </collision>
    <inertial>
    <mass value="1"/>
    <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
  </link>

  <joint name="pan_joint" type="revolute">
    <parent link="base_link"/>
    <child link="pan_link"/>
    <origin xyz="0 0 0.1"/>
    <axis xyz="0 0 1" />
    <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
    <dynamics damping="50" friction="1"/>
  </joint>

  <link name="pan_link">
    <visual>
      <geometry>
    <cylinder length="0.4" radius="0.04"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.09"/>
      <material name="red">
        <color rgba="0 0 1 1"/>
      </material>
    </visual>
    <collision>
      <geometry>
    <cylinder length="0.4" radius="0.06"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.09"/>
    </collision>
    <inertial>
    <mass value="1"/>
    <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
  </link>

  <joint name="tilt_joint" type="revolute">
    <parent link="pan_link"/>
    <child link="tilt_link"/>
    <origin xyz="0 0 0.2"/>
    <axis xyz="0 1 0" />
    <limit effort="300" velocity="0.1" lower="-4.64" upper="-1.5"/>
    <dynamics damping="50" friction="1"/>
  </joint>

  <link name="tilt_link">
    <visual>
      <geometry>
    <cylinder length="0.4" radius="0.04"/>
      </geometry>
      <origin rpy="0 1.5 0" xyz="0 0 0"/>
      <material name="green">
        <color rgba="1 0 0 1"/>
      </material>
    </visual>
    <collision>
      <geometry>
    <cylinder length="0.4" radius="0.06"/>
      </geometry>
      <origin rpy="0 1.5 0" xyz="0 0 0"/>
    </collision>
    <inertial>
    <mass value="1"/>
    <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>

  </link>


</robot>

Below is the launch file code

<launch>

    <arg name="model" />


        <param name="robot_description" command="$(find xacro)/xacro.py $(find mastering_ros_robot_description_pkg)/urdf/seven_dof_arm.xacro" />



        <param name="use_gui" value="true"/>


        <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />



        <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />



        <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mastering_ros_robot_description_pkg)/urdf.rviz" required="true" />

</launch>

When I launch the launch file, It launches the Rviz but it doesn't display the model in it. It's basically empty. What could I be doing wrong?

2019-04-07 22:33:28 -0500 marked best answer How to get real inverse kinematic locations WRT to end-effector.

Hey, beginner here

I am making a custom manipulator and I was wondering if there is a package or some sort of library I could use to find inverse kinematic locations of an object in the world with respect to the endeffector and base_link, please give list the sensors I will need and how to execute it, thanks for the help.

2019-04-03 23:40:25 -0500 received badge  Popular Question (source)
2019-03-31 06:03:36 -0500 received badge  Famous Question (source)
2019-02-22 06:39:50 -0500 received badge  Famous Question (source)
2019-02-22 06:39:50 -0500 received badge  Notable Question (source)
2019-02-09 06:06:14 -0500 received badge  Famous Question (source)
2019-02-08 11:21:35 -0500 received badge  Famous Question (source)
2019-01-29 17:38:17 -0500 received badge  Notable Question (source)
2019-01-14 10:26:59 -0500 received badge  Notable Question (source)
2019-01-14 05:46:51 -0500 commented question How to give camera calibration file to pylon_camera_node

yes, I have done the updating. And you were just right about the problem and it solved my first issue. Thank you for thi

2019-01-14 05:41:21 -0500 commented question How to give camera calibration file to pylon_camera_node

yes, I am done the updating. And you were just right about the problem and it solved my first issue. Thank you for this.

2019-01-14 05:40:13 -0500 edited question How to give camera calibration file to pylon_camera_node

How to give camera calibration file to pylon_camera_node I have been using pylon camera with ROS wrapper for Pylon camer

2019-01-14 05:14:44 -0500 commented answer How to give camera calibration file to pylon_camera_node

The question is updated with the latest progress, please help me with this.

2019-01-14 05:13:40 -0500 edited question How to give camera calibration file to pylon_camera_node

How to give camera calibration file to pylon_camera_node I have been using pylon camera with ROS wrapper for Pylon camer

2019-01-14 05:03:42 -0500 commented question How to give camera calibration file to pylon_camera_node

okay, I got my camera to calibrate, how do I connect this file to the launch file.

2019-01-14 04:36:26 -0500 commented question How to give camera calibration file to pylon_camera_node

Currently the camera is in a fixed setup, this is relevant because when chess board is kept under the camera, the board

2019-01-14 04:25:14 -0500 received badge  Popular Question (source)
2019-01-14 03:44:16 -0500 commented question How to give camera calibration file to pylon_camera_node

I tried to work with camera_calibration but the chess board does not calibrate, i mean the calibration node opens but no

2019-01-14 03:33:46 -0500 commented answer How to give camera calibration file to pylon_camera_node

I knew about this parameter but I couldn't figure out which file will I have to link to this parameter.

2019-01-14 02:43:49 -0500 asked a question How to give camera calibration file to pylon_camera_node

How to give camera calibration file to Pylone_camera_node I have been using pylon camera with ROS wrapper for Pylon came

2018-12-28 01:16:34 -0500 received badge  Notable Question (source)
2018-12-28 01:16:34 -0500 received badge  Famous Question (source)
2018-12-28 01:16:34 -0500 received badge  Popular Question (source)
2018-12-04 19:26:21 -0500 received badge  Notable Question (source)
2018-12-04 19:26:21 -0500 received badge  Famous Question (source)
2018-11-08 04:34:58 -0500 received badge  Famous Question (source)
2018-11-01 21:12:38 -0500 received badge  Popular Question (source)
2018-10-10 02:08:48 -0500 commented question Errors with OpenCV packages in Kinetic

Hey, did you find the solution for this issue, I am having the issue as well ?

2018-10-09 02:55:36 -0500 received badge  Popular Question (source)