GithubHelp home page GithubHelp logo

turtlebot / turtlebot Goto Github PK

View Code? Open in Web Editor NEW
294.0 47.0 314.0 10.05 MB

The turtlebot stack provides all the basic drivers for running and using a TurtleBot.

Home Page: http://www.ros.org/wiki/turtlebot

License: BSD 3-Clause "New" or "Revised" License

Shell 5.68% CMake 12.46% EmberScript 9.44% Python 28.71% MATLAB 7.17% C++ 34.79% OpenSCAD 1.74%

turtlebot's Introduction

turtlebot's People

Contributors

bit-pirate avatar chadrockey avatar corot avatar cuchen avatar dirk-thomas avatar dwlee avatar hcjung avatar hershwg avatar hsu avatar jihoonl avatar kevincwells avatar kwatts avatar lc75 avatar lukacu avatar marjinal1st avatar martimorta avatar martinperis avatar mikeferguson avatar mmwise avatar patrickcjh avatar rk4an avatar slivingston avatar stonier avatar t045t avatar tfoote avatar wkentaro avatar yhju avatar zklapow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

turtlebot's Issues

ROS wiki checklist

Kobuki/Turtlebot wiki pages that are missing or must be updated. Fill free to include any issues you find in the "todo" list.

Make sure these have fuerte/groovy versioning tags where appropriate.

Kobuki Node

Keep kobuki_node as its own stack - some users may wish to build non-turtlebot kobukis.

Same case could possibly be made for the irobot'ish turtlebot_node.

Move Create/Kobuki params into own each specific package

Those parameters are Create/Kobuki-specific and are not directly related with Turtlebot. So:

turtlebot / turtlebot_bringup / param / create -> turtlebot_create / param
turtlebot / turtlebot_bringup / param / kobuki -> kobuki/param

tf2 integration

Brain mentioned about the new model for tf message which helps to reduce the tf transform computation.

tf2 is a server/client model for tf messages. tf2 may help the tf transform computation in low-power system like android.

http://www.ros.org/wiki/tf2

Worth to check

Robot Descriptions and Models

Some thoughts:

  • Keep using turtlebot_descriptions, no real need for a new package.
  • Also keep kobuki_descriptions, some people will may wish to build non-turtlebot kobuki platforms.
  • Move the new stacks and poles descriptions into turtlebot_description.
  • Use the new ones by default, provide an argument for loading up the old ones.
  • Roslaunch 'base' argument and TURTLEBOT_BASE environment variable (create, khobuki).
  • Roslaunch 'stacks' argument and TURTLEBOT_STACKS environment variable (circles, hexagons).
  • Roslaunch ย '3d_sensor' argument and TURTLEBOT_3D_SENSOR environment variable (kinect, asus_xtion_live_pro).

Probably need to take care working out how to bring in the appropriate pieces for urdf's and such.

Compatible safety controller

We need to make a safety controller that is compatible for both turtlebot_kobuki and turtlebot_create.

  • move kobuki_safety_controller here (turtlebot_safety_controller)
  • create standardised bumper and cliff messages
  • Add publishers for bump and cliff events to be compatible with kobuki (turtlebot)
  • make the safety_controller nodelet use these

Openni crashing

The nodelet from openni_camera seems to be crashing alot

nodelet: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [with T = xn::NodeInfo, boost::shared_ptr<T>::reference = xn::NodeInfo&]: Assertion `px != 0' failed.
[FATAL] [1348746869.679027201]: Service call failed!
[FATAL] [1348746869.679040401]: Service call failed!
[FATAL] [1348746869.679055188]: Service call failed!
[FATAL] [1348746869.679072983]: Service call failed!
[openni_manager-1] process has died [pid 2559, exit code -6, cmd /opt/ros/fuerte/stacks/nodelet_core/nodelet/bin/nodelet manager __name:=openni_manager __log:=/home/snorri/.ros/log/744d67de-0898-11e2-9325-6cf049781259/openni_manager-1.log].
log file: /home/snorri/.ros/log/744d67de-0898-11e2-9325-6cf049781259/openni_manager-1*.log
respawning...

Try the heavier openni_launch?

App Lists for the User

Param pointing to a user's apps.installed so they can easily start creating their own apps alongside the core ones.

Kobuki-Create compatibilities

Less kobuki-create specifity.

  • Msgs/Srvs - either contribute (sensor_msgs?) or utilise shared turtlebot common msgs (e.g. bumper, ir, battery, cliff, digital io)
  • Topic synchronisation
  • Compatible diagnostics messages.

robot algorithms stack

Mel brought this up in #28 when talking about moving pointcloud_to_laserscan.

I'd like a generic robot_algorithms (or similar) stack where we can dump simple err 'robot algorithms'. Point cloud to laser scan, random wandering mode, motion patterns, gyro heading calibration/drift estimation etc.

I've got a few that we're making for kobuki (manufacturing programs) that would be perfectly usable by turtlebot and other bases, but I can't put in places like kobuki or turtlebot without wierd or circular dependencies.

Thinking for just 1s more on the topic, 'robot_algorithms' is far too generic. We're talking about simple algorithms for mobile bases here.

Break out linux_hardware

Causing us issues for dashboards. Currently kobuki_desktop and turtlebot_create_desktop depend on turtlebot.

Turtlebot should be on top!

Still, we need a better way of loading up the dashboards for different hardware. Consider on the way to hydro.

REP Modifications

  • '''base size''' : kobuki is 35cm, rep states 33cm
  • '''base_link''' : less ambiguous is base_footprint as a reference

Previous comments from Marcus about the base_link.

Can we change the REP to define a fixed transform from
base_footprint -> camera_rgb_frame instead using the
more arbitrary base_link?

Since we usually put base_link on the axis of the main
wheels for our (centred) differential drives, I added a
base_bottom_link at the bottom surface of the Kobuki.
Now, base_bottom_link 0> camera_rgb_frame aligns with REP115.

If we adjust the REP this will be obsolete

Verfiy and unify kinect&xtion urdfs

Check to what extend we can unify the kinect & xtion related urdfs for both turtlebot 1 & 2.

If the camera mounting in both robots is different we could create a common kinect/xtion.urdf, which is include by turtlebot_kinect.urdf and turtlebot2_kinect.urdf (same for xtion). The robot-specific would include the mounting plate and poles.

In this process varify the calibration parameters for both cameras and in combination with both robots.
I remember we found some error in those parameters.

Fix app manager closure

It bugs out when ctrl-c'ing.

Not a priority, maybe really not a priority if we want to replace it shortly anyway.

Depth Registration

For the openni_camera nodelet, the yaml in turtlebot sets depth registration to true, but points show up on /camera/depth/points instead of /camera/depth_registered/points - why?

Flying Asus

It doesn't include a mesh for a mount yet, so when you view the robot model (see turtlebot/turtlebot_descriptions/readme.txt), it looks like it's flying.

Turtlebot_teleop points to wrong topic for turtlebot2

Hard coded 'cmd_vel' here:
https://github.com/turtlebot/turtlebot_apps/blob/master/turtlebot_teleop/src/turtlebot_key.cpp

instead of the new '/cmd_vel_mux/input/teleop'.
Took me ages to figure out why my turtlebot2 wasn't spinning :-)

I know this can be fixed by putting it in a launch file and remapping, but teleop is something that users are likely to start and stop at runtime, so still being able to 'rosrun' it is very useful. Perhaps have a 'turtlebot_key' and a 'turtlebot2_key' as a quick and dirty fix?

Merge kobuki_teleop into turtlebot

We added some velocity smoothing, put it in turtlebot.

Might also put our yujin_keyop in kobuki, we still tend to use that over the turtlebot one.

Move kobuki base link to bottom base link

Comply with REP119, 105 for base link expectations (#40).

Applications will be expecting the transform from odom to base link to be relevant to navigation (REP105) AND base link to camera_rgb exactly as spec'd in REP119 for perception. Having base_bottom_link in the middle nullifies that expectation.

Point cloud to laserscan

It isn't required in 3d sensor. Alot of turtlebot apps make no use of it (only the navigation apps). Subsequently it really should be just launched with the navigation app, otherwise it's overhead.

Merge kobuki apps

Most are the same, we have a different chirp.

Not going to worry about doing anything different for turtlebot2 till we have a better gateway model/android pairing setup a few months down the line (us, austin and osrf).

Kinect depth mode: 2 -> 8

On recommendation from someone here, mode of 2 was really slow.

Change it and test it for a while.

Debian release checklist

Stacks are listed in some sort of relative order.

Done

Todo

  • turtlebot_arm

URDF Stitcher

Bill has something along these lines. With the current configuration, what I'd like to perhaps have is

  • library of component urdf's
  • script which will generate full robot urdf from the library

i.e. provided a set of arguments (or environment variables), it will automatically select the appropriate components (tags) from the library and create a xacro for you. This script could be called in minimal.launch and it would run as follows:

  • get all the variables together
  • check ${ROS_HOME}/turtlebot/description to see if a xacro wasn't already available (e.g. kobuki-hexagons-kinect-cupholder.
  • if not, put together the components and write that xacro file
  • finally, make it available to the rest of the running system in the usual way.

Stabilising Openni

Following on from #25 with relevance to groovy.

  • Currently using openni_camera/DriverNodelet - this works
  • Only sensor data (no point clouds or colour image)
  • We probably need depth_image_proc
    • depth_image_proc is broken

Xtion Pro Broken

Depth point clouds work, but registered depth point clouds fail.

ERROR: Unsupported encoding [yuv422]

System configuration

What's the best way to kill this? At the moment we have at least three things we'd like to configure.

  • /proc/xxx naming for the battery.
  • The base - create or kobuki
  • The stacks - t1 or t2.

The current plan is to set environment variables:

  • TURTLEBOT_BASE - you can see in minimal.launch
  • TURTLEBOT_STACKS - not yet
  • TURTLEBOT_BATTERY - not yet

and pull them into roslaunched args:

<arg name="base" value="$(optenv TURTLEBOT_BASE kobuki)"/> 

More preferable ideas?

rosdep broken

In groovy on precise

$ rosdep check -a
System dependencies have not been satisified:
apt texlive-latex-base
apt texlive-latex-recommended
apt texlive-latex-extra
apt texlive-fonts-recommended
apt texlive-fonts-extra
apt daemontools
apt ftdi-eeprom
ERROR[turtlebot_web_bringup]: resource not found [rosbridge_launch]
ERROR[kobuki_qtestsuite]: resource not found [qt_gui_py_common]
ERROR[rosbridge_server]: Cannot locate rosdep definition for [rosapi]
    rosdep key : rosapi
    OS name    : ubuntu
    OS version : precise
    Data: <no data>
ERROR[rosapi]: Cannot locate rosdep definition for [rosbridge_library]
    rosdep key : rosbridge_library
    OS name    : ubuntu
    OS version : precise
    Data: <no data>

only target Groovy..

I don't think that we should try to support fuerte with all the changes that have been made.

  • rqt is not supported in fuerte... i.e. the dashboard is not backwards compatible and we should not support 2 versions
  • this will make many of the launch files much simpler
  • etc

End result of the discussion:

  • Don't break existing fuerte debs - that's a major api change in the middle of a release which is not best practice.
  • Target groovy, work hard at solving 3d sensor and gazebo issues.
  • Provide minimal support for a turtlebot2 fuerte rosinstall - bringup, rviz, android apps.

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.