🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

2回答

1526閲覧

macにros2をインストールしたい

shu__n_p

総合スコア20

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2019/09/28 16:37

編集2019/10/02 19:24

MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)

  • macOS Mojave(10.14.6)

やりたいこと

ロボットプログラミング初心者です。C++やマニピュレータの授業でrosのコマンドやCMAKEを使うのでVS上でUbuntuを使用しようとしましたが、重すぎて断念。
ros2がmacに対応したみたいなので、インストールして使用できないかと挑戦中。

やったこと

「ros2ではじめよう 次世代ロボットプログラミング」という本を読みながらセットアップをしました。

  • Homebrewのインストール
  • ros2の依存パッケージのインストール
  • ビルド済みros2バイナリのインストール
  • 解凍・配置

できないこと

ターミナルで

~/ros/dashing/set.up.bash

と書いても

/ros/dashing/setup.bash: Permission denied

となり、入れません。
本ではその後に

ros2 run demo_nodes_cpp talker

をすると書いてあります。

自分がどういう状況にあるのかもよくわかっていない初心者ですので、極力簡単に教えていただけるとありがたいです。

追記(実行権限を与えようとしましたがうまくいきません)

追記(-r <> ~/ros/dashing/setup.bash を行いました。
イメージ説明

追記

追記

追記

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

本を持っていないので、公式サイトのインストール手順 ( https://index.ros.org//doc/ros2/Installation/Crystal/OSX-Install-Binary/ ) からの推測です。

ターミナルで
~/ros/dashing/set.up.bash
と書いても
/ros/dashing/setup.bash: Permission denied

と書かれていますが、この部分のコマンドは、

. ~/ros/dashing/setup.bash

source ~/ros/dashing/setup.bash

ということはないでしょうか?
(公式サイトでは、 Set up the ROS 2 environment セクションで . ~/ros2_install/ros2-osx/setup.bash を実行しています。)

もし、上記でうまく言った場合は、再起動時に毎回このコマンドを実行する必要があるので、下記のコマンドを1回実行して、起動時に自動で実行されるようにしたほうが良いかもしれません。

echo "source ~/ros/dashing/setup.bash" >> ~/.bashrc

投稿2019/10/02 21:55

編集2019/10/02 21:58
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shu__n_p

2019/10/02 23:26

. ~/ros/dashing/setup.bash の実行は@uzyexeさんのおかげで実行することができました。 が、ros2のcommand not foundが出てしまい困っています。。。
uzyexe

2019/10/03 01:21

. ~/ros/dashing/setup.bash と ~/ros/dashing/setup.bash は実行結果が異なる可能性があるので、ぜひぜひトライしてみることをオススメします。
junk0908

2020/08/16 09:19

source ~/xxx/ros2-osx/setup.bashを実行すると 下記のエラーが出てしまい、困っています。。。 Warning: The location at which Connext was found when the workspace was built [[/Applications/rti_connext_dds-5.3.1]] does not point to a valid directory, and the NDDSHOME environment variable has not been set. Support for Connext will not be available.
guest

0

Permission denied(アクセス拒否)というエラーであることから、
set.up.bash に実行権限が割り当てられていないのだと思います。
実行権限が割り当てられていないファイルを実行することはできません。

ls -l ~/ros/dashing/set.up.bash コマンドを実行したとき、
仮に -rw-r--r-- というように表示されるようであれば、
r(読み取り権限)w(書き込み権限) が割当られていることがわかりますが、
x(実行権限) がファイルに割り当てられていないことがわかります。

そのような場合、chmod コマンドを使って、
chmod +x ~/ros/dashing/set.up.bash というふうに実行すれば、
set.up.bash に実行権限を割り当てることができます。

その後、~/ros/dashing/set.up.bash を再試行してみるのがよいと思います。

投稿2019/09/28 18:04

uzyexe

総合スコア239

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shu__n_p

2019/09/29 14:43

回答ありがとうございます。 chmod コマンドを使ってみたのですが、実行権限がなぜか与えられません。 ターミナルのスクリーンショットを質問内に添付しますので、確認していただけますでしょうか?
uzyexe

2019/09/29 14:59

スクリーンショットを拝見する限りでは、 setup.bash には x が付与されており、実行権限は正しく設定されているように見受けられますが、 ~/ros/dashing/set.up.bash を実行しても Permission denied がまだ出てきてしまうということでしょうか。
uzyexe

2019/09/29 15:02

もしかすると、ファイル所有者が staff になっているのが原因かもしれないので、 chown -r <ログインユーザー名> ~/ros/dashing を実行して、ファイル所有者を shu__n_p さんがログイン時に使っているユーザーを所有者として書き換えたほうがよいかもしれません。
shu__n_p

2019/10/02 15:44

返信ありがとうございます。レス遅くてすいません、、、 chown -r <ログインユーザー名> ~/ros/dashing と書くと No such file or directory とエラーが出てしまいます。
uzyexe

2019/10/02 15:47

あ、もしかして、<ログインユーザー名> と書いている部分は、shu__n_p さんがログイン時に使っているユーザー名に書き換えてみて実行してください。ログイン時に使っているユーザー名がわからない場合は、whoami コマンドを実行すると表示されると思います。
shu__n_p

2019/10/02 16:37

そこはもちろんそうしています笑 スクリーンショットを追記しています◎
uzyexe

2019/10/02 16:39

あ、記号の < > も取っ払って再実行してみてください。
shu__n_p

2019/10/02 17:27 編集

illegal option -- r と表示されました。。。 スクリーンショットを追記しています◎
uzyexe

2019/10/02 17:28

お、では、-r ではなくて、大文字の -R で。 もしかすると、sudo も頭に付けて、 sudo chown -R ログインユーザー名 ~/ros/dashing として実行する必要があるかもしれません。
shu__n_p

2019/10/02 18:11

さっきよりは進展ありました! スクリーンショットを追記しています。
uzyexe

2019/10/02 18:19

お、それは良かったです! では、あとは ~/ros/dashing/setup.bash (set.up.bash ではなく、setup.bash)をそのまま実行すれば何らかの処理が完走して、ros2 run demo_nodes_cpp talker を実行できるところまで進められるのではないかなと思います。
shu__n_p

2019/10/02 19:23

setup.bashは実行できました! しかし、ros2のcommand not foundが出てしまいます。 スクリーンショットを追記しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問