ROS与RACECAR教程2-VESC介绍
ROS与RACECAR教程2-VESC介绍
说明:
- 介绍VESC以及安装方法
VESC:
- 对于Jetson RACECAR,我们用Vedder电子速度控制器(VESC)替换TRAXXAS ESC。
- 主要原因是是更好控制速度,同时VESC是开源。
- 架构上,VESC有一个STM32 ARM Cortex处理器。 STM32运行ChibiOS,一个实时操作系统。
- VESC-X上烧录的默认固件为Servo-in,允许遥控器设置电机转速。
- 对于Jetson RACECAR应用,VESC伺服端口需要编程为Servo-out,可将命令发送到机器人转向伺服。
- 有一个VESC固件版本的编译二进制文件,包括Servo-out设置。
- 可以使用名为'bldc-tool'的程序从Jetson直接烧录STM32。
- BLDC是BrushLess直流电机的缩写。
- 一旦bldc工具将Servo-out固件加载到VESC,然后加载与VESC配置匹配的配置文件,控制TRAXXAS Velineon 3500电机。
- 实际的VESC固件在bldc-tool Firmwares目录中以二进制形式提供。
- 如果您有兴趣从源代码构建VESC固件,则可以从Github上的bldc固件源代码树中进行编译。
连线:
- VESC使用微型USB至USB-A电缆连接到Jetson。
- USB电缆通常在Jetson和VESC之间传递电机速度和转向角度。
- TRAXXAS转向伺服电机连接到VESC伺服接头。
- 使用90度,3针母头更方便接线。
- 接线图:
安装bldc-tool:
- 下载软件
$ git clone https://github.com/jetsonhacks/installBLDC
$ cd installBLDC
$ ./installBLDC.sh
- 编译bldc-tool并下载电机配置文件,文件放于
~/hardware/vesc
- 连接电池到VESC
烧录固件:
- 运行
$ cd ~/bldc-tool
$ ./BLDC_Tool
- 这将启动GUI与VESC进行交互
- 在烧录固件之前,点击“Connect”按钮与VESC进行通信
- VESC应该在ttyACM0(更正式地,/dev/ttyACM0)
- 连接当前固件版本将显示在右下角
- 选择 ‘Firmware’来刷新固件,但要小心选择符合VESC要求的固件
- 本文使用硬件版本4.12的固件“VESC_servout.bin”
- 配置文件位于~/hardware/vesc中。 配置文件用于VESC-X为“6.141_bldc_VESC_X_hw_30k_erpm.xml”。
- 如果您使用常规VESC,则可能需要使用配置文件“/6.141_bldc_old_hw_30k_erpm.xml”。
- 注意:您应该使用更新的bldc配置,配置降低最小和最大erpm值,以避免在连接到TRAXXAS电机时损坏VESC。
测试:
- 固件和配置文件都准备好后,可通过游戏杆控制运动
$ sudo jstest /dev/input/js0
- Logitech Gamepad F710有两种模式,由标有“mode”的按钮控制。
- Jetson RACECAR的正确模式是左操纵杆控制轴0和1,右操纵杆控制轴2和3。
- 遥控
$ cd racercar-ws
$ source devel/setup.bash
$ roslaunch racecar teleop.launch
参考:
- http://www.jetsonhacks.com/2017/06/01/get-your-motor-running-vesc-jetson-racecar-build/
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号