TurtleBot4快速入门教程-PS4手柄控制(含视频)
TurtleBot4快速入门教程-PS4手柄控制
说明:
- 本教程主要介绍如何使用PS4手柄控制TB4
- 注意:只有
TurtleBot 4标准版
的附带有PS4手柄,TurtleBot 4 Lite
并不配有PS4手柄
相关设备
- Turtlebot4机器人套件:采购地址
操作步骤
默认情况下,手柄已预先和树莓派配对好
机器人启动之后,按一下手柄中间的
HOME
键启动手柄,手柄会自行配对,配对成功会亮蓝灯
默认情况下,
joy_teleop
节点已设置开机运行。如果其没有自动启动,可手动启动该节点[TurtleBot SBC] ssh到树莓派,手动启动
joy_teleop
节点
$ ros2 launch turtlebot4_bringup joy_teleop.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2022-08-09-07-53-32-749667-ubuntu-4329
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [joy_linux_node-1]: process started with pid [4331]
[INFO] [teleop_node-2]: process started with pid [4333]
[teleop_node-2] [INFO] [1660031613.717859099] [TeleopTwistJoy]: Teleop enable button 4.
[teleop_node-2] [INFO] [1660031613.718043634] [TeleopTwistJoy]: Turbo on button 5.
[teleop_node-2] [INFO] [1660031613.718072300] [TeleopTwistJoy]: Linear axis x on 1 at scale 0.200000.
[teleop_node-2] [INFO] [1660031613.718105614] [TeleopTwistJoy]: Turbo for linear axis x is scale 0.500000.
[teleop_node-2] [INFO] [1660031613.718127762] [TeleopTwistJoy]: Angular axis yaw on 0 at scale 0.500000.
[teleop_node-2] [INFO] [1660031613.718147799] [TeleopTwistJoy]: Turbo for angular axis yaw is scale 1.900000.
[joy_linux_node-1] [WARN] [1660031613.771284756] [joy_linux_node]: Couldn't open joystick force feedback: Bad file descriptor
[joy_linux_node-1] [INFO] [1660031613.771599640] [joy_linux_node]: Opened joystick: /dev/input/js0. deadzone_: 0.050000.
控制机器人移动时,需要按住
L1
键或者R1
键,再操纵左摇杆按
L1
键,机器人将会以正常速度移动;按R1
键,机器人将会以二倍速度移动
注意
:TB4的底盘不支持持续后退操作
手柄其他键位说明
HOME
键:手柄连接上树莓派后,轻按HOME
键,TB4将会进行自动充电操作;长按HOME
键,TB4将会进行脱离充电桩操作L2
键:沿着左边墙壁移动10秒R2
键:沿着右边墙壁移动10秒- 右侧四键靠右的
O
键:启动/关闭底盘电机;底盘电机关闭时,底盘无法移动且开关键上的光环会变橙色
# L1 R1
# L2 R2
# _=====_ _=====_
# / _____ \ / _____ \
# +.-'_____'-.------------------------------.-'_____'-.+
# / | | '. (SHARE) (OPTIONS) .' | _ | \
# / ___| /|\ |___ \ / ___| /_\ |___ \
# / | | | ; ; | _ _ ||
# | | <--- ---> | | | ||_| (_)||
# | |___ | ___| ; ; |___ ___||
# |\ | \|/ | / _ ____ _ \ | (X) | /|
# | \ |_____| .','" "', (HOME) ,'" "', '. |_____| .' |
# | '-.______.-' / \ / \ '-._____.-' |
# | | LJ |--------| RJ | |
# | /\ / \ /\ |
# | / '.___.' '.___.' \ |
# | / \ |
# \ / \ /
# \________/ \_________/
如果使用的是TB4标准版,通过手柄可以选择且启动底盘上方显示屏的功能应用
通过左侧方向键的上下键来进行选择,然后按右侧四键靠下的
X
键来确认默认配置下,底盘上方显示屏的功能应用有以下几种
# Dock:自动充电
# Undock:脱离充电桩
# Wall Follow Left:沿着左边墙壁移动10秒
# Wall Follow Right:沿着右边墙壁移动10秒
# Power:关机
# EStop:启动/关闭底盘电机
手动配对手柄 方法一:
- 在系统界面上,点击Settings设置
- 点击Bluetooth蓝牙
- 同时按住PS4手柄上的home键和SHARE按钮,直到指示灯开始闪烁
- Wireless Controller就是PS4手柄,点击Wireless Controller
- 这样就说明连接上了
- 此时手柄已连接,并且手柄上的指示灯将变为蓝色
手动配对手柄 方法二:
默认情况下,
TurtleBot 4 Lite
的树莓派上并没有安装蓝牙的软件包,需要远程连上树莓派执行sudo bluetooth.sh
命令后重启树莓派,然后按照以下配置方式配对手柄
如果换了新手柄或需无法自行配对,可根据以下配置方式配对手柄
[TurtleBot SBC] 远程进入pi4后,启动
bluetoothd
CLI界面
$ sudo bluetoothctl --agent=NoInputNoOutput
输入
scan on
并按回车同时按住手柄上的
home
键和SHARE
按钮,直到指示灯开始闪烁
在终端中查找要找到具有类似于
A0:5A:5C:DF:4D:7F
的MAC
地址的蓝牙手柄设备在终端中输入
trust MAC_ADDRESS
,将MAC_ADDRESS
替换为蓝牙手柄的MAC
地址然后,输入
pair MAC_ADDRESS
最后,输入
connect MAC_ADDRESS
此时终端中应输出手柄已连接的信息,并且手柄上的指示灯将变为蓝色
输入
exit
退出终端测试是否能正常控制机器人
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号