1658浏览
查看: 1658|回复: 6

[漂移驴车项目] 提速秘诀-用RC遥控器驾驶驴车

[复制链接]
本帖最后由 昊男Henry 于 2022-3-10 22:58 编辑

最近大野牛老师反馈用PS2手柄遥控不顺手,所以和他一起摸索,调通了RC遥控器控制。没想到,除了小车遥控手感更加细腻,自动驾驶的效果也有明显提升。从小车跑圈成绩看,原来跑三圈需要33'37'',而换成RC遥控后只要19'69'',时间缩短了40.9%,简直是开挂神器有没有。
MonDecember-202112272799..png

秉着“好东西都要分享”的老驴精神,我翻译并优化了官方教程:https://docs.donkeycar.com/parts/rc/欢迎大家参考!

-----------------------------------------------------------------------------------------------------------------------

RC控制程序
(这仅适用于RaspberryPI。Jetson Nano的GPIO引脚不支持该功能)。

你可以用RC控制器来驾驶驴车!秘诀在于,多亏了酷炫的Pigpio库,RaspberryPI引脚可以读取并生成读取RC接收器和驱动伺服和电机控制器所需的RC信号。


要做到这一点,你需要连接一些跳线电缆从你的RC接收器到RPI GPIO引脚,然后为你的转向伺服和电机控制器做同样的事情(它有点麻烦,但工作很好)


注意:RC控件目前仅在Dev分支中受支持。要使用它,需要执行一下操作,按照相关程序:      

  • 在projects目录下,重命名“donkeycar”文件夹为“donkeycar-bak”
  • 从gitee下载donkeycar最新镜像, 并切换到dev分支
  1. git clone https://gitee.com/yoyojacky/donkeycar
  2. cd donkeycar
  3. git checkout dev
复制代码

  • 重新安装donkeycar并生成新的rccar目录
  1. pip install -e .[pi]
  2. donkey createcar ../rccar
复制代码


-----------------------------------------------------------------------------------------------------------------------

硬件设置
您可以将GPIO引脚用于RC输入。在RC输入的情况下,RC控制器替换蓝牙操纵杆。
连接RC需按照以下布线指南来做。请记住,您只需将一根接地和V+电缆连接到RC接收器(在任何通道上),而不是每个通道都连接一根。
还请注意,RC接收器应连接到3.3V引脚。


警告:RC接收器PWM信号是由接收器输入电压产生的,因此将RC接收器连接到电调ESC的5V甚至6V将会烧毁树莓派!


SunDecember-202112265973..png



下面是RC接收器接线的样子


RC接收机接线图.png

-----------------------------------------------------------------------------------------------------------------------

软件设置
首先,在命令行中输入以下命令,将PIGPIO守护进程设置为始终在启动时运行:
  1. sudo systemctl enable pigpiod & sudo systemctl start pigpiod
复制代码

接下来,在mycar 目录中,编辑myconfig.py文件,如下所示:

  • 对于RC输入,在myconfig.py文件中选择“pigpio_rc”作为控制器类型。
  • 取消对该行的注释(删除前导#),并按如下方式进行编辑:
  1. CONTROLLER_TYPE = 'pigpio_rc'
复制代码


最后,将以下配置加入myconfig.py中实现更多功能,例如反转输出方向或连接的端号:

  1. #PIGPIO RC control
  2. USE_RC = True
  3. STEERING_RC_GPIO = 26
  4. THROTTLE_RC_GPIO = 20
  5. DATA_WIPER_RC_GPIO = 19
  6. PIGPIO_STEERING_MID = 1500         # Adjust this value if your car cannot run in a straight line
  7. PIGPIO_MAX_FORWARD = 2000          # Max throttle to go fowrward. The bigger the faster
  8. PIGPIO_STOPPED_PWM = 1500
  9. PIGPIO_MAX_REVERSE = 900          # Max throttle to go reverse. The smaller the faster
  10. PIGPIO_SHOW_STEERING_VALUE = False
  11. PIGPIO_INVERT = False
  12. PIGPIO_JITTER = 0.025   # threshold below which no signal is reported
复制代码



注意:如果myconfig.py中这行代码请用“#”注释掉,默认不启用手柄:
  1. #USE_JOYSTICK_AS_DEFAULT = True
复制代码


-----------------------------------------------------------------------------------------------------------------------

使用流程
第一步,在树莓派上连接好RC手柄的接收机,并打开RC手柄电源。
第二步,通过以下命令启动小车,注意添加“--js”后缀启用RC手柄控制:
  1. python manage.py drive --js
复制代码

第三步,donkeycar程序启动后,测试RC手柄的转轮是否能控制方向,测试RC手柄的扳机能否控制油门。 RC手柄功能简介-1.png


如果方向或油门反了可以在手柄上通过“方向开关”实现换向。
TueDecember-202112284292..png

(注意:第一次使用需要配对手柄和接收机。即:先关闭手柄电源,长按接收机天线一侧的小按钮直至指示灯闪烁,然后再打开手柄电源,指示灯常亮后说明配对成功)
RC接收机配对键.png

第四步,通过RC手柄的两个“中位旋钮”,分别校准油门中位和方向中位。做到扳机在中间时,车轮保持不动且没有自动拍照。做到转轮在中间时,小车能走直线。
TueDecember-202112288251..png

第五步,遥控小车在赛道上开,采集5000组左右的驾驶数据。建议:通过网页端的摄像头实时画面,判断周围环境光是否过亮或过暗并做出调整。
如果油门太大或转向角度不足,都可以通过RC手柄的两个“比例旋钮”,分别调整油门和转向的最大范围。
TueDecember-202112288810..png

(此处省略自动驾驶模型的训练过程)

第六步,小车自动驾驶的模型训练生成后,通过以下命令启动小车(mypilot.h5模型文件的路径和名称,请按实际情况替换):

  1. python manage.py drive --model ./models/mypilot.h5
复制代码

第七步,从同一个网络下,登录驴车IP地址的8887端口,通过“Mode & Pilot”选项切换驾驶模式。

User:用户手动驾驶;
Local Pilot:完全自动驾驶,小车同时控制方向和速度;
Local Angle:半自动驾驶,小车只控制方向,速度需要用户从网页控制。

(注意:此时RC手柄是无法使用)

MonDecember-202112279873..jpg

至此,小车应该已经可以比较顺畅地自动跑起来。

有任何问题,都欢迎跟帖留言。祝各位驴友玩车愉快!






昊男Henry  初级技师
 楼主|

发表于 2021-12-27 00:33:28

本帖最后由 昊男Henry 于 2021-12-28 23:07 编辑

为确保大家的使用体验,已亲测这款RC手柄。
六通道,带陀螺仪,可玩性和性价比都很高,推荐!
采购链接: https://m.tb.cn/h.fjP6f2E?sm=616f35
MonDecember-202112272521..png

另外,考虑到部分驴友可能没有杜邦线和端子头,以下采购链接欢迎参考:
TueDecember-202112281272..png TueDecember-202112281815..png

回复

使用道具 举报

憨憨的少年  学徒

发表于 2021-12-27 11:41:13

马上入手一个来试试,谢谢分享
回复

使用道具 举报

昊男Henry  初级技师
 楼主|

发表于 2021-12-27 23:29:45

憨憨的少年 发表于 2021-12-27 11:41
马上入手一个来试试,谢谢分享

值得入手,提速必备啊
回复

使用道具 举报

gray6666  初级技神

发表于 2021-12-28 21:48:47

dongkeycar小车标配专业手柄,赞一个
回复

使用道具 举报

昊男Henry  初级技师
 楼主|

发表于 2021-12-28 23:00:13

gray6666 发表于 2021-12-28 21:48
dongkeycar小车标配专业手柄,赞一个

未来RC手柄确实可以成为小车标配,代替PS2手柄。感谢好建议!
回复

使用道具 举报

yoyojacky  初级技匠

发表于 2022-2-6 23:14:26

实测太香了, 就当 RC 赛车跑漂移的感觉也是非常的赞! 强烈推荐~
真的好丝滑~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail