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

arenillas's profile - activity

2023-04-12 08:24:00 -0500 marked best answer pcl_ros in CMakeLists.txt

I want to work with pcl_ros in a package but I don't know how to include it in the CMakeLists.txt file. I tried to use:

find_package(catkin REQUIRED
    roscpp
    sensor_msgs
    pcl_ros
)

Unfortunately it is not working. I get an error when compiling.

I am using ROS Hydro (catkin system) but the perception package (pcl_ros) was downloaded manually and is inside my workspace.

I would appreciate if you can help me.

[EDIT]

CMake Error at /home/summitxl/catkin_ws/build/Compilados/pcl_msgs-hydro-devel/cmake/pcl_msgs-genmsg.cmake:53 (add_custom_target):
  add_custom_target cannot create target "pcl_msgs_generate_messages_cpp"
  because another target with the same name already exists.  The existing
  target is a custom target created in source directory
  "/home/summitxl/catkin_ws/src/pcl2_to_scan".  See documentation for policy
  CMP0002 for more details.
Call Stack (most recent call first):
  /home/summitxl/ros_catkin_ws/install_isolated/share/genmsg/cmake/genmsg-extras.cmake:299 (include)
  Compilados/pcl_msgs-hydro-devel/CMakeLists.txt:14 (generate_messages)    

CMake Error at /home/summitxl/catkin_ws/build/Compilados/pcl_msgs-hydro-devel/cmake/pcl_msgs-genmsg.cmake:100 (add_custom_target):
  add_custom_target cannot create target "pcl_msgs_generate_messages_lisp"
  because another target with the same name already exists.  The existing
  target is a custom target created in source directory
  "/home/summitxl/catkin_ws/src/pcl2_to_scan".  See documentation for policy
  CMP0002 for more details.
Call Stack (most recent call first):
  /home/summitxl/ros_catkin_ws/install_isolated/share/genmsg/cmake/genmsg-extras.cmake:299 (include)
  Compilados/pcl_msgs-hydro-devel/CMakeLists.txt:14 (generate_messages)


CMake Error at /home/summitxl/catkin_ws/build/Compilados/pcl_msgs-hydro-devel/cmake/pcl_msgs-genmsg.cmake:147 (add_custom_target):
  add_custom_target cannot create target "pcl_msgs_generate_messages_py"
  because another target with the same name already exists.  The existing
  target is a custom target created in source directory
  "/home/summitxl/catkin_ws/src/pcl2_to_scan".  See documentation for policy
  CMP0002 for more details.
Call Stack (most recent call first):
  /home/summitxl/ros_catkin_ws/install_isolated/share/genmsg/cmake/genmsg-extras.cmake:299 (include)
  Compilados/pcl_msgs-hydro-devel/CMakeLists.txt:14 (generate_messages)

CMake Error at /home/summitxl/ros_catkin_ws/install_isolated/share/dynamic_reconfigure/cmake/extras.cmake:60 (add_custom_target):
  add_custom_target cannot create target "pcl_ros_gencfg" because another
  target with the same name already exists.  The existing target is a custom
  target created in source directory
  "/home/summitxl/catkin_ws/src/pcl2_to_scan".  See documentation for policy
  CMP0002 for more details.
Call Stack (most recent call first):
  perception_pcl-hydro-devel/pcl_ros/CMakeLists.txt:43 (generate_dynamic_reconfigure_options)

CMake Warning at navigation-hydro-devel/costmap_2d/CMakeLists.txt:143 (find_package):
  By not providing "Findgtest.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "gtest", but
  CMake did not find one.

  Could not find a package configuration file provided by "gtest" with any of
  the following names:

    gtestConfig.cmake
    gtest-config.cmake

  Add the installation prefix of "gtest" to CMAKE_PREFIX_PATH or set
  "gtest_DIR" to a directory containing one of the above files.  If "gtest"
  provides a separate development package or SDK, be sure it has been
  installed.
2022-05-15 19:59:11 -0500 received badge  Famous Question (source)
2020-12-25 07:55:46 -0500 marked best answer PointCloud2 access data

I have a PointCloud2 topic and I need to access the x, y and z of the points. I have found: pcl::PointCloud<pcl::pointxyzrgb>::ConstPtr

The problem is that I don't know how to use it.

Do you know where can I find some example code describing how to get coordinates in PCL2?

[EDIT]

Now, I am using this code but it is not working properly

void pcl2_to_scan::callback(const sensor_msgs::PointCloud2ConstPtr &pPCL2)
{
        for (uint j=0; j < pPCL2->height * pPCL2->width; j++){
            float x = pPCL2->data[j * pPCL2->point_step + pPCL2->fields[0].offset];
            float y = pPCL2->data[j * pPCL2->point_step + pPCL2->fields[1].offset];
            float z = pPCL2->data[j * pPCL2->point_step + pPCL2->fields[2].offset];
            // Some other operations
       }
}

Thank you.

2018-02-27 15:44:54 -0500 received badge  Nice Question (source)
2017-07-13 10:08:03 -0500 received badge  Famous Question (source)
2017-01-09 19:18:10 -0500 received badge  Notable Question (source)
2016-07-12 10:33:58 -0500 received badge  Notable Question (source)
2016-05-18 07:28:51 -0500 received badge  Famous Question (source)
2016-05-08 15:49:06 -0500 marked best answer Obstacle insertion in map

I have a sensor to detect obstacles that are not visible. I want my robot to avoid them because they are dangerous despite not being visible.

I have a path planning working with my laser sensor. So, I imagine that the best way of avoiding this potentially harmful points is by introducing them in the obstacle map.

Is it possible? How can I do it and prevent the laser clearing them in the map?

Thank you

EDIT:

I am using navigation package with my TOF camera to implement an AMCL and a path planning. The problem I have is that I need to add invisible obstacles (they are recognised by a radio frequency system). My path planning is working properly right now, but I need to introduce more information in the map.

2016-05-08 15:27:47 -0500 marked best answer Process images

I don't know much about computer vision but what I have to do is pretty simple (At least, it is what I was told).

I want to identify red color on the image, and I have read that the first step is to process the image (before the thresholding) but I don't know which filters or operations are usually made. I have already done the cv_bridge transformation to OpenCV format and the threlholding.

Does anyone know anything about it? Thank you

2016-04-06 07:00:03 -0500 marked best answer Build packages with more than one .cpp

I have received some packages from Fuerte which I need to compile in Hydro with catkin. Each package has more than one source file .cpp

In rosbuild, there was:

rosbuild_add_executable([file1])

rosbuild_add_executable([file2])

In catkin I did the same but with add_executable

The problem is that if I add both files (with different names of executables of course) the program doesn't compile If I omit one of them, everything works properly, but I need both. I don't know if the solution is to create two packages or I need to add anything to CMakeLists.txt

    cmake_minimum_required(VERSION 2.8.3)
    project(test_imu)

    ## Find catkin macros and libraries
    ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
    ## is used, also find other catkin packages
    find_package(catkin REQUIRED COMPONENTS
        message_generation
        nav_msgs 
        robotnik_msgs
        roscpp 
        sensor_msgs 
        geometry_msgs
        )

    ## System dependencies are found with CMake's conventions
    # find_package(Boost REQUIRED COMPONENTS system)
    find_package(MRPT REQUIRED 
        gui
        slam
        )
    find_package(gazebo REQUIRED)
    include_directories(include ${catkin_INCLUDE_DIRS} ${GAZEBO_INCLUDE_DIRS} ${SDFormat_INCLUDE_DIRS})
    include_directories("/home/summitxl/catkin_ws/src/Ensayos/test_imu/include")


    ## Uncomment this if the package has a setup.py. This macro ensures
    ## modules and global scripts declared therein get installed
    ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
    # catkin_python_setup()

    ################################################
    ## Declare ROS messages, services and actions ##
    ################################################

    ## To declare and build messages, services or actions from within this
    ## package, follow these steps:
    ## * Let MSG_DEP_SET be the set of packages whose message types you use in
    ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
    ## * In the file package.xml:
    ##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
    ##   * If MSG_DEP_SET isn't empty the following dependencies might have been
    ##     pulled in transitively but can be declared for certainty nonetheless:
    ##     * add a build_depend tag for "message_generation"
    ##     * add a run_depend tag for "message_runtime"
    ## * In this file (CMakeLists.txt):
    ##   * add "message_generation" and every package in MSG_DEP_SET to
    ##     find_package(catkin REQUIRED COMPONENTS ...)
    ##   * add "message_runtime" and every package in MSG_DEP_SET to
    ##     catkin_package(CATKIN_DEPENDS ...)
    ##   * uncomment the add_*_files sections below as needed
    ##     and list every .msg/.srv/.action file to be processed
    ##   * uncomment the generate_messages entry below
    ##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)

    ## Generate messages in the 'msg' folder
    # add_message_files(
    #   FILES
    #   Message1.msg
    #   Message2.msg
    # )
## Generate services in the 'srv' folder
# add_service_files(
#   FILES
#   Service1.srv
#   Service2.srv
# )

## Generate actions in the 'action' folder
# add_action_files(
#   FILES
#   Action1.action
#   Action2.action
# )

## Generate added messages and services with any dependencies listed here
# generate_messages(
#   DEPENDENCIES
#   std_msgs  # Or other packages containing msgs
# )

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES test_imu
#  CATKIN_DEPENDS other_catkin_pkg
   DEPENDS gazebo_ros
)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations

## Declare a cpp library
# add_library(test_imu
#   src/${PROJECT_NAME}/test_imu.cpp
# )

## Declare ...
(more)
2016-03-21 22:53:06 -0500 received badge  Famous Question (source)
2016-03-07 16:11:18 -0500 received badge  Nice Question (source)
2016-03-07 16:11:15 -0500 marked best answer Which is each frame?

I have a frame tree in which I have /odom and /map frames.

My EKF publishes in /odom frame. My AMCL algorithm (I think) creates a transformation between /odom and /map frames.

Gazebo gives me the modelStates positions. The problem is that it doesn't specify a frame. By default, it is set to be world_frame. I want to check how good is my AMCL. Because of that I think I should transform my /odom position given by EKF to /map frame and there compare it to gazebo's measurements. However, I don't know where Gazebo is referencing the position.

[QUESTION UPDATE] I have two issues that are explined below:

1) Without any AMCL (and without having /map frame in the tree) I used the Gazebo ModelStates topic to check the EKF result assuming that both were published in /odom frame. Was it Ok?

2) Now I have an AMCL running and because of it /map frame appears in the tree. I want to check how good is my AMCL algorithm comparing the pose shown in /amcl_pose (which is in /map frame) with /gazebo/ModelStates topic. How can I do that? I don't know which frame does gazebo use to reference the data in topic ModelStates. Thank you very much

2015-11-04 17:56:27 -0500 marked best answer Topic reading inside a callback

[EDIT]

I have changed my question because I think what I am trying to do is bit different from what was explained here before.

I have a Callback and I need to read a different topic inside this callback. I don't know if it is possible, but I have to ensure that some part of the code is only executed if the other topic has a particular value.

Any case, I don't know if I can read a topic or execute a particular Callback while I am just executing one callback

Thank you.

2015-11-02 01:41:41 -0500 marked best answer Migration from Fuerte to Hydro

I am working on some code that I haven't made. The thing is that I have to work in Hydro and this code was made for Fuerte.

I tried to catkinize the packages changing the manifest.xml and CMakeLists.txt I don't know if it is needed to change anything else but when I try to make the package I get an error.

CMakeFiles/LLtoUTMsNode.dir/src/LLtoUTMsNode.cpp.o: In function `ros::serialization::Stream::advance(unsigned int)':
/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: undefined reference to ros::serialization::throwStreamOverrun()'
/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: undefined reference to `ros::serialization::throwStreamOverrun()'
/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: undefined reference to `ros::serialization::throwStreamOverrun()'
/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: undefined reference to `ros::serialization::throwStreamOverrun()'
/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: undefined reference to `ros::serialization::throwStreamOverrun()'
CMakeFiles/LLtoUTMsNode.dir/src/LLtoUTMsNode.cpp.o:/home/summitxl/ros_catkin_ws/install_isolated/include/ros/serialization.h:721: more undefined references to `ros::serialization::throwStreamOverrun()' follow
collect2: error: ld returned 1 exit status

make[2]: *** [/home/summitxl/catkin_ws/devel/lib/test_GPS/LLtoUTMsNode] Error 1

make[1]: *** [Ensayos/test_GPS/CMakeFiles/LLtoUTMsNode.dir/all] Error 2

make[1]: *** Waiting for unfinished jobs....
2015-10-01 09:55:47 -0500 received badge  Famous Question (source)
2015-09-25 08:20:32 -0500 received badge  Favorite Question (source)
2015-09-22 15:56:14 -0500 received badge  Notable Question (source)
2015-07-01 23:29:58 -0500 received badge  Popular Question (source)
2015-06-17 08:07:36 -0500 marked best answer robot_localization

I've seen the package has changed a lot since I used it the last time.

I have a doubt: Is it correct the structure shown in the picture (with two map frames)?

image description

2015-06-16 09:58:43 -0500 received badge  Famous Question (source)
2015-05-05 07:07:06 -0500 received badge  Famous Question (source)
2015-04-28 21:13:06 -0500 received badge  Popular Question (source)
2015-04-13 23:44:58 -0500 received badge  Notable Question (source)
2015-04-12 15:53:50 -0500 received badge  Popular Question (source)
2015-04-12 15:53:50 -0500 received badge  Famous Question (source)
2015-04-12 15:53:50 -0500 received badge  Notable Question (source)
2015-03-30 08:12:26 -0500 received badge  Popular Question (source)
2015-03-30 03:32:09 -0500 received badge  Famous Question (source)
2015-03-25 10:36:59 -0500 received badge  Famous Question (source)
2015-03-20 09:16:34 -0500 received badge  Notable Question (source)
2015-03-12 08:48:28 -0500 commented answer robot_localization gravity removal

It is positive, because it has the Z axis going down. I am using this driver: http://wiki.ros.org/microstrain_3dmgx...

2015-03-12 08:46:32 -0500 received badge  Notable Question (source)
2015-03-10 19:50:51 -0500 received badge  Popular Question (source)
2015-03-10 17:50:41 -0500 commented answer robot_localization gravity removal

I am using 3DM-GX3-5 OEM, which is supported in ROS (It has its own drivers). I think the problem is that the magnetometer is not well calibrated becasuse: 1. The gravity is completely removed in X axis. 2. In the EKF output, the Vy increases continously

2015-03-10 10:04:12 -0500 asked a question robot_localization gravity removal

I am using the last version of robot_localization.

I have a 3DM-GX3-5 OEM IMU sensor in my robot. I want to remove the effect of gravity in the EKF.

I have set the parameter in the launchfile so to do that. However, my results are not good because (I suppose) the EKF thinks there is some acceleration in Y axis.

I don't know exactcly how does it work, but I can imagine that the filter use the orientation given by the IMU topic to remove the acceleration due to gravity in the 3 axis. If I am right, the problem might be in the orientation calibration.

Any idea of what can be happening?

2015-03-04 21:07:34 -0500 received badge  Notable Question (source)
2015-03-04 10:58:49 -0500 commented question Wrong turn with move_base

I can post my configuration file if you want

2015-03-04 07:58:58 -0500 asked a question Wrong turn with move_base

Hi

I have an autonomous robot using move_base package. When it is moving everything is OK but when it receives a new goal, the initial turn that it makes in place is wrong. It chooses the side that has the biggest angle.

[EDIT] I am using the default planner en move_base package. (not dwa)

Thank you