Results 1 to 3 of 3

Thread: What IDEs just work for ROS?

  1. What IDEs just work for ROS?

    I've started the journey trying to learn ROS and I'd say about 75% of my time is spent configuring my environment and trying to make everything work together. Eclipse and Spyder (anaconda) are the standard according to my searches but Eclipse can't find binaries (or they're not being made) and Anaconda can't run alongside ROS simultaneously.
    Is there some pair of IDEs for C++ and Python that just work with ROS without having to reconfigure everything each time the computer starts up?
    Perhaps I just did something wrong when I initially installed ROS, but I followed the tutorials as closely as I could.
    Thanks for any help y'all can provide!
    vidmate mobdro word counter




    Last edited by DiegoMaxwell; 4 Weeks Ago at 10:07 PM.

  2. #2

    Re: What IDEs just work for ROS?

    The problem with IDEs in general, is that you have to be solving a problem that the IDE developers have already wanted to solve.
    Unfortunately, when you do something that's not "super common," then the IDE will not have a well-defined path for you.
    Chances are, you can use Eclipse, and debug why it doesn't find the appropriate commands -- use "strace" and "lsof" and similar tools. In essence, you have to become an IDE developer, to use the IDE for something that the previous IDE developers didn't already solve.

    This is why I always just use vim and make in a terminal window. At that level, you know what's going on. If a binary isn't found, it's because the PATH is wrong, and you can find it with "locate" eller "find."

    An alternative, which may work for you, could be Visual Studio Code (vscode.) It has plugins for both Python development, and C++ development. The "ROS" bits would have to be added as configurations on top of those plugins for you, but that seems doable. VSCode is generally configured using JSON config files that you can edit yourself, so it's often simpler to edit and configure the way you need it, than some big heap of Java like Eclipse.

  3. #3
    Join Date
    Jun 2011
    Location
    USA
    Posts
    545
    Images
    107
    Rep Power
    42

    Re: What IDEs just work for ROS?

    Like jwatte, I live in the terminal and use vim, so can't help regarding IDEs, but I feel like what I describe below is fairly close to "the right way" when workign with ROS.

    From my own experience (at a company that uses ROS), here's some questions/thoughts:

    - Are you using Windows or Ubuntu?
    - Are you using catkin and thus catkin workspaces, which handle both C++ and python code (via wrapping CMake) See: https://wiki.ros.org/catkin/Tutorial...te_a_workspace https://wiki.ros.org/catkin/conceptual_overview
    - Likewise, if you're using catkin workspaces, then you can take advantage of rosdep to help you install dependencies... Though honestly for small projects, it's easy enough to just repeatedly build/fail/install-missing-dep/repeat. Rosdep is a component I don't understand very well.
    - I haven't used Anaconda since ~2012, and then only on Windows. Python life is certainly less painful on Ubuntu. (I also don't use/need virtualenvs)

    Probably the best way to learn catkin is by example, inspecting other ROS packages that use catkin.

    Regarding setup, here's an example of my typical workflow in making a workspace, with a system install of ROS already present:

    # this is done by my .bashrc file every time I start a new bash terminal
    source /opt/ros/melodic/setup.bash # /opt/ros/DISTRO/ is where debians put ROS package files
    # make an empty workspace and initialize it
    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws/src
    catkin_init_workspace
    git clone https://github.com/someone/andtheirrepo
    # Install any dependencies, or use rosdep...; dependencies are conventionally listed in a package.xml file in the ROS package's repo
    cd ../..
    catkin_make
    # assuming that works...
    source devel/setup.bash # This is the setup.bash that ties in the code you just built, putting binaries/libraries onto your path


    If I then add "source ~/catkin_ws/devel/setup.bash" to my .bashrc, then every new terminal will have my code available to use, as well!

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Similar Threads

  1. Question(s) Trying to get the XV-11 to work
    By tinytron in forum Sensors
    Replies: 0
    Last Post: 10-12-2014, 06:11 AM
  2. The CM-900 code, and how to work around itT
    By jwatte in forum Arbotix, Microcontrollers, Arduino
    Replies: 30
    Last Post: 02-24-2014, 07:40 PM
  3. Will RX-64 servo work below 12V
    By Toymaker in forum DYNAMIXEL & Robot Actuators
    Replies: 0
    Last Post: 03-09-2010, 12:29 PM
  4. new b! i need help please!! cant get it to work
    By openmindedjjj in forum Robotics General Discussion
    Replies: 11
    Last Post: 06-28-2008, 09:35 AM
  5. BrainBot Work
    By JonHylands in forum Humanoids, Walkers & Crawlers
    Replies: 16
    Last Post: 11-14-2007, 11:05 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •