ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

schultza's profile - activity

2022-10-04 04:52:14 -0500 received badge  Necromancer (source)
2022-10-04 04:52:14 -0500 received badge  Self-Learner (source)
2020-06-05 06:13:40 -0500 received badge  Nice Question (source)
2019-12-21 16:48:02 -0500 marked best answer Failing to create catkin workspace

Hey,

I tried to go through this tutorial Tutorial: Using a URDF in Gazebo but I failed in the first steps. I gitcloned the RRbot stuff and tried catkin_make. But no success. After this i tried to set up a complete new catkin workspace, just to make sure there is no error in my catkin workspace. But also with a new and plain catkin workspace it didnt work.

The error i get is here:

schultza@Andreas:~/catkin_ws$ catkin_make
Base path: /home/schultza/catkin_ws
Source space: /home/schultza/catkin_ws/src
Build space: /home/schultza/catkin_ws/build
Devel space: /home/schultza/catkin_ws/devel
Install space: /home/schultza/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/schultza/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/schultza/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/indigo
-- This workspace overlays: /opt/ros/indigo
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/schultza/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.9    
-- Using these message generators: gencpp;genlisp;genpy
-- Boost version: 1.54.0
You have called ADD_LIBRARY for library ... without any source files. This typically indicates a problem with your                CMakeLists.txt file
CMake Error: File /home/schultza/catkin_ws/src/package.xml does not exist.
CMake Error at /opt/ros/indigo/share/catkin/cmake/stamp.cmake:10 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  /opt/ros/indigo/share/catkin/cmake/catkin_package_xml.cmake:61 (stamp)
  /opt/ros/indigo/share/catkin/cmake/catkin_package_xml.cmake:39 (_catkin_package_xml)
  /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:95 (catkin_package_xml)
  CMakeLists.txt:77 (catkin_package)


CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:112 (message):
  catkin_package() 'catkin' must be listed as a buildtool dependency in the
  package.xml
Call Stack (most recent call first):
  /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:98 (_catkin_package)
  CMakeLists.txt:77 (catkin_package)


-- Configuring incomplete, errors occurred!
See also "/home/schultza/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/schultza/catkin_ws/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

Maybe someone of you can help me. Im using ROS-indigo and Gazebo 2.2


Edit#1: Workspace structure

my workspace looks something like this:

catkin_ws
  build
  devel
  install
  src
    Package A
      (In almost every Package)
      include
      launch
      src
      worlds
      CMakeLists.txt
      package.xml
    Package B
    Package ....
    CMakeLists.txt
  RemoteSystemTempFiles

Sry for the bad formatting


Edit#2: Creating an empty workspace

schultza@Andreas:~$ source /opt/ros/indigo/setup.bash
schultza@Andreas:~$ mkdir -p ~/catkin_ws2/src
schultza@Andreas:~$ cd ~/catkin_ws2/src/
schultza@Andreas:~/catkin_ws2/src$ catkin_init_workspace
Creating symlink "/home/schultza/catkin_ws2/src/CMakeLists.txt" pointing to                     "/opt/ros/indigo/share/catkin/cmake/toplevel.cmake"
schultza@Andreas:~/catkin_ws2/src$ cd ~/catkin_ws2
schultza@Andreas:~/catkin_ws2$ catkin_make
Base path: /home/schultza/catkin_ws2
Source space: /home/schultza/catkin_ws2/src
Build space: /home/schultza/catkin_ws2/build
Devel space: /home/schultza/catkin_ws2/devel
Install space: /home/schultza/catkin_ws2/install ...
(more)
2019-04-14 02:27:43 -0500 marked best answer Costmap converter visualization - teb_local_planner

Hi,

I am using the teb_local_planner for my ackermann robot at the moment. After noticing that my performane is pretty bad (like 1Hz of control update) I wanted to try the costmap converter plugin with the planner. As someone mentioned without the converter the obstacles in the costmap are treated as a single point which leads to a huge amount of distance calculation.

The problem I have is, I don't know how to visualize the output of the costmap_converter plugin.

I followed this tutorial and when running my robot specific move_base launch file it says it loaded the plugin for example like here in the output of the launch file:

[ INFO] [1462963729.309633367, 443.699000000]: Costmap conversion plugin costmap_converter::CostmapToPolygonsDBSConcaveHull loaded.

How do I visualize the created conversions like polygons as seen in the package description of the costmap_converter plugin here?

EDIT

#1

After adding Marker Display type in Rviz this was the output:

image description

The loaded converter was following with following parameters:

[ INFO] [1463730376.455696206, 722.323000000]: Costmap conversion plugin costmap_converter::CostmapToPolygonsDBSMCCH loaded.

the used .yaml file and launch file:

costmap_converter_params.yaml

TebLocalPlannerROS:
 costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH"
 costmap_converter_spin_thread: True
 costmap_converter_rate: 5
 costmap_converter/CostmapToPolygonsDBSMCCH:
    cluster_max_distance: 0.4
    cluster_min_pts: 2
    cluster_max_pts: 30
    convex_hull_min_pt_separation: 0.1

move_base.launch

<?xml version="1.0"?>
<launch>
    <master auto="start"/>
    <arg name="map_file" default="$(find my_maps)/random_test.yaml"/>
    <!--<arg name="map_file" default="$(find my_maps)/first_map6.yaml"/>-->
    <!-- Run the map server -->
    <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)"/>

    <!--- Run AMCL -->
    <!--- We load ACML here with diff=true to support our differential drive robot -->
    <include file="$(find robot_2d_nav)/launch/amcl_example.launch" />

    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true">
        <rosparam file="$(find robot_2d_nav)/costmap_common_params.yaml" command="load" ns="global_costmap" />
        <rosparam file="$(find robot_2d_nav)/costmap_common_params.yaml" command="load" ns="local_costmap" />
        <rosparam file="$(find robot_2d_nav)/local_costmap_params.yaml" command="load" />
        <rosparam file="$(find robot_2d_nav)/global_costmap_params.yaml" command="load" />
        <rosparam file="$(find robot_2d_nav)/base_local_planner_params.yaml" command="load" />

        <param name="base_local_planner" value="teb_local_planner/TebLocalPlannerROS"/>    
        <param name="base_global_planer" value="global_planner/GlobalPlanner"/>
        <param name="controller_frequency" value="10.0" />

        <!-- LOAD COSTMAP_CONVERTER PARAMETERS HERE -->
        <rosparam file="$(find robot_2d_nav)/costmap_converter_params.yaml" command="load" />
    </node>

    <node pkg="teb_local_planner" type="cmd_vel_to_ackermann_drive.py" name="cmd_vel_to_ackermann"> 
        <param name="wheelbase" value="1.811" />
    </node>
</launch>

#2

Hi Christoph, I will change the resolution on monday and try it again, the current resolution is 0.5 so you say i should go to 0.1 or something in this area? Or should i change cluster_max_distance?

local_costmap_params.yaml

local_costmap:
  global_frame: map
  robot_base_frame: base_footprint
  publish_voxel_map: true
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 10.0
  height: 10.0
  resolution: 0.5

If I have enough spare time I will push everything to my personal git and give you access to it also on Monday, so you can check the simulation (see below) and the planner and converter.

The specs are following: Laptop #1 (Just for gazebo simulation)

  • i7-4712MQ
  • 16GB RAM
  • Nvidia 860GTX
  • 512GB SSD

Laptop #2 (running the planner and converter)

  • i5-5300U
  • 8GB RAM
  • Onboard ...
(more)
2018-12-03 05:38:26 -0500 marked best answer Still problems with gazebo_ros and Urdf spawn

Hey guys,

I am still trying to get my gazebo and ros properly work together. But every time it fails because of urdf-spawning issues. So what I am trying or tried is following:

  • Install ROS-Indigo with sudo apt-get install ros-indigo-dekstop-full
  • Install Gazebo 2.2.2 from source (I tried a lot of branches already) as described here (tried with SDF 1.4, 1.4.11, 1.5, 2.0) I am also aware of this issue but I can't find there the ultimate solution o.O
  • Install Gazebo_ros_pkgs from debian (sudo apt-get install ros-indigo-gazebo-ros-pkgs ros-indigo-gazebo-ros-control).

So every time (it doesnt matter if I try with hector or turtlebot or husky or smthelse) the spawn_model part of gazebo_ros will let my gazebo crash.

Am I missing something? Do I wont understand something? I know this question was asked a lot and i already found some 'solutions' but nothing helped me so far.

And it seems that not all people here have problems with this, can you explain me your procedure to install everything so it works?

Thanks in advance

2018-12-03 05:38:26 -0500 received badge  Nice Answer (source)
2018-11-27 11:40:23 -0500 received badge  Good Question (source)
2018-02-28 20:29:42 -0500 marked best answer ira_laser_tools merger doesn't subscribe to topics from laser in gazebo

Hey together,

please see edit #1 and #2. The node for the laser scanner won't subscribe to the topics given in its parameters in the launch file. But the scan topics are published correctly.

I am trying to merge 3 laserscans together to one. For this I am trying to use the ira_laser_tools packaged and in this the laser_multi_merge. My setup is following: 3 simulated Lasers in gazebo mounted to my robot, publishing 3 different topics. I am able to view the scan topics in rviz with no problem. After launching the laser_multi_merger with following launch file part:

<node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger" output="screen">
     <param name="destination_frame" value="/ibeo_frame"/>
     <param name="cloud_destination_topic" value="/merged_cloud"/>
     <param name="scan_destination_topic" value="/scan_multi_merged"/>
     <param name="laserscan_topics" value ="scan_hokuyo1 scan_hokuyo2 scan_ibeo1" /> 
</node>

rostopic list comfirms that the topics /scan_hokuyo1 /scan_hokuyo2 and /scan_ibeo1 are being published. It also shows the topic /scan_multi_merged, but if I subscribe to it whit rostopic echo /scan_multi_merged the following output appears:

rostopic echo /scan_multi_merged 
WARNING: no messages received and simulated time is active.
Is /clock being published?

If i enable via rqt the debug level of the node it also says that something is wrong with the /clock topic. Output of ROS_DEBUG message:

[DEBUG] [1453887963.432518126, 100.157000000]: Incoming queue full for topic "/clock".  Discarding oldest message (current queue size [0])

Can someone of you lead me to the right way and show me my faults I did?

Thanks in advance :)

Edit #1 Output of rosnode info /laserscan_multi_merger

rosnode info /laserscan_multi_merger 
--------------------------------------------------------------------------------
Node [/laserscan_multi_merger]
Publications: 
 * /laserscan_multi_merger/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
 * /merged_cloud [sensor_msgs/PointCloud2]
 * /rosout [rosgraph_msgs/Log]
 * /laserscan_multi_merger/parameter_updates [dynamic_reconfigure/Config]
 * /scan_multi_merged [sensor_msgs/LaserScan]

Subscriptions: 
 * /tf [tf2_msgs/TFMessage]
 * /tf_static [tf2_msgs/TFMessage]
 * /clock [rosgraph_msgs/Clock]

Services: 
 * /laserscan_multi_merger/set_parameters
 * /laserscan_multi_merger/set_logger_level
 * /laserscan_multi_merger/get_loggers


contacting node http://aschultz-ThinkPad-T450s:42260/ ...
Pid: 21244
Connections:
 * topic: /rosout
    * to: /rosout
    * direction: outbound
    * transport: TCPROS
 * topic: /clock
    * to: /gazebo (http://aschultz-ThinkPad-T450s:33525/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf
    * to: /vehicle_state_publisher (http://aschultz-ThinkPad-T450s:55570/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf_static
    * to: /vehicle_state_publisher (http://aschultz-ThinkPad-T450s:55570/)
    * direction: inbound
    * transport: TCPROS

Edit #2: Changed launch file because Laser merger is not subscribing to topics

<node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger" output="screen">
         <param name="destination_frame" value="/ibeo_frame"/>
         <param name="cloud_destination_topic" value="/merged_cloud"/>
         <param name="scan_destination_topic" value="/scan_multi_merged"/>
         <param name="laserscan_topics" value ="/scan_hokuyo1 /scan_hokuyo2 /scan_ibeo1" /> 
 </node>

Output of rostopic info /scan_hokuyo1 /scan_hokuyo2 /scan_ibeo1

rostopic info /scan_hokuyo1
Type: sensor_msgs/LaserScan

Publishers: 
 * /gazebo (http://aschultz-ThinkPad-T450s:51633/)

Subscribers: 
 * /rviz (http://aschultz-ThinkPad-T450s:55316/)


rostopic info /scan_hokuyo2
Type: sensor_msgs/LaserScan

Publishers: 
 * /gazebo (http://aschultz-ThinkPad-T450s:51633/)

Subscribers: 
 * /rviz (http://aschultz-ThinkPad-T450s:55316/)


rostopic info /scan_ibeo1
Type: sensor_msgs/LaserScan

Publishers: 
 * /gazebo (http://aschultz-ThinkPad-T450s:51633/)

Subscribers: 
 * /rviz (http://aschultz-ThinkPad-T450s:55316/)
2017-10-06 10:07:04 -0500 received badge  Nice Question (source)
2017-07-27 14:06:34 -0500 received badge  Nice Question (source)
2017-07-11 07:37:56 -0500 marked best answer Confused about Xacro and URDF

Hey together,

I am a little bit confused about the use case of xacro and urdf. I my case I have an robot equipped with 3 laserscanner and modeled a urdf file for it following the build your URDF tutorial. After finishing and testing this i have read that it is possible to clean up a URDF with Xacro. Thats whats confusing for me, I don't have a Xacro file and should use a Xacro file to clean up my previously made URDF?

So was it incorrect to create an URDF, should I have created a Xacro file instead? Thanks in advance

2017-05-23 14:12:19 -0500 marked best answer Problem connecting hokuyo ethernet LIDAR

Hey guys,

I am facing some problems with my hokuyo (UTM-30LX-EW, so the ethernet Scanner). I just downloaded the urg_node stack (with synaptic package manager) and tried to run

rosrun urg_node urg_node _ip_adress:="192.168.0.10"

I received an error:

[ERROR] [1424702059.927639563]: Error connecting to Hokuyo: Could not open serial Hokuyo:
/dev/ttyACM0 @ 115200
could not open serial device.

So for me it looks like it thinks its an USB device. What did I wrong? My network connections are pretty easy for use with hokuyo, I just have an ethernet connect while I am connected with the hokuyo:

  • manual ipv4 settings
  • adress: 192.168.0.15
  • netmask 255.255.255.0
  • gateway: 192.168.0.1 I am directly connected with the hokuyo so no switch in between.

I already found some questions for this on the answers page but nothing helped me so far. On windwos with UrgBenri tool everything works fine so the laser isnt broken or smth :)

So after this is what i basically want is to write a simple subscriber which receives an array of distances from the LIDAR. But actually the tutorials (Wrtiting a simple publisher and subscriber) and also the wiki of the hokuyo on the ros page doesnt help me a lot for this. Can you give me some advices how can I find a first approach?

Thanks in advance

Oh yea: Running Ubuntu 14.04 and Indigo

2017-04-20 13:37:50 -0500 marked best answer Best practice with tf transforms

Hey,

I've got a small problem: I have three laser scanners mounted at my robot with -> frames:

(name -> tf frame)

  • Hokuyo 1 -> hokuyo1_frame
  • Hokuyo 2 -> hokuyo2_frame
  • Another 4 layer Laser scanner -> Scanner_frame1

these laserscanners are translational and rotational shifted together. Which leads to me to use some tf transformations. So I flew over the tutorials and just gut confused which would be the best practice to convert them all do a static frame at the robot. Also i dont have a baselink at my robot for now so how do i create one in the origin of my robot? If I print the current frames with rosrun tf view_frames I just see the Scanner_frame1 and not the two hokuyo frames, however I can watch the data in rviz by hand typing the fixed frame as hokuyo1/2_frame.

Can someone give me some hints about this?

Best regards

2017-02-13 07:58:07 -0500 received badge  Famous Question (source)
2016-09-28 12:54:40 -0500 received badge  Notable Question (source)
2016-08-23 15:21:48 -0500 received badge  Famous Question (source)
2016-08-03 05:42:34 -0500 received badge  Famous Question (source)
2016-07-25 03:16:55 -0500 commented question Set offset to local costmap and rotate with robot

Hi, by setting the parameter robot_base_frame in the center, also my local planner takes this point for planning with the vehicle, but with ackermann kinematics this in not correct, because the center of rotation is at the rear axle and not in the center of the robot.

2016-07-19 08:21:18 -0500 received badge  Notable Question (source)
2016-07-19 08:21:13 -0500 received badge  Popular Question (source)
2016-07-18 01:53:31 -0500 commented question Set offset to local costmap and rotate with robot

Yes, I saw this parameter. But my base frame is actually not in the center of the robot (ackermann kinematics) and also my local planer uses this parameter for controlling the platform, so I cant change this.

2016-07-15 09:32:53 -0500 received badge  Popular Question (source)
2016-07-15 01:49:18 -0500 asked a question Set offset to local costmap and rotate with robot

Hi together,

I would like to know if there is a possibility to set an offset to the local costmap in general. The problem I am facing is, my local costmap is centered at my robots footprint, however the footprint is not centered at the actual robot it is more in the of the robot. Assuming I have a costmap of width and height of 15.0 it and my footprint of the robot is 1.5 meters off the center of the robot it causes the costmap to look way more in the back than in the front of the robot. It would be better for me if the costmap is about 2meters in the back and 13 meters (overall 15) meters in the front.

I already tried to use these parameters in the local_costmap_params.yaml

origin_x:
origin_y:

But it didn't change anything.

Is it somehow possible anyways?

Another question I got, is it possible to yaw the costmap with the robot, so it doesnt need to be square? Because as said before I mainly need the lookahead in the front of the robot, not too much to the sides and too much to the back.

Thanks in advance

2016-07-14 08:44:21 -0500 commented answer Using global costmap as local costmap

Thanks this worked perfectly!

2016-07-14 06:29:42 -0500 asked a question Using global costmap as local costmap

Hi together,

Is there a possibility to use a global costmal as local costmap? I have a simulation of my robot and a map (which was mapped with the real robot). Using the navigation stack I am able to drive around in my map loaded by the map server.

But now I want to see if it works as well in the real map with local obstacles assunimg nothing changed in the global costmap, the local costmap should be exactly the same or am I wrong? I just want to test this once or temporary, using the real robot I will use the local costmap generated by the real sensors.

So is there a possibility to feed the local planner with the global costmap as local costmap?

Thanks in advance!

2016-07-05 00:32:50 -0500 received badge  Famous Question (source)
2016-06-27 13:10:32 -0500 received badge  Famous Question (source)
2016-06-27 03:16:08 -0500 commented question Local planner stops working while global planner updates path

Since we are using Indigo, we use version 4.2 from teb_planner. So I think it is the latest.

2016-06-24 01:58:30 -0500 received badge  Notable Question (source)
2016-06-10 12:40:37 -0500 received badge  Popular Question (source)
2016-06-10 09:13:54 -0500 commented question Local planner stops working while global planner updates path

Can you please look at my #edit1? I think I localized the beahviour

2016-06-08 09:31:35 -0500 asked a question Local planner stops working while global planner updates path

Hi together,

I am facing a problem. I am using the sbpl planner from this git as local planner and the teb_local_planner as local planner.

For the SBPL lattice planner I use the rover.mprim file just to try it out. After setting a goal, it tries to compute a path which works pretty good. But after driving a while the global planner updates its path which takes about 2-5 seconds. In the update time the local planner stops completely to send commands to my base controller (in this case a simulation).

I actually don't know what I should do now. Should I search for the update interval of the global path and try to lower this (I dont think there is a parameter for this in the sbpl planner) or should I try to figure out why the local planner is stopping.

Can you help me?

#Edit 1

So after trying to look in the source code of the move_base node, I checked all the possibilities when the global planner is replanning. After setting my planner frequency to 0, there was just the possibility that the local planner isn't sending valid commands to the move_base node.

So I started looking a bit deeper in it, and activating the debug logger level. Seeing some strange things. I just post here an output of my terminal and explain more after:

[ WARN] [1465567966.222422432, 803.000000000]: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 0.9290 seconds
[DEBUG] [1465567966.569430695, 803.234000000]: TebOptimalPlanner::isHorizonReductionAppropriate(): Distance between consecutive poses > 0.9*min_obstacle_dist
[ WARN] [1465567966.569510343, 803.234000000]: TebLocalPlannerROS: trajectory is not feasible, but the planner suggests a shorter horizon temporary. Complying with its wish for at least 10s...
[DEBUG] [1465567966.636358038, 803.279000000]: New goal: distance to existing goal is higher than the specified threshold. Reinitalizing trajectories.
[ WARN] [1465567966.688034070, 803.306000000]: TebLocalPlannerROS: trajectory is not feasible. Resetting planner...
[ INFO] [1465567966.702152522, 803.320000000]: Move base is forcing 0,0,0 velocity cmd
[ INFO] [1465567967.678576361, 803.920000000]: [SBPL] Here SPBL gets a new plan request

Some of the output is generated by myself. After this output the global_planner is replanning.

So I am seeing that all the time th TEB Planner says the trajectory is not feasible the global_planner trys to provide a new global plan, which could be feasible. Also noticing the teb planner is a most of the time in "short horizont" mode (dont know the exact name). As you can see in the debug log messages before and after he is switching to shorter horizont mode.

Here is a picture of an example plan where all of this happens.

image description

Here is a link to my teb_planner paramter file

I hope this makes something clear

2016-06-08 09:24:14 -0500 commented answer Costmap converter visualization - teb_local_planner

Did everything and it works now pretty good :) Having some more questions but will I think I should open new threads for this :) THanks so far, sorry for the delayed answer, marked your answer. And yes the robot is a car ;)