基于Dragonboard410c的Turtlebot开机自启动功能

本文介绍了一种改进的TurtleBot自动跟随机器人开机自启动方法,通过将ROS的启动脚本放置在用户登录后的运行脚本中,有效避免了因编程错误导致的系统死机问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TurtleBot是Willow Garage设计的一款性能优良、价格低廉的机器人开发平台。其操作简单、可扩展性强,既能满足科研机构的研发需要,亦为机器人技术爱好者提供了一个强大的机器人应用开发平台。让他们直接使用TurtleBot自带的软硬件,能专注于应用程序的开 发。避免了设计草图,购买、加工材料、设计电路、编写程序、组装等一系列工作。借助该机器人平台,可以节省很多前期工作,只要根据平台的软硬件接口,就能开发出所需的功能。
提到TurtleBot,就必不可少要说到构建于其上的ROS系统。
ROS即Route Operation System,译为"软件路由器",是一款机器人操作系统,其作为机器人软件平台,能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。
ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)目前ROS主要支持Ubuntu操作系统。基于此,博主在qualcomm的Dragonboard410c debain系统上构建了基于ROS系统的turtlebot项目,大家可以到博主的《基于qualcomm平台的kincet应用系列一之Turtlebot(自动跟随机器人)上篇》查看具体的实现方式。

另外博主也介绍了如何实现Turtlebot自动跟随功能以及如何让turtlebot开机后自行启动运行!但是这两天有不少童鞋私信博主上篇介绍的关于实现Turtlebot开机后自启动的实现方式调试不方便,尤其是修改开机自启动脚本(/etc/rc.local)很容易因为编程时的疏忽造成系统进入死机状态。鉴于此种情景,博主对原来的方式进行了优化,今天再给大家分享一套实现Turtlebot开机自启动实现方式的“干货”。

一.准备工具:



图1 turtlebot



图2 鼠标与键盘



图3显示器


二.实现原理:

在linux系统中,/etc/rc.loacal开机启动脚本是运行在用户登陆脚本之前,所以有些童鞋在调试的时候如果因为失误造成阻塞,系统将无法进入到用户界面,从而无法实现人机命令行交互模式,也就是大家所谓的死机现象。

在这里,我们将ROS的开机启动功能放到用户的登陆后的运行脚本(~/.bashrc)里,这样可以保证大家在编程失误的时候不至于因为阻塞而造成系统死机


三.实操手册:

1.添加开机运行脚本auto_runing.sh:

sudo vim ~/auto_runing.sh

source /opt/ros/kinetic/setup.bash
source /home/linaro/.bashrc
roslaunch turtlebot_bringup minimal.launch &
sleep 30s
roslaunch turtlebot_follower follower.launch &

2.将开机运行脚本添加到用户自启动脚本中
sudo vim ~/.bashrc
在.bashrc尾行添加
cd /home/linaro
./auto_runing.sh
3.实现系统开机自动登陆功能:
sudo apt-get install lightdm
 sudo vim /etc/lightdm/lightdm.conf
#autologin-user=
改为
autologin-user=用户名
这里我们是autologin-user=linaro
修改完毕,保存退出。
4.sudo reboot
重启后等待一到两分钟,Turtlebot将会自行启动自动跟随功能。


内容概要:本文介绍了多种开发者工具及其对开发效率的提升作用。首先,介绍了两款集成开发环境(IDE):IntelliJ IDEA 以其智能代码补全、强大的调试工具和项目管理功能适用于Java开发者;VS Code 则凭借轻量级和多种编程语言的插件支持成为前端开发者的常用工具。其次,提到了基于 GPT-4 的智能代码生成工具 Cursor,它通过对话式编程显著提高了开发效率。接着,阐述了版本控制系统 Git 的重要性,包括记录代码修改、分支管理和协作功能。然后,介绍了 Postman 作为 API 全生命周期管理工具,可创建、测试和文档化 API,缩短前后端联调时间。再者,提到 SonarQube 这款代码质量管理工具,能自动扫描代码并检测潜在的质量问题。还介绍了 Docker 容器化工具,通过定义应用的运行环境和依赖,确保环境一致性。最后,提及了线上诊断工具 Arthas 和性能调优工具 JProfiler,分别用于生产环境排障和性能优化。 适合人群:所有希望提高开发效率的程序员,尤其是有一定开发经验的软件工程师和技术团队。 使用场景及目标:①选择合适的 IDE 提升编码速度和代码质量;②利用 AI 编程助手加快开发进程;③通过 Git 实现高效的版本控制和团队协作;④使用 Postman 管理 API 的全生命周期;⑤借助 SonarQube 提高代码质量;⑥采用 Docker 实现环境一致性;⑦运用 Arthas 和 JProfiler 进行线上诊断和性能调优。 阅读建议:根据个人或团队的需求选择适合的工具,深入理解每种工具的功能特点,并在实际开发中不断实践和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值