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

turtlebot amcl hydro rapp scenario -- goal position

asked 2014-03-25 07:08:13 -0500

david.c.liebman gravatar image

updated 2014-03-26 08:30:34 -0500

I have a problem with my Turtlebot and amcl, but I don't know exactly how to describe it. I am working on a project that uses programming elements to direct a turtlebot from a remote computer over an internet connection. I use rosbridge server to direct the turtlebot. I can, for instance, perform simple tele-op in this way. I also want to remotely start the gmapping and amcl functions. I can use gmapping to make a map, and then in amcl load the map and even track it on rviz. That is where I have my problem. I can give amcl my start position, and then when I give it the goal position it doesn't go to the new place.

I have gone through the turtlebot howto demos online. I can do all the three functions teleop, mapping, and amcl. In the demos in amcl I can set the start position, the goal position, and watch my turtlebot move from one to the other. I have used the launch file from amcl_demo.launch as the basis for my own launch file.

In my application there is a central launch file called 'app_manager.launch'. It starts the app manager application. I then launch the amcl launch file as a rapp. This way I can launch an amcl rapp, a gmapping rapp, or a teleop rapp. The topic names for the rapps are all converted to '/app_manager/application/name' where 'name' is the name of the original topic. This means I have to send all my messages to '/app_manager/application/name' not '/name'. The name of my catkin package is 'tele_presence'. (My python code in 'tele_presence' minimal.launch loads maps and saves maps to the mongodb instance...)

This is my 'app_manager.launch' file. It's part of my 'tele_presence' package.

<launch>

  <arg name="rapp_lists" default="tele_presence/tele_presence_apps.rapps"/> 
  <include file="$(find tele_presence)/launch/includes/app_manager_rocon.launch.xml">
    <arg name="rapp_lists" value="$(arg rapp_lists)" />
  </include>

  <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"/>
</launch>

This is my 'navigate.launch' file. It's part of the 'navigate' rapp.

<launch>

  <include file="$(find turtlebot_bringup)/launch/minimal.launch"/>
  <include file="$(find tele_presence)/launch/minimal.launch"/>

  <include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
    <arg name="rgb_processing" value="true" />
    <arg name="depth_registration" value="false" />
    <arg name="depth_processing" value="false" />

    <!-- We must specify an absolute topic name because if not it will be prefixed by "$(arg camera)".
Probably is a bug in the nodelet manager: https://github.com/ros/nodelet_core/issues/7 -->
    <arg name="scan_topic" value="/app_manager/application/scan" />
  </include>


  <!-- Map server -->
  <include file="$(find tele_presence)/launch/manage_map.launch"/>

  <arg name="initial_pose_x" default="0.0"/> <!-- Use 17.0 for willow's map in simulation -->
  <arg name="initial_pose_y" default="0.0"/> <!-- Use 17.0 for willow's map in simulation -->
  <arg name="initial_pose_a" default="0.0"/>
  <include file="$(find turtlebot_navigation)/launch/includes/amcl.launch.xml">
    <arg name="initial_pose_x" value="$(arg initial_pose_x)"/>
    <arg name="initial_pose_y" value="$(arg initial_pose_y)"/>
    <arg name="initial_pose_a" value="$(arg initial_pose_a)"/>
    <arg name="use_map_topic" value="true"/>

  </include ...
(more)
edit retag flag offensive close merge delete

Comments

Is there any error message or log in terminal?

jihoonl gravatar image jihoonl  ( 2014-03-25 14:26:47 -0500 )edit

I have edited the content of the question a little bit to include some error messages.

david.c.liebman gravatar image david.c.liebman  ( 2014-03-26 08:28:09 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2014-03-30 08:10:35 -0500

david.c.liebman gravatar image

In the navigate.launch file, this line points to a file called move_base.launch.xml I made a copy of the file and went through its contents.

<include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml">
 ...
</include>

In that file there's a section that reads like this:

<remap from="cmd_vel" to="navigation_velocity_smoother/raw_cmd_vel"/>

I rewrote the line as this:

<remap from="/app_manager/application/cmd_vel" to="/app_manager/application/mobile_base/commands/velocity"/>

I then referenced the file from the navigate.launch file. This solved my problem.

edit flag offensive delete link more

Comments

The remapping you changed is needed for the velocity smoother. With your change, it looks like you circumvent that, which is fine, if you don't use the velocity smoother. If you do however, then you should keep searching for the unconnected topic AKA the remapping, which goes wrong

bit-pirate gravatar image bit-pirate  ( 2014-03-30 17:36:17 -0500 )edit

This is true. I believe the velocity smoother is no longer in the picture. I think I will leave it this way.

david.c.liebman gravatar image david.c.liebman  ( 2014-03-31 02:53:12 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2014-03-25 07:08:13 -0500

Seen: 599 times

Last updated: Mar 30 '14