GithubHelp home page GithubHelp logo

turtlebot / turtlebot_create Goto Github PK

View Code? Open in Web Editor NEW
24.0 24.0 40.0 552 KB

It keeps iRobot Create specific packages

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

Python 97.54% CMake 2.46%

turtlebot_create's Introduction

turtlebot_create's People

Contributors

bit-pirate avatar corot avatar jihoonl avatar lukacu avatar mmwise avatar paulbouchier avatar skohlbr avatar stonier avatar tfoote avatar trainman419 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

Watchers

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

turtlebot_create's Issues

Rename back to create

This makes it far easier to handle with args in the launchers - i.e. kobuki vs create, I can easily redirect to correct params and launchers respective to the base.

If only roslaunch use the if/unless with strings instead of only booleans!

Question: I cannot find any useful instruction for this usage in imu datasheet

hi, dear,
I bought a turtlebot from your company. but at this line, I cannot understand:
https://github.com/turtlebot/turtlebot_create/blob/indigo/create_node/src/create_node/gyro.py#L91
why we use sensor_state.user_analog_input/self.gyro_measurement_range ?

why we don't directly use output data of imu, that means only use sensor_state.user_analog_input*(math.pi/180.0) ?
I cannot find any useful instruction for this usage in imu datasheet..
could you please tell me the reason?
Thank you very much! Is this way can totally eliminate the drift error of IMU?

[WIP] Add Wifi/BT support

Add extra support :

  • Wifi (rooWifi) #27
  • BT (rootBT)

Need :

  • Abstract layer for SCI layer
  • Configure layer TODO
  • Manage connection

cannot connect on indigo

Hi I'm having trouble connecting to a roomba 521 on ros indigo. I have a laptop running hydro, where it connects just fine and a laptop running indigo, where I installed many nodes from source (using catkin).
On indigo I get the error "Failed to open port ....". I checked the dev rules, dmesg, ls -l /dev/ttyUSB0 and also tried to connect with minicom, to which it responds with a beep when I exit&reset (just like on the hydro laptop).
I have these environmental vars:
TURTLEBOT_BASE roomba
TURTLEBOT_STACKS circles
TURTLEBOT_SERIAL_PORT /dev/ttyUSB0

I'm wondering if there's any difference of connecting between hydro and indigo.

setup.bash from turtlebot repo overwrites env vars with kobuki values

The setup scripts in the official turtlebot repos overwrite turtlebot env vars set by .bashrc. This does NOT happen with the repos I cloned using these instructions:
http://wiki.ros.org/turtlebot/Tutorials/indigo/Installation
I have not been able to find the scripts that set these variables, in order to fix the problem in the official repo. Please advise or fix in the official repo (since I'm just going to turn around & do a pull request).

(I'm assuming it's a worthwhile activity to try & get the official repo working.)

Below, catkin_ws is the workspace I've cloned the official repo into.

Last login: Mon Jul 21 22:08:15 2014 from localhost
bouchier@phb-netbook:$ env | grep TURT
TURTLEBOT_3D_SENSOR=kinect
TURTLEBOT_STACKS=circles
TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0
TURTLEBOT_BASE=create
bouchier@phb-netbook:
$ source catkin_ws/devel/setup.bash
bouchier@phb-netbook:~$ env | grep TURT
TURTLEBOT_3D_SENSOR=kinect
TURTLEBOT_STACKS=hexagons
TURTLEBOT_SIMULATION=false
TURTLEBOT_SERIAL_PORT=/dev/kobuki
TURTLEBOT_BASE=kobuki
TURTLEBOT_MAP_FILE=/home/bouchier/catkin_ws/src/turtlebot_apps/turtlebot_navigation/maps/willow-2010-02-18-0.10.yaml
TURTLEBOT_BATTERY=/sys/class/power_supply/BAT0

Correct python imports

These may need a bit of tlc to get working properly. import PyKDL (#3) needs fixing to debug first though.

Hydro release

Something is wrong with the python_orocos_kdl package in Hydro. When I try to compile the create_node package I get this error:

-- ==> add_subdirectory(turtlebot_create/create_node)
CMake Error at /opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
  Could not find a configuration file for package python_orocos_kdl.

  Set python_orocos_kdl_DIR to the directory containing a CMake configuration
  file for python_orocos_kdl.  The file will have one of the following names:

    python_orocos_kdlConfig.cmake
    python_orocos_kdl-config.cmake

Call Stack (most recent call first):
  turtlebot_create/create_node/CMakeLists.txt:4 (find_package)

I have reported this issue on the kdl mailing list: http://lists.mech.kuleuven.be/pipermail/orocos-dev/2013-July/012559.html

Create driver throws exception on open()

The open() of /dev/ttyUSB0 fails for reasons that are hard to understand. The error message (from a modified msg in create_driver.py that prints Exception.message in the log) is:
[ERROR] [WallTime: 1405999978.886373] Failed to open port /dev/ttyUSB0, Error: Port is already open.. Please make sure the Create cable is plugged into the computer.

The relevant code in create_driver.py is:
class SerialCommandInterface(object):
def init(self, tty, baudrate):
self.ser = serial.Serial(tty, baudrate=baudrate, timeout=SERIAL_TIMEOUT)
self.ser.open()

The exception is thrown by self.ser.open(). If I comment out self.ser.open() the open is successful and robot initialization proceeds.

The pySerial API doc says:

class serial.Serial
init(lots of params)
The port is immediately opened on object creation, when a port is given. It is not opened when port is None and a successive call to open() will be needed.

turtlebot_node passes in port. Thus it appears self.ser.open() is not needed, and various internet posts report that open() on an already-open serial port will throw an exception, though the API doc doesn't say that. But this driver code hasn't changed since before fuerte, so why would it suddenly break? Did something change between python 2.7.3 (in 12.04/Fuerte) and python 2.7.6 (in Trusty/Indigo) related to calling open() on already open ports? Or is something in my environment misconfigured?
Any suggestions?

question: about imu_data.angular_velocity correction.

Hi, dear,
sorry for stupid question here, I didn't understand the code at here:

https://github.com/turtlebot/turtlebot_create/blob/indigo/create_node/src/create_node/gyro.py#L82

I cannot understand why we divide /self.cal_offset here to do angular velocity correction, shouldn't we use(gyro_measurement_range-self.cal_offset) to divide by here?

I cannot understand the meaning of the formular's denominator.
Please instruct me. Thank you very much!

Remove laser plugin for Gazebo

We use depthimage_to_laserscan for the real robots and the TB2 simulation.
Hence, I suggest to remove the simulator laser.

ERROR: cannot launch node of type [create_node/turtlebot_node.py]: can't locate node [turtlebot_node.py] in package [create_node]

Hi,

I am have installed turtlebot binaries. While executing : roslaunch turtlebot_bringup minimal.launch
I am getting error as :

ERROR: cannot launch node of type [create_node/turtlebot_node.py]: can't locate node [turtlebot_node.py] in package [create_node]
ERROR: cannot launch node of type [create_node/kinect_breaker_enabler.py]: can't locate node [kinect_breaker_enabler.py] in package [create_node]
ERROR: cannot launch node of type [create_node/load_calib.py]: can't locate node [load_calib.py] in package [create_node]

I have attached the error. I have reinstalled turtlebot package more than thrice. I am still facing this issue.
Any help with this issue is really appreciated.

Thanks in advance

turtlebot_error.txt

iRobot Create2

The current version of the 'create' robot has some basic changes.
The following change seems to make it nominally functional.
https://github.com/turtlebot/turtlebot_create/blob/indigo/create_node/src/create_node/robot_types.py

ROBOT_TYPES = {
'create': RobotType('create', 57600, create_sensor_handler.CreateSensorHandler,
wheel_separation=0.26),
'create2': RobotType('create', 115200, create_sensor_handler.CreateSensorHandler,
wheel_separation=0.26),
'roomba': RobotType('roomba', 115200, roomba_sensor_handler.RoombaSensorHandler,
wheel_separation=0.235),
}
There are also a number of new commands.
see http://www.irobot.com/~/media/MainSite/PDFs/About/STEM/Create/create_2_Open_Interface_Spec.pdf
I may be able to work on adding the new functionality in a branch if that would help.

Cannot load create.urdf.xacro in ROS jade

I'm trying to use the create package under ROS Jade.
'
rosrun xacro xacro --inorder --verbosity=4 create.urdf.xacro
set base_x: 0.33 (create.urdf.xacro)
set base_y: 0.33 (create.urdf.xacro)

< ! - - =================================================================================== - ->
< ! - - | This document was autogenerated by xacro from create.urdf.xacro | - - >
< ! -- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | - - >
< ! - - =================================================================================== - - >

< robot name="turtlebot_hardware" xmlns:xacro="http://ros.org/wiki/xacro" >
< / robot >

'
and nothing else. I cannot load the description into Gazebo.
I have the turtlebot_create turtlebot_create_desktop packages checked out and built in my catkin_ws

sci error has lost user friendly warning

It used to report like this:

[ERROR] [WallTime: 1368713878.887388] Failed to contact device with error: [Error reading from SCI port. No data.]. Please check that the Create is powered on and that the connector is plugged into the Create.

Now it's just:

[WallTime: 1399283839.642510] Create : robot not connected yet, sci not available 

"Error: No link elements found in urdf file" upon check_urdf command

URDF I generated from xacro files cause an error.
Same occurred on Indigo-Trusty and Kinetic-Xenial.

$ more /opt/ros/indigo/share/create_description/urdf/create_gazebo.urdf.xacro 
<?xml version="1.0"?>

<robot xmlns:xacro="http://ros.org/wiki/xacro" name="turtlebot_gazebo">
        <xacro:macro name="sim_create">
          <gazebo>
            <plugin name="create_controller" filename="libgazebo_ros_create.so">
              <alwaysOn>true</alwaysOn>
              <node_namespace>turtlebot_node</node_namespace>
              <left_wheel_joint>left_wheel_joint</left_wheel_joint>
              <right_wheel_joint>right_wheel_joint</right_wheel_joint>
              <front_castor_joint>front_castor_joint</front_castor_joint>
              <rear_castor_joint>rear_castor_joint</rear_castor_joint>
              <wheel_separation>.260</wheel_separation>
              <wheel_diameter>0.066</wheel_diameter>
              <base_geom>base_footprint_collision_base_link</base_geom>
              <updateRate>40</updateRate>
              <torque>1.0</torque>
            </plugin>
          </gazebo>

    <gazebo reference="left_wheel_link">
      <mu1>1.0</mu1>
      <mu2>1.0</mu2>
      <kp>1000000.0</kp>
      <kd>100.0</kd>
      <minDepth>0.001</minDepth>
      <maxVel>1.0</maxVel>
    </gazebo>
: (skip. https://github.com/turtlebot/turtlebot_create/blob/3a4803dd7ae741fecc52b602aa154403e7a58f7b/create_description/urdf/create.urdf.xacro)
$ rosrun xacro xacro `rospack find create_description`/urdf/create.urdf.xacro -o /tmp/irobot_create.urdf
$ check_urdf /tmp/irobot_create.urdf 
Error:   No link elements found in urdf file
         at line 180 in /build/buildd/urdfdom-0.2.10+dfsg/urdf_parser/src/model.cpp
ERROR: Model Parsing the xml failed
$ more /tmp/irobot_create.urdf 
<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /opt/ros/indigo/share/create_description/urdf/create.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="turtlebot_hardware" xmlns:xacro="http://ros.org/wiki/xacro">
  <!-- Macro for TurtleBot body. Including Gazebo extensions, but does not include Kinect -->
</robot>
(Indigo)
$ dpkg -p liburdfdom-dev ros-indigo-xacro ros-indigo-create-description|grep Vers
Version: 0.2.10+dfsg-1
Version: 1.9.5-0trusty-20160628-114306-0700
Version: 2.3.0-0trusty-20160629-001336-0700

(Kinetic)
$ apt-cache show liburdfdom-dev ros-kinetic-xacro ros-kinetic-create-description |grep Vers
Version: 0.4.1-1
Version: 1.11.0-0xenial-20160603-184331-0700
Version: 2.3.1-0xenial-20160624-182158-0700

PyKDL

import PyKDL doesn't work in groovy.

Sometime it produces warning "Distance, angle displacement too big, invalid readings from robot." and connection lost for a while

I'm using Roomba622 and turtlebot_create. I sometimes encounter the create_node producing error:

[ERROR] [1537945758.122246]: Failed to contact device with error: [Distance, angle displacement too big, invalid readings from robot. Distance: 12.78, Angle: 8.12]. Please check that the Create is powered on and that the connector is plugged into the Create.
[WARN] [1537945765.860798]: Invalid OI Mode Reported 254

When this error happens while the robot moving, the robot is out of control, update of the sensor (odometry) is stopped for a while, and the mapping program destroys current map. The error is not predictable, and not re-producible as far as I tried. It happens once in a few minutes in average.

I feel strange, because I have never seen this warning when I used Roomba 500 series. It may be hardware issue but I cannot reproduce it with same hardware and Roomba 500.

Does anyone know this problem?

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.