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

voladoddi's profile - activity

2018-10-03 06:34:57 -0500 received badge  Taxonomist
2016-11-05 06:28:19 -0500 received badge  Good Question (source)
2015-09-06 23:34:45 -0500 received badge  Famous Question (source)
2015-06-30 10:29:53 -0500 received badge  Notable Question (source)
2015-06-29 10:01:41 -0500 received badge  Famous Question (source)
2015-05-04 14:16:23 -0500 received badge  Popular Question (source)
2015-04-28 08:53:03 -0500 received badge  Nice Question (source)
2015-04-27 12:31:56 -0500 received badge  Notable Question (source)
2015-04-24 18:26:44 -0500 commented answer GUI noob - no prior experience with Qt or Rqt

However, thanks for the rqt_image_view plugin link. Maybe I should use the existing plugin, modify a few things there and then visualize how they look.

2015-04-24 18:25:27 -0500 commented answer GUI noob - no prior experience with Qt or Rqt

Hi @dirk-thomas, my problem is not in understanding ROS, but the UI part of it. http://wiki.ros.org/rqt/Tutorials/Wri...

for example, mentions several terms like "widgets", "signals/slots", "threads" that do not as of yet make sense to me.

2015-04-24 18:14:21 -0500 received badge  Popular Question (source)
2015-04-24 18:14:05 -0500 commented answer Mavros topics not publishing?

Hi @vooon , I managed to get the data (like battery and etc) by updating the firmware for both radio and the drone using Mission planner and roslaunch px4.launch (didn't see your answer until now).

You're saying regardless of that, we should use apm.launch because ETH pixhawk was px4 & 3dr is APM?

2015-04-24 13:46:49 -0500 answered a question Mavros topics not publishing?

Hello @vooon and @eric-schneider , I'm stuck somewhere similar but my source of the problem is elsewhere I think.

1) I am using Ubuntu 14.04 and mavros for ROS Indigo.


2) FCU I am using 3DR Robotics Iris equipped with Pixhawk.


3) I installed mavros using sudo apt-get install ... . This part is fine. Next, I connect the USB receiver to my computer and I change the "ttyACM0" in the px4.launch file to "ttyUSB0".


4) Then I call the launch file, and I see

[ INFO] [1429900676.296419593]: FCU URL: /dev/ttyUSB0:115200
[ INFO] [1429900676.296568384]: serial0: device: /dev/ttyUSB0 @ 115200 bps
[ INFO] [1429900676.297267179]: GCS bridge disabled
[ INFO] [1429900676.338080124]: Plugin 3dr_radio loaded and initialized
[ INFO] [1429900676.340020654]: Plugin actuator_control loaded and initialized
[ INFO] [1429900676.343256392]: Plugin command loaded and initialized
[ INFO] [1429900676.349410801]: Plugin ftp loaded and initialized
[ INFO] [1429900676.355797673]: Plugin global_position loaded and initialized
[ INFO] [1429900676.358029042]: Plugin gps loaded and initialized
[ INFO] [1429900676.358063670]: Plugin image_pub blacklisted
[ INFO] [1429900676.368613134]: Plugin imu_pub loaded and initialized
[ INFO] [1429900676.371929447]: Plugin local_position loaded and initialized
[ INFO] [1429900676.423800247]: Plugin mocap_pose_estimate loaded and initialized
[ INFO] [1429900676.425444083]: Plugin param loaded and initialized
[ INFO] [1429900676.429073723]: Plugin px4flow loaded and initialized
[ INFO] [1429900676.431786149]: Plugin rc_io loaded and initialized
[ INFO] [1429900676.433578150]: SA: Set safty area: P1(1.000000 1.000000 1.000000) P2(-1.000000 -1.000000 -1.000000)
[ INFO] [1429900676.435489856]: Plugin safety_area loaded and initialized
[ INFO] [1429900676.438453801]: Plugin setpoint_accel loaded and initialized
[ INFO] [1429900676.444126377]: Plugin setpoint_attitude loaded and initialized
[ INFO] [1429900676.448153997]: Plugin setpoint_position loaded and initialized
[ INFO] [1429900676.449946335]: Plugin setpoint_velocity loaded and initialized
[ INFO] [1429900676.455628269]: Plugin sys_status loaded and initialized
[ INFO] [1429900676.458712512]: Plugin sys_time loaded and initialized
[ INFO] [1429900676.459608376]: Plugin vfr_hud loaded and initialized
[ INFO] [1429900676.464448577]: Plugin vision_pose_estimate loaded and initialized
[ INFO] [1429900676.467479429]: Plugin vision_speed_estimate loaded and initialized
[ INFO] [1429900676.470861478]: Plugin visualization loaded and initialized
[ INFO] [1429900676.473968732]: Plugin waypoint loaded and initialized
[ INFO] [1429900676.474017908]: Autostarting mavlink via USB on PX4
[ INFO] [1429900676.474039611]: Built-in mavlink dialect: ardupilotmega
[ INFO] [1429900676.474059391]: MAVROS started. MY ID [1, 240], TARGET ID [1, 50]

Now I wonder if [ INFO] [1429900676.474039611]: Built-in mavlink dialect: ardupilotmega is the problem because when I launch a new terminal and do a rostopic list I can see -

/diagnostics
/mavlink/from
/mavlink/to
/mavros/actuator_control
/mavros/battery
/mavros/global_position/compass_hdg
/mavros/global_position/global
/mavros/global_position/gp_vel
/mavros/global_position/local
/mavros/global_position/rel_alt
/mavros/gps/fix
/mavros/gps/gps_vel
/mavros/imu/atm_pressure
/mavros/imu/data
/mavros/imu/data_raw
/mavros/imu/mag
/mavros/imu/temperature
/mavros/local_position/local
/mavros/mission/waypoints
/mavros/mocap/pose
/mavros/px4flow/ground_distance
/mavros/px4flow/raw/optical_flow_rad
/mavros/px4flow/temperature
/mavros/radio_status
/mavros/rc/in
/mavros/rc/out
/mavros/rc/override
/mavros/safety_area/set
/mavros/setpoint_accel/accel
/mavros/setpoint_attitude/att_throttle
/mavros/setpoint_attitude/cmd_vel
/mavros/setpoint_position/local
/mavros/setpoint_velocity/cmd_vel
/mavros/state
/mavros/time_reference
/mavros/vfr_hud
/mavros/vision_pose/pose
/mavros/vision_speed/speed_vector
/mavros/visualization/track_markers
/mavros/visualization/vehicle_marker
/mavros/wind_estimation
/rosout
/rosout_agg ...
(more)
2015-04-24 10:59:20 -0500 commented question GUI noob - no prior experience with Qt or Rqt

No takers?

2015-04-24 10:48:34 -0500 received badge  Enthusiast
2015-04-24 02:16:20 -0500 received badge  Student (source)
2015-04-23 13:07:23 -0500 asked a question GUI noob - no prior experience with Qt or Rqt
  • Problem Statement:

I have a USB camera stream and I can view these images multiple ways. But now, I have to create a GUI with say an image window that is streaming these images on a node "Listener.py" and has some control options available to the user.

  • Example Scenario:

image description

I can see three buttons, and I need to do this :

   onClick(Button1): Display Image1 on ImageWindow
   onClick(Button2): Display Image2 on ImageWindow
   onClick(Button3): Display Image3 on ImageWindow

How do I go about creating this GUI? I don't need an exclusive code, but any/all links to well-documented tutorials is terribly appreciated. I actually went over to rqt/tutorials page but found it a little overwhelming.

Posting here in the hope that I get out of noob status and other noobs can benefit from constructive answers as well.

2015-04-23 12:40:10 -0500 commented answer add opencv to indigo

Yes, thanks! it was already there I just needed to remove the link libraries line entirely. It makes sense now.

2015-04-23 12:39:27 -0500 commented answer adding a python node that uses opencv - ROS Indigo

Thanks! Yes, I realised that "import cv2" already exists in the code. And it was pointed about by another gentleman on another post as well but this makes it clear :)

2015-04-22 16:57:40 -0500 asked a question adding a python node that uses opencv - ROS Indigo

I followed this guide http://rodrigoberriel.com/2014/10/ins... for setting up OpenCV for ROS Indigo (since it doesn't come bundled anymore).

Now, the problem is I don't have an executable node that is produced from a CPP source file for target_link_libraries but I have a python node that uses OpenCV.

After adding 1)

all the dependencies in "package.xml" file,

and 2)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(${OpenCV_LIBS})

in the CMakeLists.txt file, I get this error:

CMake Error at HELLO_WORLD/CMakeLists.txt:168 (target_link_libraries):
  Cannot specify link libraries for target "HELLO_WORLD" which is not built
  by this project.

How do I resolve this issue? Other nodes written in Python, I can just say "rosrun [PACKAGE_NAME] python_node.py" But in this Python node that uses OpenCV, I need to make changes appropriately in the CMakeLists.txt file. Only, I'm not quite sure what it is. sources I've referred to talk about CPP nodes.

2015-04-22 16:41:14 -0500 commented answer add opencv to indigo

Hi, I'm stuck in a similar situation. My node is a Python node, and not a CPP node. In this case, how do I proceed with target link libraries?

2015-04-22 15:51:59 -0500 commented question ImportError: cannot import name CvBridge

Hi, I'm having the same issue. Did you solve this by any chance?

2015-03-25 04:11:15 -0500 received badge  Famous Question (source)
2014-12-18 09:48:03 -0500 received badge  Famous Question (source)
2014-11-16 18:36:34 -0500 received badge  Notable Question (source)
2014-11-16 18:36:34 -0500 received badge  Popular Question (source)
2014-10-29 08:13:59 -0500 received badge  Notable Question (source)
2014-10-16 13:14:07 -0500 received badge  Famous Question (source)
2014-09-26 16:59:37 -0500 answered a question streaming AR.Drone 2.0 images to OpenCV

For those who are stuck in the same position as me, you might want to check your bag file. Mine didn't have any images in them.

But I got stuck here for a while because /ardrone/image_raw was displayed when I called rostopic list. In this case you want to make sure that your images were considerable in message numbers.

1) Check your rosbag using rosbag info [bag_file] to see if the message is listed. 2) Try visualizing in rviz if the image is displayed while running the bag file. 3) rqt_graph for connection of topics.

Cheers.

2014-09-26 13:31:55 -0500 asked a question streaming AR.Drone 2.0 images to OpenCV

I'm following these tutorials to stream images to OpenCV format from the /ardrone/image_raw topic.

http://wiki.ros.org/cv_bridge/Tutoria...

However, even though I've been able to successfully compile the driver, when i run it, I don't see any images on screen. My code is this -

#include "ros/ros.h"
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include <sensor_msgs/image_encodings.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include "ardrone_autonomy/Navdata.h"

static const std::string OPENCV_WINDOW = "Image window";

class ImageConverter
{
  ros::NodeHandle nh_;
  image_transport::ImageTransport it_;      //ImageTransport object "it_" under the namespace 'image_transport'
  image_transport::Subscriber image_sub_;       //Subscriber object "image_sub_"
  image_transport::Publisher image_pub_;        // Publisher object "image_pub_"

   public:
    ImageConverter(): it_(nh_)
    {
        // Subscribe to input video feed and publish output video feed
      image_sub_ = it_.subscribe("/ardrone/image_raw", 1,&ImageConverter::imageCb, this);
      image_pub_ = it_.advertise("/image_converter/output_video", 1);

          cv::namedWindow(OPENCV_WINDOW);
    }

    ~ImageConverter()
    {
            cv::destroyWindow(OPENCV_WINDOW);
    }

   void imageCb(const sensor_msgs::ImageConstPtr& msg)
    {
      cv_bridge::CvImagePtr cv_ptr;
      try
      {
        cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);
      }
      catch (cv_bridge::Exception& e)
      {
      ROS_ERROR("cv_bridge exception: %s", e.what());
      return;
    }

    // Draw an example circle on the video stream
    if (cv_ptr->image.rows > 60 && cv_ptr->image.cols > 60)
      cv::circle(cv_ptr->image, cv::Point(50, 50), 10, CV_RGB(255,0,0));

    // Update GUI Window
    cv::imshow(OPENCV_WINDOW, cv_ptr->image);
    cv::waitKey(3);

    // Output modified video stream
    image_pub_.publish(cv_ptr->toImageMsg());
  }
};

int main(int argc, char** argv)
{
  ros::init(argc, argv, "see_image");
  ImageConverter ic;
  ros::spin();
  return 0;
}

After executing this, rosrun [package_name] [driver_node] along with a recorded .bagfile, it is supposed to produce image stream with a circle on it.

I can see when I run rqt_graph both the bag file and the driver node. However, I don't see any image. What am I missing? I've lost about a week in looking at this.

2014-09-18 05:04:11 -0500 received badge  Popular Question (source)
2014-09-16 13:48:10 -0500 commented question build errors when trying to use CVbridge with ROS Hydro

I needed to add a target library for the new executable on catkin_libraries. worked. Thank you. However, still not able to see the images.

Do have a look at the .cpp file.

2014-09-16 13:48:10 -0500 received badge  Commentator
2014-09-16 13:46:47 -0500 commented answer build errors when trying to use CVbridge with ROS Hydro

However when I run the executable, I am now not able to see any image windows. I'm trying to visualize the images from a .bag file.

I can see that the topics are published when i run the bag file and say rostopic list

2014-09-16 13:43:42 -0500 marked best answer build errors when trying to use CVbridge with ROS Hydro

I'm trying to follow this tutorial - http://wiki.ros.org/cv_bridge/Tutoria...

to stream images to a node.

After I added the node see_image.cpp, I'm adding an executable by name image_viewer.

To be clearer, my CMakeLists.txt looks like this -

cmake_minimum_required(VERSION 2.8.3)
project(visual_odometry)

find_package(catkin REQUIRED COMPONENTS
  ardrone_autonomy
  roscpp
  rospy
  sensor_msgs
  cv_bridge
  std_msgs
  image_transport
)
include_directories(
  ${catkin_INCLUDE_DIRS}
)
add_executable(subscriber_test src/subscriber.cpp)
target_link_libraries(subscriber_test
${catkin_LIBRARIES}
)
   find_package(OpenCV REQUIRED)
   include_directories(${OpenCV_INCLUDE_DIRS})
   add_executable(image_viewer src/see_image.cpp)
   target_link_libraries(image_viewer ${OpenCV_LIBRARIES})

And my package.xml looks like this:

<package>
  <name>visual_odometry</name>
  <version>0.0.0</version>
  <description>The visual_odometry package</description>
 <maintainer email="voladoddi@todo.todo">voladoddi</maintainer>
 <buildtool_depend>catkin</buildtool_depend>
  <build_depend>ardrone_autonomy</build_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
<!--adding build_depend and run_depend according to page http://wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages Example 1.4 - ROS node-->
  <build_depend>sensor_msgs</build_depend>
  <build_depend>cv_bridge</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>image_transport</build_depend>


  <run_depend>ardrone_autonomy</run_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>
<!--run dependencies for the 4 build dependencies added above-->
  <run_depend>sensor_msgs</run_depend>
  <run_depend>cv_bridge</run_depend>
  <run_depend>std_msgs</run_depend>
  <run_depend>image_transport</run_depend>



  <!-- The export tag contains other, unspecified, tags -->
  <export>
    <!-- You can specify that this package is a metapackage here: -->
    <!-- <metapackage/> -->

    <!-- Other tools can request additional information be placed here -->

  </export>
</package>

After all this, I try to build using catkin_make and I'm getting the following errors:

  Linking CXX executable /home/voladoddi/catkin_ws/devel/lib/visual_odometry/image_viewer
[  5%] Performing install step for 'ardronelib'
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
[  6%] Completed 'ardronelib'
[  8%] Built target ardronelib
[  9%] Built target subscriber_test
CMakeFiles/image_viewer.dir/src/see_image.cpp.o: In function `main':
see_image.cpp:(.text+0x55): undefined reference to `ros::init(int&, char**, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)'
see_image.cpp:(.text+0x81): undefined reference to `ros::spin()'
CMakeFiles/image_viewer.dir/src/see_image.cpp.o: In function `image_transport::TransportHints::TransportHints(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::TransportHints const&, ros::NodeHandle const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
see_image.cpp:(.text._ZN15image_transport14TransportHintsC2ERKSsRKN3ros14TransportHintsERKNS3_10NodeHandleES2_[_ZN15image_transport14TransportHintsC5ERKSsRKN3ros14TransportHintsERKNS3_10NodeHandleES2_]+0x53): undefined reference to `ros::NodeHandle::NodeHandle(ros::NodeHandle const&)'
see_image.cpp:(.text._ZN15image_transport14TransportHintsC2ERKSsRKN3ros14TransportHintsERKNS3_10NodeHandleES2_[_ZN15image_transport14TransportHintsC5ERKSsRKN3ros14TransportHintsERKNS3_10NodeHandleES2_]+0x84): undefined reference to `ros::NodeHandle::~NodeHandle()'
CMakeFiles/image_viewer.dir/src/see_image.cpp.o: In function `image_transport::TransportHints::~TransportHints()':
see_image.cpp:(.text._ZN15image_transport14TransportHintsD2Ev[_ZN15image_transport14TransportHintsD5Ev]+0x19): undefined reference to `ros::NodeHandle::~NodeHandle()'
CMakeFiles/image_viewer.dir/src/see_image.cpp.o: In function `ImageConverter::ImageConverter()':
see_image.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x47): undefined reference to `ros::NodeHandle::NodeHandle(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
see_image.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x82): undefined reference to `image_transport::ImageTransport ...
(more)