tork-a / tork_moveit_tutorial

7 stars 8 forks source link

ROS biginner! Cannot use rosrun! #48

Closed rockyist closed 3 years ago

rockyist commented 3 years ago

I am a beginner of ROS and also engineering itself, but try to handle ROS and MOVEIt.

I use tutorials at the following site. http://moveit2_tutorials.picknik.ai/

I finished to setup Ubuntu 20 and ROS noetic to my PC. I finished 'Getting started' and 'MoveIt Quickstart in RViz' on this web site.

I then went to 'Pick and Place'.
I finished, "roslaunch panda_moveit_config demo.launch" and it was OK.

But I opened second terminal and loaded just as this tutorial instructed, "rosrun moveit_tutorials pick_place_tutorial" but, it replied, 'Cannot find command 'rosrun'. You can install it in following way:
sudo apt install rosbash

but it cannot go well. The message says, there are package(s) that could not be installed.
It also says that some packages (that are not forbidden to change) are already broken.

What should be the root cause for this?

What should I do?

If you understand this situation and have any good idea, please advise me what to do. Thanks,

y-yosuke commented 3 years ago

Did you set your ROS1 environment on a new terminal before you execute rosrun?

$ source /opt/ros/noetic/setup.bash

or when you have your own ROS1 workspace, ( Please change PATH_TO_YOUR_WORKSPACE to your ROS1 workspace path )

$ source PATH_TO_YOUR_WORKSPACE/devel/setup.bash

And this repository is different from the repository of the tutorial that you are practicing. The repository of the tutorial you are practicing is linked below.

https://github.com/ros-planning/moveit2_tutorials/issues

If you have questions about the contents, I recommend that you ask questions to the Issues there.

rockyist commented 3 years ago

y-yosuke 様

こんなに早くコメントを下さり、感謝いたします。日本語で解答いただけると知らなかったので、英語で質問させていただきましたが、日本語で質問したいと思います。

2つターミナルを開いて2つ目で、 rosrun moveit_tutorials pick_place_tutorial

をロードしましたが、下記のようなエラーがでました。

cannot go cannot go2

もし可能でしたら、日本語でアドバイスいただけませんでしょうか?

よろしくお願いいたします。

y-yosuke commented 3 years ago

英語で書いたことと同じことになるのですが,1つ目のターミナルで roslaunch が実行できて,2つ目のターミナルで rosrun が見つからず実行できない場合に最初に確認すべき点は2つ目のターミナルで ROS の環境設定を行っていないで rosrun のコマンドへのパスが通っていないことです.

ROS 環境設定はターミナルを新規ウィンドウでも新規タブでも起動するごとに設定する必要があります.

$ source /opt/ros/noetic/setup.bash

もしくは ROS1 のワークスペース内で実行しているなら

$ source PATH_TO_YOUR_WORKSPACE/devel/setup.bash

この ROS 環境設定が出来ているかを確認するにはターミナルで env | grep ROS とすると ROS の文字を含む環境設定が表示されてきちんとパスが通っているかが確認できます.

$ env | grep ROS

(次の投稿で env | grep ROS の実行例を提示します.)

パスが通っていれば rosrun も実行できると思うのですが,ROS 環境をしているかどうかを確認いただけたらと思います.

y-yosuke commented 3 years ago

ROS 環境設定をして環境パスが通っている状態の例(パスが通っている先がより多いこともあります)

robotuser@robotuser-PC:~$ source /opt/ros/noetic/setup.bash
robotuser@robotuser-PC:~$ env | grep ROS
ROS_VERSION=1
ROS_PYTHON_VERSION=3
ROS_PACKAGE_PATH=/opt/ros/noetic/share
ROSLISP_PACKAGE_DIRECTORIES=
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ROS_MASTER_URI=http://localhost:11311
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic

新しいターミナルを起動して ROS 環境を設定ていない場合の env | grep ROS の結果例(ROS へのパスの設定が無い状態)

robotuser@robotuser-PC:~$ env |grep ROS
robotuser@robotuser-PC:~$ 
rockyist commented 3 years ago

お世話になっております。

やってみました。

20210630

ROS環境設定はできてパスが通っているようなのですが、rosrunができない、です。まだ。

どうしたらいいでしょうか? お忙しいところ、すみません。

よろしくお願いいたします。

y-yosuke commented 3 years ago

環境設定が正しいようでしたらメッセージどおりに rosbash をインストールしてみるとどうなりますでしょうか?

システム環境は Ubuntu 20.04 + ROS Noetic でしたら,次のようにして 頭に ros-noetic- をつけて rosbash をインストールできると思います.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ros-noetic-rosbash
rockyist commented 3 years ago

y-yosuke様

お世話になっております。

$ sudo apt update $ sudo apt upgrade $ sudo apt install ros-noetic-rosbash

上記3つを問題なくロードできたようです。でも、rosrunができない。なぜか?

すみません、あまり、知識がなくて。Linuxのコマンドについても始めたばかりなので詳しくなくて。勉強します。

何か、rosrunできるようにしたいですが。どうしたらいいでしょうか?

または、下記に私がしたものの写真をはりますので、何かおかしなことをしていないか、見ていただけないでしょうか?

20210630_rosbash 20210630_upgrade 20210630_rosupgrade3
rockyist commented 3 years ago

これもありました。

20210630_sudoaptinstallrosnoeticrosbash
y-yosuke commented 3 years ago

rosrun へのパスは通っていそうですがパッケージ moveit_tutorials が見つからないので実行できない状況に見えます.

あと英語での投稿 https://github.com/tork-a/tork_moveit_tutorial/issues/48#issuecomment-870408889 を読んでいただけたらと思ったのですが, PATH_TO_YOUR_WORKSPACE は各自のワークスペースへのディレクトリパスで置き換えてください.

or when you have your own ROS1 workspace, ( Please change PATH_TO_YOUR_WORKSPACE to your ROS1 workspace path )

$ source PATH_TO_YOUR_WORKSPACE/devel/setup.bash

またパッケージ moveit_tutorials はここの Issue のパッケージ tork_moveit_tutorial とは別ですので moveit_tutorials のインストールやパッケージパスがどこかについては,そちらのチュートリアルを見返していただくか, パッケージ moveit_tutorials で Issue を立てていただけたらと思います.

And this repository is different from the repository of the tutorial that you are practicing. The repository of the tutorial you are practicing is linked below.

https://github.com/ros-planning/moveit2_tutorials/issues

If you have questions about the contents, I recommend that you ask questions to the Issues there.

rockyist commented 3 years ago

y_yousuke様

お世話になります。 できました。 教えていただいたように、ワークスペースで、 $ source PATH_TO_YOUR_WORKSPACE/devel/setup.bash

と入力したときに、この前は、自分のワークスペースの名前だけ書いたのですが、今回は、友人に教えてもらい、~/自分のワークスペース/devel/setup.bash としたら、問題なく、rosrunができました。(~/が抜けていました。自分のワークスペースへの通し方がわからなかったのですね。)

解決しました。ありがとうございました。

y-yosuke commented 3 years ago

解決して何よりです.