No version for distro humble showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro jazzy showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro kilted showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro lyrical showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro rolling showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro ardent showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro bouncy showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro crystal showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro eloquent showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro dashing showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro galactic showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro foxy showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

No version for distro iron showing lunar. Known supported distros are highlighted in the buttons above.

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange

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

The ROS package for chaplus service

Maintainers

  • Kei Okada

Authors

  • Ayaka Fujii

chaplus_ros

ROS package for mebo: https://mebo.work/

Tutorials

  1. optional) If you want to get new agent, please reference https://qiita.com/maKunugi/items/14f1b82a2c0b6fa5c202

  2. For JSK Users, please download the apikey.json

  3. 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]

  1. You can try several conversations using rostopic pub command. 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.json

    Path to json file stores chaplus API key.

  • ~communication_sample_file (String: default: rospack find chaplus_ros/communication_sample.json

    Path to json file of decided responses.

    If you do not want to use this, please set the parameter as use_sample:=false when 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

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

Dependant Packages

No known dependants.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged chaplus_ros at Robotics Stack Exchange