Ask Your Question

Waron's profile - activity

2016-03-17 01:47:22 -0600 received badge  Famous Question (source)
2016-03-11 08:38:42 -0600 received badge  Famous Question (source)
2016-03-07 16:55:30 -0600 received badge  Student (source)
2016-03-07 16:50:11 -0600 received badge  Teacher (source)
2016-03-07 16:50:11 -0600 received badge  Self-Learner (source)
2016-03-07 16:50:04 -0600 received badge  Notable Question (source)
2016-02-06 06:43:27 -0600 received badge  Popular Question (source)
2016-02-05 13:46:03 -0600 answered a question Adding an IMU to Turtlebot 1

I guess I'll answer my own question, as I managed to resolve the issue. It appears that the razer 9dof node provides the /base_imu_link frame. I simply added the following line to my launch file, and everything worked perfectly! <node pkg="tf" type="static_transform_publisher" name="imu_to_base" args="0 0 0 0 0 0 base_link base_imu_link 10"/>

I suppose the URDF file for turtlebot provides all of the frames there, but since it's too complicated to bother editing, it's easier/better to manually provide the frame conversion in tf.

2016-02-04 14:38:42 -0600 asked a question Adding an IMU to Turtlebot 1

Hi Everyone,

I'm trying to put together a Turtlebot 1 with some old iRobot creates and kinects I have had around my lab. So far, I've been able to make the plates, standoffs, power regulation board, and get everything working with the turtlebot package. I had to go in the create launch file and disable the gyro (which I can't buy anymore). I decided to order the sparkfun razer 9dof IMU as a replacement since I already saw it had a ROS package available.

I created a launchfile which would call the turtlebot minimal.launch and 3dsensor.launch with the parameters for the Turtlebot 1. I also added in that launchfile the razor-pub.launch for the IMU. I also modified the robot_pose_ekf node launched by create node to subscribe to the /imu topic published by the razor instead of the /mobile_base/sensors/imu_data which was the gyro data published by the create node.

Everything seemed to work, robot_pose_ekf was subscribing to /imu, the /imu topic was publishing data, and I could teleop the turtlebot around. However, I noticed a problem when I tried to run gmapping. It appears that I am missing the transform from base_imu_link to base_footprint.

Now, where I am stuck is: how do I tell the /imu topic to be published as the base_imu_link frame? Does the turtlebot urdf file create the base_imu_link from or does robot_pose_ekf?

I've been chasing this issue through many files, but as a relatively new ROS user, the turtlebot's flexible and cryptic method of launching the URDF gets me lost. My ROS console is giving the error "Could not transform imu message from base_imu_link to base_footprint. Imu will not be activated yet." It is also indicated that /robot_pose_ekf is the topic giving the warning.

Thanks in advance for any pointers or insight.

2016-02-03 14:12:59 -0600 received badge  Enthusiast
2016-01-27 22:38:23 -0600 commented answer Robot Upstart and USB Ports

also, the sci is just the serial interface it uses... when I run the launchfile on its own, and I've chowned ttyUSB0 prior, it connects just fine and everything works.

2016-01-27 22:37:19 -0600 commented answer Robot Upstart and USB Ports

So, I've been able to confirm now that my udev rules are working, and I'm able to give ttyUSB0 permissions to the "users" group, which should cover even the unprivileged users ran by setuidgid program which calls the launchfile. I still get error messages that the create isn't connect however. :(

2016-01-27 15:13:03 -0600 commented answer Robot Upstart and USB Ports

I lied! The console is showing warnings "Create : robot not connected yet, sci not available" when robot_upstart calls the launchfile.

2016-01-27 14:52:17 -0600 received badge  Notable Question (source)
2016-01-27 14:44:19 -0600 commented question Robot Upstart and USB Ports

As for the launch file, it works perfectly when manually launched. All it does is call the turtlebot minimal.launch file with the parameters for my turtlebot 1.0.

2016-01-27 14:43:24 -0600 commented question Robot Upstart and USB Ports

For the udev rule, I made a file called "99-my-usb.rules" in /etc/udev/rules.d. The file contains the line: KERNEL=="ttyUSB[0-9]*,GROUP="uucp",MODE="0666"

I've also tried editing the rule for strictly USB0, with and without the GROUP, but always keeping the mode 666.

2016-01-27 13:45:30 -0600 commented answer robot_upstart: could not open port /dev/ttyUSB0

Is it possible for udev rules in /lib/udev/rules.d/ to override rules you create in /etc/udev/rules.d/ ?

2016-01-27 13:42:12 -0600 commented question Robot Upstart and USB Ports

I tried installing the job with the --user root option, but I still can't get it to connect. I tried setting udev rules and running as a variety of users. I did read the script, and I thought running as root or setting a udev is what they were indicated, but perhaps I'm misunderstanding something?

2016-01-27 13:40:30 -0600 commented answer Robot Upstart and USB Ports

I'm using Indigo. I checked the logs but I can't seem to find any errors relating to inability to connect. Usually when the create is unable to connect it gives an error indicating SCI can't connect, but here I'm not getting anything.

2016-01-27 04:01:28 -0600 received badge  Popular Question (source)
2016-01-26 21:42:49 -0600 asked a question Robot Upstart and USB Ports

I'm currently trying to create a robot upstart package for my turtlebot 1.0. Seeing as how the minimal.launch relies on environment variables to launch the proper nodes for the turtlebot 1.0, I created a separate package in my workspace with the only purpose of having a launchfile for starting the turtlebot for the create base and kinect. The upstart package worked, and ros starts and so do all of the nodes, except the create isn't connected.

I think the problem is getting robot_upstart permission to use ttyUSB0. I created a udev rule to give permission to everyone, but I'm not sure if that's working? Has anybody faced a similar problem?

Thanks for any help or suggestions.

2016-01-26 19:42:05 -0600 received badge  Supporter (source)
2016-01-26 18:24:01 -0600 asked a question Robot_Upstart Questions

I'm trying to get the launch files for my turtlebot to execute upon startup. I've been looking at several different options for getting this and ROS to launch at startup, and most people seem to encourage using the robot_upstart package. I understand that robot_upstart is some kind of port of the upstart package for ROS.

Despite everyone claiming it to be "easy" and "reliable", I am having trouble understanding how to use it. As I have not used regular upstart on its own, I think I might be more confused than the average user. I'm using the turtlebot 1.0, Indigo, and Ubuntu 14.04, and I have the following questions:

  1. If I put a job in robot_upstart, does it automatically launch roscore? I guess it has to, otherwise the launch files shouldn't work. Or is that something I'm supposed to specify?

  2. I tried the install command and pointed it to the directory with my turtlebot files. It gave me errors indicating it didn't like the name of my job (I guess I name the job with the install command? Or is that the name of a file I'm supposed to create?) and it couldn't find the launch file, for whatever reason.

The "Documentation" for robot_upstart has hardly any information, and I'm wondering if maybe I should just write shell scripts to launch roscore and the launch files I want. Any light anybody can shed on how to just get started would be awesome.