Giter Club home page Giter Club logo

youbot_ros_tools's Introduction

youbot_ros_tools

A KUKA youBot description package for ROS Hydro to be used for simulation in Gazebo 1.9.

What's inside

youbot_ros_tools is a catkin package and is divided in five parts, each of which groups a specific set of functionalities. Its structure reflects the one proposed in the Gazebo ROS integration guidelines.

  • youbot_description contains the Xacro URDF description of the robot, including the directives for Gazebo simulation, and the 3d meshes for all its parts.
  • youbot_gazebo contains the launch files for different youbot configurations and world files. It currently only contains the map for a completely empty room.
  • youbot_control provides configuration and launch files to spawn the robot controllers.
  • youbot_teleop includes a simple teleoperation script for moving the robot's base and arm. More about controlling multiple robots can be found later in the document.
  • youbot_2dnav includes the configuration and launchers to start the navigation module.

Even though this package is still under developement and contains some tradeoffs that limit its adherence to reality, we encourage you to try it, suggest improvements and raise issues.

Quick start

After downloading and building the package, if you're in a rush to see a little youBot inside Gazebo and to move its arm, try

roslaunch youbot_gazebo youbot.launch

to spawn a single youbot in an empty world. To let the robot start publishing the joint states and to be able to control it, in another terminal type

roslaunch youbot_control youbot_control.launch

If everything went as expected and neither screens showed errors, you can start the teleoperation script typing

roslaunch youbot_teleop youbot_teleop.launch

Please type help for the list of available commands, or simply try base_move to test if the base correctly moves forward and arm_move j1 3.15 to test if the first joints rotate correctly.

If all of the previous steps have been followed without modifying the launch files, the navigation stack can be started with

roslaunch youbot_2dnav move_base.launch

This command starts the map server, the amcl localization module and the move_base navigation module. The robot can thus be controlled passing messages to the move_base/goal topic.

Every one of the precedent commands allows a namespace-specific variation in case multiple robots have been spawned

roslaunch youbot_gazebo youbot_double.launch

roslaunch youbot_control youbot_control.launch ns:=/youbot0
roslaunch youbot_control youbot_control.launch ns:=/youbot1

roslaunch youbot_teleop youbot_teleop.launch ns:=/youbot0
roslaunch youbot_teleop youbot_teleop.launch ns:=/youbot1

The wiki page about understanding launch and namespaces gives more insight in this direction.

Credits

The Xacro URDF description and the meshes for the robot have been taken from the WPI's youbot_description package. A lot of the code for this repository has been written by @Arn-O.

youbot_ros_tools's People

Contributors

micpalmia avatar ifabottud avatar

Watchers

Chao Yao avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.