|
From: <hsu...@us...> - 2008-10-31 19:57:30
|
Revision: 6105
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=6105&view=rev
Author: hsujohnhsu
Date: 2008-10-31 19:57:23 +0000 (Fri, 31 Oct 2008)
Log Message:
-----------
added sim for prototype1, this runs near realtime.
Modified Paths:
--------------
pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1.launch
pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_controllers.launch
pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1.world
pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_gazebo_prototype1.xml
Added Paths:
-----------
pkg/trunk/demos/2dnav_gazebo/2dnav-gazebo-prototype1-wg-fake_localization.xml
pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_headless.launch
pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1_headless.world
pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso_gazebo.xml
Added: pkg/trunk/demos/2dnav_gazebo/2dnav-gazebo-prototype1-wg-fake_localization.xml
===================================================================
--- pkg/trunk/demos/2dnav_gazebo/2dnav-gazebo-prototype1-wg-fake_localization.xml (rev 0)
+++ pkg/trunk/demos/2dnav_gazebo/2dnav-gazebo-prototype1-wg-fake_localization.xml 2008-10-31 19:57:23 UTC (rev 6105)
@@ -0,0 +1,19 @@
+<launch>
+ <master auto="start"/>
+ <group name="wg">
+ <include file="$(find pr2_prototype1_gazebo)/pr2_prototype1.launch"/>
+ <include file="$(find 2dnav_gazebo)/2dnav-params.xml"/>
+ <node pkg="map_server" type="map_server" args="$(find gazebo_robot_description)/world/Media/materials/textures/willowMap.png 0.1" respawn="false" output="screen" />
+ <node pkg="fake_localization" type="fake_localization" respawn="false" output="screen" />
+ <node pkg="wavefront_player" type="wavefront_player" args="scan:=base_scan" respawn="false" output="screen" />
+ <node pkg="nav_view" type="nav_view" respawn="false" output="screen" />
+
+ <!-- for visualization -->
+ <!--node pkg="pr2_gui" type="pr2_gui" respawn="false" output="screen" /-->
+
+ <!-- for manual control -->
+ <!--node pkg="teleop_base_keyboard" type="teleop_base_keyboard" respawn="false" output="screen" /-->
+ <!--node pkg="teleop_arm_keyboard" type="teleop_arm_keyboard" respawn="false" output="screen" /-->
+ </group>
+</launch>
+
Modified: pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1.launch
===================================================================
--- pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1.launch 2008-10-31 19:57:19 UTC (rev 6104)
+++ pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1.launch 2008-10-31 19:57:23 UTC (rev 6105)
@@ -5,7 +5,6 @@
<!-- send pr2.xml to parameter server as a string, allow retrieval by various components whe needs it
(Mechanism Control, BaseControllerNode, etc...) -->
<param name="robotdesc/pr2" command="$(find wg_robot_description_parser)/merge "$(find wg_robot_description)/pr2_prototype1/gazebo/pr2_prototype1.xml"" />
-
<!-- assign environment variables for gazebo and startup gazebo with argument containing the world file. -->
<node pkg="gazebo" type="gazebo" args="-n $(find gazebo_robot_description)/world/robot_prototype1.world" respawn="false" output="screen">
<env name="LD_LIBRARY_PATH" value="$(find gazebo_plugin)/lib:$(find gazebo)/gazebo/lib:$(find Cg)/Cg/lib:$LD_LIBRARY_PATH" />
Modified: pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_controllers.launch
===================================================================
--- pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_controllers.launch 2008-10-31 19:57:19 UTC (rev 6104)
+++ pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_controllers.launch 2008-10-31 19:57:23 UTC (rev 6105)
@@ -2,7 +2,7 @@
<!-- use mech.py to spawn all controllers listed in controllers.xml -->
<param name="base_controller/odom_publish_rate" value="10" />
<node pkg="mechanism_control" type="mech.py" args="sp $(find wg_robot_description)/pr2_prototype1/controllers_base_lab.xml" output="screen"/>
- <node pkg="mechanism_control" type="mech.py" args="sp $(find wg_robot_description)/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso.xml" output="screen"/>
+ <node pkg="mechanism_control" type="mech.py" args="sp $(find wg_robot_description)/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso_gazebo.xml" output="screen"/>
<!-- start tilting Hokuyo laser by sending it a preset code of 46, this means sawtooth profile sweep.
for details of the profile, rates, see controller::LaserScannerControllerNode. -->
<node pkg="robot_mechanism_controllers" type="control.py" args="set tilt_laser_controller 46" respawn="false" output="screen" />
Added: pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_headless.launch
===================================================================
--- pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_headless.launch (rev 0)
+++ pkg/trunk/demos/pr2_prototype1_gazebo/pr2_prototype1_headless.launch 2008-10-31 19:57:23 UTC (rev 6105)
@@ -0,0 +1,19 @@
+<launch>
+ <!-- this launch file corresponds to robot model in ros-pkg/robot_descriptions/wg_robot_description/pr2 -->
+ <!-- if needed, group tag allows pushing components into namespace via ns="namespace" -->
+ <group name="wg">
+ <!-- send pr2.xml to parameter server as a string, allow retrieval by various components whe needs it
+ (Mechanism Control, BaseControllerNode, etc...) -->
+ <param name="robotdesc/pr2" command="$(find wg_robot_description_parser)/merge "$(find wg_robot_description)/pr2_prototype1/gazebo/pr2_prototype1.xml"" />
+ <!-- assign environment variables for gazebo and startup gazebo with argument containing the world file. -->
+ <node pkg="gazebo" type="gazebo" args="-g -n $(find gazebo_robot_description)/world/robot_prototype1_headless.world" respawn="false" output="screen">
+ <env name="LD_LIBRARY_PATH" value="$(find gazebo_plugin)/lib:$(find gazebo)/gazebo/lib:$(find Cg)/Cg/lib:$LD_LIBRARY_PATH" />
+ <env name="GAZEBO_RESOURCE_PATH" value="$(find gazebo_robot_description)/world" />
+ <env name="OGRE_RESOURCE_PATH" value="$(find ogre)/ogre/lib/OGRE" />
+ <env name="MC_RESOURCE_PATH" value="$(find gazebo_robot_description)/world" />
+ </node>
+ <!-- use mech.py to spawn all controllers listed in controllers.xml -->
+ <include file="$(find pr2_prototype1_gazebo)/pr2_prototype1_controllers.launch" />
+ </group>
+</launch>
+
Modified: pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1.world
===================================================================
--- pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1.world 2008-10-31 19:57:19 UTC (rev 6104)
+++ pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1.world 2008-10-31 19:57:23 UTC (rev 6105)
@@ -39,14 +39,6 @@
<type>fltk</type>
<size>1024 800</size>
<pos>0 0</pos>
- <frames>
- <row height="100%">
- <camera width="100%">
- <xyz>0 0 20</xyz>
- <rpy>0 90 90</rpy>
- </camera>
- </row>
- </frames>
</rendering:gui>
@@ -60,7 +52,6 @@
<maxUpdateRate>100</maxUpdateRate>
</rendering:ogre>
-
<model:physical name="gplane">
<xyz>0 0 0</xyz>
<rpy>0 0 0</rpy>
@@ -72,254 +63,41 @@
<kd>1.0</kd>
<normal>0 0 1</normal>
<size>51.3 51.3</size>
- <!-- map3.png -->
- <material>PR2/floor_texture</material>
+ <material>Gazebo/GrassFloor</material>
</geom:plane>
</body:plane>
</model:physical>
- <!--
- <model:empty name="ros_model">
- <body:empty name="ros_body">
- <controller:ros_node name="ros_node" plugin="libRos_Node.so">
- <nodeName>simulator_ros_node</nodeName>
- </controller:ros_node>
- </body:empty>
- </model:empty>
- -->
-
- <!-- The "desk"-->
- <model:physical name="desk1_model">
- <xyz> 2.28 -0.21 -0.10</xyz>
- <rpy> 0.0 0.0 0.00</rpy>
- <body:box name="desk1_legs_body">
- <geom:box name="desk1_legs_geom">
- <kp>100000000.0</kp>
- <kd>1.0</kd>
- <xyz> 0.0 0.0 0.50</xyz>
- <mesh>default</mesh>
- <size>0.5 1.0 0.75</size>
- <mass> 10.0</mass>
- <visual>
- <size> 0.5 1.0 0.75</size>
- <material>Gazebo/Rocky</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- <geom:box name="desk1_top_geom">
- <kp>100000000.0</kp>
- <kd>0.1</kd>
- <xyz> 0.0 0.0 0.90</xyz>
- <mesh>default</mesh>
- <size>0.75 1.5 0.05</size>
- <mass> 10.0</mass>
- <visual>
- <size> 0.75 1.5 0.05</size>
- <material>Gazebo/Rocky</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
+<!--
+ <model:physical name="walls">
+ <include embedded="false">
+ <xi:include href="tests/willow-walls.model" />
+ </include>
</model:physical>
+-->
+ <model:physical name="willow_map">
+ <xyz>-25.65 25.65 1.0</xyz>
+ <rpy>180 0 0</rpy>
+ <static>true</static>
+ <body:map name="willow_map_body">
+ <geom:map name="willow_map_geom">
+ <image>willowMap.png</image>
+ <threshold>200</threshold>
+ <granularity>2</granularity>
+ <negative>false</negative>
+ <scale>0.1</scale>
+ <offset>0 0 0</offset>
+ <material>Gazebo/Rocky</material>
+ </geom:map>
+ </body:map>
+ </model:physical>
- <!-- The second "desk"-->
- <model:physical name="desk2_model">
- <xyz> 2.25 -3.0 -0.10</xyz>
- <rpy> 0.0 0.0 0.00</rpy>
- <body:box name="desk2_legs_body">
- <geom:box name="desk2_legs_geom">
- <kp>1000000.0</kp>
- <kd>1.0</kd>
- <xyz> 0.0 0.0 0.50</xyz>
- <mesh>default</mesh>
- <size>0.5 1.0 0.75</size>
- <mass> 10.0</mass>
- <visual>
- <size> 0.5 1.0 0.75</size>
- <material>Gazebo/Rocky</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- <geom:box name="desk2_top_geom">
- <kp>1000000.0</kp>
- <kd>1.0</kd>
- <xyz> 0.0 0.0 0.90</xyz>
- <mesh>default</mesh>
- <size>0.75 1.5 0.05</size>
- <mass> 10.0</mass>
- <visual>
- <size> 0.75 1.5 0.05</size>
- <material>Gazebo/Rocky</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
- </model:physical>
- <!-- The small cylinder "cup" -->
- <model:physical name="cylinder1_model">
- <xyz> 2.5 0.0 0.9</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <body:cylinder name="cylinder1_body">
- <geom:cylinder name="cylinder1_geom">
- <kp>100000000.0</kp>
- <kd>0.1</kd>
- <mesh>default</mesh>
- <size>0.025 0.075</size>
- <mass> 0.05</mass>
- <visual>
- <size> 0.05 0.05 0.075</size>
- <material>Gazebo/PioneerBody</material>
- <mesh>unit_cylinder</mesh>
- </visual>
- </geom:cylinder>
- <geom:box name="cylinder1_base_geom">
- <kp>100000000.0</kp>
- <kd>0.1</kd>
- <mesh>default</mesh>
- <xyz>0.0 0.0 -0.033</xyz>
- <size>0.05 0.05 0.01</size>
- <mass> 0.01</mass>
- <visual>
- <size> 0.05 0.05 0.01</size>
- <material>Gazebo/Fish</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:cylinder>
- </model:physical>
-
- <!-- The small box "cup" -->
- <model:physical name="object1_model">
- <xyz> 0.835 -0.55 0.95</xyz>
- <rpy> 0.0 0.0 30.0</rpy>
- <body:box name="object1_body">
- <geom:box name="object1_geom">
- <kp>100000000.0</kp>
- <kd>0.1</kd>
- <mesh>default</mesh>
- <size>0.1 0.03 0.03</size>
- <mass> 0.05</mass>
- <visual>
- <size> 0.1 0.030 0.03</size>
- <material>Gazebo/PioneerBody</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
-
- <controller:P3D name="p3d_object_controller" plugin="libP3D.so">
- <updateRate>100.0</updateRate>
- <bodyName>object1_body</bodyName>
- <topicName>object1_body_ground_truth</topicName>
- <frameName>object1_body_ground_truth_frame</frameName>
- <interface:position name="p3d_object_position"/>
- </controller:P3D>
-
- </model:physical>
-
-
- <!-- The small ball -->
- <model:physical name="sphere1_model">
- <xyz> 2.5 -2.8 1.0</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <body:sphere name="sphere1_body">
- <geom:sphere name="sphere1_geom">
- <kp>1000000.0</kp>
- <kd>1.0</kd>
- <mesh>default</mesh>
- <size> 0.15</size>
- <mass> 1.0</mass>
- <visual>
- <size> 0.3 0.3 0.3</size>
- <material>Gazebo/PioneerBody</material>
- <mesh>unit_sphere</mesh>
- </visual>
- </geom:sphere>
- </body:sphere>
- </model:physical>
-
- <!-- The large ball map3.png -->
- <model:physical name="sphere2_model">
- <xyz> 5.85 4.35 1.55</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <body:sphere name="sphere2_body">
- <geom:sphere name="sphere2_geom">
- <kp>1000000.0</kp>
- <kd>1.0</kd>
- <mesh>default</mesh>
- <size> 1.0</size>
- <mass> 1.0</mass>
- <visual>
- <size> 2.0 2.0 2.0</size>
- <material>Gazebo/Rocky</material>
- <mesh>unit_sphere</mesh>
- </visual>
- </geom:sphere>
- </body:sphere>
- </model:physical>
-
- <!-- The wall in front map3.png -->
- <model:physical name="wall_2_model">
- <xyz> 11.6 -1.55 1.0</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <static>true</static>
- <body:box name="wall_2_body">
- <geom:box name="wall_2_geom">
- <mesh>default</mesh>
- <size>2.1 32.8 2.0</size>
- <visual>
- <size>2.1 32.8 2.0</size>
- <material>Gazebo/PioneerBody</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
- </model:physical>
-
- <!-- The wall behind -->
- <model:physical name="wall_1_model">
- <xyz> -11.3 -1.45 1.0</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <static>true</static>
- <body:box name="wall_1_body">
- <geom:box name="wall_1_geom">
- <mesh>default</mesh>
- <size>0.4 24.0 2.0</size>
- <visual>
- <size>0.4 24.0 2.0</size>
- <material>Gazebo/PioneerBody</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
- </model:physical>
-
- <!-- The wall 3 -->
- <model:physical name="wall_3_model">
- <xyz> 6.7 8.05 1.0</xyz>
- <rpy> 0.0 0.0 0.0</rpy>
- <static>true</static>
- <body:box name="wall_3_body">
- <geom:box name="wall_3_geom">
- <mesh>default</mesh>
- <size>7.5 1.2 2.0</size>
- <visual>
- <size>7.5 1.2 2.0</size>
- <material>Gazebo/Chrome</material>
- <mesh>unit_box</mesh>
- </visual>
- </geom:box>
- </body:box>
- </model:physical>
-
-
-
<model:physical name="robot_model1">
<controller:ros_time name="ros_time" plugin="libRos_Time.so">
<alwaysOn>true</alwaysOn>
- <updateRate>100.0</updateRate>
+ <updateRate>1000.0</updateRate>
<interface:audio name="dummy_ros_time_iface_should_not_be_here"/>
</controller:ros_time>
@@ -335,6 +113,7 @@
<!-- White Directional light -->
+ <!--
<model:renderable name="directional_white">
<light>
<type>directional</type>
@@ -344,6 +123,7 @@
<attenuation>1 0.0 1.0 0.4</attenuation>
</light>
</model:renderable>
+ -->
</gazebo:world>
Added: pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1_headless.world
===================================================================
--- pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1_headless.world (rev 0)
+++ pkg/trunk/robot_descriptions/gazebo_robot_description/world/robot_prototype1_headless.world 2008-10-31 19:57:23 UTC (rev 6105)
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+
+<gazebo:world
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:gazebo="http://playerstage.sourceforge.net/gazebo/xmlschema/#gz"
+ xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/#model"
+ xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
+ xmlns:window="http://playerstage.sourceforge.net/gazebo/xmlschema/#window"
+ xmlns:param="http://playerstage.sourceforge.net/gazebo/xmlschema/#param"
+ xmlns:body="http://playerstage.sourceforge.net/gazebo/xmlschema/#body"
+ xmlns:geo="http://willowgarage.com/xmlschema/#geo"
+ xmlns:geom="http://playerstage.sourceforge.net/gazebo/xmlschema/#geom"
+ xmlns:joint="http://playerstage.sourceforge.net/gazebo/xmlschema/#joint"
+ xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
+ xmlns:ui="http://playerstage.sourceforge.net/gazebo/xmlschema/#ui"
+ xmlns:rendering="http://playerstage.sourceforge.net/gazebo/xmlschema/#rendering"
+ xmlns:renderable="http://playerstage.sourceforge.net/gazebo/xmlschema/#renderable"
+ xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
+ xmlns:physics="http://playerstage.sourceforge.net/gazebo/xmlschema/#physics" >
+
+ <verbosity>5</verbosity>
+
+<!-- cfm is 1e-5 for single precision -->
+<!-- erp is typically .1-.8 -->
+<!-- here's the global contact cfm/erp -->
+ <physics:ode>
+ <stepTime>0.001</stepTime>
+ <gravity>0 0 -9.8</gravity>
+ <cfm>0.0000000001</cfm>
+ <erp>0.2</erp>
+ <quickStep>true</quickStep>
+ </physics:ode>
+
+ <geo:origin>
+ <lat>37.4270909558</lat><lon>-122.077919338</lon>
+ </geo:origin>
+
+ <rendering:gui>
+ <type>fltk</type>
+ <size>1024 800</size>
+ <pos>0 0</pos>
+ </rendering:gui>
+
+
+ <rendering:ogre>
+ <ambient>1.0 1.0 1.0 1.0</ambient>
+ <sky>
+ <material>Gazebo/CloudySky</material>
+ </sky>
+ <gazeboPath>media</gazeboPath>
+ <grid>false</grid>
+ <maxUpdateRate>100</maxUpdateRate>
+ </rendering:ogre>
+
+ <model:physical name="gplane">
+ <xyz>0 0 0</xyz>
+ <rpy>0 0 0</rpy>
+ <static>true</static>
+
+ <body:plane name="plane">
+ <geom:plane name="plane">
+ <kp>1000000.0</kp>
+ <kd>1.0</kd>
+ <normal>0 0 1</normal>
+ <size>51.3 51.3</size>
+ <material>Gazebo/GrassFloor</material>
+ </geom:plane>
+ </body:plane>
+ </model:physical>
+
+<!--
+ <model:physical name="walls">
+ <include embedded="false">
+ <xi:include href="tests/willow-walls.model" />
+ </include>
+ </model:physical>
+-->
+ <model:physical name="willow_map">
+ <xyz>-25.65 25.65 1.0</xyz>
+ <rpy>180 0 0</rpy>
+ <static>true</static>
+ <body:map name="willow_map_body">
+ <geom:map name="willow_map_geom">
+ <image>willowMap.png</image>
+ <threshold>200</threshold>
+ <granularity>2</granularity>
+ <negative>false</negative>
+ <scale>0.1</scale>
+ <offset>0 0 0</offset>
+ <material>Gazebo/Rocky</material>
+ </geom:map>
+ </body:map>
+ </model:physical>
+
+
+ <model:physical name="robot_model1">
+
+ <controller:ros_time name="ros_time" plugin="libRos_Time.so">
+ <alwaysOn>true</alwaysOn>
+ <updateRate>1000.0</updateRate>
+ <interface:audio name="dummy_ros_time_iface_should_not_be_here"/>
+ </controller:ros_time>
+
+ <xyz>0.0 0.0 0.0408</xyz> <!-- bottom of base off the ground by this much, basically wheel height below skirt -->
+ <rpy>0.0 0.0 0.0 </rpy>
+
+ <!-- base, torso and arms -->
+ <include embedded="true">
+ <xi:include href="pr2_xml_prototype1.model" />
+ </include>
+
+ </model:physical>
+
+
+ <!-- White Directional light -->
+ <!--
+ <model:renderable name="directional_white">
+ <light>
+ <type>directional</type>
+ <direction>0 -0.5 -0.5</direction>
+ <diffuseColor>0.4 0.4 0.4</diffuseColor>
+ <specularColor>0.0 0.0 0.0</specularColor>
+ <attenuation>1 0.0 1.0 0.4</attenuation>
+ </light>
+ </model:renderable>
+ -->
+
+
+</gazebo:world>
Modified: pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_gazebo_prototype1.xml
===================================================================
--- pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_gazebo_prototype1.xml 2008-10-31 19:57:19 UTC (rev 6104)
+++ pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_gazebo_prototype1.xml 2008-10-31 19:57:23 UTC (rev 6105)
@@ -10,7 +10,7 @@
<!-- PR2_ACTARRAY -->
<controller:gazebo_mechanism_control name="gazebo_mechanism_control" plugin="libgazebo_mechanism_control.so">
<alwaysOn>true</alwaysOn>
- <updateRate>100.0</updateRate>
+ <updateRate>1000.0</updateRate>
<gazebo_physics filename="gazebo_joints_prototype1.xml" /> <!-- for simulator/physics specific settigs -->
@@ -38,6 +38,17 @@
<interface:audio name="battery_dummy_interface" />
</controller:gazebo_battery>
+ <controller:P3D name="p3d_base_controller" plugin="libP3D.so">
+ <alwaysOn>true</alwaysOn>
+ <updateRate>100.0</updateRate>
+ <bodyName>base</bodyName>
+ <topicName>base_pose_ground_truth</topicName>
+ <frameName>map</frameName>
+ <xyzOffsets>25.65 25.65 0</xyzOffsets> <!-- initialize odometry for fake localization-->
+ <rpyOffsets>0 0 0</rpyOffsets>
+ <interface:position name="p3d_base_position"/>
+ </controller:P3D>
+
</verbatim>
</map>
Added: pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso_gazebo.xml
===================================================================
--- pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso_gazebo.xml (rev 0)
+++ pkg/trunk/robot_descriptions/wg_robot_description/pr2_prototype1/gazebo/controllers_head_tilt_laser_torso_gazebo.xml 2008-10-31 19:57:23 UTC (rev 6105)
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+
+<controllers>
+
+
+ <!-- ========================================= -->
+ <!-- torso array -->
+ <controller name="torso_controller" topic="torso_controller" type="JointPositionControllerNode">
+ <joint name="torso_joint">
+ <pid p="1000" d="0" i="0" iClamp="0" />
+ </joint>
+ </controller>
+ <!-- ========================================= -->
+ <!-- head and above array -->
+ <controller name="head_pan_controller" topic="head_pan_controller" type="JointPositionControllerNode">
+ <listen_topic name="head_pan_commands" />
+ <joint name="head_pan_joint" >
+ <pid p="100" d="0" i="0" iClamp="0" />
+ </joint>
+ </controller>
+ <controller name="head_tilt_controller" topic="head_tilt_controller" type="JointPositionControllerNode">
+ <listen_topic name="head_tilt_commands" />
+ <joint name="head_tilt_joint" >
+ <pid p="100" d="0" i="0" iClamp="0" />
+ </joint>
+ </controller>
+
+ <controller name="tilt_laser_controller" topic="tilt_laser_controller" type="LaserScannerControllerNode">
+ <joint name="tilt_laser_mount_joint" >
+ <pid p="0.4" d="0" i="0" iClamp="0.1" />
+ </joint>
+ </controller>
+
+</controllers>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|