系列文章目录:
说明:
-
本教程主要介绍如何使用PS4手柄控制TB4
-
注意:只有
TurtleBot 4标准版
的附带有PS4手柄,
TurtleBot 4 Lite
并不配有PS4手柄
操作步骤
-
默认情况下,手柄已预先和树莓派配对好
-
机器人启动之后,按一下手柄中间的
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:启动/关闭底盘电机
手动配对手柄
默认情况下,
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
退出终端
-
测试是否能正常控制机器人
swift 标准注释格式 swift属性
一.存储属性1.简介一个存储属性就是存储在特定类或结构体实例里的一个常量(let)或变量(var)。struct FixedLengthRange {
var firstValue: Int // 名为 firstValue 的变量存储属性
let length: Int // 名为 length 的常量存储属性
let rangeOfFourItems = Fix
java接入帆软 帆软开发
帆软报表开发常用公式 文章目录目录前言一、常用公式二、相关JS三、其他注意事项总结 前言记录常用公式与js提示:以下是本篇文章正文内容,下面案例可供参考一、常用公式--1.参数为空选择全部
${if(PRO_ID =="总体情况","","and FILL_PRO_COST_DETAILS.PRO_ID= ('" + PRO_ID + "')")}
--2.在公式编辑窗口调用sql
if($TR