Ask Your Question

FrankYou's profile - activity

2017-09-20 11:07:25 -0600 received badge  Notable Question (source)
2017-09-20 11:07:25 -0600 received badge  Popular Question (source)
2017-05-13 07:28:31 -0600 received badge  Famous Question (source)
2017-03-30 01:16:55 -0600 received badge  Famous Question (source)
2017-01-07 13:51:48 -0600 received badge  Notable Question (source)
2016-11-29 06:37:56 -0600 received badge  Teacher (source)
2016-11-22 01:55:46 -0600 received badge  Popular Question (source)
2016-11-22 01:20:16 -0600 commented answer How to call dynamic_reconfugure service of base_local_planner through code

Hi, DavidN. I followed your instructions, replaced 1st param "base_local_planner" with "move_base/TrajectoryPlannerROS", but the same error appears:timeout exceeded while waiting for service /move_base/TrajectoryPlannerROS/set_parameters...

2016-11-21 18:59:50 -0600 commented question How to call dynamic_reconfugure service of base_local_planner through code

Hi, shoemakerlevy9. I have tried rosnode list, there is indeed not node called base_local_planner. As you said the base_local_planner was spawned by the move_base, in this case what should I give to the 1st parameter of the Clinet().thanks.

2016-11-21 09:05:11 -0600 received badge  Notable Question (source)
2016-11-21 08:46:36 -0600 asked a question How to call dynamic_reconfugure service of base_local_planner through code

Hello everyone!

I want to modify the max_vel_x in base_local_planner_params.yaml at runtime. I followed the tutorial Dynamic Reconfigure Python Client to create a client :

#!/usr/bin/env python

PACKAGE = 'base_local_planner'
import roslib;roslib.load_manifest(PACKAGE)
import rospy

import dynamic_reconfigure.client

if __name__ == "__main__":
    rospy.init_node("blp_client")

    client = dynamic_reconfigure.client.Client("base_local_planner", timeout=4, config_callback=None)

    r = rospy.Rate(0.33)
    while not rospy.is_shutdown():
    client.update_configuration({"max_vel_x":0.06})
        r.sleep()

Then I ran roslaunch my_new_robot robot_config.launch; roslaunch my_new_robot move_base.launch; rosrun base_local_planner blp_client.py(since I was using navigation).

But errors were reported:

youjian@youjian-laptop:~$ rosrun base_local_planner blp_client.py
Traceback (most recent call last):
  File "/home/youjian/catkin_ws/src/base_local_planner/scripts/blp_client.py", line 16, in <module>
    client = dynamic_reconfigure.client.Client("base_local_planner", timeout=4, config_callback=callback)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/dynamic_reconfigure/client.py", line 84, in __init__
    self._set_service      = self._get_service_proxy('set_parameters', timeout)       
  File "/opt/ros/indigo/lib/python2.7/dist-packages/dynamic_reconfigure/client.py", line 305, in _get_service_proxy
    rospy.wait_for_service(service_name, timeout)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 143, in wait_for_service
    raise ROSException("timeout exceeded while waiting for service %s"%resolved_name)
rospy.exceptions.ROSException: timeout exceeded while waiting for service /base_local_planner/set_parameters

I dig into dynamic_reconfigure/src/dynamic_reconfigure/client.py:

line 65: @param name: name of the server to connect to (usually the node name)

So according to the error, it can't find a node called base_local_planner. Hence, I wonder if base_local_planner is a node,since I don't find ros::init(argc, argv, "base_local_planner") which indicates a node in any files in base_local_planner package. If base_local_planner is not a node, what should I give to the 1st paramenter of the function Client(), or is there another way to modify the max_vel_x at runtime through code not command and rqt_reconfigure gui.

The following is some codes relative to dynamic_reconfigure in base_local_planner/src/trajectory_planner_ros.cpp:

  dsrv_ = new dynamic_reconfigure::Server<BaseLocalPlannerConfig>(private_nh);
  dynamic_reconfigure::Server<BaseLocalPlannerConfig>::CallbackType cb = boost::bind(&TrajectoryPlannerROS::reconfigureCB, this, _1, _2);
  dsrv_->setCallback(cb);

thanks in advance!

2016-11-21 07:53:00 -0600 answered a question follow a person using openni_tracker

Maybe you can get the coordinates(relative to the sensor) of the detected user by utilizing the transform from openni_depth_frame to skeleton point like head_1, left_hand_1 and so on. Depending on the coordinates, you can get the distance from the user to the robot through the X coordinate and whether the robot is on the left or the right of the user through the Y coordinate. Then you can make the robot move right or left or faster according to the above info.

2016-11-21 07:35:19 -0600 answered a question How accurate is robot reaching goal?

From my experience, it greatly depends on the accuracy of your odometry and imu data.

2016-10-24 10:12:46 -0600 received badge  Popular Question (source)
2016-10-21 02:23:23 -0600 answered a question Run move_base.launch error:[move_base-4] process has died [pid 3825, exit code -11......

i find no other ways, so i finally reinstall my ROS and delete the original catkin_ws folder, and recreate my_robot package, after that it works

2016-10-20 19:44:03 -0600 commented answer Run move_base.launch error:[move_base-4] process has died [pid 3825, exit code -11......

thank you for your reply. but there is no install folder in /devel dir, maybe your ros version is different from mine...

2016-10-20 09:54:52 -0600 asked a question Run move_base.launch error:[move_base-4] process has died [pid 3825, exit code -11......

hello everyone!

I got a problem when i run move_base.launch to realize Navigation. The error info in terminal is:

[move_base-4] process has died [pid 3825, exit code -11, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4.log].
log file: /home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4*.log

i didnt find move_base-4.log, however i find the error info in master.log, the error info is:

[rosmaster.threadpool][**ERROR**] 2016-10-20 22:16:04,075: Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/threadpool.py", line 218, in run
    result = cmd(*args)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/master_api.py", line 208, in publisher_update_task
    xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1301, in single_request
    self.send_content(h, request_body)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1448, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 797, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 778, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
**error**: [Errno 111] Connection refused

actually, i managed to run move_base.launch before, but the robot was navigated weirdly, so i want to make the move_base node print the cmd_vel info. Since i cant find move_base.cpp in /opt/ros/indigo, i copied the move_base package from Github and modified the package, then catkin_make it in catkin_ws. However, i didnt make it. So i deleted all files related to move_base in catkin_ws, the result is i couldnt run move_base.launch any more and constantly report the error above.

i have tried reinstall ros-indigo-move-base, but it didnt work. Could anyone give me some help or suggestions? Do i need to reinstall the ROS?>...<

thanks in advance!

2016-10-20 09:54:00 -0600 asked a question Run move_base.launch error:[move_base-4] process has died [pid 3825, exit code -11......

hello everyone!

I got a problem when i run move_base.launch to realize Navigation. The error info in terminal is:

[move_base-4] process has died [pid 3825, exit code -11, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4.log].
log file: /home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4*.log

i didnt find move_base-4.log, however i find the error info in master.log, the error info is:

[rosmaster.threadpool][**ERROR**] 2016-10-20 22:16:04,075: Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/threadpool.py", line 218, in run
    result = cmd(*args)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/master_api.py", line 208, in publisher_update_task
    xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1301, in single_request
    self.send_content(h, request_body)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1448, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 797, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 778, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
**error**: [Errno 111] Connection refused

actually, i managed to run move_base.launch before, but the robot was navigated weirdly, so i want to make the move_base node print the cmd_vel info. Since i cant find move_base.cpp in /opt/ros/indigo, i copied the move_base package from Github and modified the package, then catkin_make it in catkin_ws. However, i didnt make it. So i deleted all files related to move_base in catkin_ws, the result is i couldnt run move_base.launch any more and constantly report the error above.

i have tried reinstall ros-indigo-move-base, but it didnt work. Could anyone give me some help or suggestions? Do i need to reinstall the ROS?>...<

thanks in advance!

2016-10-20 09:52:54 -0600 asked a question Run move_base.launch error:[move_base-4] process has died [pid 3825, exit code -11......

hello everyone!

I got a problem when i run move_base.launch to realize Navigation. The error info in terminal is:

[move_base-4] process has died [pid 3825, exit code -11, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4.log].
log file: /home/youjian/.ros/log/b66363a2-96cf-11e6-9e46-e4f89cf5c788/move_base-4*.log

i didnt find move_base-4.log, however i find the error info in master.log, the error info is:

[rosmaster.threadpool][**ERROR**] 2016-10-20 22:16:04,075: Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/threadpool.py", line 218, in run
    result = cmd(*args)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rosmaster/master_api.py", line 208, in publisher_update_task
    xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1301, in single_request
    self.send_content(h, request_body)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1448, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 797, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 778, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
**error**: [Errno 111] Connection refused

actually, i managed to run move_base.launch before, but the robot was navigated weirdly, so i want to make the move_base node print the cmd_vel info. Since i cant find move_base.cpp in /opt/ros/indigo, i copied the move_base package from Github and modified the package, then catkin_make it in catkin_ws. However, i didnt make it. So i deleted all files related to move_base in catkin_ws, the result is i couldnt run move_base.launch any more and constantly report the error above.

i have tried reinstall ros-indigo-move-base, but it didnt work. Could anyone give me some help or suggestions? Do i need to reinstall the ROS?>...<

thanks in advance!

2016-10-08 02:36:52 -0600 received badge  Enthusiast
2016-10-07 21:20:17 -0600 received badge  Supporter (source)
2016-09-24 01:26:46 -0600 asked a question 1st kinect for laserscan&2nd kinect for skeleton tracking on one PC-possible?

Hi! My aim is to use 2 kinects on one PC, one used to get laserscan for SLAM and another used for skeleton tracking.

Right now, I can use 2 kinects on one PC to get color image from one kinect and realize skeleton tracking on the other kinect.

But if I get laserscan from 1st kinect and simultaneously realize skeleton tracking on the other, the skeleton tracking works well while I can't get laserscan data in rviz.

The fact that I failed to get laserscan makes me suspect that whether it is possible that 1st kinect for laserscan&2nd kinect for skeleton tracking on one PC. Or whether my approach is wrong.The following is my approach:

roslaunch openni_launch test.launch(run 2 kinects in test.launch)
rosrun openni_tracker openni_tracker
rosrun rviz rviz(to see the skeleton tracking)
rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/kinect1/depth/image_raw
rosrun rviz rviz(to see the laserscan data)

and test.launch:

<launch>  
<!-- Parameters possible to change-->  
<arg name="camera1_id" default="#1" />
<arg name="camera2_id" default="#2" />
<arg name="depth_registration" default="true"/>  

<!-- Default parameters-->  
<arg name="camera1_name" default="kinect1" />  
<arg name="camera2_name" default="openni" />  

<!-- Putting the time back to realtime-->  
<rosparam>  
/use_sim_time : false  
</rosparam>  

<!-- Launching first kinect-->  
<include file="$(find openni_launch)/launch/openni.launch">  
<arg name="device_id" value="$(arg camera1_id)"/>  
<arg name="camera" value="$(arg camera1_name)"/>  
<arg name="depth_registration" value="$(arg depth_registration)" />  
</include>  

<!-- Launching second kinect-->  
<include file="$(find openni_launch)/launch/openni.launch">  
<arg name="device_id" value="$(arg camera2_id)"/>  
<arg name="camera" value="$(arg camera2_name)"/>  
<arg name="depth_registration" value="$(arg depth_registration)" />  
</include>  
</launch>

any idea or suggestion is appreciated! And thanks in advance!