首先请您自行依据线标提示将小强接线连接好,完整结构如下两图所示:

小强是属于Turtlebot机器人。它由底盘、主机、Kinect相机(通过USB连接主机)组成,没有显示屏。如果要通过显示器查看主机的Linux影像,则需要通过HDMI转VGA线另外连接台式电脑显示器。

本机ip地址:查询本机ip地址

通过ssh远程连接,其中xxx.xxx.xxx.xxx是小强的IP

ssh xiaoqiang@xxx.xxx.xxx.xxx

在小强机器人上按“ctrl+alt+t”调出命令窗口:

xiaoqiang@xiaoqiang-desktop:~$ ifconfig -a
eth12 Link encap:Ethernet HWaddr 00:e0:4c:68:01:87
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth13 Link encap:Ethernet HWaddr 00:e0:4c:68:01:88
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4379835 errors:0 dropped:0 overruns:0 frame:0
TX packets:4379835 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:154070895214 (154.0 GB) TX bytes:154070895214 (154.0 GB)

wlan7 Link encap:Ethernet HWaddr e8:fc:af:9e:05:ed
inet addr:172.29.78.130 Bcast:172.29.255.255 Mask:255.255.0.0
inet6 addr: fe80::eafc:afff:fe9e:5ed/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31230 errors:0 dropped:0 overruns:0 frame:110951
TX packets:27909 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10462279 (10.4 MB) TX bytes:5136459 (5.1 MB)
Interrupt:16

远程调用:

niu@niu-ThinkPad-T510:~$ ssh xiaoqiang@172.29.78.130
The authenticity of host '172.29.78.130 (172.29.78.130)' can't be established.
ECDSA key fingerprint is SHA256:1pDxKQ/7sw1WsI+KzJnn3OYQbyHMQAXTSNdC775jAgk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.29.78.130' (ECDSA) to the list of known hosts.
xiaoqiang@172.29.78.130's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-45-generic x86_64)

* Documentation:  https://help.ubuntu.com/

Your Hardware Enablement Stack (HWE) is supported until April 2019.
Last login: Sat Dec 10 11:48:47 2016 from ubuntu

查询服务:

xiaoqiang@xiaoqiang-desktop:~$ rostopic list
/ORB_SLAM/Camera
/ORB_SLAM/Frame
/camera_node/camera_info
/camera_node/image_raw
/camera_node/image_raw/compressed
/camera_node/image_raw/compressed/parameter_descriptions
/camera_node/image_raw/compressed/parameter_updates
/camera_node/image_raw/compressedDepth
/camera_node/image_raw/compressedDepth/parameter_descriptions
/camera_node/image_raw/compressedDepth/parameter_updates
/camera_node/image_raw/theora
/camera_node/image_raw/theora/parameter_descriptions
/camera_node/image_raw/theora/parameter_updates
/cmd_vel
/globalMoveFlag
/imu_cal
/joint_states
/orb_scale/scaleStatus
/rosout
/rosout_agg
/system_monitor/report
/tf
/tf_static
/usb_cam/brightness
/xqserial_server/Odom
/xqserial_server/Pose2D
/xqserial_server/Power
/xqserial_server/StatusFlag
/xqserial_server/Twist
xiaoqiang@xiaoqiang-desktop:~$

查看系统状态:

xiaoqiang@xiaoqiang-desktop:~$ rostopic echo /system_monitor/report
imageStatus: True
odomStatus: True
orbStartStatus: False
orbInitStatus: False
orbScaleStatus: False
brightness: 0
power: 11.4527730942

其中 imageStatus 表示摄像头是否工作正常。odomStatus 表示底层驱动时候工作正常。Orb相关的三个变量是视觉导航相关的状态,可以不用管(如果对这方面感兴趣可以在论坛里进
行交流)。brightness 是摄像头的亮度,power 是当前电池的电压值,如果无法读取则是 0.

远程遥控:

通过 ssh 进行连接
ssh xiaoqiang@xxx.xxx.xxx.xxx
启动遥控程序
rosrun nav_test control.py

现在就可以通过方向键来控制小强的移动了。空格键是停止。Ctrl + C 退出程序。

视频传输:

修改hosts文件:https://zhidao.baidu.com/question/201310150745872645.html      http://os.51cto.com/art/200803/68170.htm

rosrun image_view image_view image:=/camera_node/image_raw_image_transport:=compressed

niu@niu-ThinkPad-T510:~$ export ROS_MASTER_URI=http://172.29.78.130:11311
niu@niu-ThinkPad-T510:~$ rosrun image_view image_view image:=/camera_node/image_raw image_transport:='compressed'
init done
[ INFO] [1482102718.080234054]: Using transport "raw"

帮助信息:http://blog.csdn.net/crazyquhezheng/article/details/50324583

1.配置小强网络

http://community.bwbot.org/topic/61/%E5%B0%8F%E5%BC%BA%E7%9A%84%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9%E5%8A%9F%E8%83%BD

为什么一定要是Linux呢,因为ROS只有Linux版,所以必须是Linux,而且Linux是开源的系统,免费而且开源,可以改造,轻便,适合于工业制造,而且有很多的开源代码,当然很多开源代码是跨平台的,通过CMake也可以用于Windows、Mac、Android等。

为什么一定要将图像传输到服务器端,在客户端也可以处理啊,的确是这样,但是服务器端可以操纵小车的行走,这个是在客户端所不能完成的,所以这个控制是必须由服务器端完成的。

小强 ROS 机器人教程的更多相关文章

  1. TIAGo ROS模拟教程2 - 自主机器人导航

    TIAGo ROS Simulation Tutorial 2 – Autonomous robot navigation TIAGo ROS模拟教程2 - 自主机器人导航 发表于 12月 23,20 ...

  2. ros机器人开发概述

    1.       ROS项目开发流程? 参照古月大神写的ROS探索总结系列:http://blog.exbot.net/archives/619 具体项目设计可看看<程序员>杂志的最新一篇 ...

  3. Learning ROS for Robotics Programming - Second Edition(《学习ROS机器人编程-第二版》)

    Learning ROS for Robotics Programming - Second Edition <学习ROS机器人编程-第二版> ----Your one-stop guid ...

  4. ROS机器人程序设计-学习小结-

    ROS官网 |易科 |虞坤林 |古月居 |ROSClub 学习ROS相关书籍推荐:http://blog.csdn.net/zhangrelay/article/details/52244746 RO ...

  5. ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!

    ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt! 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. MoveIt ...

  6. ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年01月01日更新

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 版)部分内容修订 页:第1行,删去$ 页:第6行,float64 y 前面加一个空格 页:中间创建主题:下面程序不用换行,(& ...

  7. ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation

    ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...

  8. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  9. ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS下使用传感器和执行器

    ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS使用传感器和执行器 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第四 ...

随机推荐

  1. 快快快!27个提升效率的iOS开源库推荐(转)

    CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送 ...

  2. DateJsonValueProcessor日期处理

    package com.zjx.controller; import java.text.SimpleDateFormat; import net.sf.json.JsonConfig; import ...

  3. 【转】Android Shape绘制虚线在手机端查看是实线的问题

    Android share绘制虚线在手机上显示实线问题 给控件添加Drawableleft等图片后,单独给图片设置动画效果,参考文章: http://blog.csdn.net/langzxz/art ...

  4. 使用spring-data-JPA调用存储过程

    第一种情况,对于只有一个或没有返回值的存储过程,使用如下方式调用: @Entity @NamedStoredProcedureQuery(name = "pro1", proced ...

  5. Maven项目的拆分与聚合

    ---------------------siwuxie095                                     Maven 项目的拆分与聚合         1.对已有的 Ma ...

  6. OOP的几个不常用的方法

    from OOP_多态 import cat c = cat("cat") print(c.__doc__) print(cat.__doc__) # # 打印类的描述信息,也就是 ...

  7. repeater嵌套RadioButtonList赋值

    <asp:Repeater ID="Repeater1" runat="server"         onitemdatabound="Rep ...

  8. Phalcon Framework的MVC结构及启动流程分析

    目前的项目中选择了Phalcon Framework作为未来一段时间的核心框架.技术选型的原因会单开一篇Blog另说,本次优先对Phalcon的MVC架构与启动流程进行分析说明,如有遗漏还望指出. P ...

  9. Car 加油

    package com.hanqi; public class Car { //属性 成员变量 //车的颜色 String YanSe; //车的品牌 String PinPai; //邮箱容量 do ...

  10. 那些我离不开的 Sketch 插件

    当谈论到插件时,我是一名极客.各种新颖的 Sketch 插件层出不穷,但是有那么几个是我怎么也离不开的. Sketch 运行器 多层的插件菜单再也不会影响我的效率了. 我推迟了好几年才使用这个插件,因 ...