官方教程:http://turtlebot3.robotis.com/en/latest/opencr_software.html
以下内容在PC上完成。以下教程将会在PC上安装Arduino开发环境:
1.USB端口设置:
使OpenCR USB端口能够在没有root权限的情况下上传Arduino IDE程序,在命令窗口输入以下内容:
wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules
sudo cp ./99-opencr-cdc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
效果如下图:2.编译器设置
由于OpenCR库是为32位平台构建的,64位PC需要用于Arduino IDE的32位编译器相关内容,执行如下命令:
sudo apt-get install libncurses5-dev:i386
3.安装Arduino IDE
OpenCR需Arduino IDE 1.16.0及之后的版本,请从官方的arduino主页下载最新版本(官网会比较慢,可以选择中文版官网:http://www.arduino.cn/ 找软件下载,下载最新的版本),英文地址:https://www.arduino.cc/en/Main/Software 将下载的文件解压缩,然后在根目录下创建tool文件夹:
mkdir ~/tools
把arduino拷过去,执行安装:
cd ~/tools/arduino-1.8.1
./install.sh
这里会出错,提示cannot touch/.../hicolor的错误,但是后面来看,好像并没有什么影响。
运行下面这个命令:
gedit ~/.bashrc
文件的最后添加:
export PATH=$PATH:$HOME/tools/arduino-1.8.1
注意修改下版本号,比如,但是我下载的是arduino-1.8.4,就把上面修改为1.8.4,最后记得生效:
source ~/.bashrc
4. 运行Arduino IDE
启动Arduino IDE 直接输入
arduino
如果程序安装和配置正确的话,你就可以看到如下所示的GUI程序:
点击File,选择Preference,在弹出的Preferences的窗口中,找到Additional Boards Manager URLs,在其中填入
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json
如果这里不填在后面就搜不到OpenCR,输入之后点击ok
点击Tools→Board→Boards Manager,输入OpenCR,搜索到后,点一下,然后点击后面出现的install,安装过程取决于网络,可能较慢,看见进度卡住不动可以取消,再来,支持断点续传的。过程如下图:
安装好之后,再进入到Tools→Board,到最后去选中OpenCR Board,如下图:
5.端口设置
完成上面的配置之后,将OpenCR板子和waffle或者burger之间的USB断开,插到你的PC上,然后Tools→Port→/dev/ttyACM0,最后的数字没有关系,但是前面要对,如下图所示:
6.OpenCR 烧录ROS固件
OpenCR的ROS固件是为了在ROS中能控制电机和传感器,这个固件在上面board manager一步中已经下载了:
选择File→Examples→turtlebot3→(如果给burger下固件,就选择turtlebot3_burger,如果是waffle,就选择turtlebot3_waffle)→turtlebot3_core
如下图:
现在程序已经被打开了,对号旁边那个向右的箭头,即upload,上传程序到OpenCR板,因为需要编译,所以可能需要稍微等一下。成功之后如下如所示:
如果显示jump_to_fw,那就表示下载成功。如果失败,如提示打不开端口或者其他错误,请确认前面Port是否正确,OpenCR板和PC连接是否正确,最后可以试试按一下OpenCR上的Reset,再试试。