Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS 2 Jazzyへの対応 #53

Merged
merged 15 commits into from
Oct 23, 2024
Merged

ROS 2 Jazzyへの対応 #53

merged 15 commits into from
Oct 23, 2024

Conversation

KuraZuzu
Copy link
Contributor

@KuraZuzu KuraZuzu commented Oct 17, 2024

What does this implement/fix?

ROS 2 Jazzyに対応させます。

Does this close any currently open issues?

しません。

How has this been tested?

以下の環境を用意し、動作確認をしました。

環境

  • Raspberry Pi Mouse V3
    • Raspberry Pi 4B (4GB)
  • Ubuntu Server 24.04 LTS
  • ROS 2 Jazzy Base

環境確認

実機で構築した環境をコマンドで確認します。

$ uname -a
Linux ubuntu 6.8.0-1012-raspi #13-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep  2 11:13:41 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.1 LTS
Release:	24.04
Codename:	noble

動作確認

以下の手順で動作することを確認しました。

予めデバイスドライバをビルド・インストールしておきます

起動

次のros2 runros2 launchで起動する2通りの方法の両方で動作を確認しました。

ros2 run

# Terminal1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run raspimouse raspimouse

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 lifecycle set raspimouse configure
$ ros2 lifecycle set raspimouse activate

ros2 launch

# Terminal1
$ source ~/ros2_ws/install/setup.bash
$ ros2 launch raspimouse raspimouse.launch.py

動作

# Terminal 2

# Set buzzer frequency
$ ros2 topic pub -1 /buzzer std_msgs/msg/Int16 '{data: 1000}'
$ ros2 topic pub -1 /buzzer std_msgs/msg/Int16 '{data: 0}'

# View lightsensors status
$ ros2 topic echo /light_sensors

# View SW statussudo 
$ ros2 topic echo /switches

# Toggle LEDs
$ ros2 topic pub -1 /leds raspimouse_msgs/msg/Leds '{led0: 0, led1: 1, led2: 0, led3: 1}'
$ ros2 topic pub -1 /leds raspimouse_msgs/msg/Leds '{led0: 1, led1: 0, led2: 1, led3: 0}'
$ ros2 topic pub -1 /leds raspimouse_msgs/msg/Leds '{led0: 0, led1: 0, led2: 0, led3: 0}'

# Rotate motors
$ ros2 service call /motor_power std_srvs/SetBool '{data: true}'
$ ros2 topic pub -1 /cmd_vel geometry_msgs/msg/TwistStamped '{twist: {linear: {x: 0.05, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.05}}}'
$ ros2 topic pub -1 /cmd_vel geometry_msgs/msg/TwistStamped '{twist: {linear: {x: 0, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}}'
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -p stamped:=true
$ ros2 lifecycle set raspimouse deactivate

Any other comments?

主な変更点

  • ドキュメントを修正しました
  • リポジトリのRaspberry Pi Mouseの画像リンクを修正しました
  • /cmd/velのメッセージの型をTwistTwistStamped変更しました
  • /cmd_velの変更により後方互換性がなくなったため、メジャー番号をアップデートしました

Checklists

@KuraZuzu KuraZuzu requested a review from YusukeKato October 17, 2024 05:30
@YusukeKato
Copy link
Contributor

動作確認をros2 run raspimouse raspimouseで行っていますが、ros2 launch raspimouse raspimouse.launch.pyでlaunchファイルから実行しても問題ないか確認をお願いいたします(launchファイルからノードを起動してros2 lifecycle set raspimouse configureros2 lifecycle set raspimouse activateを実行しなくてもactivateの状態になるか確認をお願いいたします)。

@YusukeKato
Copy link
Contributor

CHANGELOG.rstの更新とpackage.xmlのバージョンの更新はパッケージのリリース時に行ったほうが分かりやすいので、このPRでは変更なしでお願いいたします。
Humble版リリース時のPRの参考:https://github.com/rt-net/raspimouse2/pull/49/files

@KuraZuzu
Copy link
Contributor Author

レビューに沿って以下の点を修正しました。

  • launchファイルからの起動でも動作すること確認し、PRの本文の手順にも反映しました
  • package.xmlのバージョン変更を取り消しました
  • CIが無効化されていなかったので有効にしました

Copy link
Contributor

@YusukeKato YusukeKato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントの確認をお願いいたします。

README.md Outdated
```sh
# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 launch raspimouse raspimouse.launch.py

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 lifecycle set raspimouse configure
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

launchファイルからノードを起動した場合、ros2 lifecycle set raspimouse *のコマンド2行が不要なら削除をお願いいたします。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

削除しました。

@YusukeKato
Copy link
Contributor

CIが失敗しているので確認をお願いいたします。
またCIの設定がHumbleのままになっていそうなのでJazzyへ変更をお願いいたします。

@KuraZuzu
Copy link
Contributor Author

CIで指摘されていた構文へのエラーを修正しました

@KuraZuzu
Copy link
Contributor Author

ご指摘の点を全て修正したので、ご確認よろしくおねがいします。

@YusukeKato
Copy link
Contributor

実機のRaspberry Pi Mouseで動作確認できました。

Copy link
Contributor

@YusukeKato YusukeKato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントの確認をお願いいたします。

README.md Outdated Show resolved Hide resolved
Co-authored-by: YusukeKato <YusukeKato@users.noreply.github.com>
Copy link
Contributor

@YusukeKato YusukeKato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/checkoutの更新&確認をお願いいたします。

.github/workflows/industrial_ci.yml Outdated Show resolved Hide resolved
Co-authored-by: YusukeKato <YusukeKato@users.noreply.github.com>
@KuraZuzu
Copy link
Contributor Author

コメントありがとうございます。以下の2点について修正しました。

  • README.mdで記入漏れのあった.bash拡張子の補完
  • actions/checkoutのバージョンを3から4にアップデート

@YusukeKato
Copy link
Contributor

LGTMです!

@YusukeKato YusukeKato merged commit 02ff085 into master Oct 23, 2024
2 checks passed
@YusukeKato YusukeKato deleted the feature/support-jazzy branch October 23, 2024 01:57
@YusukeKato YusukeKato added the Type: Feature New Feature label Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature New Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants