Ask Your Question

Shubhayu Das's profile - activity

2019-04-08 01:10:25 -0500 marked best answer Is there a way arround rosdep inititialize?

I just did a fill did a full install of ros indigo on my ubuntu 14.04(as per the ros tutorial). When i try to initialize rosdep it says..

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

What is the solution for this? Or did i do something wrong, in which case what should i do?

2018-08-27 08:35:16 -0500 received badge  Famous Question (source)
2018-08-27 08:35:16 -0500 received badge  Notable Question (source)
2018-02-27 11:48:04 -0500 received badge  Famous Question (source)
2017-12-26 11:47:20 -0500 received badge  Famous Question (source)
2017-10-11 20:31:49 -0500 received badge  Famous Question (source)
2017-08-03 09:01:33 -0500 received badge  Notable Question (source)
2017-07-27 10:08:04 -0500 received badge  Popular Question (source)
2017-07-27 06:43:07 -0500 received badge  Famous Question (source)
2017-07-27 05:23:16 -0500 asked a question Is there a way to subscribe to a topic without using a callback function?

Is there a way to subscribe to a topic without using a callback function? I wish to subscribe to the trajectory topic pu

2017-07-22 21:21:20 -0500 received badge  Notable Question (source)
2017-06-21 03:04:44 -0500 received badge  Popular Question (source)
2017-06-19 10:06:54 -0500 received badge  Notable Question (source)
2017-06-10 11:29:29 -0500 received badge  Popular Question (source)
2017-06-10 04:11:11 -0500 asked a question Is there a way arround rosdep inititialize?

Is there a way arround rosdep inititialize? I just did a fill did a full install of ros indigo on my ubuntu 14.04(as per

2017-06-10 01:44:50 -0500 marked best answer Is ubuntu 14.04 compatible with ROS Kinect Kame or Lunar? or should i update my os to 16.04?

I want to update to ROS Kinect or ROS Lunar. Does it have compatibility issues with ubuntu 14.04? or should i update that as well?

2017-06-10 00:55:36 -0500 asked a question Is ubuntu 14.04 compatible with ROS Kinect Kame or Lunar? or should i update my os to 16.04?

Is ubuntu 14.04 compatible with ROS Kinect Kame or Lunar? or should i update my os to 16.04? I want to update to ROS Kin

2016-12-06 18:23:45 -0500 received badge  Popular Question (source)
2016-11-07 18:52:47 -0500 received badge  Enthusiast
2016-11-02 21:44:27 -0500 asked a question How to customize hectorSlam to create accurate map of a maze, which is solved by my turtlebot?

I want to use Hector Slam to create a map of a maze, that my turtlebot(2) will create while solving the maze. In the hectorSlam tutorial(http://wiki.ros.org/hector_slam/Tutorials/SettingUpForYourRobot), it is said that using the following parameter value for odom_frame, in case my bot doesn't have any roll/pitch motion(in the mapping_default.launch file) :

param name="odom_frame" value="base_frame" /

Also I have the following lines in the (~/hector_slam_launch/launch) tutorial.launch file, as mentioned in another tutorial site:

node pkg="tf" type="static_transform_publisher" name="base_frame_to_laser" args="0.0 0.0 0.0 0.0 0.0 0.0/base_frame /laser 10" /

node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/

Now, when I ros launch hector slam (after running the hokuyo_node, launching turtlebot_bringup minimal.launch, and roscore) the rviz runs fine and I can seen the 2-D boundaries fine(as in the tutorial videos). However the terminal window shows a warning:

Also the location of the bot jumps around to some other coordinate at times, which is not desirable in bot that solving a maze. ( cuz I need to get the correct path that it followed to come out of the maze!!)

So my question is, 1)how do I get rid of the warning? 2)what does the added piece of code in the tutorial.launch file mean 3)how do I minimize the jumping effect? 4)would I help if I change 'odom_frame' parameter value to 'odom' instead of 'base_frame'? 5)And if so how? Because when I tried replacing the parameter value to odom_fame it gave an error, so perhaps I also have to modify the tutorial.launch file..?

I just started ROS less than 2 weeks back. SO I AM A NOOB. PLEASE ELABORATE.

2016-11-02 06:05:56 -0500 received badge  Notable Question (source)
2016-10-31 18:28:49 -0500 received badge  Editor (source)
2016-10-31 04:50:31 -0500 commented question ROS node to solve maze by following walls_Using Turtlebot hokuyo LaseScan

FYI i am a total noob with ROS

2016-10-31 04:49:50 -0500 received badge  Scholar (source)
2016-10-31 04:49:23 -0500 asked a question ROS node to solve maze by following walls_Using Turtlebot hokuyo LaseScan

#The algo works based on the fact idea that the Turtlebot will try to follow the left wall.

#!/usr/bin/env python

import rospy from geometry_msgs.msg import Twist from sensor_msgs.msg import LaserScan

class wall_follow():

def __init__(self,r1=0.0,r2=0.0,threshold=5.0,i=0):
  self.r1=r1
  self.r2=r2
  self.threshold=threshold
  self.i=i
  rospy.init_node('wall_follow', anonymous=True) 
  rospy.loginfo("Press Ctrl+C to Exit")
  rospy.on_shutdown(self.shutdown)
  self.cmd_vel = rospy.Publisher('cmd_vel_mux/input/navi', Twist, queue_size=50)

  rate = rospy.Rate(.5)
  while not rospy.is_shutdown():
    rospy.loginfo("%d",self.i)
    self.i=self.i+1
    move_cmd=Twist()
    self.sub=rospy.Subscriber('scan',LaserScan,self.scan_callback)
    rospy.loginfo("range_580 = %f range_500 = %f", self.r1,self.r2)

    if self.r2-self.r1 > self.threshold:  # rotate_CW
        move_cmd.angular.z=1.0
        move_cmd.linear.x=0.0
    elif self.r2-self.r1 < -1*self.threshold: #rotate_ACW
        move_cmd.angular.z=-1.0
        move_cmd.linear.x=0.0
    else:
        move_cmd.angular.z=0.0  #move forward
        move_cmd.linear.x=0.3
    self.cmd_vel.publish(move_cmd)
    rate.sleep()    
def scan_callback(self,msg):
  rospy.loginfo("%d",self.i)
  self.r1=msg.ranges[580]
  self.r2=msg.ranges[500]
  rospy.spin()

def shutdown(self): 
  rospy.loginfo("Stopping TurtleBot")
  self.cmd_vel.publish(Twist())
  # Give TurtleBot time to stop
  rospy.sleep(1)

if __name__ == '__main__': try: wall_follow() except: rospy.loginfo("End of the trip for TurtleBot")


As you can see the position of the Subscriber callback outside, i tried placing inside as well still the code is not working. I am getting the following result

[INFO] [WallTime: 1477906023.974810] Press Ctrl+C to Exit [INFO] [WallTime: 1477906023.985877] 0 [INFO] [WallTime: 1477906024.005692] range_580 = 0.000000 range_500 = 0.000000 [INFO] [WallTime: 1477906024.113967] 1 [ERROR] [WallTime: 1477906024.116318] bad callback: <bound method="" wall_follow.scan_callback="" of="" <__main__.wall_follow="" instance="" at="" 0x7fac758c9998="">> Traceback (most recent call last): File "/opt/ros/indigo /lib/python2.7/dist-packages/rospy/topics.py", line 720, in _invoke_callback cb(msg) File "wall_follower.py", line 41, in scan_callback self.r1=msg.ranges[580] IndexError: tuple index out of range

[INFO] [WallTime: 1477906024.213830] 1 [ERROR] [WallTime: 1477906024.215866] bad callback: <bound method="" wall_follow.scan_callback="" of="" <__main__.wall_follow="" instance="" at="" 0x7fac758c9998="">> Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 720, in _invoke_callback cb(msg) File "wall_follower.py", line 41, in scan_callback self.r1=msg.ranges[580] IndexError: tuple index out of range

#..... and so on;each time value of i is incremented, the bot moves one unit forward.

the value of ranges is not changing!! I checked the hokuyo model specs (it can scan upto 240_deg with each step of about 3.52_deg) so the index 580 should be within its limit.

Please Help.

Also, if you could advise / share any other approach to this problem, it would be very nice.

2016-10-31 04:38:44 -0500 answered a question ros node to follow walls to solve a maze.How to subscribe to LaserScan?

Here is an updated version..

#!/usr/bin/env python

import rospy from geometry_msgs.msg import Twist from sensor_msgs.msg import LaserScan

class wall_follow():

def __init__(self,r1=0.0,r2=0.0,threshold=5.0,i=0):
  self.r1=r1
  self.r2=r2
  self.threshold=threshold
  self.i=i
  rospy.init_node('wall_follow', anonymous=True) 
  rospy.loginfo("Press Ctrl+C to Exit")
  rospy.on_shutdown(self.shutdown)
  self.cmd_vel = rospy.Publisher('cmd_vel_mux/input/navi', Twist, queue_size=50)
  self.sub=rospy.Subscriber('scan',LaserScan,self.scan_callback)
  rate = rospy.Rate(.5)
  while not rospy.is_shutdown():
    rospy.loginfo("%d",self.i)
    self.i=self.i+1
    move_cmd=Twist()

    rospy.loginfo("range_580 = %f range_500 = %f", self.r1,self.r2)

    if self.r2-self.r1 > self.threshold:
        move_cmd.angular.z=1.0
        move_cmd.linear.x=0.0
    elif self.r2-self.r1 < -1*self.threshold:
        move_cmd.angular.z=-1.0
        move_cmd.linear.x=0.0
    else:
        move_cmd.angular.z=0.0
        move_cmd.linear.x=0.3
    self.cmd_vel.publish(move_cmd)
    rate.sleep()    
def scan_callback(self,msg):
  rospy.loginfo("%d",self.i)
  self.r1=msg.ranges[580]
  self.r2=msg.ranges[500]
  rospy.spin()

def shutdown(self): 
  rospy.loginfo("Stopping TurtleBot")
  self.cmd_vel.publish(Twist())
  # Give TurtleBot time to stop
  rospy.sleep(1)

if __name__ == '__main__': try: wall_follow() except: rospy.loginfo("End of the trip for TurtleBot")


As you can see changed the position of the Subscriber callback outside, i tried placing inside as well still the algo is not working. I am getting the following result

[INFO] [WallTime: 1477906023.974810] Press Ctrl+C to Exit [INFO] [WallTime: 1477906023.985877] 0 [INFO] [WallTime: 1477906024.005692] range_580 = 0.000000 range_500 = 0.000000 [INFO] [WallTime: 1477906024.113967] 1 [ERROR] [WallTime: 1477906024.116318] bad callback: <bound method="" wall_follow.scan_callback="" of="" <__main__.wall_follow="" instance="" at="" 0x7fac758c9998="">> Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 720, in _invoke_callback cb(msg) File "wall_follower.py", line 41, in scan_callback self.r1=msg.ranges[580] IndexError: tuple index out of range

[INFO] [WallTime: 1477906024.213830] 1 [ERROR] [WallTime: 1477906024.215866] bad callback: <bound method="" wall_follow.scan_callback="" of="" <__main__.wall_follow="" instance="" at="" 0x7fac758c9998="">> Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 720, in _invoke_callback cb(msg) File "wall_follower.py", line 41, in scan_callback self.r1=msg.ranges[580] IndexError: tuple index out of range

#..... and so on

each time value of i is incremented, the bot moves one unit forward.


the value of ranges is not changing!! I checked the hokuyo model specs (it can scan upto 240_deg with each step of about 3.52_deg) so the index 580 should be within its limit.

Please Help.

Also, if you could advise / share any other approach to this problem, it would be very nice.

2016-10-31 04:24:37 -0500 commented answer ros node to follow walls to solve a maze.How to subscribe to LaserScan?

Thank you for the reply. I have updated the code. The problem there was that I wasn't running "rosrun hokuyo_node hokuyo_node" Sorry of the armature work. But i am still getting a error. Pls Check out my next post / question

2016-10-31 04:19:40 -0500 received badge  Popular Question (source)
2016-10-31 02:03:27 -0500 asked a question ros node to follow walls to solve a maze.How to subscribe to LaserScan?

#!/usr/bin/env python

import rospy
from geometry_msgs.msg import Twist
from sensor_msgs.msg import LaserScan
from std_msgs.msg import Float32

class wall_follow():

    def __init__(self,r1=0.0,r2=0.0,threshold=5.0,i=0):
      self.r1=r1
      self.r2=r2
      self.threshold=threshold
      self.i=i
      rospy.init_node('wall_follow',anonymous=True) 
      rospy.loginfo("Press Ctrl+C to Exit")
      rospy.on_shutdown(self.shutdown)
      self.cmd_vel = rospy.Publisher('cmd_vel_mux/input/navi', Twist, queue_size=50)
      rate = rospy.Rate(.5)
      while not rospy.is_shutdown():
        rospy.loginfo("%g",self.i)
        self.i=self.i+1
        move_cmd=Twist()
        self.sub=rospy.Subscriber('scan',LaserScan,self.wall_info)
        ros.loginfo("range_1080 = %g range_720 = %g", self.r1,self.r2)
        if self.r2-self.r1 > self.threshold:
            move_cmd.angular.z=1.0
            move_cmd.linear.x=0.0
        elif self.r2-self.r1 < -1*self.threshold:
            move_cmd.angular.z=-1.0
            move_cmd.linear.x=0.0
        else:
            move_cmd.angular.z=0.0
            move_cmd.linear.x=0.3
        self.cmd_vel.publish(move_cmd)
        rate.sleep()    

    def wall_info(self,scan):
      self.r1=scan.ranges[1080]
      self.r2=scan.ranges[720]
      rospy.spin()

    def shutdown(self): 
      rospy.loginfo("Stopping TurtleBot")
      self.cmd_vel.publish(Twist())
      # Give TurtleBot time to stop
      rospy.sleep(1)

if __name__ == '__main__':
  try:
    wall_follow()
  except:
    rospy.loginfo("End of the trip for TurtleBot")

The is my Latest code for wall follower node.Logically the bot should move along its left wall(when placed near the left wall of maze entry point). But when I run this code on my turtlebot, I don't get any error, however it doesn't move. This is all I see :

[INFO] [WallTime: 1477891660.282792] Press Ctrl+C to Exit [INFO] [WallTime: 1477891660.298116] 0 [INFO] [WallTime: 1477891660.320208] End of the trip for TurtleBot [INFO] [WallTime: 1477891660.436050] Stopping TurtleBot

Clearly since the first index i=0 is getting printed, the scope is entering the while loop, but is not carrying on. Since I am very new with ros I am not sure it this is a syntactical error, or perhaps a problem with the " self.sub=rospy.Subscriber('scan',LaserScan,self.wall_info) " statement, or the wall_info(self,scan) function.

Please Help.