CAT Vehicle with Navigation Stack

asked 2017-05-07 06:11:12 -0600

Ayush Sharma gravatar image

updated 2017-05-07 14:16:49 -0600

I need to implement navigation stack with the CAT Vehicle ( steering based car model ) . I am using the following link.

Now, i need to kno the data of teh following command: " catkin_create_pkg my_robot_name_2dnav move_base my_tf_configuration_dep my_odom_configuration_dep my_sensor_configuration_dep "

I am using the velodyne Laser, so the "my_sensor_configuration_dep" will take the value of "velodyne". But how to get the "my_tf_configuration_dep" and "my_odom_configuration_dep" ?

I am not able to get these terms from from the launch file i am using.

Following are the launch files.

1: CAT_Vehicle_Skidpan.launch

<launch>``
  <arg name="paused" default="false"/>
  <arg name="use_sim_time" default="true"/>
  <arg name="gui" default="false"/>
  <arg name="headless" default="false"/>
  <arg name="debug" default="false"/>

<arg name="front_laser_points" default="true"/>
      <arg name="velodyne_points" default="true"/>
      <arg name="camera_right" default="true"/>
      <arg name="camera_left" default="true"/>
      <arg name="velodyne_max_angle" default="0.4"/>
      <arg name="velodyne_min_angle" default="-0.4"/>

<param name="use_sim_time" value="true"/>

  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find catvehicle)/worlds/skidpan.world"/>
    <arg name="debug" value="$(arg debug)" />
    <arg name="gui" value="$(arg gui)" />
    <arg name="paused" value="$(arg paused)"/>
    <arg name="use_sim_time" value="$(arg use_sim_time)"/>
    <arg name="headless" value="$(arg headless)"/>
  </include>

<group ns="catvehicle">
<param name="robot_description" command="$(find xacro)/xacro.py '$(find catvehicle)/urdf/catvehicle.xacro' roboname:='catvehicle' front_laser_points:='$(arg front_laser_points)' velodyne_points:='$(arg velodyne_points)' camera_right:='$(arg camera_right)' camera_left:='$(arg camera_left)' velodyne_max_angle:='$(arg velodyne_max_angle)' velodyne_min_angle:='$(arg velodyne_min_angle)'" />
<include file="$(find catvehicle)/launch/catvehicle.launch">
    <arg name="robot_name" value="catvehicle"/>
    <arg name="init_pose" value="-x 1 -y 1 -z 0"/>
    <arg name="config_file" value="catvehicle_control.yaml"/>
</include>

</group>
</launch>

2: catvehicle.launch

<launch>
<arg name="robot_name"/>
<arg name="init_pose"/>
<arg name="config_file"/>

<rosparam param="/use_sim_time">true</rosparam>

<node name="urdf_spawner$(arg robot_name)" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="$(arg init_pose) -urdf -model $(arg robot_name) -param robot_description"/>


<!-- Load joint controller configurations from YAML file to parameter server -->
  <rosparam file="$(find catvehicle)/config/$(arg config_file)" command="load" ns="/$(arg robot_name)"/>
  <param name="tf_prefix" value="$(arg robot_name)"/>

<!-- load the controllers -->
<node name="controller_spawner$(arg robot_name)" pkg="controller_manager" type="spawner" respawn="false"
output="screen" ns="/$(arg robot_name)" args="joint1_velocity_controller joint2_velocity_controller front_left_steering_position_controller front_right_steering_position_controller  joint_state_controller"/>

<!-- convert joint states to TF transforms for rviz, etc -->
<node name="robot_state_publisher$(arg robot_name)" pkg="robot_state_publisher" type="robot_state_publisher" respawn="false" output="screen">
    <remap from="/joint_states" to="/$(arg robot_name)/joint_states" />
</node>


<!-- need for publishing joint states that are not controlled -->
<node name="joint_state_publisher$(arg robot_name)" pkg="joint_state_publisher" type="joint_state_publisher" respawn="false" output="screen">
    <remap from="/joint_states" to="/$(arg robot_name)/joint_states" />
</node>

<!-- set up a static TF transform for publishing SLAM localization estimates wrt base_link -->
<node pkg="tf" type="static_transform_publisher" name="base_link2slamodom_tf_$(arg robot_name)" 
    args="0 0 0 0 0 0 $(arg robot_name)/base_link $(arg robot_name)/slamodom 5" />

<!-- we run the python version, so we can be slower-than-real-time -->
<node name="cmdvel2gazebo$(arg robot_name)" pkg="catvehicle" type="cmdvel2gazebo.py" respawn="false" output="screen"> 
<remap from="/catvehicle/cmd_vel" to="/$(arg robot_name)/cmd_vel_safe" />
</node>

<!-- JMS removing simulink version so we can run slower than real-time
<node name="cmdvel2gazebo$(arg robot_name)" pkg ...
(more)
edit retag flag offensive close merge delete