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

Remote Development

asked 2019-03-19 08:52:30 -0500

praetorianer777 gravatar image

updated 2019-03-19 12:46:06 -0500

Hello!

Is it possible to develop ros-applications remotely? My favourite IDE is CLion and I want to create some applications for my Raspberry Pi. I don't want to install and use CLion on the Pi, it should be as lightweight as possible (so no GUI etc.). Normal applications (like the talker and listener) are no problem to develop, but when I want to use some sensors, connected to the Pi it would be nice to debug it directly in the code with the IDE. Are there any solutions?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-03-19 14:34:02 -0500

ahendrix gravatar image

If CLion can connect to a gdb server , you could run your node in a GDB server on the PI and connect to it from your development machine. (If you want to do this from within a launch file, http://wiki.ros.org/roslaunch/Tutoria... provides a lot of examples that could be adapted to run a node under gdb server)

You also need to have some way to synchronize source and compiled code between your Pi and your development machine.

  • If you have a very stable network (wired), you could use a network filesystem like NFS, Samba or sshfs, and mount the Pi's home directory or workspace from your development machine. NFS can lock up all access to the networked filesystem if the server disappears, so I do not recommend trying it over wifi or another connection that is not always connected. Samda or sshfs may work tolerably over Wifi.
  • I typically work over wifi which is not always connected and can be unstable, so I have additional git remotes in my git configuration on both my development machine and robot, which allows me to do a direct git pull between my computers, without needing an internet connection.
  • I do all of my builds on my Pi, and completely avoid trying to synchronize binaries between different systems. There are some guides on how to set up a cross compiler, but I've generally had a hard time understanding all of the settings and getting them to work successfully.

I typically log in my Pi over SSH, use vim to edit my code and compile with command-line tools, so I don't have much direct experience with more complex IDEs.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2019-03-19 08:52:30 -0500

Seen: 780 times

Last updated: Mar 19 '19