ROS_Kinetic_x 目前已更新的常用機器人資料 rosbridge agvs pioneer_teleop nao TurtleBot

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

AGVS Gazebo

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

AGVS Gmapping

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

AGVS AMCL

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 

AGVS Interactive Marker 1 AGVS Interactive Marker 2

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

AGVS VREP Scene

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

  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

Aldebaran Nao

Nao_robot.jpg

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.


TurtleBot

TurtleBot 2 TurtleBot 1

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


原文地址:https://www.cnblogs.com/liang123/p/6324863.html