ros中使用串口
2016-04-27 19:00
330 查看
前言
上一篇文章中介绍了如何在ubuntu中访问串口,本文将探讨如何将该程序移植到ros中,作为一个节点,方便后续将从其他节点(如导航与定位)接收到的信息通过串口发送给单片机。
过程
参照编写ros程序的一般步骤,实现步骤如下: 1. 建立工作区
cd ~/ros catkin_create_pkg serial_port
2.新建源文件serial_port.cpp 在上一节serial_example.cpp的基础上只需要增加几行用来初始化ros系统和建立ros节点的代码即可。
//Initialize the ROS system ros::init(argc , argv, "SerialPort"); //Establ ish this program as a ROS node ros::NodeHandle nh ;
3.修改CMakeLists.txt文件。 指明调用的串口库的路径,链接库的名称,以及头文件的路径。
find_package(catkin REQUIRED COMPONENTS roscpp) include_directories(/tmp/usr/local/include) link_directories(/tmp/usr/local/lib) add_executable(serialPort serial_port.cpp) target_link_libraries(serialPort ${catkin_LIBRARIES} serial)
4.编译serial_port程序 回到工作区目录中,执行
catkin_make
5.设置环境变量
source devel/setup.bash
6.运行该ros程序 新开一个终端,启动roscore。然后在之前那个终端里执行
rosrun serial_port serialPort
同样,会出现权限不够的问题,则需要以超级用户的身份执行程序。 至此,该ros节点能够正确通过串口发送和读取数据。
小结
上面的方法只是我根据ros程序的一般写法机械地拼凑起来的,应该有更加优雅,更加符合ros程序编写风格的串口访问代码。希望各路大神多多告知,共同进步。
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- Linux串口通信
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)
- 看看我的Ubuntu Linux截图
- Ubuntu 12.04 LTS服务器版安装过程及使用图解