Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rospy/jupyter-ros nodes - starting and stopping #22

Open
pitosalas opened this issue Jun 28, 2019 · 2 comments
Open

rospy/jupyter-ros nodes - starting and stopping #22

pitosalas opened this issue Jun 28, 2019 · 2 comments

Comments

@pitosalas
Copy link

When I am writing or debugging a node in Jupyter Notebook + Jupyter Ros, I often need to run the edited version. I've been restarting the kernel in Jupyter as a way to try to get it to run the edited node, but I am not sure that works or is reliable. I've also tried killing roscore and restarting it. I am not sure yet what works and what doesn't. What's the recommended way to do this?

@wolfv
Copy link
Member

wolfv commented Jun 29, 2019

I agree, jupyter-ros still has some rough edges.
Restarting the kernel will definitely kill the process + node.

However, the usual way of working in Jupyter is to re-run a cell – which doesn't really map that well to ROS development. We might need to improve the handling of jupyter-ros in this regard.

Do you have some toy code to share along which we could try to come up with better workflows?

@pitosalas
Copy link
Author

pitosalas commented Jul 2, 2019

Yes I do have toy code, simple examples which are a "transcript" of some of the tf2 tutorials on the ros.org wiki.

For me the confusion is that there's no way to tell whether a node is still running so I will re-run a cell and nothing will happen. I assume because the node is still running from before. The other smaller confusion was just that I didn't realize that I needed to have roscore launched separately.

As I am sure you know, the notebook paradigm that jupyter-ros follows is very different from what we aer used to: no separate terminal tabs, no .launch files, what is the current directory that is active while a notebook is running, etc.

So from my beginners viewpoint I feel like would be useful is:

  1. A way to have roscore run without having to launch it in a terminal (== roscore)
  2. When a jr.subcribe is re-issued on the same topic, don't throw an error, but handle it correctly
  3. A way to know which nodes are running at any point (== rosnodes list)
  4. A way to start and restart and check status of running node from within notebook

Just some guesses!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants