|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]
Messages
Services
Plugins
Recent questions tagged chaplus_ros at Robotics Stack Exchange
|
chaplus_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store power_switching_tools_ros respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kei Okada
Authors
- Ayaka Fujii
chaplus_ros
ROS package for mebo: https://mebo.work/
Tutorials
-
optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202
-
For JSK Users, please download the apikey.json
-
Please start the sample launch with the following command.
$ roslaunch chaplus_ros google_example.launch chaplus_apikey_file:=${HOME}/Downloads/apikey.json
This sample subscribes /speech_to_text [speech_recognition_msgs/SpeechRecognitionCandidates] and publishes /robotsound_jp [sound_play/SoundRequest]
- You can try several conversations using
rostopic pubcommand. Here is an example of sending “おはよう”.
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
The reply from the bot can be checked using rostopic echo command.
$ roopic echo --filter "print(m.arg)" /robotsound_jp
or
$ rostopic echo /robotsound_jp | ascii2uni -a U -q
Here is an example of conversations.
# terminal 1
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'おはよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- 'お話しよう'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '何色が好き?'
confidence:
- 0"
$ rostopic pub -1 /speech_to_text speech_recognition_msgs/SpeechRecognitionCandidates "transcript:
- '良いですね。私は白が好きです。'
confidence:
- 0"
# termial 2
$ roopic echo --filter "print(m.arg)" /robotsound_jp
おはようございます!
あー、久しぶりにおしゃべりしたいですね。楽しみにしています。
私の好きな色は緑です。気持ちが落ち着きますよね。
私も好きです。気持ちが落ち着く気がしますから。
Interface
Subscribing Topics
-
request (std_msgs/String)
Input text data for chaplus bot system.
Publishing Topics
-
response (std_msgs/String)
Response text data from chaplus bot system.
Parameters
-
~chaplus_apikey_file (String: default:
rospack find chaplus_ros/apikey.jsonPath to json file stores chaplus API key.
-
~communication_sample_file (String: default:
rospack find chaplus_ros/communication_sample.jsonPath to json file of decided responses.
If you do not want to use this, please set the parameter as
use_sample:=falsewhen roslaunch.
Sample Code
1) sample/julius_example.launch
Example to listen from your mic and respond from speakers, This demo uses Julius for speech to text engine, which requires vocabulary list. You need to change following line of the julius_example.launch to let system recognize your talk. Note that julius needs 20-30 seconds to update it’s vocabulary list, so please be patient after you send the list from your command line.
```
File truncated at 100 lines see the full file
Changelog for package chaplus_ros
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[chaplus_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged (no re-indentation). The installed ROS2 copy of chaplus_ros.py gets a python3 shebang, since ROS2 base images ship no bare [python]{.title-ref}. apikey.json/communication_sample.json are installed to share/ since ROS2 has no rospack source lookup.
- chaplus_ros.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, log*, create_publisher/subscription), keeping the ROS1 structure as-is.
- jsk_ros1_ros2_compat is only released with jsk_common >= 3.0 (not in noetic/ROS-O yet), so it is a ROS2-only dependency and the script falls back to forwarding ros_compat.xxx(node, ...) to rospy.xxx(...) when it is not importable.
- Initialize response_json in topic_cb(); it was unbound when the HTTP request raised, which rospy only logged but kills the rclpy node.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. main: ros_compat.init_node()/spin() instead of the ROS_VERSION branch (jsk-ros-pkg/jsk_common#1831; ROS1 fallback forwards them to rospy). ROS2 exec_depend on jsk_ros1_ros2_compat >= 3.0.2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
2.1.29 (2025-01-05)
2.1.28 (2023-07-24)
2.1.27 (2023-06-24)
2.1.26 (2023-06-14)
- add LICENSE files (#476)
- Contributors: Kei Okada
2.1.25 (2023-06-08)
- [chaplus_ros] support mebo (#374)
- [chaplus_ros] change a3rt urls
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake | |
| ros_environment | |
| jsk_ros1_ros2_compat | |
| python-requests | |
| rospy | |
| rclpy | |
| ament_index_python | |
| std_msgs |
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
- sample/google_example.launch
-
- chatbot_engine [default: Mebo]
- use_sample [default: false]
- use_respeaker [default: true] — set false if you do not use respeaker
- chaplus_apikey_file [default: $(find chaplus_ros)/apikey.json]
- engine [default: GoogleCloud]