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

Mikhail K.'s profile - activity

2021-12-08 21:17:25 -0500 commented question Cannot build a package

@luna-wu exactly, these are just variables you set prior to the compilation, they should not output anything. However, I

2021-12-08 21:16:06 -0500 commented question Cannot build a package

@luna-wu exactly, these are just variables you set prior to the compilation, they should not output anything

2021-12-08 21:00:03 -0500 commented question Cannot build a package

@luna these are the environment variables pointing at the current C and C++ compiler accordingly. You type them right in

2020-02-04 10:38:54 -0500 received badge  Famous Question (source)
2020-02-04 10:38:54 -0500 received badge  Notable Question (source)
2019-07-09 19:39:44 -0500 received badge  Nice Question (source)
2018-12-15 11:44:41 -0500 received badge  Famous Question (source)
2018-10-03 12:17:58 -0500 received badge  Popular Question (source)
2018-08-25 20:44:07 -0500 received badge  Famous Question (source)
2018-08-09 23:14:02 -0500 marked best answer Custom filter (box) for pointclouds

I need to cut out a box (basically reimplement pcl::CropBox link), but with the following code and the pcl::CropBox itself I do not see any difference between the source and the output clouds. Am I doing something wrong? I'm sure that there should be points within the specified min and max box boundaries.

auto const min = Eigen::Vector4f(-0.05702, -0.004205, 4.226287, 1.0);
auto const max = Eigen::Vector4f(0.0, 0.0, 0.0, 1.0);

bool check_point(pcl::PointXYZ const& point)
{
    if (!pcl::isFinite(point))
    {
        return true;
    }

    return (point.x < min[0] || point.y < min[1] || point.z < min[2]) ||
        (point.x > max[0] || point.y > max[1] || point.z > max[2]);
}

void box_filter(pcl::PointCloud<pcl::PointXYZ>::Ptr const& cloud)
{
    cloud->erase(std::remove_if(
        cloud->begin(),
        cloud->end(),
        [](auto const& x)
        {
            return check_point(x);
        }
        ));
}
2018-08-09 23:13:51 -0500 answered a question Custom filter (box) for pointclouds

Apparently erase function has another definition cloud->erase(std::remove_if( cloud->begin(),

2018-08-09 02:24:12 -0500 commented question Order of point clouds to use while merging (ICP)

Timestamps of messages from 4 cameras in my rosbag recordings can differ up to 2-3 ms before applying the filter, so the

2018-08-08 22:25:12 -0500 commented question Order of point clouds to use while merging (ICP)

I use rosbag to record data and then I additionally apply message_filters::sync_policies::ApproximateTime, which decreas

2018-08-07 22:33:10 -0500 commented question Order of point clouds to use while merging (ICP)

I've calibrated using multiple matching points via CloudCompare and the error is now around 1-2 cm, which is more than e

2018-08-07 22:26:10 -0500 received badge  Notable Question (source)
2018-08-07 07:23:45 -0500 received badge  Popular Question (source)
2018-08-07 07:14:02 -0500 commented question Order of point clouds to use while merging (ICP)

@PeteBlackerThe3rd calibration of 4 cameras at this angle turned out to be a serious problem. A couple of calibration to

2018-08-07 07:10:32 -0500 asked a question Custom filter (box) for pointclouds

Custom filter (box) for pointclouds I need to cut out a box (basically reimplement pcl::CropBox link), but with the foll

2018-08-07 06:45:04 -0500 edited question Order of point clouds to use while merging (ICP)

Order of point clouds to use while merging (ICP) My team and I have built the following setup (view from above). It's a

2018-07-21 01:49:13 -0500 commented question Cannot build a package

You can even try export CC=/usr/bin/gcc and export CXX=/usr/bin/g++ before compiling on the old machine

2018-07-19 02:30:52 -0500 commented question Cannot build a package

as I see from the log /home/parth/anaconda3/bin/cc is your compiler, although simple gcc should be used instead

2018-07-19 02:30:35 -0500 commented question Cannot build a package

as I see from the log /home/parth/anaconda3/bin/cc is your compiler, although simple gcc should be used

2018-07-18 03:48:10 -0500 commented question Cannot build a package

Using compile options via CMakeLists.txt worked for me add_compile_options(-pthread)

2018-07-17 23:48:20 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

I used opencv2 headers while using 4.0.0-pre, so it's not a problem. You can try explicitly installing ROS package for O

2018-07-17 23:41:24 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

Sorry, I totally forgot about include_directories( ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) and target_link_l

2018-07-17 23:41:09 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

Sorry, I totally forgot about include_directories( ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) and target_link_l

2018-07-17 23:39:46 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

Sorry, I totally forgot about include_directories( ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) and target_link_l

2018-07-17 23:38:47 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

Sorry, I totally forgot about include_directories( ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) and target_link_l

2018-07-17 23:38:47 -0500 received badge  Commentator
2018-07-17 22:31:31 -0500 commented question Working in OpenCV3 with ROS images [Kinetic]

OpenCV's trunk uses the same headers. Maybe you can solve the problem by adding the following line find_package(OpenCV R

2018-07-16 07:45:18 -0500 received badge  Student (source)
2018-07-16 06:37:46 -0500 commented answer How do I get back opencv 2.4 after installing ROS?

I've reinstalled OpenCV several times - building from source a stable version and overriding currently existing installa

2018-07-16 06:13:11 -0500 asked a question Order of point clouds to use while merging (ICP)

Order of point clouds to use while merging (ICP) My team and I have built the following setup (view from above). It's a

2018-07-13 00:03:30 -0500 commented answer Publishing frame using launch file/C++

I wrote a simple point cloud solution using MultiThreadedSpinner, and it works, but as soon as I try to save using pcl::

2018-07-13 00:03:30 -0500 received badge  Enthusiast
2018-07-12 23:49:53 -0500 received badge  Famous Question (source)
2018-07-05 06:42:18 -0500 commented answer Publishing frame using launch file/C++

Well, I'm recording this data for deep learning, so I need as much data as I can get. Simple pointcloud_to_pcd even for

2018-07-05 06:23:39 -0500 received badge  Notable Question (source)
2018-07-05 06:15:44 -0500 commented answer Publishing frame using launch file/C++

Thank you! Any suggestions how to synchronise the system? I used a "hacky" approach to take shots from two cameras, but

2018-07-05 06:11:18 -0500 marked best answer Publishing frame using launch file/C++

I'm trying to publish merged point cloud from multiple Kinects as one topic. In order to align clouds I applied static_transform_publisher, which merged all the clouds into one frame ("kinect"). Unfortunately, I need to publish this frame to save the resultant point cloud using pointcloud_to_pcd.

I've found that "pub" can be used to do it, but I'm confused about the arguments:

<node pkg="rostopic" type="rostopic" name="joined_kinects" args="pub /kinect "/>

If you can comment on how to improve the performance of such a system, please also share what can be applied (maybe using a bunch of C++ subscription code instead of a launch file), as currently in Rviz I get around 5 fps.

My launch file:

<launch>
<arg name="camera1_id" default="A22596V03205310A" />
<arg name="camera2_id" default="A22596V02246310A" />
<arg name="camera3_id" default="A22596V02323310A" />
<arg name="camera4_id" default="A22596V03345310A" />
<arg name="depth_registration" default="true" />

<arg name="camera1_name" default="kinect1" />
<arg name="camera2_name" default="kinect2" />
<arg name="camera3_name" default="kinect3" />
<arg name="camera4_name" default="kinect4" />
<rosparam>
   /use_sim_time : false
</rosparam>

<include file="$(find freenect_launch)/launch/freenect.launch">
    <arg name="device_id" value="$(arg camera1_id)" />
    <arg name="camera" value="$(arg camera1_name)" />
    <arg name="depth_registration" value="$(arg depth_registration)" />
</include>
<include file="$(find freenect_launch)/launch/freenect.launch">
    <arg name="device_id" value="$(arg camera2_id)" />
    <arg name="camera" value="$(arg camera2_name)" />
    <arg name="depth_registration" value="$(arg depth_registration)" />
</include>
<include file="$(find freenect_launch)/launch/freenect.launch">
    <arg name="device_id" value="$(arg camera3_id)" />
    <arg name="camera" value="$(arg camera3_name)" />
    <arg name="depth_registration" value="$(arg depth_registration)" />
</include>
<include file="$(find freenect_launch)/launch/freenect.launch">
    <arg name="device_id" value="$(arg camera4_id)" />
    <arg name="camera" value="$(arg camera4_name)" />
    <arg name="depth_registration" value="$(arg depth_registration)" />
</include>

<node name="kinect1_depth_optical_frame" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 kinect kinect1_depth_optical_frame 40" />
<node name="kinect1_rgb_optical_frame" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 kinect kinect1_rgb_optical_frame 40" />
<node name="kinect2_depth_optical_frame" pkg="tf" type="static_transform_publisher" args="-1.904 -1.109 1.611 1.5332 1.0410 0.9273 kinect kinect2_depth_optical_frame 40" />
<node name="kinect2_rgb_optical_frame" pkg="tf" type="static_transform_publisher" args="-1.904 -1.109 1.611 1.5332 1.0410 0.9273 kinect kinect2_rgb_optical_frame 40" />
<node name="kinect3_depth_optical_frame" pkg="tf" type="static_transform_publisher" args="1.987 -0.783 1.756 -1.6458 -1.0082 1.1499 kinect kinect3_depth_optical_frame 40" />
<node name="kinect3_rgb_optical_frame" pkg="tf" type="static_transform_publisher" args="1.987 -0.783 1.756 -1.6458 -1.0082 1.1499 kinect kinect3_rgb_optical_frame 40" />
<node name="kinect4_depth_optical_frame" pkg="tf" type="static_transform_publisher" args="-0.1735 -1.9762 3.3265 3.1083 0.1532 2.0799 kinect kinect4_depth_optical_frame 40" />
<node name="kinect4_rgb_optical_frame" pkg="tf" type="static_transform_publisher" args="-0.1735 -1.9762 3.3265 3.1083 0.1532 2.0799 kinect kinect4_rgb_optical_frame 40" />

<node name="rviz" pkg="rviz" type="rviz"/>
</launch>
2018-07-05 06:09:19 -0500 received badge  Popular Question (source)
2018-07-05 05:17:39 -0500 commented question Orbbec Astra Mini S - Depth calibration

Well, I just followed the same procedure as with rgb and it worked