ROS在ARDUINO的应用
2016-06-30 20:09
1086 查看
(1) 引言
rosserial_arduino包通过arduino IDE直接使用ROS。 rosserial提供了一个通信协议, 它通过arduino的UART来工作;
它允许arduino作为一个ROS的节点,可以直接发布和订阅ROS的消息,发布TF变换,以及获取ROS的系统时间。
(2) 需安装的软件包与依赖库,硬件
sudo apt-get install arduino
sudo apt-get install ros-indigo-rosserial-arduino
sudo apt-get install ros-indigo-rosserial
硬件:开发板ardunio uno
(3) 软件配置
在终端中输入:arduino 。然后设置sketchbook(用来存储你的程序的地方)的位置,一般shetchbook的目录可以在file->preference中查看和设置。进入到相应的目录下:
$#:cd
~/sketchbook/libraries
$#: rm -rf ros_lib
$#: rosrun rosserial_arduino make_libraries.py . (注意最后那个点)
最后重启arduino就可以了。
(4) 操作
将arduino开发板连接到电脑的usb口,在arduino IDE中进行设置。选择Tools->Board,选择你所使用的arduino开发板的类型。继续选择Tools->Serial Port->/dev/ttyACM0。当Serial Port不能选择时,可重启电脑或sudo
apt-get remove brltty。设置完成以后,在arduino IDE中选择File->Examples->ros_lib->HelloWorld。在arduino
IDE中,点击upload运行程序。接着运行roscore; rosrun rosserial_python serial_node.py /dev/ttyACM0 (运行ros_serial客户端程序来把arduino发送的信息转发到ROS系统的其它部分);
查看arduino发送的消息:rostopic echo chatter
当arduino的数据通信灯在闪,这可以说明arduino确实在发送数据给电脑。
rosserial_arduino包通过arduino IDE直接使用ROS。 rosserial提供了一个通信协议, 它通过arduino的UART来工作;
它允许arduino作为一个ROS的节点,可以直接发布和订阅ROS的消息,发布TF变换,以及获取ROS的系统时间。
(2) 需安装的软件包与依赖库,硬件
sudo apt-get install arduino
sudo apt-get install ros-indigo-rosserial-arduino
sudo apt-get install ros-indigo-rosserial
硬件:开发板ardunio uno
(3) 软件配置
在终端中输入:arduino 。然后设置sketchbook(用来存储你的程序的地方)的位置,一般shetchbook的目录可以在file->preference中查看和设置。进入到相应的目录下:
$#:cd
~/sketchbook/libraries
$#: rm -rf ros_lib
$#: rosrun rosserial_arduino make_libraries.py . (注意最后那个点)
最后重启arduino就可以了。
(4) 操作
将arduino开发板连接到电脑的usb口,在arduino IDE中进行设置。选择Tools->Board,选择你所使用的arduino开发板的类型。继续选择Tools->Serial Port->/dev/ttyACM0。当Serial Port不能选择时,可重启电脑或sudo
apt-get remove brltty。设置完成以后,在arduino IDE中选择File->Examples->ros_lib->HelloWorld。在arduino
IDE中,点击upload运行程序。接着运行roscore; rosrun rosserial_python serial_node.py /dev/ttyACM0 (运行ros_serial客户端程序来把arduino发送的信息转发到ROS系统的其它部分);
查看arduino发送的消息:rostopic echo chatter
当arduino的数据通信灯在闪,这可以说明arduino确实在发送数据给电脑。
相关文章推荐
- FPGArduino在DE2-35上的移植
- zTree && blockUI(2016-6-30)
- codeforces 688E E. The Values You Can Make(dp)
- Change Language in OS but keep Maya UI in English
- system design questions
- [置顶] UITableViewCell
- UI靠近边框解决办法
- fuel8:vmware workstation上的安装
- iOS UITableView(二)-自定义Cell
- iOS5,iOS6,iOS7中UITabBarController,UINavigationController等界面中的旋转问题总结
- UITableViewCell分类
- UILabel分类扩展属性字符串的使用
- 【杭电-oj】-1509-Windows Message Queue(优先队列)
- android namevaluepair 过时
- android中子线程更新UI的几种方法
- UITableViewCell详解
- 我们的weui
- Elasticsearch FullText Query
- Error: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying except
- Cannot unwrap to requested type [javax.sql.DataSource]