Ask Your Question

Randa's profile - activity

2017-02-14 05:33:48 -0600 asked a question publish to /mavros/setpoint_raw/global problem

I tried to use /mavros/setpoint_raw/global to set gps waypoints in simulation (using roslaunch px4 mavros_posix_sitl.launch) after arming and setting the mode to offboard.I set the latitude, longitude, altitude, typemask, coordinate frame (as shown below) but the uav doesn't fly and I get negative tone alarm.

mavros_msgs::GlobalPositionTarget pp;
pp.header.frame_id = "fcu";
pp.longitude= 8.5455939;
pp.latitude = 47.3977418;
pp.altitude = 10;
pp.coordinate_frame = mavros_msgs::GlobalPositionTarget::FRAME_GLOBAL_INT;
pp.type_mask = (1 << 11) | (7 << 6) | (7 << 3);
mavros_msgs::SetMode offb_set_mode;
offb_set_mode.request.custom_mode = "OFFBOARD";

mavros_msgs::CommandBool arm_cmd;


ros::Time last_request = ros::Time::now();
ros::Rate rate(20.0);

while(ros::ok()){
        arm_cmd.request.value = true;
    if( current_state.mode != "OFFBOARD" &&
        (ros::Time::now() - last_request > ros::Duration(5.0))){
        if( set_mode_client.call(offb_set_mode) &&
            offb_set_mode.response.success){
            ROS_INFO("Offboard enabled");
        }
        last_request = ros::Time::now();
    } else {
        if( !current_state.armed &&
            (ros::Time::now() - last_request > ros::Duration(5.0))){
            if( arming_client.call(arm_cmd) &&
                arm_cmd.response.success){
                ROS_INFO("Vehicle armed");
            }
            last_request = ros::Time::now();
        }
    }

    pos_pub.publish(pp);

    ros::spinOnce();
    rate.sleep();
}

I used /mavros/setpoint_raw/local similarly but using the below settings and it worked fine with me.

mavros_msgs::PositionTarget p;
p.position.x= 0;
p.position.y = 0;
p.position.z = 10;
p.coordinate_frame = mavros_msgs::PositionTarget::FRAME_LOCAL_NED;
p.type_mask = (1 << 11) | (7 << 6) | (7 << 3);

what could be the problem ?? I tried to look in the mavlink module in the px4 and I found that there is no handle message function for set_position_target_global_int, could this be the problem ?? I am currently using ROS Indigo and Gazebo 7, and the PX4 cloned from github commit (1c42cea28e6e09c75ed2c8ab5c012ee4465f9ffb (1c42cea) ) and mavros (installed using apt-get).

Thanks in advance

2016-08-17 09:26:56 -0600 received badge  Famous Question (source)
2016-08-05 07:46:16 -0600 received badge  Famous Question (source)
2016-04-20 11:12:25 -0600 received badge  Notable Question (source)
2016-03-27 17:52:27 -0600 received badge  Famous Question (source)
2016-03-20 07:55:27 -0600 commented answer rtabmap map data (get_map)

Thanks for your suggestion, I already tried to subscribe to cloud_map and publish the cloud but nothing happened.. as if the cloud_map is empty although I can see the reconstructed map. maybe because the map is so big, I'll try to decrease the resolution and increase voxel size.

2016-03-20 07:36:28 -0600 received badge  Popular Question (source)
2016-03-11 16:07:21 -0600 asked a question rtabmap map data (get_map)

Hi,

I have problem in loading the generated map using RTAB map, I already used rtabmap/get_map service but I don't know how to proceed and export the ply mesh using the command line or rviz. I want to do that using the command line since rtabmapviz crashes when I load the cloud and then export the mesh since my map is really too big.

when I call get_map service in command line, I get a lot of information displayed (I loaded them to a file), snap shots of this information is available in the following link : images link

could this information be used to generate a mesh file (.ply), or is there another way other than rtabmapviz to generate a mesh file ??

Note: I use ubuntu 14.04, ros indigo and I preformed the mapping using rtabmap-ros package and writing a launch file to setup rtab to my robot.

Thanks

2016-02-23 15:13:57 -0600 received badge  Notable Question (source)
2016-02-17 01:01:58 -0600 commented answer rtabmap-ros mapping without loop closure detection

Thanks for your clarification and suggestion, but I have a question about the ""Rtabmap/TimeThr" parameter, I found that the default value of this paramter is 0(means infinity) so is it better to increase the parameter value in my case or just use the default value??

2016-02-16 02:52:51 -0600 received badge  Popular Question (source)
2016-02-14 13:26:08 -0600 asked a question rtabmap-ros mapping without loop closure detection

Hi,

I'm using rtabmap_ros with kinect and a simulation environment (Gazebo) and ubuntu 14.04 and ros indigo

I'm trying to 3D map a very big structure model (Aircraft model) placed in a Gazebo environment..the 3D mapping is done using a kinect placed on a UAV that autonomously navigates around the structure ... the map starts to be created successfully and incrementally but after a several hours the first mapped parts disappears. covering the structure takes alot of time. The path that the UAV follows is too long and does not include loop closure so I increased the RGBD/localimmunizationRatio from 0.025 to 0.5 to handle longer paths and I set up the RGBD/LocalLoopDetectionSpace to false but still I have the same problem so what could be the problem in my case ??

Here is the launch file part with the parameters I used:

<group ns="$(arg ns)">
<node if="$(arg rgbd_odometry)" pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
  <param name="frame_id"           type="string" value="iris/xtion_sensor/camera_depth_optical_frame"/>
  <param name="wait_for_transform" type="bool"   value="true"/>
  <param name="Odom/Force2D"       type="string"   value="true"/>
  <remap from="rgb/image"       to="/iris/xtion_sensor/iris/xtion_sensor_camera/rgb/image_raw"/>
  <remap from="depth/image"     to="/iris/xtion_sensor/iris/xtion_sensor_camera/depth/image_raw"/>
  <remap from="rgb/camera_info" to="/iris/xtion_sensor/iris/xtion_sensor_camera/rgb/camera_info"/>
</node>      
<node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="$(arg args)">
  <param name="database_path"       type="string" value="$(arg database_path)"/>
  <param name="frame_id"            type="string" value="/iris/xtion_sensor/ground_truth/iris/xtion_sensor/ground_truth/odometry_sensor_link"/>
  <param name="odom_frame_id"       type="string" value="world"/>
  <param name="subscribe_depth"     type="bool"   value="true"/>
  <remap from="odom" to="/iris/ground_truth/odometry"/>

  <remap from="rgb/image"       to="/iris/xtion_sensor/iris/xtion_sensor_camera/rgb/image_raw"/>
  <remap from="depth/image"     to="/iris/xtion_sensor/iris/xtion_sensor_camera/depth/image_raw"/>
  <remap from="rgb/camera_info" to="/iris/xtion_sensor/iris/xtion_sensor_camera/rgb/camera_info"/>
  <remap from="rtabmap/get_map" to="/iris/get_map"/>

  <param name="RGBD/LocalLoopDetectionSpace" type="string" value="false"/>   
  <param name="RGBD/OptimizeFromGraphEnd"    type="string" value="false"/> 
  <param name="Kp/MaxDepth"                  type="string" value="8.5"/>
  <param name="LccIcp/Type"                  type="string" value="1"/>     
  <param name="LccIcp2/CorrespondenceRatio"  type="string" value="0.05"/>
  <param name="LccBow/MinInliers"            type="string" value="10"/>  
  <param name="LccBow/InlierDistance"        type="string" value="0.1"/>  
  <param name="RGBD/AngularUpdate"           type="string" value="0.1"/>  
  <param name="RGBD/LinearUpdate"            type="string" value="0.1"/>    
  <param name="RGBD/LocalImmunizationRatio"  type="string" value="0.50"/>    
  <param name="Rtabmap/TimeThr"              type="string" value="700"/>
  <param name="Mem/RehearsalSimilarity"      type="string" value="0.30"/>   

  <!-- localization mode -->
  <param     if="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="false"/>
  <param unless="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="true"/>
  <param name="Mem/InitWMWithAllNodes" type="string" value="$(arg localization)"/> 
</node>

 <node if="$(arg rtabmapviz)" pkg="rtabmap_ros" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap_ros)/launch/config/rgbd_gui.ini" output="screen">
  <param name="subscribe_depth"     type="bool"   value="true"/>
  <param name="frame_id"            type="string" value="/iris/xtion_sensor/ground_truth/iris/xtion_sensor/ground_truth/odometry_sensor_link"/>
  <param name="wait_for_transform"  type="bool"   value="true ...
(more)
2015-10-15 02:22:53 -0600 commented answer Extracting the visible mesh surface

I tried to upsample the mesh but I'm still getting the same result ... I'll try to check other options ... Thanks for your suggestions.

2015-10-12 22:02:44 -0600 received badge  Notable Question (source)
2015-10-12 03:00:55 -0600 received badge  Popular Question (source)
2015-10-11 08:53:01 -0600 asked a question Extracting the visible mesh surface

Hi,
I'm trying to get the intersection surface between RGBD camera FOV and mesh model.. this intersection surface is the visible mesh surface from the RGBD camera point of view. I tried to use PCL::RangeImage since it simulates the sensor FOV, position and orientation and performs z buffering to extract the visible surface but I get the mesh part that is inside the FOV frustum regardless of its visibility to the camera as it is shown in the following image link : image

Here is the github link of the code ( I preformed frustum culling then range image and I also used the loaded mesh points directly but I get the same result ): code link

does the pcl::RangeImage is supposed to do that although it is applying z buffer? does PCL include another function to extract the visible surface?

Thanks

2015-08-30 15:21:23 -0600 received badge  Enthusiast
2015-08-21 07:38:20 -0600 commented answer RGBD Field of View and mesh intersection surface

Thanks Stefan and Tarek for the suggestions

2015-08-21 07:36:53 -0600 received badge  Scholar (source)
2015-08-18 03:01:29 -0600 received badge  Famous Question (source)
2015-08-17 06:19:19 -0600 received badge  Notable Question (source)
2015-08-17 04:14:30 -0600 commented answer RGBD Field of View and mesh intersection surface

I missed explaining the problem .. I edited my question, I want to use a tool that can find the intersection surface between the FOV of an RGBD camera and a CAD model without using RGBD pointcloud

2015-08-17 04:12:09 -0600 commented answer RGBD Field of View and mesh intersection surface

I missed explaining the problem .. I edited my question, I want to use a tool that can find the intersection surface between the FOV of an RGBD camera and a CAD model without using RGBD pointcloud

2015-08-17 04:06:58 -0600 received badge  Editor (source)
2015-08-17 04:03:08 -0600 received badge  Popular Question (source)
2015-08-16 21:47:22 -0600 asked a question RGBD Field of View and mesh intersection surface

I'm trying to get the intersection surface area between an RGBD sensor FOV and a mesh model since I want to use these surfaces to fasten the development of reconstruction algorithm and then use the algorithm and apply it in Gazebo simulation

It is similar to the intersection surface of two models as it is shown in the following image link: image link , but instead of the sphere, I have the FOV (Quadrahedron shape) and instead of the cube model, I have another model shape

The blue part of the cube surface shown in the third part of the image is the intersection surface needed to be found

is there a function in PCL or other libraries that can find the intersection surface between a RGBD camera FOV and a mesh model? Could someone point me towards any related things?