0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WHILL(ROS対応)をUbuntuPCとraspi経由でDS4から動かす

Last updated at Posted at 2021-09-06

#ROS対応ロボット(WHILL)の自律移動

##概要
ロボットを自律移動させたい.

第1回 WHILL(ROS対応)をUbuntuPCとraspi経由でDS4から動かす
第2回 urgでSLAMして自己位置推定(amcl)と自律移動(move_base)する
第3回 経路計画
第4回 物体追跡/追従

##前準備

###WHILLパッケージおよび依存パッケージのインストール
https://github.com/WHILL/ros_whill/blob/melodic-devel/package.xml
https://github.com/wjwwood/serial

raspi-terminal
mkdir -p srg_ws/src && cd srg_ws/src

git clone https://github.com/WHILL/ros_whill.git

git clone https://github.com/wjwwood/serial.git

cd .. && catkin build 

##WHILLをターミナルから動かす

###WHILLを繋いでいるシリアルポートを指定
source

ubuntu@ubuntu:~/catkin_ws$ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:84:C3:C1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc
[    0.000638] printk: console [tty1] enabled
[    2.847410] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 14, base_baud = 0) is a PL011 rev2
[    2.852118] printk: console [ttyS0] disabled
[    2.852159] fe215040.serial: ttyS0 at MMIO 0x0 (irq = 16, base_baud = 62500000) is a 16550
[    3.112960] printk: console [ttyS0] enabled
[   14.393234] usb 1-1.2: pl2303 converter now attached to ttyUSB0
[  276.511974] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[  857.327384] usb 1-1.2: pl2303 converter now attached to ttyUSB0

今回WHILLはttyUSB0ですね。
ROS講座にも書かれているとおり、USBはttyUSBXで命名される(ArduinoはttyACMX)ので、次のように環境変数を設定する。

terminal-no.1
export TTY_WHILL=/dev/ttyUSB0

これで準備おk

terminal_no.1
roslaunch ros_whill ros_whill.launch
teminal_no.2
rostopic pub /whill/controller/cmd_vel geometry_msgs/Twist "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 

これでWHILLが一瞬動く

##WHILLをPS4から操作できるようにする

ROSでPS4のコントローラ(DualShock4)を使う方法
Linux のコマンドラインで Bluetooth 接続

を参考にしようとしたら、raspiの方がbluetoothをonにできないという状況だったのでPCから接続することにし、ubuntu PCとraspiで通信させる。
参考

###joy stick準備

PCターミナル
sudo apt-get install ros-melodic-joy -y
sudo apt-get install ros-melodic-joystick-drivers -y
sudo pip install ds4drv
sudo apt-get install ros-melodic-teleop-twist-joy

これで準備が完了

###DS4から動かす
以下,ROS_MASTER_URIとROS_IPは適宜自分のものに読み替えてください.

PC全ターミナル
#pcのIP
export ROS_IP=192.168.201.121
#PCが有線LANのとき
export ROS_IP=192.168.201.123
#master ここではraspi
export ROS_MASTER_URI=http://192.168.201.131:11311
pc1
sudo ds4drv #start presing DS4's share button and home button long until LED flashes
pc2
rosrun joy joy_node &
rosrun teleop_twist_joy teleop_node cmd_vel:=whill/controller/cmd_vel
raspiターミナル全て
ssh ubuntu@192.168.201.131
raspiターミナル1
export ROS_IP=192.168.201.131 ##raspiのIP

cd ~/catkin_ws/ 
source devel/setup.bash 
roslaunch ros_whill ros_whill.launch

DS4の□ボタンを押しながら左スティックを回すといける

###エラー集
何故か急にrostopic echo /joy
が反応しなくなった

何故かは不明だがjoy関連のパッケージを消して、

sudo apt-get install ros-melodic-joy -y
sudo apt-get install ros-melodic-joystick-drivers -y

で入れ直したら解決した

もしくはこれをやり直したほうがいいかも
http://wiki.ros.org/joy/Tutorials/ConfiguringALinuxJoystick

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?