Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
tutorials:advanced:bullet_world_robot [2015/09/17 15:01] gkazhoyatutorials:advanced:bullet_world_robot [2015/09/17 15:11] – [Robot URDF description] gkazhoya
Line 9: Line 9:
  
 The first thing that we actually need is the robot, more precisely, its URDF description. The first thing that we actually need is the robot, more precisely, its URDF description.
-For Boxy it is located in a repo on Github, so let's clone it into our ROS workspace:+For the quadrotor it is located in a repo on Github and if you're lucky it's also release as a Debian, so let'install it / clone it into our ROS workspace:
  
 <code bash> <code bash>
 +sudo apt-get install ros-YOUR-ROS-DISTRO-hector-quadrotor-description
 +rospack profile
 +# or
 cd ROS_WORKSPACE_FOR_LISP_CODE cd ROS_WORKSPACE_FOR_LISP_CODE
 cd src cd src
-git clone https://github.com/code-iai/iai_robots.git+git clone https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor.git
 cd .. cd ..
 catkin_make catkin_make
 </code> </code>
  
-CRAM takes the URDF descriptions of the robots from the ROS parameter server, i.e., you will need to upload the URDFs of your robots as a ROS parameter. For Boxy there is a launch file doing that, you will find it here:+CRAM takes the URDF descriptions of the robots from the ROS parameter server, i.e., you will need to upload the URDFs of your robots as a ROS parameter. For our robot there is a launch file doing that, you will find it here:
  
 <code bash> <code bash>
-roscd iai_boxy_description/launch/ && ls -l+roscd hector_quadrotor_description/launch/ && ls -l
 </code> </code>
  
-It's called ''upload_boxy.launch'' and has the following contents:+It's called ''xacrodisplay_quadrotor_base.launch'' and has the following contents:
  
 <code xml> <code xml>
 <launch> <launch>
-  <arg name="urdf-namedefault="boxy_description.urdf.xacro"/> +    <param name="robot_descriptioncommand="$(find xacro)/xacro.py $(find hector_quadrotor_description)/urdf/quadrotor.urdf.xacro" /> 
-  <arg name="urdf-pathdefault="$(find iai_boxy_description)/robots/$(arg urdf-name)"/> +    <param name="use_guivalue="True"/> 
- +     
-  <param +    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 
-    name="robot_description+    <node name="robot_state_publisherpkg="robot_state_publisher" type="robot_state_publisher" /> 
-    command="$(find xacro)/xacro.py '$(arg urdf-path)'" />+    <node name="rviz" pkg="rviz" type="rviz" />
 </launch> </launch>
 </code> </code>
  
-As we will need to know the names of the TF frames later, we will launch a general file that includes uploading the URDF as well as a robot state publisher:+It includes a robot state publisher to publish the TF, we will need it to know the names of the TF frames of the robot later. 
 +It also starts Rviz:
  
 <code bash> <code bash>
-roslaunch iai_boxy_description display.launch +roslaunch hector_quadrotor_description xacrodisplay_quadrotor_base.launch 
 </code> </code>
  
 (It also starts a GUI to play with the joint angles but let's ignore that.) (It also starts a GUI to play with the joint angles but let's ignore that.)
  
-Let's check if the URDF's on the parameter server using RViz:+Let's check if the URDF's on the parameter server using RViz. For that, in RViz click:
  
 <code bash> <code bash>
-rosrun rviz rviz 
 Add -> RobotModel -> Robot Description: robot_description Add -> RobotModel -> Robot Description: robot_description
 Add -> TF Add -> TF
 </code> </code>
  
-To be able to see the TF frames choose ''base_footprint'' as the global fixed frame.+To be able to see the TF frames choose ''base_link'' as the global fixed frame.
  
 {{ :tutorials:advanced:boxy_rviz.png?direct&800 |}} {{ :tutorials:advanced:boxy_rviz.png?direct&800 |}}
-