検索
連載

ROSのAIエージェント「RAI」を使って自然言語でアームロボットを制御する生成AIで変わるロボット制御(後編)(2/4 ページ)

ロボット制御における生成AIの活用に焦点を当て、前後編に分けて解説する。後編では、ROSのAIエージェントライブラリ「RAI」の概要と、RAIを用いた生成AIによるアームロボット制御の事例を解説する。

Share
Tweet
LINE
Hatena

2.2.2. デモ実行

 ROS2Agentを実行するために、下記のリスト2をraiフォルダ内のexamplesフォルダにpython形式(test.pyなど)で保存する。

from rai import ROS2Agent
agent = ROS2Agent()
print(agent("What topics, services, and actions are available?"))
print(agent("Please publish 'Hello RAI' to /chatter topic only once"))
リスト2 ROS2Agentを実行するためのコード

 次に、config.tomlの設定を変更する。デフォルトではOpenAIのChatGPTを使用する設定になっているため、Llamaを使用する設定としてraiフォルダ内のconfig.tomlの2〜4行目にある"openai"を"ollama"に変更する(リスト3)。

[vendor]
simple_model = "ollama"
complex_model = "ollama"
embeddings_model = "ollama"
リスト3 Llamaを使用するためのconfig.tomlの設定

 次にUbuntuの端末を開き、Llamaを起動する。config.tomlに記載されているモデル、Llama3.1:70bを使用するため、下記のコマンドで該当バージョンを起動する。

$ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
$ docker exec -it ollama ollama run llama3.1:70b

 さらに、RAIからのROSトピックの送信を確認できるように下記コマンドを実行する。

$ ros2 topic pub /chatter std_msgs/msg/String "{'data': 'Hello world'}"

 その後、別の端末で下記のコマンドを実行し/chatterのトピックの取得準備をする。

$ ros2 topic echo /chatter 

 Hello worldが受信できることを確認したら、ros2 topic pub側の端末はCtrl+Cで終了し、ros2 topic echo側は開いたままにする。

 その後raiフォルダ直下で下記のコマンドによりROS2Agentのコード(test,py)を呼び出して実行する。

$ source ./setup_shell.sh
$ python3 examples/test,py

 すると、以下のリスト4のようにROS 2のトピック一覧や/chatterのトピックを送信できていることが確認できる。

リスト4
リスト4 サンプルプログラムの実行結果1[クリックで拡大]

 前述した1つ目の命令の“What topics, services, and actions are available?”に対して、現在存在しているトピック一覧が表示され、存在していないServiceやActionについては、“There are no services or actions available.”という回答がある(リスト5)。

リスト5
リスト5 サンプルプログラムの実行結果2[クリックで拡大]

 次の“Please publish 'Hello RAI' to /chatter topic only once”は/chatterのトピック名でHello RAIという内容を送信するというもので、受信側の端末で実際にトピックが送信されていることが分かる(リスト6)。

リスト6
リスト6 /chatterの受け取り側の端末が、RAIからのHello RAIを受信。Hello worldは実行前のテストトピックのログ

 このように、ROS2Agentで定義されているToolが、ROS2Agent に入力された自然言語の命令に基づいた挙動を行う。

 この他にもシミュレーションを利用した操作デモなどが用意されているため、気になる方は試してみてはいかがだろうか。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る