机器人ros通信
来源:互联网 发布:淘宝最有创意的店铺 编辑:程序博客网 时间:2024/05/29 12:15
调试几天,ros之间的通信。虽然还有点bug,但总之网络配置成功, 并且能够正
常通信,现在记录一下这个过程。
一,网络通信调试
1)利用ifconfig命令查看主机master(turtlebot的上网本)和客户端即工作机的 ip。
2)利用hostname命令查看,上网本和工作机用户名字。
3)打开host文件,有两种方式:
(1)gksu gedit /etc/hosts
(2)vim打开,先获取修改权限 sudo chmod a+w /etc/hosts
vim /etc/hosts;(esc切换到命令模式,输入:wq!)
4)将ip配置到hosts文件中,第二行、第三行加入ip 和hostname,格式如下
ip hostname,注中间是采用的tap键而不是空格键。
5)两台电脑时钟同步,sudo apt-get install chrony
6)查看两台电脑ssh服务器的安装
sudo apt-get install openssh-server
检测是否启动:
ps -e|grep ssh
7)测试网络通信,
1)两台电脑ping自己的ip
2)互相ping IP,
如果没有问题,则说明两台电脑网络层是通的,在同一个局域网中
二,ros系统配置
1)(上网本)输入gedit ~/.bashrc
2)在文本中输入
export ROS_HOSTNAME=TURTLEBOT_OF_IP(上网本的ip)
export ROS_MASTER=http://TURTLEBOT_OF_IP:11311(工作本的ip)
3)终端运行
~/.bashrc
4)(工作本)同样输入gedit ~/.bashrc
5) 在最后添加如下代码
export ROS_HOSTNAME=WORK_IP
export ROS_MASTER=http://TURTLRBOT_OF_IP:11311
6)终端运行
~/.bashrc
(注:如果想单独运行,不需要远程通信,可以把ecport去掉即可)
三,测试
1)测试主机(上网本)
在上网本运行节点管理器roscore,工作本上运行rostopic list
如果工作正常则会出现两行节点信息(不再写出)。说明两台电脑ros之间可以通信。
2)测试从工作本到上网本
上网本运行
roscore
roslaunch turtlebot_bringup minimal.launch
工作本上运行:
roslaunch turtlebot_teleop keyboard_teleop.launch
注:实现的功能是:工作本遥操作上网本,远程控制机器人运动。
3)测上网本到工作本
工作本运行:
rostopic pub -r10 /hello std_msgs/String "hello"
上网本运行:
rostopic echo /hello
消息“hello”开始打印每秒10次。
总结:经过两天的测试,开始用了小乌龟那个测试,想实现小乌龟的远程操控:
上网本运行:
roscore
rosrun turtlesim turtlesim_node
工作本上运行:
rosrun turtlesim turtle_teleop_key
一直没有调通,反复查看网络配置,客户端和服务器端都没有问题。按照创客制造的博客测试,都能通过。说明网络通信没有问题,已经完成。(小乌龟的例子调试不通,我感觉像是我工作
本simulator的问题,欢迎大家交流)。
0 0
- 机器人ros通信
- ROS多机器人通信
- ROS下多机器人实现通信
- ros中机器人与台式电脑的通信
- 【ROS】计算机、机器人之间的网络通信配置
- 基于ROS平台的移动机器人-3-小车底盘与ROS的通信
- ROS机器人操作系统介绍
- ROS机器人小车素材
- ROS 机器人操作系统
- 机器人操作系统ROS总结
- ROS 机器人操作系统
- 初识ROS机器人操作系统
- ROS机器人平台搭建
- ROS机器人操作系统
- 如何学习机器人Ros?
- ros机器人操作系统简介
- 初学ros机器人程序设计
- 星火计划ROS机器人Spark
- ELF映像的装入
- Android studio 导入SlidingMenu 库详解
- Oracle NLSSORT
- 编码方式GBK、GB2312、UTF-8的区别
- 野引用
- 机器人ros通信
- jvm cpu过高排查实战
- SpringData集成Mongodb封装简单的CRUD
- antutu跑分的作弊方法
- window+sparksql+hive+debug sparksql本地环境搭建
- 奇葩问题cannot be cast to android.widget.HeaderViewListAdapter
- Mysql的innodb缓冲池管理
- Android USB名称修改系列(转载)
- ubuntu14:vim语法高亮的简单办法--安装vim-gtk版本