TurtleBot3维护-1.openCR怎么更新/重刷固件

@## TOCTurtleBot3维护-1.openCR怎么更新/重刷固件

机器人小车拆下机械臂

机械臂对我们的课题没有用处,又耗电又占地方,就想给它卸掉,但是发现卸掉以后小车不能移动了,蓝牙手柄也不能驱动了,小车也不能正常启动键盘控制报错说

dev/ttyACM0

这个接口找不到,驱动不了小车,官方客服说按照下面的链接给opencr重刷固件,就可以了,经过一系列操作(下面介绍这一系列操作)现在可以用蓝牙手柄控制小车移动了,但和命令还是会报错,先不管了,后面有需要再填坑吧。现在

roslaunch turbot3_bringup minimal.launch

命令报错如下:
请添加图片描述

智能佳官方链接

TurtleBot3维护-1.openCR怎么更新/重刷固件:http://www.rosrobot.cn/?id=32
太简略了,只给了几个命令,实际操作起来还要设置很多东西的。
网页截图:请添加图片描述

智能家在csdn上的链接

Turtlebot3新手教程:OpenCR软件设置(shell):https://blog.csdn.net/allie2013/article/details/109054592?ops_request_misc=&request_id=&biz_id=102&utm_term=openCR%E6%80%8E%E4%B9%88%E6%9B%B4%E6%96%B0/%E9%87%8D%E5%88%B7%E5%9B%BA%E4%BB%B6&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-109054592.142v86insert_down1,239v2insert_chatgpt&spm=1018.2226.3001.4187
相比与上一个链接,略微详细,但是还是缺少很多步骤,下面我会一一介绍。
网页截图:
请添加图片描述

介绍一些用到的命令

显示本机架构:sudo dpkg --print-architecture
我的是:amd64
添加新的架构:sudo dpkg --add-architecture armhf
我要添加的是armhf用于给opencr上传固件
打印添加的外部架构:sudo dpkg --print-foreign-architectures
我添加了armhf后输入该命令就会显示出来,可能也会有别的,比如:1386、armhf。
移除架构:sudo dpkg --remove-architecture xxx
这里的xxx就填你想要移除的架构名称,例如armhf。和第二条命令正好相反。

参考链接:https://www.cnblogs.com/gaohongyu/p/14137312.html

开始操作

1. 准备工作

代码

sudo dpkg --add-architecture armhf//添加armhf系统架构
sudo apt-get update//更新
sudo apt-get install libc6:armhf//安装

注意不要看到代码就跟着敲,往下看

我们输入第一行命令添加了armfh结构后更新是会报错的,因为源(就是安装ubuntu第一步的那个还源问题)不对,我们要先配置sources.list文件,在/etc/apt目录下。

1.1

首先对/etc/apt/source.list中每一行添加上[arch=amd64],结果类似下面这样
代码

deb  [arch=amd64]  http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
#deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb  [arch=amd64]  http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
#deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb  [arch=amd64]  http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
#deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb  [arch=amd64]  http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

请添加图片描述
这是更改后我的sources.list文件,我这是ubuntu20.04版本,如果你是别的版本,去找到自己版本的源再更改。

1.2

然后为添加的架构添加源文件:

sudo touch /etc/apt/sources.list.d/arm-cross-compile-sources.list

然后添加armhf的源:

sudo gedit /etc/apt/sources.list.d/arm-cross-compile-sources.list


//add sources 
deb [arch=armhf] http://ports.ubuntu.com/ focal main restricted
deb [arch=armhf] http://ports.ubuntu.com/ focal-updates main restricted
deb [arch=armhf] http://ports.ubuntu.com/ focal universe
deb [arch=armhf] http://ports.ubuntu.com/ focal-updates universe
deb [arch=armhf] http://ports.ubuntu.com/ focal multiverse
deb [arch=armhf] http://ports.ubuntu.com/ focal-updates multiverse
deb [arch=armhf] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse

这是更改后我的arm-cross-compile-sources.list文件,我这是ubuntu20.04版本,如果你是别的版本,去找到自己版本的源再更改。

参考链接,英文:https://askubuntu.com/questions/430705/how-to-use-apt-get-to-download-multi-arch-library
中文:https://zhuanlan.zhihu.com/p/554024254?utm_id=0

上述换源操作完成后就可以敲开头的代码:

sudo dpkg --add-architecture armhf//添加armhf系统架构
sudo apt-get update//更新
sudo apt-get install libc6:armhf//安装

这样就可以安装armhf架构了,以及这个架构下的包或者库。

2. 定义变量

我的小车是waffle pi,waffle pi和waffle一样,很据官方链接,变量声明为:

export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=waffle

如果你是burger,命令改为

export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=burger

3. 下载bin二进制文件并解压,下载固件及烧录

对于Kinetic(Ubuntu16.04)、Melodic(Ubuntu18.04)、Noetic(Ubuntu20.04):

wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2 && tar -xvf opencr_update.tar.bz2 && cd ./opencr_update && ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr && cd ..

这个命令我分开敲就不成功,建议你仔细看一下也直接一行完事
结果如下所示:

请添加图片描述

至此一切顺利的话此时你的机器人小车的机械臂就会断电跌落,你也可以把它拆下来了。

4. 恢复机械臂(未尝试)

机械臂刷openCR固件(Kinetic、Melodic)

export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=om_with_tb3
rm -rf ./opencr_update.tar.bz2
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2
tar -xvf opencr_update.tar.bz2
cd ./opencr_update
./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr

机械臂刷openCR固件(Noetic)

export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=om_with_tb3_noetic
rm -rf ./opencr_update.tar.bz2
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2
tar -xvf opencr_update.tar.bz2
cd ./opencr_update
./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr

后面的命令也可以仿照前文一次性输入

2023.4.26
尽管重刷了固件,但是还是有问题,roslaunc turbot3_bringup minimal.launch会报错,第一张图那样那样,客服说是固件不匹配,但是我重刷了好多遍没变化的啊。
有后续了会继续更新的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值