Running Rosbridge

Description: This tutorial shows you how to launch a rosbridge server and talk to it.

Keywords: rosbridge, roslibjs, teleoperation, Robot Web Tools

Tutorial Level: BEGINNER

Installing Rosbridge

Rosbridge depends on a basic installation of ROS. Check out the ROS Installation Guide for installing ROS on your machine.

After ROS is installed, you can install Rosbridge from a .deb package:

sudo apt-get install ros-<rosdistro>-rosbridge-suite

This will install the suite of rosbridge packages needed to get started.

Running Rosbridge

After installing ROS and rosbridge, you need to make sure your system is aware of the packages. To set up your environment for ROS and rosbridge:

source /opt/ros/<rosdistro>/setup.bash

All that's left is to run rosbridge. To launch rosbridge and its packages like rosbridge_server and rosapi, a launch file is included in the install. To launch the file, run:

roslaunch rosbridge_server rosbridge_websocket.launch

This will run rosbridge and create a WebSocket on port 9090 by default.

You can configure the port by setting the ~/port param in ROS. An example launch file that will run rosbridge on port 8080 would look like:

<launch>
<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" >
<arg name="port" value="8080"/>
</include>
</launch>

Talking to Rosbridge

Now that rosbridge has been launched and a WebSocket connection is available, we can create a basic HTML webpage to send and receive calls to rosbridge. Roslibjs is a JavaScript library that handles the communication for you. Check out the getting started with roslibjs tutorial to create a webpage with roslibjs and rosbridge.

AGVS Tutorials

In this page there's a list of tutorial to start using the Agvs robot.

Launching gazebo model and controller

1. Launch Gazebo model

  • roslaunch agvs_gazebo agvs.launch

2. Launch Gazebo controller

  • roslaunch agvs_robot_control agvs_robot_control.launch

3. Launch pad to control the robot with a ps3 joystick

  • roslaunch agvs_pad agvs_pad.launch

Building a map of Willow Garage

1. Launch Gazebo model

  • roslaunch agvs_gazebo agvs_office.launch

2. Launch Gazebo controller

  • roslaunch agvs_robot_control agvs_robot_control.launch

3. Launch pad to control the robot with a ps3 joystick

  • roslaunch agvs_pad agvs_pad.launch

4. Launch gmapping to create the map

  • roslaunch agvs_complete agvs_gmapping.launch

5. Move around and create the map. You can use rviz to see how the map is being created.

6. Save the map

  • rosrun map_server map_saver -f name_map

Autonomous movement (Pure Pursuit)

It is possible to move the robot through a path by using the package purepursuit_planner. First of all, we'll need to load a map.

1. Loading a previous saved map of Willow Garage

  • roslaunch agvs_complete map_server.launch 

2. Launch amcl to have a pose estimation in the map

  • roslaunch agvs_complete amcl_diff_2.launch

3. Launch the planner to move the robot following the desired path

  • roslaunch purepursuit_planner purepursuit.launch

4. Launch an interactive marker to set the path in the map

  • roslaunch purepursuit_planner purepursuit_marker.launch 

VREP model

1. Install latest V-REP version (after 3_1_2 packages do also work in catkin).

2. Link and compile the vrep ros packages

  •  cd catkin_ws/src
    ln -sf /opt/V-REP_PRO_EDU_V3_1_2_64_Linux/programming/ros_packages/vrep_common/
    ln -sf /opt/V-REP_PRO_EDU_V3_1_2_64_Linux/programming/ros_packages/vrep_joy/
    ln -sf /opt/V-REP_PRO_EDU_V3_1_2_64_Linux/programming/ros_packages/vrep_plugin/

3. Start the roscore (before starting V-REP)

4. Start VREP

  •  cd /opt/vrep
    ./vrep.sh &

5. Load the requested scene or import the robot model.

  • the scene (*.ttt) can be found under the agvs_description/vrep folder

6. Press play in V-REP to start simulation Note that in order to allow the agvs_robot_control node to perform an accurate estimation of the odometry, the RT mode in V-REP has to be selected. Otherwise the robot motion won't match the motion published in the joint_states.

7. Start robot pad (to move the robot manually)

  • roslaunch agvs_pad agvs_pad.launch

8. Start robot control

roslaunch agvs_robot_control agvs_robot_control.launch


pioneer_teleop

User

Documentation Status

Package Summary

Continuous integration Documented

The pioneer_teleop package provides teleoperation using keyboard, sockets or command line for the Adept MobileRobots Pioneer and Pioneer-compatible robots (Including Pioneer 2, Pioneer 3, Pioneer LX, AmigoBot, PeopleBot, PatrolBot, PowerBot, Seekur and Seekur Jr.).

Pioneer_teleop

A ROS package providing scripts for teleoperation using keyboard, sockets and command line.

The package is compatible with any robot using ROS ecosystem, but is originally implemented for Adept MobileRobots Pioneer and Pioneer-compatible robots (Including Pioneer 2, Pioneer 3, Pioneer LX, AmigoBot, PeopleBot, PatrolBot, PowerBot, Seekur and Seekur Jr.).

In case you have a different robot, please read http://wiki.ros.org/pioneer_teleop#What_if_my_robot_is_not_Pionner-compatible section

Use GitHub to report bugs or submit feature requests. [View active issues]

Dependencies

You need first to get and install pioneer_bringup package

Installation

After installing the dependencies, download or clone this repository in your caktin workspace:

cd ~/catkin_ws/src
git clone https://github.com/amineHorseman/pioneer_teleop.git
rosdep install pioneer_teleop

Build your workspace:

{{ cd ~/catkin_ws catkin_make }}}

Now, make sure that python scripts are executable:

cd ~/catkin_ws/src/pioneer_teleop/nodes
sudo chmod +x *.py

Usage

In this package, there are 3 teleoperation modes:

Keyboard teleoperation

roslaunch pioneer_teleop keyboard_teleop.launch

This allow you to control the robot motors using keyboard arrows, use + and - to increase or decrease the speed, and s to stop

A different version of keyboard teleoperation is also available using this command:

roslaunch pioneer_teleop discrete_keyboard_teleop.launch

In this case, the robot moves only for a small period of time (1.5 seconds by default) and then stops.

Sockets teleoperation

Controls the robot remotely throught socket commands (especially if you want to move the robot using a web interface via internet/LAN).

roslaunch pionner_teleop socket_teleop.launch

The expected commands are "forward", "backward", "left" or "right"

By default, the script listens to port 50001, and the robot moves only for 1.5 seconds. To change these parameters, you can use extra arguments as mentioned bellow:

roslaunch pionner_teleop socket_teleop.launch _port:=12345 _speed:=0.3 _move_time:=2.0

Command line teleoperation

Useful if you want to move the robot using command line throught a terminal or ssh:

roslaunch pionner_teleop socket_commandline.launch _direction:=forward

The expected commands (_direction argument) are "forward", "backward", "left" or "right"

By default, the robot moves only for 1.5 seconds at 0.2 speed. To change these parameters, you can use extra arguments as mentionned bellow:

roslaunch pionner_teleop socket_teleop.launch _direction:=backward _speed:=0.3 _move_time:=2.0

What if my robot is not Pionner-compatible?

This package is compatible with any robot using ROS as long as:

The velocity commands are published in /cmd_vel topic (see the next section). You modify the .launch scripts to remove the pionner_bringup call, or you execute directly the python scripts located in /nodes folder.

Known issues

Velocity command topic

By default, the scripts publish velocity commands to /cmd_vel topic.

In case your velocity commands topic has a different name, or you are not using Pionner-compatible robots, you will have to remap your velocity topic to /cmd_vel or change the topic name in the python scripts which are located in /nodes folder

nao

User

Aldebaran Nao

Nao is a commercially available humanoid robot built by Aldebaran. The ROS driver was originally developed by Freiburg's Humanoid Robots Lab and Armin Hornung. It essentially wraps the needed parts of Aldebaran's NaoQI API (versions 1.14 and 2.1) and makes it available in ROS. It also provides a complete robot model (URDF).

Robots using ROS: Aldebaran Nao

Robots using ROS: Uni Freiburg's "Osiris" Nao

Community

There is an official SIG for NaoQI and Aldebaran's robots at https://groups.google.com/forum/?fromgroups#!forum/ros-sig-aldebaran. Please subscribe to it to get the latest news !

Tutorials

A complete list of tutorials can be found under tutorials. This includes the installation, startup and further advanced instructions how to connect ROS with your NAO.

  • Start all robot nodes: nao_bringup

  • See getting started for a walk-through guide to installing ROS, NAOqi, and rviz (may be outdated by now).

Library Overview

The core functionality is implemented in the nao_robot stack (can be installed on the robot or on a remote PC), extended with further functionality in nao_extras (should be installed on a remote PC).

sudo apt-get install ros-.*-nao-robot
sudo apt-get install ros-.*-nao-extras

For an outline of the libraries included, please see the tables below.

Basic Configuration

Capability

ROS package/stack

Robot-specific Messages and Services

naoqi_bridge_msgs

Robot model (URDF)

nao_description

Robot meshes

nao_meshes

Hardware Drivers and Simulation

Component

ROS package/stack

Actuator drivers

naoqi_driver naoqi driver C++

naoqi_driver_py naoqi driver Python

Basic sensor drivers

naoqi_driver naoqi driver C++

naoqi_driver_py naoqi driver Python

Sensor drivers

naoqi_sensors_py

Robot control

nao_dcm_bringup

High-Level Capabilities

Component

ROS package/stack

Teleop

nao_teleop

Footstep planning

footstep_planner

Execute / manage body poses

naoqi_pose

Follow 2D path / walk to target

nao_path_follower

Diagnostics / Visualization

naoqi_dashboard

Interaction

nao_interaction

Planning / MoveIt!

nao_moveit_config

And more at nao_extras.

Simulation

You have the following options for simulating NAO:

  • You can use a simulated Nao in Webots and connect the driver to NaoQI on your local machine.

  • You can use a simulated Nao in Gazebo using plain ros_control architecture and no NaoQI features.

  • You can use a simulated Nao in Gazebo and connect the driver to NaoQI on your local machine.

User

TurtleBot

TurtleBot combines popular off-the-shelf robot components like the iRobot Create, Yujin Robot's Kobuki, Microsoft's Kinect and Asus' Xtion Pro into an integrated development platform for ROS applications. For more information about hardware, please see http://turtlebot.com.

BDFLs: Tully Foote (OSRF), Melonee Wise (Fetch Robotics)

ROS SW Maintainers: Michael Ferguson (Fetch Robotics), Tully Foote (OSRF), JihoonLee (Yujin Robot), Daniel Stonier (Yujin Robot)

Recently overhauled entire tutorial for indigo (24/03/15).

Overview

  • Migration - what's new and shiny in your indigo turtlebot software!

About

  1. Turtlebot-Developer Habitats

    Various usage scenarios for turtlebots and their developers.

  2. Interacting with your Turtlebot

    The many ways you can provoke/inspire your turtlebot to action!

Preparation

  1. Turtlebot Installation

    Installing software onto the turtlebot.

  2. PC Installation

    Installing the software for your monitoring workstation pc.

  3. Network Configuration

    Get turtlebot and your pc chatting to each other.

Bringup

  1. TurtleBot Bringup

    How to start the TurtleBot software.

  2. PC Bringup

    Connecting to the turtlebot from the PC.

  3. TurtleBot Care and Feeding

    This tutorials explains how to charge and maintain your TurtleBot.

  4. Create Odometry and Gyro Calibration

    This is only necessary if you have a Create base. The Kobuki comes with a factory calibrated gyro. This will show you how to calibrate or test the calibration of a TurtleBot which is highly recommended when running any navigation based application.

Applications

Looking Around

  1. A First Interaction

    Run your first interaction with the turtlebot - chatter!

  2. Visualisation

    Find and call launchers to visualise the turtle and its data streams.

  3. 3D Visualisation

    Visualising 3d and camera data from the kinect/asus.

Teleoperation

  1. Keyboard Teleop

    Keyboard teleoperation of a turtlebot.

  2. Joystick Teleop

    Joystick teleoperation of a turtlebot.

  3. Qt Teleop

    Qt teleoperation of a turtlebot.

  4. Interactive Markers Teleop

    A tutorial describing how to use rviz interactive markers for controlling the TurtleBot.

Navigation

  1. SLAM Map Building with TurtleBot

    How to generate a map using gmapping

  2. Autonomous Navigation of a Known Map with TurtleBot

    This tutorial describes how to use the TurtleBot with a previously known map.

Something Funny

  1. The TurtleBot Follower Demo

    This describes how to run the TurtleBot Follower Demo on your TurtleBot.

  2. The TurtleBot Panorama Demo

    This describes how to run the TurtleBot Panorama Demo on your TurtleBot.

Android Interactions

  1. Download Turtlebot Android Apps from Play Store

    Download android apps from Play Store to run turtlebot rapps on your turtlebot via android device

  2. How to Run Turtlebot Andorid Application

    Instructions how to run turtlebot android application

  3. Turtlebot Android Application Dev Tutorial

    Instructions how to develop turtlebot android app

Simulation

Stage

  1. TurtleBot in Stage Simulator

    How to start turtlebot stage simulation

  2. Customizing the Stage Simulator

    Explains how to use your own map with the stage simulator for turtlebot and adjust configurations for your needs

Gazebo

  1. Gazebo Bringup Guide

    See the simulated turtlebot in Gazebo.

  2. Explore the Gazebo world

    Cruise around in the Gazebo world and use RViz to "see" what's in it.

  3. Make a map and navigate with it

    Use the navigation stack to create a map of the Gazebo world and start navigation based on it.

Development Corner

  1. Customising the Turtle

    Pre-load your own customisations/configuration on the turtle.

  2. Create your First Rapp

    Create, load and execute a 'babbler' rapp, and, is it really worth the effort?

  3. Create your First Interaction

    Create, load and execute a 'babbler' interaction.

  4. Adding New 3D Sensor

    Add support for a new 3D sensor to the turtlebot stack.

Tutorials describing how to develop android interactions can be found in the android corner.

Appendix

Rocon QT App manager

  1. Start Rapp with QT App manager

    How to start implementation rapps with Rocon Qt App manager

Multi TurtleBot Concert

Teleop Concert

Teleoperate multiple turtlebots!

  1. TurtleBot Concert Bringup

    how to start the turtlebot concert

  2. Bring up Turtlebot as Concert Client

    how to start the turtlebot concert

  3. Teleop a turtlebot via Concert

    how to teleoperate turtlebot in concert

Other Resources

ROS_Kinetic_x 目前已更新的常用機器人資料 rosbridge agvs pioneer_teleop nao TurtleBot的更多相关文章

  1. ROS_Kinetic_x 基於ROS和Gazebo的RoboCup中型組仿真系統(多機器人協作)

    國防科學技術大學發布了RoboCup中型組仿真平臺,基於ROS和Gazebo設計. 該平臺可以用於多機器人協作研究.參考資料如下: ROS新聞:1    http://www.ros.org/news ...

  2. Gazebo機器人仿真學習探索筆記(二)基本使用說明

    在完成Gazebo7安裝後,需要熟悉Gazebo,方便之後使用. 部分源代碼可以參考:https://bitbucket.org/osrf/gazebo/src/ 如果還沒有安裝請參考之前內容完成安裝 ...

  3. Gazebo機器人仿真學習探索筆記(三)機器人模型

    gazebo_models:https://bitbucket.org/osrf/gazebo_models 模型庫下載,可以參考如下命令: ~/Rob_Soft/Gazebo7$ hg clone ...

  4. Gazebo機器人仿真學習探索筆記(一)安裝與使用

    Gazebo提供了多平臺的安裝和使用支持,大部分主流的linux,Mac以及Windows,這裏結合ROS以Ubuntu爲例進行介紹. 首先是參考資料:http://gazebosim.org/tut ...

  5. ROS常用三維機器人仿真工具Gazebo教程匯總

    參考網址: 1. http://gazebosim.org/tutorials 2. http://gazebosim.org/tutorials/browse Gazebo Tutorials Ga ...

  6. Gazebo機器人仿真學習探索筆記(七)连接ROS

    中文稍后补充,先上官方原版教程.ROS Kinetic 搭配 Gazebo 7 附件----官方教程 Tutorial: ROS integration overview As of Gazebo 1 ...

  7. Gazebo機器人仿真學習探索筆記(六)工具和实用程序

    Gazebo附带了许多工具和实用程序. 这些教程说明了这些可用的工具,以及如何使用它们. 主要有: 1 记录和播放 2 日志过滤 3 应用力/扭矩 4 HDF5数据集 官网介绍通俗具体,非常容易,请参 ...

  8. Gazebo機器人仿真學習探索筆記(五)環境模型

    環境模型構建可以通過向其中添加模型實現,待之後補充,比較有趣的是建築物模型, 可以編輯多層樓層和房間,加入樓梯,窗戶和牆壁等,具體可以參考附錄,等有空再補充. 起伏地形環境構建可以參考之前內容:在Ga ...

  9. Gazebo機器人仿真學習探索筆記(四)模型編輯

    模型編輯主要是自定義編輯物體模型構建環境,也可以將多種模型組合爲新模型等,支持外部模型導入, 需要注意的導入模型格式有相應要求,否在無法導入成功, COLLADA (dae), STereoLitho ...

随机推荐

  1. codevs 搜索题汇总(钻石+大师级)

    1043 方格取数 2000年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图 ...

  2. [HNOI 2015]开店

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...

  3. SRM340 VegetableGarden

    Description 你的蔬菜园形成了一个矩形网格.你决定检查一些小块土地.从左上角开始,你将走过菜园,回到起点.现在你想要检查一下菜园内的田地,于是你决定从左上角出发,在菜园里走一圈回到原处.最后 ...

  4. [HNOI2008]越狱

    题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 输入 ...

  5. ●codeforces 528D Fuzzy Search

    题链: http://codeforces.com/problemset/problem/528/D 题解: FFT 先解释一下题意: 给出两个字符串(只含'A','T','C','G'四种字符),一 ...

  6. 51 nod 1766 树上的最远点对(线段树+lca)

    1766 树上的最远点对 基准时间限制:3 秒 空间限制:524288 KB 分值: 80 难度:5级算法题   n个点被n-1条边连接成了一颗树,给出a~b和c~d两个区间,表示点的标号请你求出两个 ...

  7. bzoj4152[AMPPZ2014]The Captain 最短路

    4152: [AMPPZ2014]The Captain Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1517  Solved: 603[Submi ...

  8. TensorFlow-Bitcoin-Robot:一个基于 TensorFlow LSTM 模型的 Bitcoin 价格预测机器人

    简介 TensorFlow-Bitcoin-Robot:一个基于 TensorFlow LSTM 模型的 Bitcoin 价格预测机器人. 文章包括一下几个部分: 1.为什么要尝试做这个项目? 2.为 ...

  9. Vue生命周期-手动挂载理解

    改前端遇到个bug,console能够输出值,但是前端不能显示. 我简直一脸懵逼,vue的问题?网络的问题?浏览器的缓存问题? 公司网络,所以直接排除网络问题. 浏览器缓存,试了下确实一定概率可以显示 ...

  10. filter和listener的生命周期

    filter(过滤器)和listener(监听器)的生命周期 老实说 生命周期要是说成作用的时间范围我会理解的更好 filter package com.javaweb.filter; import ...