ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM

(写在前面: 这里参考rbx书中第八章和ROS社区教程进行学习,先看社区教程)   ===  Doing the Turtlebot Navigation   === ref ros wiki: http://wiki.ros.org/turtlebot_navigation/Tutorials 1. Create the Data under remote control Referring the RBX book(8.4.2 Collecting and Recording Scan Data), then log into the TurtleBot's laptop and run:   $ roslaunch rbx1_bringup turtlebot_minimal_create.launch Replace the above command with the appropriate launch file for your own robot if you have one. Next, log into the TurtleBot using another terminal window and run the command:   $ roslaunch rbx1_bringup fake_laser.launch (If you have a real laser scanner, you would run its launch file here instead of the fake

READ MORE

ROS进阶学习笔记(10)- 搭建自己的Turtlebot(5) - Interactive Makers

  用interactive_makers控制Turtlebot移动 interactive_makers 是Willow Garage公司开发的一个虚拟控制工具,可通过鼠标在虚拟环境中的操作,完成实际机器人运动的拖动运动控制。 参考:    ref1:    http://wiki.ros.org/turtlebot_interactive_markers/Tutorials/UsingTurtlebotInteractiveMarkers (groovy version)    === rvizTutorialsInteractive Markers: Getting Started ===    ref2:    http://wiki.ros.org/rviz/Tutorials/Interactive%20Markers%3A%20Getting%20Started 就应该实现ref1页面中,视频里的功能。 具体步骤: 在my_robot1的Terminal里运行:  $ roslaunch rbx1_bringup turtlebot_minimal_create.launch 在my_Desktop的Terminal里运行:  $ roslaunch turtlebot_interactive_markers interactive_markers.launch $ roslaunch turtlebot_rviz_launchers view_robot.launch 前提是按ref1安装了turtlebot_interactive_markers:  $ rosmake turtlebot_interactive_markers

READ MORE

Using Create2(Roomba 620) as your turtlebot driving base.

Using Create2(Roomba 620) as your turtlebot driving base. This message has been posted on goolge group: https://groups.google.com/forum/#!topic/irobot-create-forum/rZ3J9IAGDGo You can check out the newest posts there! Problem/Solution: Using Create2(Roomba 620) as your turtlebot driving base. 使用 iRobot Create 2 作为 Turtlebot 的驱动底盘 see this blog: ROS 进阶学习笔记(14) - About driving your iRobot Roomba/Create [Problem]: I met the incompatibility problem when I was trying to build and test my own_turtlebot which is using iRobot Create 2(Roomba 620). When I use the file “turtlebot_minimal_create.

READ MORE

Linux下使用jpnevulator监听串口收发数据

Linux下使用jpnevulator监听串口收发数据 ref: http://unix.stackexchange.com/questions/12359/how-can-i-monitor-serial-port-traffic Serial Port Traffic/Data Monitor for Linux Linux下可以监听串口上数据的应用 Linux下使用jpnevulator监听串口收发数据 The serial sniffer/monitor for linux: There is port monitoring tool to watch the packets written on the port. Especially when you want to check if your program written works. Tool to see if your application is sending the messages to the port. OK, Let’s get started! The opensource app: jpnevulator official site: https://jpnevulator.snarl.nl/ Download from my share: 点击打开链接 or source link: https://jpnevulator.snarl.nl/src 基本使用: 命令: $ jpnevulator --ascii --timing-print --tty /dev/ttyUSB0:mySerial --read 这会接收发送到 /dev/ttyUSB0 上的数据,并显示出来。但是原先接收此数据的设备就被take over取代了。

READ MORE

ROS进阶学习手记 10 - 搭建自己的TurtleBot(4)- Nodes of Base Driver

ROS进阶学习手记 10 - 搭建自己的TurtleBot(4)- Nodes of Base Driver ROS进阶学习手记 10 - 搭建自己的TurtleBot(4)- Nodes of Base Driver Here we are going to continue playing with the launchfile:[ turtlebot_minimal_create.launch ] and look into the nodes, topics, messages, publisher, and subscriber about that. Let’s refer the log printed when we start this launchfile here: SUMMARY ======== PARAMETERS * /cmd_vel_mux/yaml_cfg_file * /diagnostic_aggregator/analyzers/digital_io/path * /diagnostic_aggregator/analyzers/digital_io/startswith * /diagnostic_aggregator/analyzers/digital_io/timeout * /diagnostic_aggregator/analyzers/digital_io/type * /diagnostic_aggregator/analyzers/mode/path * /diagnostic_aggregator/analyzers/mode/startswith * /diagnostic_aggregator/analyzers/mode/timeout * /diagnostic_aggregator/analyzers/mode/type * /diagnostic_aggregator/analyzers/nodes/contains * /diagnostic_aggregator/analyzers/nodes/path * /diagnostic_aggregator/analyzers/nodes/timeout * /diagnostic_aggregator/analyzers/nodes/type * /diagnostic_aggregator/analyzers/power/path * /diagnostic_aggregator/analyzers/power/startswith * /diagnostic_aggregator/analyzers/power/timeout * /diagnostic_aggregator/analyzers/power/type * /diagnostic_aggregator/analyzers/sensors/path * /diagnostic_aggregator/analyzers/sensors/startswith * /diagnostic_aggregator/analyzers/sensors/timeout * /diagnostic_aggregator/analyzers/sensors/type * /diagnostic_aggregator/base_path * /diagnostic_aggregator/pub_rate * /robot/name * /robot/type * /robot_description * /robot_pose_ekf/freq * /robot_pose_ekf/imu_used * /robot_pose_ekf/odom_used * /robot_pose_ekf/output_frame * /robot_pose_ekf/publish_tf * /robot_pose_ekf/sensor_timeout * /robot_pose_ekf/vo_used * /robot_state_publisher/publish_frequency * /rosdistro * /rosversion * /turtlebot_laptop_battery/acpi_path * /turtlebot_node/bonus * /turtlebot_node/port * /turtlebot_node/update_rate * /use_sim_time NODES / cmd_vel_mux (nodelet/nodelet) diagnostic_aggregator (diagnostic_aggregator/aggregator_node) kinect_breaker_enabler (create_node/kinect_breaker_enabler.

READ MORE

ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration

ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration 上一篇我们分析了 rbx 书籍中,对于底板驱动相关的.launch文件,turtlebot_minimal_create.launch, 现在要实验一下相关的配置以后,速度值是否与设定值一致。 要用到的.launch 文件: turtlebot_minimal_create_me.launch ; 使用 rostopic pub 命令发布驱动指令。 运行命令行: 先把rbx包source一下: $ cd ~/catkin_ws $ catkin_make $ source ~/catkin_ws/devel/setup.bash 再在子机上(my_robot1)启动 底盘 驱动: (通过vi工具修改了子机上的tb_create_mobile_base.launch.xml文件) $ roslaunch rbx1_bringup turtlebot_minimal_create.launch 在校准之前,务必参考我博文:Using Create2(Roomba 620) as your turtlebot driving base. 校准线速度: 通过母机发指令: $ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}' 按照rbx书上的说法:Linear velocities are specified in meters per second and angular velocities are given in radians per second.

READ MORE

ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- Using iRobot Roomba as the Driving Base

ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- Using iRobot Roomba as the Driving Base ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- Using iRobot Roomba as the Driving Base 使用iRobot Roomba 5xx/6xx/7xx作为turtlebot的驱动底盘 要略过的一些内容: 参考《ROS by Example _ Hydro _ Vol1》书中所述,实现到“7.5 Sending Twist Messages to a Real Robot” 中间的过程就按书中来进行即可。涉及到的比如设备驱动、ROS网络配置 等内容可参考本博客前的相关文章。 要在这里讨论的问题: 在 roslaunch rbx1_bringup turtlebot_minimal_create.launch 这个命令运行时,PC(my_robot1)可以接收cmd_vel消息,并通过串口驱动 Create2® 。 这里调用的顺序是什么?启动了哪些nodes? 参数是如何设置的? 我们运行了-v 选项的 roslaunch 命令以后,得到如下的状态打印:一行行来分析【见文末附录1:turtlebot_minimal_create.launch文件的执行记录分析】 这里面主要的操作就是2个: 设置node运行前需要设置的参数parameters 运行nodes 关于.launch 文件们 turtlebot_minimal_create.launch 这个launch文件是我们驱动iRobot_Roomba底盘时首先要运行的,显然是很重要的,看看它的层次结构: 1. 标签 首先我们熟悉一下launch文件的tags-标签们: <arg name=“base” default=“create”/> 这是一个argument标签,表示声明一个参数,后面name指定了参数名为“base”, default指定了它的默认值"create" 这是一个ros_parameter标签,即ROS程序运行时需要输入的参数,后面name指定了参数名为“/use_sim_time”, value指定了它的赋值,此地是调用前面 arg name=“simulation” 的argument的值 采用了$ 符号。 引用Include标签,意思引用外部的launch文件或xml文件。 $(find package_name)这里是一个调用ROS外部包的写法,意思robot.

READ MORE

ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction

ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction ROS进阶学习手记 10 - 搭建自己的TurtleBot(1)- Introduction 时隔一两个月,再次回来继续写自己的ROS学习及应用手记。这一两个月里,我并没有闲着,而是照着《ROS_by_Example_Hydro_Vol1》基本走完了vol1全书所有的例程。但期间所遇到的一些问题,我并没有搞得很清楚。所以回到开始搭建TurtleBot的步骤,来重新梳理如何从攒一个硬件TurtleBot, 到可以执行 SLAM 任务的全过程。 首先梳理一下手里有的材料: iRobot Create 2 移动机器人驱动平台, 官方链接及资料 Mirko Ferrati’s irobotCreate2_ROS driver: https://github.com/MirkoFerrati/irobotcreate2ros 基于蓝牙无线通信协议的串口透明传输模块,淘宝链接(及配置用 USB-TTL电平 - RS232协议 串口转换模块) 机器人TurtleBot 控制用 Mini PC,装 ROS Hydro 大容量聚合物锂电池:12V 5.5AH, 用于机器人自带Mini PC的供电 华硕 Xtion Pro Live 三维摄像头 另一台Mini PC及显示器、键鼠 无线路由器,用于组建ROS多机局域网 系统组成: 实物照片: 要略过的一些内容: 参考《ROS by Example _ Hydro _ Vol1》书中所述,实现到“7.5 Sending Twist Messages to a Real Robot” 中间的过程就按书中来进行即可。涉及到的比如设备驱动、ROS网络配置 等内容可参考本博客前的相关文章。 ROS网络配置参数: =--------==----------=---=---- Log of Configurations: =--------==----------=---=---- Physical machines: PC1 - Black Mini Computer (WLAN Mac: 74:44:01:67:xx:xx) PC2 - White Mini Computer (WLAN Mac: a0:21:b7:4e:xx:xx) Hostname and Hosts file: PC1 - my_desktop PC2 - my_robot1 The host of ROS (the PC run roscore) PC2 - my_robot1 IP Address: PC1 - my_desktop - 192.

READ MORE

在 Ubuntu 用 OpenNI支持 使用 ASUS Xtion 传感器

在 Ubuntu 用 OpenNI支持 使用 ASUS Xtion 传感器 在 Ubuntu 用 OpenNI支持 使用 ASUS Xtion Pro Live传感器 Installing the driver for Asus_Xtion_Pro_Live in Ubuntu 12.04 Pre-Reading: 我们要用ROS来做机器人,同时要用 Asus_Xtion_Pro_Live 这个传感器来获取深度信息和图像信息。首先要安装 Asus_Xtion_Pro_Live 在 Ubuntu 系统中的驱动。 Procedures: Search online for the .iso disk file carrying the driver for Asus_Xtion_Pro_Live. Like: “V1049_0430” ASUS Xtion Pro CD Readme file OpenNI Framework v1.5.2.23 Sensor DDK v5.1.0.41 NITE v1.5.2.21 USB driver v3.1.3.1 ******************************************************* Required software: for WinXP: Microsoft .NET 3.5: http://www.microsoft.com/en-us/download/details.aspx?id=21 for Linux Ubuntu 10.10: The installation steps as follows, 1.

READ MORE

使用CloneZilla备份-恢复操作系统的简明步骤

使用CloneZilla备份-恢复操作系统的简明步骤 日期:2015.09.09 题目:使用CloneZilla备份linux/windows系统的简明步骤 正文: 这是是简明步骤,应对日常大部分工作。别的参考google. official Site: http://clonezilla.org/ »准备工作: 1. 2 U disks: Ud1 and Ud2 2. 下载 clonezilla 的 iso 文件。 3. 用 Universal-USB-Installer-1.9.6.1 and Ud1 把clonezilla的iso文件制作成启动盘。 4. Boot computer from Ud1 Disk (Press Del / F10 / … or Set up boot list in your bios) 5. ======== BACK UP PROCEDURE: ========== Select the menu of CloneZilla: en_US..»Don’t touch..»Start…»device-image»local_dev» mount the Ud2 drive. »top directory»beginner»savedisk»whole disk»Naming» [OK] » [*] sda disk » skip » yes » [Enter] » [Cloning…] » reboot.

READ MORE