|
From: <hsu...@us...> - 2009-08-20 02:45:58
|
Revision: 22397
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22397&view=rev
Author: hsujohnhsu
Date: 2009-08-20 02:45:49 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
moving gazebo_tools to simulator_gazebo stack.
Added Paths:
-----------
pkg/trunk/stacks/simulator_gazebo/gazebo_tools/
Removed Paths:
-------------
pkg/trunk/sandbox/gazebo_tools/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <stu...@us...> - 2009-08-20 17:45:53
|
Revision: 22437
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22437&view=rev
Author: stuglaser
Date: 2009-08-20 17:45:43 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
Moved qualification controller out of the controllers stack.
Added Paths:
-----------
pkg/trunk/sandbox/qualification_controllers/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/CMakeLists.txt
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/Makefile
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/controller_plugins.xml
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/checkout_controller.h
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hold_set_controller.h
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hysteresis_controller.h
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/sine_sweep_controller.h
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/manifest.xml
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/ActuatorData.msg
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/HoldPositionData.msg
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/HoldRunData.msg
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/JointData.msg
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/msg/JointPositionData.msg
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/checkout_controller.cpp
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/controller_manifest.cpp
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/hold_set_controller.cpp
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/hysteresis_controller.cpp
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/src/sine_sweep_controller.cpp
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/srv/
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/srv/HoldSetData.srv
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/srv/RobotData.srv
pkg/trunk/sandbox/qualification_controllers/joint_qualification_controllers/srv/TestData.srv
Removed Paths:
-------------
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/CMakeLists.txt
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/Makefile
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/controller_plugins.xml
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/checkout_controller.h
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hold_set_controller.h
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hysteresis_controller.h
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/sine_sweep_controller.h
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/manifest.xml
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/ActuatorData.msg
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/HoldPositionData.msg
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/HoldRunData.msg
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/JointData.msg
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/JointPositionData.msg
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/src/checkout_controller.cpp
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/src/controller_manifest.cpp
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/src/hold_set_controller.cpp
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/src/hysteresis_controller.cpp
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/src/sine_sweep_controller.cpp
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/srv/HoldSetData.srv
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/srv/RobotData.srv
pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/srv/TestData.srv
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/CMakeLists.txt
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/CMakeLists.txt 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/CMakeLists.txt 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,11 +0,0 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-rospack(joint_qualification_controllers)
-genmsg()
-gensrv()
-rospack_add_library(joint_qualification_controllers
-src/controller_manifest.cpp
-src/hysteresis_controller.cpp
-src/sine_sweep_controller.cpp
-src/checkout_controller.cpp
-src/hold_set_controller.cpp)
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/Makefile
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/Makefile 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/Makefile 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake.mk
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/controller_plugins.xml
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/controller_plugins.xml 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/controller_plugins.xml 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,6 +0,0 @@
-<library path="lib/libjoint_qualification_controllers">
- <class name="CheckoutController" type="CheckoutController" base_class_type="Controller" />
- <class name="HoldSetController" type="HoldSetController" base_class_type="Controller" />
- <class name="HysteresisController" type="HysteresisController" base_class_type="Controller" />
- <class name="SineSweepController" type="SineSweepController" base_class_type="Controller" />
-</library>
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/checkout_controller.h
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/checkout_controller.h 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/checkout_controller.h 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,133 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-// Author: Kevin Watts
-
-#pragma once
-
-/***************************************************/
-/*! \class controller::CheckoutController
- \brief Checkout Controller
-
- This tests that all joints of a robot are calibrated
- and all actuators are enabled. It outputs a RobotData srv request
- to the /robot_checkout topic with relevant joint and actuator information.
-
-*/
-/***************************************************/
-
-#include <ros/ros.h>
-#include <string>
-#include <math.h>
-#include <joint_qualification_controllers/RobotData.h>
-#include <realtime_tools/realtime_srv_call.h>
-#include <controller_interface/controller.h>
-#include <boost/scoped_ptr.hpp>
-
-namespace controller
-{
-
-
-/***************************************************/
-/*! \class controller::CheckoutControllerNode
- \brief Checkout Controller
-
- */
-/***************************************************/
-
-class CheckoutController : public Controller
-{
-
-public:
- enum { STARTING, LISTENING, ANALYZING, DONE};
-
- CheckoutController();
- ~CheckoutController();
-
- /*!
- * \brief Functional way to initialize.
- * \param *robot The robot that is being controlled.
- * \param &n NodeHandle of mechanism control
- */
- bool init( mechanism::RobotState *robot, const ros::NodeHandle &n);
-
- /*!
- * \brief Called when controller is started or restarted
- */
- bool starting();
-
- /*!
- * \brief Checks joint, actuator status for calibrated and enabled.
- */
- void update();
-
- /*!
- * \brief Sends data, returns true if sent
- */
- bool sendData();
-
- /*!
- * \brief Perform the test analysis
- */
- void analysis(double time);
-
-
-private:
- mechanism::RobotState *robot_; /**< Pointer to robot structure. */
- double initial_time_; /**< Start time of the test. */
-
- double timeout_;
-
- joint_qualification_controllers::RobotData::Request robot_data_;
-
- int state_;
-
- int joint_count_;
- int actuator_count_;
-
- bool done() { return state_ == DONE; }
-
- bool data_sent_;
-
- double last_publish_time_;
-
- // RT service call
- boost::scoped_ptr<realtime_tools::RealtimeSrvCall<joint_qualification_controllers::RobotData::Request, joint_qualification_controllers::RobotData::Response> > call_service_;
-};
-
-
-
-}
-
-
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hold_set_controller.h
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hold_set_controller.h 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hold_set_controller.h 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,202 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#pragma once
-
-/***************************************************/
-/*! \class controller::HoldSetController
- \brief Hold Set Controller
-
- This holds a joint in a set of locations, while
- dithering the joint and recording position and cmd.
-
-*/
-/***************************************************/
-
-
-#include <vector>
-#include <ros/ros.h>
-#include <math.h>
-#include <joint_qualification_controllers/HoldSetData.h>
-#include <realtime_tools/realtime_srv_call.h>
-#include <controller_interface/controller.h>
-#include <robot_mechanism_controllers/joint_position_controller.h>
-#include <control_toolbox/dither.h>
-
-#include <iostream>
-#include <string>
-#include <sstream>
-
-namespace controller
-{
-
-class HoldSetController : public Controller
-{
-
-public:
- enum { STARTING, SETTLING, DITHERING, PAUSING, DONE };
-
- HoldSetController();
- ~HoldSetController();
-
- /*!
- * \brief Functional way to initialize.
- * \param *robot The robot that is being controlled.
- * \param &n Node handle for parameters and services
- */
- bool init( mechanism::RobotState *robot, const ros::NodeHandle &n);
-
-
- /*!
- * \brief Issues commands to the joint. Should be called at regular intervals
- */
- void update();
-
- bool starting();
-
- bool sendData();
-
- bool done() { return state_ == DONE; }
-
- joint_qualification_controllers::HoldSetData::Request hold_set_data_;
-
-private:
- control_toolbox::Dither* lift_dither_;
- control_toolbox::Dither* flex_dither_;
-
- controller::JointPositionController* lift_controller_;
- controller::JointPositionController* flex_controller_;
-
- mechanism::JointState* flex_state_;
- mechanism::JointState* lift_state_;
-
- mechanism::RobotState *robot_; /**< Pointer to robot structure. */
-
- int starting_count_;
-
- int state_;
-
- double lift_cmd_, flex_cmd_;
-
-
- double initial_time_;
-
- double settle_time_;
- double start_time_;
- double dither_time_;
- double timeout_;
- double lift_min_, lift_max_, lift_delta_;
- double flex_min_, flex_max_, flex_delta_;
-
- int dither_count_;
-
- uint lift_index_;
- uint flex_index_;
-
- bool data_sent_;
-
- boost::scoped_ptr<realtime_tools::RealtimeSrvCall<joint_qualification_controllers::HoldSetData::Request, joint_qualification_controllers::HoldSetData::Response> > call_service_;
-
-
-};
-
-}
-
-
-/***************************************************/
-/*! \class controller::HoldSetController
- \brief Hold Set Controller
-
- This holds a joint at a set of positions, measuring effort
-
-<controller type="HoldSetControllerNode" name="cb_hold_set_controller">
-
- <controller name="shoulder_lift_controller" type="JointPositionController"><br>
- <dither dither_amp="0.25" />
- <joint name="r_shoulder_lift_joint" ><br>
- <pid p="1.5" d="0.1" i="0.3" iClamp="0.2" /><br>
- </joint><br>
- </controller><br>
-
- <controller name="elbow_flex_controller" type="JointPositionController"><br>
- <dither dither_amp="0.25" />
- <joint name="r_elbow_flex_joint" ><br>
- <pid p="0.8" d="0.05" i="0.1" iClamp="0.1" /><br>
- </joint><br>
- </controller><br>
-
- <controller_defaults settle_time="2.0" dither_time="1.0" timeout="60" />
-
- <hold_pt>
- <joint position="1.35" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="1.0" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="0.75" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="0.5" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="0.25" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="0.0" />
- <joint position="0.0" />
- </hold_pt>
-
- <hold_pt>
- <joint position="-0.25" />
- <joint position="0.0" />
- </hold_pt>
-
-
-</controller>
-
-*/
-/***************************************************/
-
-
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hysteresis_controller.h
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hysteresis_controller.h 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/hysteresis_controller.h 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,128 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#pragma once
-
-/***************************************************/
-/*! \class controller::HysteresisController
- \brief Hystersis Controller
-
- This tests the hysteresis of a joint using a
- velocity controller.
-
-*/
-/***************************************************/
-
-#include <ros/ros.h>
-#include <string>
-#include <math.h>
-#include <joint_qualification_controllers/TestData.h>
-#include <realtime_tools/realtime_srv_call.h>
-#include <controller_interface/controller.h>
-#include <robot_mechanism_controllers/joint_velocity_controller.h>
-#include <boost/scoped_ptr.hpp>
-
-namespace controller
-{
-
-class HysteresisController : public Controller
-{
-
-public:
- enum { STOPPED, STARTING, MOVING, ANALYZING, DONE};
-
- HysteresisController();
- ~HysteresisController();
-
- /*!
- * \brief Functional way to initialize.
- * \param *robot The robot that is being controlled.
- * \param &n NodeHandle of mechanism control
- */
- bool init(mechanism::RobotState *robot, const ros::NodeHandle &n);
-
- /*!
- * \brief Called when controller is started
- */
- bool starting();
-
- /*!
- * \brief Perform the test analysis
- */
- void analysis();
-
- /*!
- * \brief Issues commands to the joint to perform hysteresis test.
- */
- void update();
-
- /*!
- * \brief Sends data, returns true if sent
- */
- bool sendData();
-
- bool done() { return state_ == DONE; }
-
-
-private:
- joint_qualification_controllers::TestData::Request test_data_;
-
- mechanism::JointState *joint_; /**< Joint we're controlling. */
- mechanism::RobotState *robot_; /**< Pointer to robot structure. */
- controller::JointVelocityController *velocity_controller_; /**< The velocity controller for the hysteresis test. */
- double velocity_; /**< Velocity during the test. */
- double max_effort_; /**< Maximum allowable effort. */
- double initial_time_; /**< Start time of the test. */
- double initial_position_;
- int count_;
- int loop_count_;
- bool complete;
- bool start;
-
- double timeout_;
-
- int state_;
- int starting_count;
-
- bool data_sent_;
-
- double last_publish_time_;
-
- // RT service call
- boost::scoped_ptr<realtime_tools::RealtimeSrvCall<joint_qualification_controllers::TestData::Request, joint_qualification_controllers::TestData::Response> > call_service_;
-
-};
-}
-
-
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/sine_sweep_controller.h
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/sine_sweep_controller.h 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/include/joint_qualification_controllers/sine_sweep_controller.h 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,106 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#pragma once
-
-/***************************************************/
-/*! \class controller::SineSweepController
- \brief Sine Sweep Controller
-
- This class basically applies a sine sweep to the joint.
-*/
-/***************************************************/
-
-
-#include <ros/ros.h>
-#include <math.h>
-#include <joint_qualification_controllers/TestData.h>
-#include <realtime_tools/realtime_srv_call.h>
-#include <controller_interface/controller.h>
-#include <control_toolbox/sine_sweep.h>
-#include <boost/scoped_ptr.hpp>
-
-
-namespace controller
-{
-
-class SineSweepController : public Controller
-{
-public:
- /*!
- * \brief Default Constructor of the SineSweepController class.
- *
- */
- SineSweepController();
-
- /*!
- * \brief Destructor of the SineSweepController class.
- */
- ~SineSweepController();
-
- /*!
- * \brief Functional way to initialize.
- * \param *robot The robot that is being controlled.
- * \param &n NodeHandle of mechanism control
- */
- bool init(mechanism::RobotState *robot, const ros::NodeHandle &n);
-
- bool starting();
-
- void analysis();
- void update();
-
- bool sendData();
-
- bool done() { return done_ == 1; }
-
- joint_qualification_controllers::TestData::Request test_data_;
-
-private:
- mechanism::JointState *joint_state_; /**< Joint we're controlling. */
- mechanism::RobotState *robot_; /**< Pointer to robot structure. */
- control_toolbox::SineSweep *sweep_; /**< Sine sweep. */
- double duration_; /**< Duration of the sweep. */
- double initial_time_; /**< Start time of the sweep. */
- int count_;
- bool done_;
-
- bool data_sent_;
-
- boost::scoped_ptr<realtime_tools::RealtimeSrvCall<joint_qualification_controllers::TestData::Request, joint_qualification_controllers::TestData::Response> >call_service_;
-
-};
-}
-
-
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/manifest.xml
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/manifest.xml 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/manifest.xml 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,25 +0,0 @@
-<package>
- <description brief='Joint Qualification Controllers'>
- </description>
- <author> Melonee Wise, Kevin Watts</author>
- <license>BSD</license>
- <review status="unreviewed" notes=""/>
- <depend package="controller_interface" />
- <depend package="mechanism_model" />
- <depend package="wg_robot_description_parser" />
- <depend package="realtime_tools" />
- <depend package="control_toolbox" />
- <depend package="roscpp" />
- <depend package="robot_mechanism_controllers" />
- <depend package="mechanism_control" />
- <depend package="pluginlib" />
- <url>http://pr.willowgarage.com/joint_qualification_controllers</url>
- <rosdep name="wxwidgets"/>
- <rosdep name="wxpython"/>
- <repository>http://pr.willowgarage.com/repos</repository>
- <export>
- <cpp cflags='-I${prefix}/include -I${prefix}/msg/cpp -I${prefix}/srv/cpp' lflags='-Wl,-rpath,${prefix}/lib -L${prefix}/lib -ljoint_qualification_controllers'/>
- <controller_interface plugin="${prefix}/controller_plugins.xml" />
- </export>
-
-</package>
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/ActuatorData.msg
===================================================================
--- pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/ActuatorData.msg 2009-08-20 17:43:35 UTC (rev 22436)
+++ pkg/trunk/controllers/qualification_controllers/joint_qualification_controllers/msg/ActuatorData.msg 2009-08-20 17:45:43 UTC (rev 22437)
@@ -1,4 +0,0 @@
-int16 index
-string name
-int16 id
-byte enabled
Deleted: pkg/trunk/controllers/qualification_controllers/joint_qualification_...
[truncated message content] |
|
From: <hsu...@us...> - 2009-08-20 19:55:20
|
Revision: 22457
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22457&view=rev
Author: hsujohnhsu
Date: 2009-08-20 19:55:09 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
consolidate upload of urdf to param server.
Modified Paths:
--------------
pkg/trunk/demos/arm_gazebo/l_arm.launch
pkg/trunk/demos/arm_gazebo/l_gripper.launch
pkg/trunk/demos/arm_gazebo/r_arm.launch
pkg/trunk/demos/arm_gazebo/r_arm_grasping_demo.launch
pkg/trunk/demos/arm_gazebo/r_gripper.launch
pkg/trunk/demos/arm_gazebo/tests/r_arm_constraint.launch
pkg/trunk/demos/arm_gazebo/tests/r_arm_spacenav.launch
pkg/trunk/demos/pr2_gazebo/head_cart.launch
pkg/trunk/demos/pr2_gazebo/pr2.launch
pkg/trunk/demos/pr2_gazebo/prf.launch
pkg/trunk/demos/pr2_gazebo/prototype1.launch
pkg/trunk/drivers/simulator/test_pr2_collision_gazebo/test_slide.launch
pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch
pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_scan.launch
pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/init.launch
pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/send_description.launch
pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hca.launch
pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcb.launch
pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcc.launch
pkg/trunk/sandbox/dynamics_estimation/r_arm.launch
pkg/trunk/sandbox/rtt_controller/demo.launch
pkg/trunk/sandbox/texas/texas.launch
pkg/trunk/stacks/pr2/pr2_alpha/pre_ethercat_reset.launch
pkg/trunk/stacks/pr2/pr2_alpha/prf_ethercat_reset.launch
pkg/trunk/stacks/pr2/pr2_alpha/prf_manip.launch
pkg/trunk/stacks/pr2/pr2_alpha/prf_sim.launch
pkg/trunk/stacks/pr2/pr2_alpha/prg_ethercat_reset.launch
pkg/trunk/stacks/pr2/pr2_alpha/send_description.launch
Added Paths:
-----------
pkg/trunk/sandbox/texas/texas.urdf.xacro
Modified: pkg/trunk/demos/arm_gazebo/l_arm.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/l_arm.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/l_arm.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
<!-- send pr2_l_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/l_arm.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_l_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/l_gripper.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/l_gripper.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/l_gripper.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
<!-- send pr2_l_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/l_gripper.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_l_gripper.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/r_arm.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/r_arm.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/r_arm.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
- <!-- send pr2_r_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <!-- send pr2_r_arm urdf to param server -->
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/r_arm_grasping_demo.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/r_arm_grasping_demo.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/r_arm_grasping_demo.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -9,7 +9,7 @@
</node>
<!-- send pr2_r_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/r_gripper.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/r_gripper.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/r_gripper.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
- <!-- send pr2_r_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_gripper.xacro.xml'" />
+ <!-- send pr2 right gripper urdf to param server -->
+ <include file="$(find pr2_defs)/launch/upload_r_gripper.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/tests/r_arm_constraint.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/tests/r_arm_constraint.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/tests/r_arm_constraint.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -15,7 +15,7 @@
-->
<!-- send pr2_r_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/arm_gazebo/tests/r_arm_spacenav.launch
===================================================================
--- pkg/trunk/demos/arm_gazebo/tests/r_arm_spacenav.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/arm_gazebo/tests/r_arm_spacenav.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -8,7 +8,7 @@
</node>
<!-- send pr2_r_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
Modified: pkg/trunk/demos/pr2_gazebo/head_cart.launch
===================================================================
--- pkg/trunk/demos/pr2_gazebo/head_cart.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/pr2_gazebo/head_cart.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,6 +1,6 @@
<launch>
<!-- send head_cart.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/hca.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_hca.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen" />
Modified: pkg/trunk/demos/pr2_gazebo/pr2.launch
===================================================================
--- pkg/trunk/demos/pr2_gazebo/pr2.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/pr2_gazebo/pr2.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
- <!-- send pr2.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <!-- send pr2 urdf to param server -->
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen" />
Modified: pkg/trunk/demos/pr2_gazebo/prf.launch
===================================================================
--- pkg/trunk/demos/pr2_gazebo/prf.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/pr2_gazebo/prf.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,8 @@
<launch>
<!-- send prf.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/prf.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
+ <!-- <include file="$(find pr2_defs)/launch/upload_prf.launch" /> -->
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen" />
Modified: pkg/trunk/demos/pr2_gazebo/prototype1.launch
===================================================================
--- pkg/trunk/demos/pr2_gazebo/prototype1.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/demos/pr2_gazebo/prototype1.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,7 +1,7 @@
<launch>
- <!-- send urdf to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/prototype1.xacro.xml'" />
+ <!-- send prototype1 urdf to param server -->
+ <include file="$(find pr2_defs)/launch/upload_prototype1.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description 0 0 0 0 0 0 prototype1_model" respawn="false" />
Modified: pkg/trunk/drivers/simulator/test_pr2_collision_gazebo/test_slide.launch
===================================================================
--- pkg/trunk/drivers/simulator/test_pr2_collision_gazebo/test_slide.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/drivers/simulator/test_pr2_collision_gazebo/test_slide.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -8,7 +8,7 @@
</node>
<!-- send single_link.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description 0 6 18 0 -75 90 pr2_model" respawn="false" output="screen" />
Modified: pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch
===================================================================
--- pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -10,7 +10,7 @@
</node>
<!-- send single_link.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description -3 0 0" respawn="false" output="screen" /> <!-- load default arm controller -->
Modified: pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_scan.launch
===================================================================
--- pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_scan.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_scan.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -10,7 +10,7 @@
</node>
<!-- send single_link.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_tools" type="urdf2factory" args="robot_description" respawn="false" output="screen" /> <!-- load default arm controller -->
Modified: pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/init.launch
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/init.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/init.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,5 +1,5 @@
<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<include file="$(find pr2_arm)/calibrate.launch" />
<group name="wg">
<node pkg="pr2_etherCAT" type="pr2_etherCAT" args="-i rteth0 -x /robot_description"
Modified: pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/send_description.launch
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/send_description.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_arm/send_description.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,5 +1,6 @@
<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <!-- FIXME: whoever includes this file should include the file below directly -->
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
</launch>
Modified: pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hca.launch
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hca.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hca.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -3,7 +3,7 @@
<include file="$(find pr2_head_cart)/hca.machine" />
<!-- Description and etherCAT -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/hca.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_hca.launch" />
<node machine="realtime_root" pkg="pr2_etherCAT" type="pr2_etherCAT" args="-i eth0 -x robot_description" />
Modified: pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcb.launch
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcb.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcb.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -3,7 +3,7 @@
<include file="$(find pr2_head_cart)/hcb.machine" />
<!-- Description and etherCAT -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/hcb.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_hcb.launch" />
<node machine="realtime_root" pkg="pr2_etherCAT" type="pr2_etherCAT" args="-i eth0 -x robot_description" />
Modified: pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcc.launch
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcc.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/robot_descriptions/pr2/pr2_configurations/pr2_head_cart/hcc.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -3,7 +3,7 @@
<include file="$(find pr2_head_cart)/hcc.machine" />
<!-- Description and etherCAT -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/hcc.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_hcc.launch" />
<node machine="realtime_root" pkg="pr2_etherCAT" type="pr2_etherCAT" args="-i eth0 -x robot_description" />
Modified: pkg/trunk/sandbox/dynamics_estimation/r_arm.launch
===================================================================
--- pkg/trunk/sandbox/dynamics_estimation/r_arm.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/sandbox/dynamics_estimation/r_arm.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,13 +1,11 @@
<launch>
- <!--
- Run a PR2 left arm in simulation
- -->
- <group name="wg">
-
+ <!--
+ Run a PR2 right arm in simulation
+ -->
<param name="/ros_gazebo/publish_rate_mechanism_state" value="1000"/>
- <!-- send pr2_l_arm.xml to param server -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/r_arm.xacro.xml'" />
+ <!-- send pr2 right arm urdf to parameter server -->
+ <include file="$(find pr2_defs)/launch/upload_r_arm.launch" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node pkg="gazebo_plugin" type="urdf2factory" args="robot_description" respawn="false" output="screen"/>
@@ -35,6 +33,5 @@
<include file="$(find arm_gazebo)/debug_plot.launch"/>
-->
- </group>
</launch>
Modified: pkg/trunk/sandbox/rtt_controller/demo.launch
===================================================================
--- pkg/trunk/sandbox/rtt_controller/demo.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/sandbox/rtt_controller/demo.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,5 +1,6 @@
<launch>
<!-- <node pkg="xacro" type="xacro.py" args="-o $(find rtt_controller)/pr2_desc.xml $(find pr2_defs)/robots/pr2.xacro.xml" />-->
+<!-- new urdf format <node pkg="xacro" type="xacro.py" args="-o $(find rtt_controller)/pr2_desc.xml $(find pr2_defs)/robots/pr2.urdf.xacro" />-->
<include file="$(find pr2_alpha)/prf.machine" />
<!-- RosDeployer -->
<!-- <node machine="realtime_root" pkg="orocos_ros_integration" type="rosdeployer" args="-s $(find rtt_controller)/demo.xml -ldebug" output="screen"/>-->
Modified: pkg/trunk/sandbox/texas/texas.launch
===================================================================
--- pkg/trunk/sandbox/texas/texas.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/sandbox/texas/texas.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -4,7 +4,8 @@
<machine name="realtime" address="texas" ros-root="$(env ROS_ROOT)" ros-package-path="$(env ROS_PACKAGE_PATH)" default="true"/>
<!-- Uses special defs file for Alpha 2.0 hardware on PRE -->
- <param name="robotdesc/pr2" command="$(find xacro)/xacro.py '$(find texas)/texas.xml'" />
+ <param name="robot_description" command="$(find xacro)/xacro.py '$(find texas)/texas.xml'" />
+ <param name="robot_description_new" command="$(find xacro)/xacro.py '$(find texas)/texas.urdf.xacro'" />
<!-- pr2_etherCAT -->
<node machine="realtime_root" pkg="pr2_etherCAT" type="pr2_etherCAT" args="-i eth0 -x /robotdesc/pr2"/>
Added: pkg/trunk/sandbox/texas/texas.urdf.xacro
===================================================================
--- pkg/trunk/sandbox/texas/texas.urdf.xacro (rev 0)
+++ pkg/trunk/sandbox/texas/texas.urdf.xacro 2009-08-20 19:55:09 UTC (rev 22457)
@@ -0,0 +1,41 @@
+<robot name="texas">
+ <include filename="$(find pr2_defs)/calibration/default_cal.xml" />
+ <include filename="$(find pr2_defs)/defs/base/base_defs.urdf.xacro" />
+
+<pr2_caster suffix="bl" parent="base_link">
+ <origin xyz="0 0 0" rpy="0 0 0" />
+</pr2_caster>
+
+ <!-- Solid Base for visualizer -->
+ <joint name="base_joint" type="planar">
+ <parent link="world" />
+ <origin xyz="0 0 1" rpy="0 0 0" />
+ <child link="base_link" />
+ </joint>
+
+ <link name="base_link">
+ <inertial>
+ <mass value="100" />
+ <com xyz=" 0 0 0 " />
+ <inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" />
+ </inertial>
+ <visual>
+ <origin xyz="0 0 -1" rpy="0 0 0 " />
+ <map name="gazebo_material" flag="gazebo">
+ <elem key="material">Gazebo/White</elem>
+ </map>
+ <geometry name="pr2_base_mesh_file">
+ <mesh scale="20 20 0.01" />
+ </geometry>
+ </visual>
+ <collision>
+ <origin xyz="0 0 -1" rpy="0.0 0.0 0.0 " />
+ <geometry name="base_collision_geom">
+ <box size="20 20 0.01" />
+ </geometry>
+ </collision>
+ </link>
+
+
+</robot>
+
Modified: pkg/trunk/stacks/pr2/pr2_alpha/pre_ethercat_reset.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/pre_ethercat_reset.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/pre_ethercat_reset.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,6 +1,6 @@
<launch>
<!-- Uses special defs file for Alpha 2.0 hardware on PRE -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pre.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_pre.launch" />
<include file="$(find pr2_alpha)/pre.machine" />
Modified: pkg/trunk/stacks/pr2/pr2_alpha/prf_ethercat_reset.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/prf_ethercat_reset.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/prf_ethercat_reset.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,10 +1,10 @@
<launch>
<!-- Calibrated Robot -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/prf.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_prf.launch" />
<!-- Uncalibrated Robot -->
- <!-- param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" / -->
+ <!-- <include file="$(find pr2_defs)/launch/upload_pr2.launch" /> -->
<include file="$(find pr2_alpha)/prf.machine" />
Modified: pkg/trunk/stacks/pr2/pr2_alpha/prf_manip.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/prf_manip.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/prf_manip.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,5 +1,6 @@
<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <!-- <include file="$(find pr2_defs)/launch/upload_prf.launch" /> -->
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
<machine name="realtime_root" user="root" address="prf1" ros-root="$(env ROS_ROOT)" ros-package-path="$(env ROS_PACKAGE_PATH)" default="never"/>
Modified: pkg/trunk/stacks/pr2/pr2_alpha/prf_sim.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/prf_sim.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/prf_sim.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -7,7 +7,7 @@
<!-- start Gazebo -->
<include file="$(find gazebo)/launch/empty_world.launch" />
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/prf.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_prf.launch" />
<node pkg="gazebo_plugin" type="urdf2factory" args="robot_description" respawn="false" output="screen" />
Modified: pkg/trunk/stacks/pr2/pr2_alpha/prg_ethercat_reset.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/prg_ethercat_reset.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/prg_ethercat_reset.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,10 +1,10 @@
<launch>
<!-- Calibrated Robot -->
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/prg.xacro.xml'" />
+ <include file="$(find pr2_defs)/launch/upload_prg.launch" />
<!-- Uncalibrated Robot -->
- <!-- param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" / -->
+ <!-- <include file="$(find pr2_defs)/launch/upload_pr2.launch" /> -->
<include file="$(find pr2_alpha)/prg.machine" />
Modified: pkg/trunk/stacks/pr2/pr2_alpha/send_description.launch
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/send_description.launch 2009-08-20 19:49:39 UTC (rev 22456)
+++ pkg/trunk/stacks/pr2/pr2_alpha/send_description.launch 2009-08-20 19:55:09 UTC (rev 22457)
@@ -1,5 +1,6 @@
<launch>
- <param name="robot_description" command="$(find xacro)/xacro.py '$(find pr2_defs)/robots/pr2.xacro.xml'" />
+ <!-- this is deprecated, should include the file below directly -->
+ <include file="$(find pr2_defs)/launch/upload_pr2.launch" />
</launch>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <stu...@us...> - 2009-08-20 21:36:08
|
Revision: 22474
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22474&view=rev
Author: stuglaser
Date: 2009-08-20 21:35:58 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
Moving messages and services out of robot_mechanism_controllers
Modified Paths:
--------------
pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_calibration_controller.h
pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h
pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h
pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_position_controller.h
pkg/trunk/demos/plug_in/plug_in.py
pkg/trunk/highlevel/plugs/plugs_core/include/plugs_core/action_localize_plug_in_gripper.h
pkg/trunk/highlevel/plugs/plugs_core/src/action_localize_plug_in_gripper.cpp
pkg/trunk/pr2/tune_joints/plot_step.py
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/cartesian_hybrid_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/caster_calibration_controller_effort.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_autotuner.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_blind_calibration_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_chain_constraint_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/laser_scanner_qualification.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/probe.h
pkg/trunk/sandbox/experimental_controllers/src/cartesian_hybrid_controller.cpp
pkg/trunk/sandbox/experimental_controllers/src/caster_calibration_controller_effort.cpp
pkg/trunk/sandbox/experimental_controllers/src/joint_autotuner.cpp
pkg/trunk/sandbox/experimental_controllers/src/joint_blind_calibration_controller.cpp
pkg/trunk/sandbox/experimental_controllers/src/joint_chain_constraint_controller.cpp
pkg/trunk/sandbox/experimental_controllers/src/laser_scanner_qualification.cpp
pkg/trunk/sandbox/experimental_controllers/src/probe.cpp
Added Paths:
-----------
pkg/trunk/sandbox/experimental_controllers/msg/JointConstraint.msg
pkg/trunk/sandbox/experimental_controllers/msg/JointTuningMsg.msg
pkg/trunk/sandbox/experimental_controllers/scripts/
pkg/trunk/sandbox/experimental_controllers/scripts/add_constraint.py
pkg/trunk/sandbox/experimental_controllers/srv/
pkg/trunk/sandbox/experimental_controllers/srv/CalibrateJoint.srv
pkg/trunk/sandbox/experimental_controllers/srv/ChangeConstraints.srv
pkg/trunk/sandbox/experimental_controllers/srv/GetActual.srv
pkg/trunk/sandbox/experimental_controllers/srv/SetCommand.srv
pkg/trunk/sandbox/experimental_controllers/srv/SetPoseStamped.srv
Removed Paths:
-------------
pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/plug_controller.h
pkg/trunk/controllers/robot_mechanism_controllers/msg/JointConstraint.msg
pkg/trunk/controllers/robot_mechanism_controllers/msg/JointTuningMsg.msg
pkg/trunk/controllers/robot_mechanism_controllers/msg/SingleJointPosCmd.msg
pkg/trunk/controllers/robot_mechanism_controllers/scripts/add_constraint.py
pkg/trunk/controllers/robot_mechanism_controllers/srv/BeginJointSineSweep.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/CalibrateJoint.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/ChangeConstraints.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/GetActual.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPDActual.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPosition.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/SetCommand.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPoseStamped.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPosition.srv
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_calibration_controller.h
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_calibration_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_calibration_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -38,7 +38,6 @@
#include "pr2_mechanism_controllers/caster_controller.h"
#include "realtime_tools/realtime_publisher.h"
#include "std_msgs/Empty.h"
-#include <robot_mechanism_controllers/CalibrateJoint.h>
namespace controller {
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -52,8 +52,6 @@
#include <pr2_msgs/LaserTrajCmd.h>
// Services
-#include <robot_mechanism_controllers/SetCommand.h>
-#include <robot_mechanism_controllers/GetCommand.h>
#include <pr2_mechanism_controllers/SetProfile.h>
#include <pr2_srvs/SetPeriodicCmd.h>
#include <pr2_srvs/SetLaserTrajCmd.h>
Modified: pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -60,7 +60,6 @@
// Services
#include <robot_mechanism_controllers/SetPDCommand.h>
-#include <robot_mechanism_controllers/GetPDActual.h>
#include <robot_mechanism_controllers/GetPDCommand.h>
#include <deprecated_msgs/JointCmd.h>
Modified: pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_position_controller.h
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_position_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_position_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -63,14 +63,10 @@
#include <controller_interface/controller.h>
#include <control_toolbox/pid.h>
#include "control_toolbox/pid_gains_setter.h"
+#include <realtime_tools/realtime_publisher.h>
-// Services
#include <std_msgs/Float64.h>
-
-//Realtime publisher
#include <robot_mechanism_controllers/JointControllerState.h>
-#include <robot_mechanism_controllers/JointTuningMsg.h>
-#include <realtime_tools/realtime_publisher.h>
namespace controller
{
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/plug_controller.h
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/plug_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/plug_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Author: Melonee Wise
- */
-
-#ifndef PLUG_CONTROLLER_H
-#define PLUG_CONTROLLER_H
-
-#include <vector>
-#include "boost/scoped_ptr.hpp"
-#include "mechanism_model/chain.h"
-#include "kdl/chain.hpp"
-#include "kdl/frames.hpp"
-#include "kdl/chainfksolver.hpp"
-#include "ros/node.h"
-#include "geometry_msgs/Wrench.h"
-#include "geometry_msgs/PoseStamped.h"
-#include "geometry_msgs/Transform.h"
-#include "robot_mechanism_controllers/PlugInternalState.h"
-#include "robot_mechanism_controllers/SetPoseStamped.h"
-#include "control_toolbox/pid.h"
-#include "misc_utils/subscription_guard.h"
-#include "controller_interface/controller.h"
-#include "tf/transform_datatypes.h"
-#include "tf/transform_listener.h"
-#include "misc_utils/advertised_service_guard.h"
-#include "realtime_tools/realtime_publisher.h"
-
-#include "Eigen/Geometry"
-#include "Eigen/LU"
-#include "Eigen/Core"
-
-#include <visualization_msgs/Marker.h>
-
-
-namespace controller {
-
-class PlugController : public Controller
-{
-public:
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
- PlugController();
- ~PlugController();
-
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
- void update();
- void computeConstraintJacobian();
- void computeConstraintNullSpace();
-
- void setToolOffset(const tf::Transform &);
-
- std::string root_name_;
-
- // input of the controller
- KDL::Wrench wrench_desi_;
- Eigen::Matrix<float,6,1> task_wrench_;
- Eigen::Vector3f outlet_pt_;
- Eigen::Vector3f outlet_norm_; // this must be normalized
-
- KDL::Frame endeffector_frame_;
- KDL::Frame desired_frame_;
-
- mechanism::Chain chain_;
- KDL::Chain kdl_chain_;
-
- double dist_to_line_;
- double f_r_;
- double f_roll_;
- double f_pitch_;
- double f_yaw_;
- KDL::Twist pose_error_;
-
-private:
-
- mechanism::RobotState *robot_;
- std::string controller_name_;
- boost::scoped_ptr<KDL::ChainJntToJacSolver> jnt_to_jac_solver_;
- boost::scoped_ptr<KDL::ChainFkSolverPos> jnt_to_pose_solver_;
-
- // to get joint positions, velocities, and to set joint torques
- Eigen::Matrix<float,6,5> constraint_jac_;
- Eigen::Matrix<float,6,1> constraint_wrench_;
- Eigen::Matrix<float,5,1> constraint_force_;
- // joint constraint
- Eigen::MatrixXf joint_constraint_force_;
- Eigen::MatrixXf joint_constraint_jac_;
- Eigen::MatrixXf joint_constraint_null_space_;
-
- Eigen::MatrixXf task_jac_;
- Eigen::MatrixXf identity_;
- Eigen::MatrixXf identity_joint_;
- Eigen::MatrixXf constraint_null_space_;
- Eigen::MatrixXf constraint_torq_;
- Eigen::MatrixXf joint_constraint_torq_;
- Eigen::MatrixXf task_torq_;
-
- // some parameters to define the constraint
-
- double upper_arm_limit;
- double upper_arm_dead_zone;
- double f_r_max;
- double f_pose_max;
- double f_limit_max;
- double last_time_;
- bool initialized_;
-
-
-
-
- control_toolbox::Pid roll_pid_; /**< Internal PID controller. */
- control_toolbox::Pid pitch_pid_; /**< Internal PID controller. */
- control_toolbox::Pid yaw_pid_; /**< Internal PID controller. */
- control_toolbox::Pid line_pid_; /**< Internal PID controller. */
-};
-
-
-class PlugControllerNode : public Controller
-{
- public:
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
-
- PlugControllerNode();
- ~PlugControllerNode();
-
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
- void update();
- void command();
- void outletPose();
-
- bool setToolFrame(robot_mechanism_controllers::SetPoseStamped::Request &req,
- robot_mechanism_controllers::SetPoseStamped::Response &resp);
-
- private:
- std::string topic_;
- ros::Node *node_;
- PlugController controller_;
- SubscriptionGuard guard_command_;
- SubscriptionGuard guard_outlet_pose_;
- AdvertisedServiceGuard guard_set_tool_frame_;
-
- geometry_msgs::Wrench wrench_msg_;
- geometry_msgs::PoseStamped outlet_pose_msg_;
- unsigned int loop_count_;
-
- tf::TransformListener TF; /**< The transform for converting from point to head and tilt frames. */
- realtime_tools::RealtimePublisher <geometry_msgs::Transform>* current_frame_publisher_;
- realtime_tools::RealtimePublisher <robot_mechanism_controllers::PlugInternalState>* internal_state_publisher_;
-
-};
-
-} // namespace
-
-
-#endif
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/msg/JointConstraint.msg
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/msg/JointConstraint.msg 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/msg/JointConstraint.msg 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,10 +0,0 @@
-string id
-string joint_name
-float64 threshold_start
-float64 nullspace_start
-float64 max_constraint_torque
-float64 p
-float64 i
-float64 d
-float64 i_clamp
-byte remove
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/msg/JointTuningMsg.msg
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/msg/JointTuningMsg.msg 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/msg/JointTuningMsg.msg 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,7 +0,0 @@
-float64 set_point
-float64 position
-float64 velocity
-float64 torque
-float64 torque_measured
-float64 time_step
-int32 count
\ No newline at end of file
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/msg/SingleJointPosCmd.msg
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/msg/SingleJointPosCmd.msg 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/msg/SingleJointPosCmd.msg 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,3 +0,0 @@
-float64 position
-float64 margin
-float64 timeout
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/scripts/add_constraint.py
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/scripts/add_constraint.py 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/scripts/add_constraint.py 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,29 +0,0 @@
-#! /usr/bin/env python
-
-import roslib
-roslib.load_manifest('robot_mechanism_controllers')
-
-import rospy, sys
-from robot_mechanism_controllers.srv import *
-from robot_mechanism_controllers.msg import *
-
-
-def print_usage(exit_code = 0):
- print '''Commands:
- <name> <args> - Create filter with name and args
- usage: filter_coeff_client butter 2 .1
- usage: filter_coeff_client butter 2 .1 high
-
-'''
- sys.exit(exit_code)
-
-if __name__ == '__main__':
- if len(sys.argv) == 1:
- print_usage()
- else: # Call the service
- rospy.wait_for_service('/arm_constraint/add_constraints')
- s = rospy.ServiceProxy('/arm_constraint/add_constraints', ChangeConstraints )
- # params: constraint_id, joint, start force, start nulspace, max force, p, i, d, i_clamp, not_used_param
- resp = s.call(ChangeConstraintsRequest(JointConstraint('upper_arm', 'r_upper_arm_roll_joint', 0, -0.4, 300, 100, 0, 0, 0, 0)))
- print "resp="+ str(resp.add_ok)
-
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/BeginJointSineSweep.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/BeginJointSineSweep.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/BeginJointSineSweep.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,5 +0,0 @@
-float64 start_frequency
-float64 end_frequency
-float64 duration
-float64 amplitude
----
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/CalibrateJoint.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/CalibrateJoint.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/CalibrateJoint.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,2 +0,0 @@
----
-float64 offset
\ No newline at end of file
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/ChangeConstraints.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/ChangeConstraints.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/ChangeConstraints.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,4 +0,0 @@
-robot_mechanism_controllers/JointConstraint constraint
----
-uint8 add_ok
-
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/GetActual.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/GetActual.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/GetActual.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,3 +0,0 @@
----
-float64 time
-float64 command
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPDActual.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPDActual.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPDActual.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,4 +0,0 @@
----
-float64 time
-float64 state
-float64 state_dot
\ No newline at end of file
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPosition.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPosition.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPosition.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,3 +0,0 @@
----
-float64 time
-float64 command
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/SetCommand.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/SetCommand.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/SetCommand.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,3 +0,0 @@
-float64 command
----
-float64 command
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPoseStamped.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPoseStamped.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPoseStamped.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,2 +0,0 @@
-geometry_msgs/PoseStamped p
----
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPosition.srv
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPosition.srv 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPosition.srv 2009-08-20 21:35:58 UTC (rev 22474)
@@ -1,4 +0,0 @@
-float64 position
----
-float64 time
-float64 command
Modified: pkg/trunk/demos/plug_in/plug_in.py
===================================================================
--- pkg/trunk/demos/plug_in/plug_in.py 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/demos/plug_in/plug_in.py 2009-08-20 21:35:58 UTC (rev 22474)
@@ -34,7 +34,7 @@
roslib.load_manifest('plug_in')
import rospy
from geometry.msg import PoseStamped
-from robot_mechanism_controllers.srv import SetPoseStamped
+from experimental_controllers.srv import SetPoseStamped
CONTROLLER = 'arm_constraint'
Modified: pkg/trunk/highlevel/plugs/plugs_core/include/plugs_core/action_localize_plug_in_gripper.h
===================================================================
--- pkg/trunk/highlevel/plugs/plugs_core/include/plugs_core/action_localize_plug_in_gripper.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/highlevel/plugs/plugs_core/include/plugs_core/action_localize_plug_in_gripper.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -48,7 +48,7 @@
// Srvs
#include <deprecated_srvs/MoveToPose.h>
-#include "robot_mechanism_controllers/SetPoseStamped.h"
+#include "experimental_controllers/SetPoseStamped.h"
//TF
#include <tf/tf.h>
#include <tf/transform_listener.h>
Modified: pkg/trunk/highlevel/plugs/plugs_core/src/action_localize_plug_in_gripper.cpp
===================================================================
--- pkg/trunk/highlevel/plugs/plugs_core/src/action_localize_plug_in_gripper.cpp 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/highlevel/plugs/plugs_core/src/action_localize_plug_in_gripper.cpp 2009-08-20 21:35:58 UTC (rev 22474)
@@ -204,9 +204,9 @@
node_.unsubscribe("/plug_detector/plug_pose");
return;
}
- robot_mechanism_controllers::SetPoseStamped::Request req_tool;
+ experimental_controllers::SetPoseStamped::Request req_tool;
req_tool.p = plug_pose_msg_;
- robot_mechanism_controllers::SetPoseStamped::Response res_tool;
+ experimental_controllers::SetPoseStamped::Response res_tool;
if (!ros::service::call(servoing_controller_ + "/set_tool_frame", req_tool, res_tool))
{
ROS_ERROR("%s: Failed to set tool frame.", action_name_.c_str());
Modified: pkg/trunk/pr2/tune_joints/plot_step.py
===================================================================
--- pkg/trunk/pr2/tune_joints/plot_step.py 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/pr2/tune_joints/plot_step.py 2009-08-20 21:35:58 UTC (rev 22474)
@@ -3,7 +3,7 @@
import roslib; roslib.load_manifest("tune_joints")
import rospy
from std_msgs.msg import Float64
-from robot_mechanism_controllers.msg import JointTuningMsg
+from experimental_controllers.msg import JointTuningMsg
import sys
import time
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/cartesian_hybrid_controller.h
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/cartesian_hybrid_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/cartesian_hybrid_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -43,7 +43,7 @@
#include "filters/filter_chain.h"
#include "control_toolbox/pid_gains_setter.h"
-#include "robot_mechanism_controllers/SetPoseStamped.h"
+#include "experimental_controllers/SetPoseStamped.h"
#include "manipulation_msgs/TaskFrameFormalism.h"
#include "experimental_controllers/CartesianHybridState.h"
@@ -113,8 +113,8 @@
void command(const tf::MessageNotifier<manipulation_msgs::TaskFrameFormalism>::MessagePtr& tff_msg);
- bool setToolFrame(robot_mechanism_controllers::SetPoseStamped::Request &req,
- robot_mechanism_controllers::SetPoseStamped::Response &resp);
+ bool setToolFrame(experimental_controllers::SetPoseStamped::Request &req,
+ experimental_controllers::SetPoseStamped::Response &resp);
private:
ros::NodeHandle node_;
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/caster_calibration_controller_effort.h
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/caster_calibration_controller_effort.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/caster_calibration_controller_effort.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -37,7 +37,7 @@
#include "experimental_controllers/caster_controller_effort.h"
#include "realtime_tools/realtime_publisher.h"
#include "std_msgs/Empty.h"
-#include <robot_mechanism_controllers/CalibrateJoint.h>
+#include <experimental_controllers/CalibrateJoint.h>
namespace controller {
@@ -88,8 +88,8 @@
bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
- bool calibrateCommand(robot_mechanism_controllers::CalibrateJoint::Request &req,
- robot_mechanism_controllers::CalibrateJoint::Response &resp);
+ bool calibrateCommand(experimental_controllers::CalibrateJoint::Request &req,
+ experimental_controllers::CalibrateJoint::Response &resp);
private:
mechanism::RobotState *robot_;
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_autotuner.h
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_autotuner.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_autotuner.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -50,8 +50,8 @@
#include <control_toolbox/pid.h>
// Services
-#include <robot_mechanism_controllers/SetCommand.h>
-#include <robot_mechanism_controllers/GetActual.h>
+#include <experimental_controllers/SetCommand.h>
+#include <experimental_controllers/GetActual.h>
namespace controller
{
@@ -182,11 +182,11 @@
bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
// Services
- bool setCommand(robot_mechanism_controllers::SetCommand::Request &req,
- robot_mechanism_controllers::SetCommand::Response &resp);
+ bool setCommand(experimental_controllers::SetCommand::Request &req,
+ experimental_controllers::SetCommand::Response &resp);
- bool getActual(robot_mechanism_controllers::GetActual::Request &req,
- robot_mechanism_controllers::GetActual::Response &resp);
+ bool getActual(experimental_controllers::GetActual::Request &req,
+ experimental_controllers::GetActual::Response &resp);
private:
JointAutotuner *c_;
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_blind_calibration_controller.h
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_blind_calibration_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_blind_calibration_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -61,7 +61,7 @@
#include "misc_utils/advertised_service_guard.h"
// Services
-#include <robot_mechanism_controllers/CalibrateJoint.h>
+#include <experimental_controllers/CalibrateJoint.h>
namespace controller
@@ -144,8 +144,8 @@
bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
// Services
- bool calibrateCommand(robot_mechanism_controllers::CalibrateJoint::Request &req,
- robot_mechanism_controllers::CalibrateJoint::Response &resp);
+ bool calibrateCommand(experimental_controllers::CalibrateJoint::Request &req,
+ experimental_controllers::CalibrateJoint::Response &resp);
private:
JointBlindCalibrationController *c_;
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_chain_constraint_controller.h
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_chain_constraint_controller.h 2009-08-20 21:27:44 UTC (rev 22473)
+++ pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_chain_constraint_controller.h 2009-08-20 21:35:58 UTC (rev 22474)
@@ -60,8 +60,8 @@
#include "ros/node.h"
#include "control_toolbox/pid.h"
#include "geometry_msgs/Wrench.h"
-#include "robot_mechanism_controllers/ChangeConstraints.h"
-#include "robot_mechanism_controllers/JointConstraint.h"
+#include "experimental_controllers/ChangeConstraints.h"
+#include "experimental_controllers/JointConstraint.h"
#include "controller_interface/controller.h"
#include "mechanism_model/chain.h"
@@ -119,8 +119,8 @@
void computeConstraintTorques();
void computeConstraintJacobian();
void computeConstraintNullSpace();
- bool addConstraint(robot_mechanism_controllers::ChangeConstraints::Request &req,
- robot_mechanism_controllers::ChangeConstraints::Response &resp);
+ bool addConstraint(experimental_controllers::ChangeConstraints::Request &req,
+ experimental_controllers::ChangeConstraints::Response &resp);
ros::Node* node_;
Eigen::Matrix<float,6,1> task_wrench_;
Modified: pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/laser_scanner_qualification.h
===================================================================
--- pkg/trunk/s...
[truncated message content] |
|
From: <vij...@us...> - 2009-08-20 23:00:39
|
Revision: 22483
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22483&view=rev
Author: vijaypradeep
Date: 2009-08-20 23:00:29 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
Renaming SingleGoalActionServer to SimpleActionServer
Modified Paths:
--------------
pkg/trunk/calibration/sandbox/pr2_calibration_actions/src/capture_robot_pixels_action_server.cpp
pkg/trunk/highlevel/move_arm/src/actuate_gripper_action.cpp
pkg/trunk/highlevel/move_arm/src/move_arm_action.cpp
pkg/trunk/stacks/common/actionlib_tutorials/simple_action_servers/averaging_action.cpp
pkg/trunk/stacks/common/actionlib_tutorials/simple_action_servers/configurable_fibonacci_action.cpp
pkg/trunk/stacks/common/actionlib_tutorials/simple_action_servers/configureable_fibonacci_action.cpp
pkg/trunk/stacks/common/actionlib_tutorials/simple_action_servers/fibonacci_action.cpp
pkg/trunk/stacks/navigation/move_base/include/move_base/move_base.h
Added Paths:
-----------
pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server.h
pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server_imp.h
Removed Paths:
-------------
pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server.h
pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server_imp.h
Modified: pkg/trunk/calibration/sandbox/pr2_calibration_actions/src/capture_robot_pixels_action_server.cpp
===================================================================
--- pkg/trunk/calibration/sandbox/pr2_calibration_actions/src/capture_robot_pixels_action_server.cpp 2009-08-20 22:55:12 UTC (rev 22482)
+++ pkg/trunk/calibration/sandbox/pr2_calibration_actions/src/capture_robot_pixels_action_server.cpp 2009-08-20 23:00:29 UTC (rev 22483)
@@ -33,7 +33,7 @@
*********************************************************************/
#include <ros/ros.h>
-#include <actionlib/server/single_goal_action_server.h>
+#include <actionlib/server/simple_action_server.h>
#include <pr2_calibration_actions/robot_pixels_capture.h>
#include <pr2_calibration_actions/CaptureRobotPixelsAction.h>
@@ -93,7 +93,7 @@
private:
- actionlib::SingleGoalActionServer<pr2_calibration_actions::CaptureRobotPixelsAction> as_;
+ actionlib::SimpleActionServer<pr2_calibration_actions::CaptureRobotPixelsAction> as_;
boost::mutex capture_mutex_;
boost::shared_ptr<RobotPixelsCapture> capture_;
Modified: pkg/trunk/highlevel/move_arm/src/actuate_gripper_action.cpp
===================================================================
--- pkg/trunk/highlevel/move_arm/src/actuate_gripper_action.cpp 2009-08-20 22:55:12 UTC (rev 22482)
+++ pkg/trunk/highlevel/move_arm/src/actuate_gripper_action.cpp 2009-08-20 23:00:29 UTC (rev 22483)
@@ -36,7 +36,7 @@
#include <ros/ros.h>
-#include <actionlib/server/single_goal_action_server.h>
+#include <actionlib/server/simple_action_server.h>
#include <move_arm/ActuateGripperAction.h>
#include <std_msgs/Float64.h>
@@ -82,7 +82,7 @@
protected:
ros::NodeHandle nh_;
- actionlib::SingleGoalActionServer<move_arm::ActuateGripperAction> as_;
+ actionlib::SimpleActionServer<move_arm::ActuateGripperAction> as_;
ros::Publisher pub_;
};
Modified: pkg/trunk/highlevel/move_arm/src/move_arm_action.cpp
===================================================================
--- pkg/trunk/highlevel/move_arm/src/move_arm_action.cpp 2009-08-20 22:55:12 UTC (rev 22482)
+++ pkg/trunk/highlevel/move_arm/src/move_arm_action.cpp 2009-08-20 23:00:29 UTC (rev 22483)
@@ -37,7 +37,7 @@
#include "move_arm/move_arm_setup.h"
-#include <actionlib/server/single_goal_action_server.h>
+#include <actionlib/server/simple_action_server.h>
#include <move_arm/MoveArmAction.h>
#include <manipulation_msgs/JointTraj.h>
@@ -1057,7 +1057,7 @@
ros::NodeHandle nh_;
MoveArmSetup &setup_;
- actionlib::SingleGoalActionServer<MoveArmAction> as_;
+ actionlib::SimpleActionServer<MoveArmAction> as_;
planning_environment::PlanningMonitor *planningMonitor_;
tf::TransformListener *tf_;
Copied: pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server.h (from rev 22482, pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server.h)
===================================================================
--- pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server.h (rev 0)
+++ pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server.h 2009-08-20 23:00:29 UTC (rev 22483)
@@ -0,0 +1,192 @@
+/*********************************************************************
+*
+* Software License Agreement (BSD License)
+*
+* Copyright (c) 2008, Willow Garage, Inc.
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above
+* copyright notice, this list of conditions and the following
+* disclaimer in the documentation and/or other materials provided
+* with the distribution.
+* * Neither the name of Willow Garage, Inc. nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*
+* Author: Eitan Marder-Eppstein
+*********************************************************************/
+#ifndef ACTIONLIB_SIMPLE_ACTION_SERVER_H_
+#define ACTIONLIB_SIMPLE_ACTION_SERVER_H_
+
+#include <boost/thread/condition.hpp>
+#include <ros/ros.h>
+#include <actionlib/server/action_server.h>
+#include <actionlib/action_definition.h>
+
+namespace actionlib {
+ /** @class SimpleActionServer @brief The SimpleActionServer
+ * implements a singe goal policy on top of the ActionServer class. The
+ * specification of the policy is as follows: only one goal can have an
+ * active status at a time, new goals preempt previous goals based on the
+ * stamp in their GoalID field (later goals preempt earlier ones), an
+ * explicit preempt goal preempts all goals with timestamps that are less
+ * than or equal to the stamp associated with the preempt, accepting a new
+ * goal implies successful preemption of any old goal and the status of the
+ * old goal will be change automatically to reflect this.
+ */
+ template <class ActionSpec>
+ class SimpleActionServer {
+ public:
+ //generates typedefs that we'll use to make our lives easier
+ ACTION_DEFINITION(ActionSpec);
+
+ typedef typename ActionServer<ActionSpec>::GoalHandle GoalHandle;
+ typedef boost::function<void (const GoalConstPtr&)> ExecuteCallback;
+
+ /**
+ * @brief Constructor for a SimpleActionServer
+ * @param n A NodeHandle to create a namespace under
+ * @param name A name for the action server
+ * @param execute_cb Optional callback that gets called in a separate thread whenever
+ * a new goal is received, allowing users to have blocking callbacks.
+ * Adding an execute callback also deactivates the goalCallback.
+ */
+ SimpleActionServer(ros::NodeHandle n, std::string name, ExecuteCallback execute_cb = NULL);
+
+ ~SimpleActionServer();
+
+ /**
+ * @brief Accepts a new goal when one is available The status of this
+ * goal is set to active upon acceptance, and the status of any
+ * previously active goal is set to preempted. Preempts received for the
+ * new goal between checking if isNewGoalAvailable or invokation of a
+ * goal callback and the acceptNewGoal call will not trigger a preempt
+ * callback. This means, isPreemptReqauested should be called after
+ * accepting the goal even for callback-based implementations to make
+ * sure the new goal does not have a pending preempt request.
+ * @return A shared_ptr to the new goal.
+ */
+ boost::shared_ptr<const Goal> acceptNewGoal();
+
+ /**
+ * @brief Allows polling implementations to query about the availability of a new goal
+ * @return True if a new goal is available, false otherwise
+ */
+ bool isNewGoalAvailable();
+
+
+ /**
+ * @brief Allows polling implementations to query about preempt requests
+ * @return True if a preempt is requested, false otherwise
+ */
+ bool isPreemptRequested();
+
+ /**
+ * @brief Allows polling implementations to query about the status of the current goal
+ * @return True if a goal is active, false otherwise
+ */
+ bool isActive();
+
+ /**
+ * @brief Sets the status of the active goal to succeeded
+ * @param result An optional result to send back to any clients of the goal
+ */
+ void setSucceeded(const Result& result = Result());
+
+ /**
+ * @brief Sets the status of the active goal to aborted
+ * @param result An optional result to send back to any clients of the goal
+ */
+ void setAborted(const Result& result = Result());
+
+
+ /**
+ * @brief Publishes feedback for a given goal
+ * @param feedback Shared pointer to the feedback to publish
+ */
+ void publishFeedback(const FeedbackConstPtr& feedback);
+
+ /**
+ * @brief Publishes feedback for a given goal
+ * @param feedback The feedback to publish
+ */
+ void publishFeedback(const Feedback& feedback);
+
+ /**
+ * @brief Sets the status of the active goal to preempted
+ * @param result An optional result to send back to any clients of the goal
+ */
+ void setPreempted(const Result& result = Result());
+
+ /**
+ * @brief Allows users to register a callback to be invoked when a new goal is available
+ * @param cb The callback to be invoked
+ */
+ void registerGoalCallback(boost::function<void ()> cb);
+
+ /**
+ * @brief Allows users to register a callback to be invoked when a new preempt request is available
+ * @param cb The callback to be invoked
+ */
+ void registerPreemptCallback(boost::function<void ()> cb);
+
+ private:
+ /**
+ * @brief Callback for when the ActionServer receives a new goal and passes it on
+ */
+ void goalCallback(GoalHandle goal);
+
+ /**
+ * @brief Callback for when the ActionServer receives a new preempt and passes it on
+ */
+ void preemptCallback(GoalHandle preempt);
+
+ /**
+ * @brief Called from a separate thread to call blocking execute calls
+ */
+ void executeLoop();
+
+ ros::NodeHandle n_;
+
+ boost::shared_ptr<ActionServer<ActionSpec> > as_;
+
+ GoalHandle current_goal_, next_goal_;
+
+ bool new_goal_, preempt_request_, new_goal_preempt_request_;
+
+ boost::recursive_mutex lock_;
+
+ boost::function<void ()> goal_callback_;
+ boost::function<void ()> preempt_callback_;
+ ExecuteCallback execute_callback_;
+
+ boost::condition execute_condition_;
+ boost::thread* execute_thread_;
+
+ boost::mutex terminate_mutex_;
+ bool need_to_terminate_;
+ };
+};
+
+//include the implementation here
+#include <actionlib/server/simple_action_server_imp.h>
+#endif
Copied: pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server_imp.h (from rev 22482, pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server_imp.h)
===================================================================
--- pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server_imp.h (rev 0)
+++ pkg/trunk/stacks/common/actionlib/include/actionlib/server/simple_action_server_imp.h 2009-08-20 23:00:29 UTC (rev 22483)
@@ -0,0 +1,259 @@
+/*********************************************************************
+*
+* Software License Agreement (BSD License)
+*
+* Copyright (c) 2008, Willow Garage, Inc.
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above
+* copyright notice, this list of conditions and the following
+* disclaimer in the documentation and/or other materials provided
+* with the distribution.
+* * Neither the name of Willow Garage, Inc. nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*
+* Author: Eitan Marder-Eppstein
+*********************************************************************/
+
+namespace actionlib {
+ template <class ActionSpec>
+ SimpleActionServer<ActionSpec>::SimpleActionServer(ros::NodeHandle n, std::string name, ExecuteCallback execute_callback)
+ : n_(n), new_goal_(false), preempt_request_(false), new_goal_preempt_request_(false), execute_callback_(execute_callback), need_to_terminate_(false) {
+
+ //create the action server
+ as_ = boost::shared_ptr<ActionServer<ActionSpec> >(new ActionServer<ActionSpec>(n, name,
+ boost::bind(&SimpleActionServer::goalCallback, this, _1),
+ boost::bind(&SimpleActionServer::preemptCallback, this, _1)));
+
+ if (execute_callback_ != NULL)
+ {
+ execute_thread_ = new boost::thread(boost::bind(&SimpleActionServer::executeLoop, this));
+ }
+ }
+
+ template <class ActionSpec>
+ SimpleActionServer<ActionSpec>::~SimpleActionServer()
+ {
+ if (execute_callback_)
+ {
+ {
+ boost::mutex::scoped_lock terminate_lock(terminate_mutex_);
+ need_to_terminate_ = true;
+ }
+
+ assert(execute_thread_);
+ execute_thread_->join();
+ delete execute_thread_;
+ }
+ }
+
+ template <class ActionSpec>
+ boost::shared_ptr<const typename SimpleActionServer<ActionSpec>::Goal> SimpleActionServer<ActionSpec>::acceptNewGoal(){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+
+ if(!new_goal_ || !next_goal_.getGoal()){
+ ROS_ERROR("Attempting to accept the next goal when a new goal is not available");
+ return boost::shared_ptr<const Goal>();
+ }
+
+ //check if we need to send a preempted message for the goal that we're currently pursuing
+ if(isActive()
+ && current_goal_.getGoal()
+ && current_goal_ != next_goal_){
+ current_goal_.setCanceled();
+ }
+
+ ROS_DEBUG("Accepting a new goal");
+
+ //accept the next goal
+ current_goal_ = next_goal_;
+ new_goal_ = false;
+
+ //set preempt to request to equal the preempt state of the new goal
+ preempt_request_ = new_goal_preempt_request_;
+ new_goal_preempt_request_ = false;
+
+ //set the status of the current goal to be active
+ current_goal_.setAccepted();
+
+ return current_goal_.getGoal();
+ }
+
+ template <class ActionSpec>
+ bool SimpleActionServer<ActionSpec>::isNewGoalAvailable(){
+ return new_goal_;
+ }
+
+
+ template <class ActionSpec>
+ bool SimpleActionServer<ActionSpec>::isPreemptRequested(){
+ return preempt_request_;
+ }
+
+ template <class ActionSpec>
+ bool SimpleActionServer<ActionSpec>::isActive(){
+ if(!current_goal_.getGoal())
+ return false;
+ unsigned int status = current_goal_.getGoalStatus().status;
+ return status == GoalStatus::ACTIVE || status == GoalStatus::PREEMPTING;
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::setSucceeded(const Result& result){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ current_goal_.setSucceeded(result);
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::setAborted(const Result& result){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ current_goal_.setAborted(result);
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::setPreempted(const Result& result){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ ROS_DEBUG("Setting the current goal as canceled");
+ current_goal_.setCanceled(result);
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::registerGoalCallback(boost::function<void ()> cb){
+ // Cannot register a goal callback if an execute callback exists
+ if (execute_callback_)
+ ROS_WARN("Cannot call SimpleActionServer::registerGoalCallback() because an executeCallback exists. Not going to register it.");
+ else
+ goal_callback_ = cb;
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::registerPreemptCallback(boost::function<void ()> cb){
+ preempt_callback_ = cb;
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::publishFeedback(const FeedbackConstPtr& feedback)
+ {
+ current_goal_.publishFeedback(*feedback);
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::publishFeedback(const Feedback& feedback)
+ {
+ current_goal_.publishFeedback(feedback);
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::goalCallback(GoalHandle goal){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ ROS_DEBUG("A new goal has been recieved by the single goal action server");
+
+ //check that the timestamp is past that of the current goal and the next goal
+ if((!current_goal_.getGoal() || goal.getGoalID().stamp > current_goal_.getGoalID().stamp)
+ && (!next_goal_.getGoal() || goal.getGoalID().stamp > next_goal_.getGoalID().stamp)){
+
+ //if next_goal has not been accepted already... its going to get bumped, but we need to let the client know we're preempting
+ if(next_goal_.getGoal() && (!current_goal_.getGoal() || next_goal_ != current_goal_)){
+ next_goal_.setCanceled();
+ }
+
+ next_goal_ = goal;
+ new_goal_ = true;
+ new_goal_preempt_request_ = false;
+
+ //if the user has defined a goal callback, we'll call it now
+ if(goal_callback_)
+ goal_callback_();
+
+ // Trigger runLoop to call execute()
+ execute_condition_.notify_all();
+ }
+ else{
+ //the goal requested has already been preempted by a different goal, so we're not going to execute it
+ goal.setCanceled();
+ }
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::preemptCallback(GoalHandle preempt){
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ ROS_DEBUG("A preempt has been received by the SimpleActionServer");
+
+ //if the preempt is for the current goal, then we'll set the preemptRequest flag and call the user's preempt callback
+ if(preempt == current_goal_){
+ ROS_DEBUG("Setting preempt_request bit for the current goal to TRUE and invoking callback");
+ preempt_request_ = true;
+
+ //if the user has registered a preempt callback, we'll call it now
+ if(preempt_callback_)
+ preempt_callback_();
+ }
+ //if the preempt applies to the next goal, we'll set the preempt bit for that
+ else if(preempt == next_goal_){
+ ROS_DEBUG("Setting preempt request bit for the next goal to TRUE");
+ new_goal_preempt_request_ = true;
+ }
+ }
+
+ template <class ActionSpec>
+ void SimpleActionServer<ActionSpec>::executeLoop(){
+
+ ros::Duration loop_duration = ros::Duration().fromSec(.1);
+
+ while (n_.ok())
+ {
+ {
+ boost::mutex::scoped_lock terminate_lock(terminate_mutex_);
+ if (need_to_terminate_)
+ break;
+ }
+
+ boost::recursive_mutex::scoped_lock lock(lock_);
+ if (isActive())
+ ROS_ERROR("Should never reach this code with an active goal");
+ else if (isNewGoalAvailable())
+ {
+ GoalConstPtr goal = acceptNewGoal();
+
+ ROS_FATAL_COND(!execute_callback_, "execute_callback_ must exist. This is a bug in SimpleActionServer");
+
+ // Make sure we're not locked when we call execute
+ lock.unlock();
+ execute_callback_(goal);
+ lock.lock();
+
+ if (isActive())
+ {
+ ROS_WARN("Your executeCallback did not set the goal to a terminal status.\n"
+ "This is a bug in your ActionServer implementation. Fix your code!\n"
+ "For now, the ActionServer will set this goal to aborted");
+ setAborted();
+ }
+ }
+ else
+ execute_condition_.timed_wait(lock, boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));
+ }
+ }
+
+};
+
Deleted: pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server.h
===================================================================
--- pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server.h 2009-08-20 22:55:12 UTC (rev 22482)
+++ pkg/trunk/stacks/common/actionlib/include/actionlib/server/single_goal_action_server.h 2009-08-20 23:00:29 UTC (rev 22483)
@@ -1,192 +0,0 @@
-/*********************************************************************
-*
-* Software License Agreement (BSD License)
-*
-* Copyright (c) 2008, Willow Garage, Inc.
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above
-* copyright notice, this list of conditions and the following
-* disclaimer in the documentation and/or other materials provided
-* with the distribution.
-* * Neither the name of Willow Garage, Inc. nor the names of its
-* contributors may be used to endorse or promote products derived
-* from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGE.
-*
-* Author: Eitan Marder-Eppstein
-*********************************************************************/
-#ifndef ACTIONLIB_SINGLE_GOAL_ACTION_SERVER_H_
-#define ACTIONLIB_SINGLE_GOAL_ACTION_SERVER_H_
-
-#include <boost/thread/condition.hpp>
-#include <ros/ros.h>
-#include <actionlib/server/action_server.h>
-#include <actionlib/action_definition.h>
-
-namespace actionlib {
- /** @class SingleGoalActionServer @brief The SingleGoalActionServer
- * implements a singe goal policy on top of the ActionServer class. The
- * specification of the policy is as follows: only one goal can have an
- * active status at a time, new goals preempt previous goals based on the
- * stamp in their GoalID field (later goals preempt earlier ones), an
- * explicit preempt goal preempts all goals with timestamps that are less
- * than or equal to the stamp associated with the preempt, accepting a new
- * goal implies successful preemption of any old goal and the status of the
- * old goal will be change automatically to reflect this.
- */
- template <class ActionSpec>
- class SingleGoalActionServer {
- public:
- //generates typedefs that we'll use to make our lives easier
- ACTION_DEFINITION(ActionSpec);
-
- typedef typename ActionServer<ActionSpec>::GoalHandle GoalHandle;
- typedef boost::function<void (const GoalConstPtr&)> ExecuteCallback;
-
- /**
- * @brief Constructor for a SingleGoalActionServer
- * @param n A NodeHandle to create a namespace under
- * @param name A name for the action server
- * @param execute_cb Optional callback that gets called in a separate thread whenever
- * a new goal is received, allowing users to have blocking callbacks.
- * Adding an execute callback also deactivates the goalCallback.
- */
- SingleGoalActionServer(ros::NodeHandle n, std::string name, ExecuteCallback execute_cb = NULL);
-
- ~SingleGoalActionServer();
-
- /**
- * @brief Accepts a new goal when one is available The status of this
- * goal is set to active upon acceptance, and the status of any
- * previously active goal is set to preempted. Preempts received for the
- * new goal between checking if isNewGoalAvailable or invokation of a
- * goal callback and the acceptNewGoal call will not trigger a preempt
- * callback. This means, isPreemptReqauested should be called after
- * accepting the goal even for callback-based implementations to make
- * sure the new goal does not have a pending preempt request.
- * @return A shared_ptr to the new goal.
- */
- boost::shared_ptr<const Goal> acceptNewGoal();
-
- /**
- * @brief Allows polling implementations to query about the availability of a new goal
- * @return True if a new goal is available, false otherwise
- */
- bool isNewGoalAvailable();
-
-
- /**
- * @brief Allows polling implementations to query about preempt requests
- * @return True if a preempt is requested, false otherwise
- */
- bool isPreemptRequested();
-
- /**
- * @brief Allows polling implementations to query about the status of the current goal
- * @return True if a goal is active, false otherwise
- */
- bool isActive();
-
- /**
- * @brief Sets the status of the active goal to succeeded
- * @param result An optional result to send back to any clients of the goal
- */
- void setSucceeded(const Result& result = Result());
-
- /**
- * @brief Sets the status of the active goal to aborted
- * @param result An optional result to send back to any clients of the goal
- */
- void setAborted(const Result& result = Result());
-
-
- /**
- * @brief Publishes feedback for a given goal
- * @param feedback Shared pointer to the feedback to publish
- */
- void publishFeedback(const FeedbackConstPtr& feedback);
-
- /**
- * @brief Publishes feedback for a given goal
- * @param feedback The feedback to publish
- */
- void publishFeedback(const Feedback& feedback);
-
- /**
- * @brief Sets the status of the active goal to preempted
- * @param result An optional result to send back to any clients of the goal
- */
- void setPreempted(const Result& result = Result());
-
- /**
- * @brief Allows users to register a callback to be invoked when a new goal is available
- * @param cb The callback to be invoked
- */
- void registerGoalCallback(boost::function<void ()> cb);
-
- /**
- * @brief Allows users to register a callback to be invoked when a new preempt request is available
- * @param cb The callback to be invoked
- */
- void registerPreemptCallback(boost::function<void ()> cb);
-
- private:
- /**
- * @brief Callback for when the ActionServer receives a new goal and passes it on
- */
- void goalCallback(GoalHandle goal);
-
- /**
- * @brief Callback for when the ActionServer receives a new preempt and passes it on
- */
- void preemptCallback(GoalHandle preempt);
-
- /**
- * @brief Called from a separate thread to call blocking execute calls
- */...
[truncated message content] |
|
From: <ehb...@us...> - 2009-08-20 23:49:05
|
Revision: 22490
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22490&view=rev
Author: ehberger
Date: 2009-08-20 23:48:53 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
moving pr2_robot_actions out of pr2 stack
Added Paths:
-----------
pkg/trunk/sandbox/pr2_robot_actions/
Removed Paths:
-------------
pkg/trunk/stacks/pr2/pr2_robot_actions/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <stu...@us...> - 2009-08-21 00:07:48
|
Revision: 22493
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22493&view=rev
Author: stuglaser
Date: 2009-08-21 00:07:36 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Moving messages and services out of pr2_mechanism_controllers
Modified Paths:
--------------
pkg/trunk/calibration/auto_arm_commander/src/auto_arm_commander/arm_commander.py
pkg/trunk/calibration/kinematic_calibration/scripts/arm_commander_node.py
pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander.py
pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander_original.py
pkg/trunk/calibration/kinematic_calibration/src/kinematic_calibration/arm_commander.py
pkg/trunk/calibration/optical_flag_calibration/scripts/flag_tester.py
pkg/trunk/calibration/wheel_odometry_calibration/src/odom_calib.h
pkg/trunk/demos/plug_in/move_to_pickup.py
pkg/trunk/demos/tabletop_manipulation/tabletop_scripts/src/simple.cpp
pkg/trunk/highlevel/move_arm/include/move_arm/move_arm_setup.h
pkg/trunk/highlevel/move_arm/src/arm_cmd_line.cpp
pkg/trunk/highlevel/move_arm/src/move_arm_setup.cpp
pkg/trunk/highlevel/plugs/plugs_core/include/plugs_core/action_untuck_arms.h
pkg/trunk/highlevel/plugs/plugs_core/src/action_untuck_arms.cpp
pkg/trunk/highlevel/safety/safety_core/include/safety_core/action_tuck_arms.h
pkg/trunk/highlevel/safety/safety_core/src/action_tuck_arms.cpp
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/arm_trajectory_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_trajectory_controller.h
pkg/trunk/sandbox/experimental_controllers/src/arm_trajectory_controller.cpp
pkg/trunk/sandbox/experimental_controllers/src/joint_trajectory_controller.cpp
pkg/trunk/sandbox/joint_waypoint_controller/include/joint_waypoint_controller/joint_waypoint_controller.h
pkg/trunk/sandbox/joint_waypoint_controller/src/joint_waypoint_controller.cpp
Added Paths:
-----------
pkg/trunk/sandbox/experimental_controllers/msg/ControllerState.msg
pkg/trunk/sandbox/experimental_controllers/msg/JointPosCmd.msg
pkg/trunk/sandbox/experimental_controllers/srv/GetCartesianPosCmd.srv
pkg/trunk/sandbox/experimental_controllers/srv/GetJointPosCmd.srv
pkg/trunk/sandbox/experimental_controllers/srv/TrajectoryCancel.srv
pkg/trunk/sandbox/experimental_controllers/srv/TrajectoryQuery.srv
pkg/trunk/sandbox/experimental_controllers/srv/TrajectoryStart.srv
pkg/trunk/sandbox/experimental_controllers/srv/WheelRadiusMultiplier.srv
pkg/trunk/sandbox/experimental_controllers/test/test_arm_trajectory_service.cpp
pkg/trunk/sandbox/experimental_controllers/test/test_joint_trajectory_controller_srv.cpp
Removed Paths:
-------------
pkg/trunk/controllers/pr2_mechanism_controllers/msg/ControllerState.msg
pkg/trunk/controllers/pr2_mechanism_controllers/msg/JointPosCmd.msg
pkg/trunk/controllers/pr2_mechanism_controllers/msg/OdometryResiduals.msg
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetBaseCommand.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianPosCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianVelCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointGains.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointPosCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointVelCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/GraspPointSrv.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetBaseCommand.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianPosCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianVelCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointGains.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPathCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPosCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointTarget.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointVelCmd.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryCancel.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryQuery.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryStart.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryWait.srv
pkg/trunk/controllers/pr2_mechanism_controllers/srv/WheelRadiusMultiplier.srv
pkg/trunk/controllers/pr2_mechanism_controllers/test/test_arm_trajectory_service.cpp
pkg/trunk/controllers/pr2_mechanism_controllers/test/test_grasp_point_node.cpp
pkg/trunk/controllers/pr2_mechanism_controllers/test/test_joint_trajectory_controller_srv.cpp
Modified: pkg/trunk/calibration/auto_arm_commander/src/auto_arm_commander/arm_commander.py
===================================================================
--- pkg/trunk/calibration/auto_arm_commander/src/auto_arm_commander/arm_commander.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/auto_arm_commander/src/auto_arm_commander/arm_commander.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -38,8 +38,8 @@
import rospy
import sys
#from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-#from pr2_mechanism_controllers.msg import
+from experimental_controllers.srv import *
+#from experimental_controllers.msg import
from manipulation_msgs.msg import *
class ArmCommander() :
@@ -53,7 +53,7 @@
self.init_joint_headers(joint_headers_string)
self.init_joint_data(joint_data_string)
-
+
rospy.wait_for_service(arm_controller_name + '/TrajectoryQuery')
# Build service proxies for arm controller
@@ -67,7 +67,7 @@
def init_joint_headers(self, joint_headers) :
self.joint_headers = joint_headers.split()
-
+
def init_joint_data(self, joint_data) :
joint_data_all = [[float(x) for x in cur_line.split()] for cur_line in joint_data.split("\n")]
self.joint_data = [x for x in joint_data_all if len(x)==len(self.joint_headers)]
Modified: pkg/trunk/calibration/kinematic_calibration/scripts/arm_commander_node.py
===================================================================
--- pkg/trunk/calibration/kinematic_calibration/scripts/arm_commander_node.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/kinematic_calibration/scripts/arm_commander_node.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -5,8 +5,8 @@
import rospy
import sys
from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-from pr2_mechanism_controllers.msg import *
+from experimental_controllers.srv import *
+from experimental_controllers.msg import *
from mechanism_msgs import JointState, JointStates
cmd_count = 0
@@ -16,7 +16,7 @@
start_topic = callback_args[1]
head_cmd = callback_args[2]
head_pub = callback_args[3]
-
+
global cmd_count
print "Callback Called"
print " Waiting for Service:\n (%s)..." % start_topic
@@ -34,7 +34,7 @@
print " Timestamps:"
print start_resp.timestamps
- print " *** Head Command ***"
+ print " *** Head Command ***"
print head_cmd[cmd_count]
ps = JointState()
ps.name = 'head_pan_joint'
@@ -54,8 +54,8 @@
print "************"
cmd_count = cmd_count + 1
-
+
if __name__ == '__main__':
print "Running python code"
rospy.init_node('arm_commander', sys.argv, anonymous=False)
Modified: pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander.py
===================================================================
--- pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -6,8 +6,8 @@
import rospy
import sys
from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-from pr2_mechanism_controllers.msg import *
+from experimental_controllers.srv import *
+from experimental_controllers.msg import *
from mechanism_msgs.msg import MechanismState
from kinematic_calibration.msg import *
from manipulation_msgs.msg import *
Modified: pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander_original.py
===================================================================
--- pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander_original.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/kinematic_calibration/scripts/auto_arm_commander_original.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -6,8 +6,8 @@
import rospy
import sys
from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-from pr2_mechanism_controllers.msg import *
+from experimental_controllers.srv import *
+from experimental_controllers.msg import *
from mechanism_msgs.msg import MechanismState
from kinematic_calibration.msg import *
from manipulation_msgs.msg import *
Modified: pkg/trunk/calibration/kinematic_calibration/src/kinematic_calibration/arm_commander.py
===================================================================
--- pkg/trunk/calibration/kinematic_calibration/src/kinematic_calibration/arm_commander.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/kinematic_calibration/src/kinematic_calibration/arm_commander.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -38,8 +38,8 @@
import rospy
import sys
#from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-#from pr2_mechanism_controllers.msg import
+from experimental_controllers.srv import *
+#from experimental_controllers.msg import
from manipulation_msgs.msg import *
@@ -54,7 +54,7 @@
self.init_joint_headers(joint_headers_string)
self.init_joint_data(joint_data_string)
-
+
rospy.wait_for_service(arm_controller_name + '/TrajectoryQuery')
# Build service proxies for arm controller
@@ -68,7 +68,7 @@
def init_joint_headers(self, joint_headers) :
self.joint_headers = joint_headers.split()
-
+
def init_joint_data(self, joint_data) :
joint_data_all = [[float(x) for x in cur_line.split()] for cur_line in joint_data.split("\n")]
self.joint_data = [x for x in joint_data_all if len(x)==len(self.joint_headers)]
Modified: pkg/trunk/calibration/optical_flag_calibration/scripts/flag_tester.py
===================================================================
--- pkg/trunk/calibration/optical_flag_calibration/scripts/flag_tester.py 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/optical_flag_calibration/scripts/flag_tester.py 2009-08-21 00:07:36 UTC (rev 22493)
@@ -6,8 +6,8 @@
import rospy
import sys
from std_msgs.msg import Empty
-from pr2_mechanism_controllers.srv import *
-from pr2_mechanism_controllers.msg import *
+from experimental_controllers.srv import *
+from experimental_controllers.msg import *
from manipulation_msgs.msg import *
cmd_count = 0
@@ -71,7 +71,7 @@
print " Response:"
print " Traj ID: %u" % start_resp.trajectoryid
-
+
prev_id = start_resp.trajectoryid
while (not rospy.is_shutdown()) :
@@ -93,10 +93,10 @@
print "*** Arm Command 0 ***"
joint_traj = JointTraj([JointTrajPoint(arm_cmd[0],0)])
start_resp = start_srv.call(TrajectoryStartRequest(joint_traj,0,1))
-
+
print " Response:"
print " Traj ID: %u" % start_resp.trajectoryid
-
+
prev_id = start_resp.trajectoryid
#rospy.spin()
Modified: pkg/trunk/calibration/wheel_odometry_calibration/src/odom_calib.h
===================================================================
--- pkg/trunk/calibration/wheel_odometry_calibration/src/odom_calib.h 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/calibration/wheel_odometry_calibration/src/odom_calib.h 2009-08-21 00:07:36 UTC (rev 22493)
@@ -38,7 +38,7 @@
#include <ros/node.h>
#include <boost/thread/mutex.hpp>
#include <tf/tf.h>
-#include <pr2_mechanism_controllers/WheelRadiusMultiplier.h>
+#include <experimental_controllers/WheelRadiusMultiplier.h>
// messages
@@ -87,7 +87,7 @@
geometry_msgs::Twist _vel;
// service messages
- pr2_mechanism_controllers::WheelRadiusMultiplier::Request _srv_snd, _srv_rsp;
+ experimental_controllers::WheelRadiusMultiplier::Request _srv_snd, _srv_rsp;
// active sensors
bool _odom_active, _imu_active, _mech_active, _completed;
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/msg/ControllerState.msg
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/msg/ControllerState.msg 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/msg/ControllerState.msg 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-string name
-float64 update_time
-float64 max_update_time
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/msg/JointPosCmd.msg
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/msg/JointPosCmd.msg 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/msg/JointPosCmd.msg 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,4 +0,0 @@
-string[] names
-float64[] positions
-float64[] margins
-float64 timeout
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/msg/OdometryResiduals.msg
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/msg/OdometryResiduals.msg 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/msg/OdometryResiduals.msg 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-float64[] residuals
-string[] names
-float64 time
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetBaseCommand.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetBaseCommand.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetBaseCommand.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,4 +0,0 @@
----
-float64 vx
-float64 vy
-float64 vw
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianPosCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianPosCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianPosCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
----
-float64 x
-float64 y
-float64 z
-float64 roll
-float64 pitch
-float64 yaw
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianVelCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianVelCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetCartesianVelCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
----
-float64 vx
-float64 vy
-float64 vz
-float64 wx
-float64 wy
-float64 wz
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointGains.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointGains.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointGains.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,8 +0,0 @@
-string name
----
-string name
-float64 p
-float64 i
-float64 d
-float64 i_min
-float64 i_max
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointPosCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointPosCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointPosCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,2 +0,0 @@
----
-JointPosCmd command
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointVelCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointVelCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GetJointVelCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-float64[] velocity
----
-float64[] velocity
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/GraspPointSrv.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/GraspPointSrv.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/GraspPointSrv.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-geometry_msgs/PoseStamped transform
----
-manipulation_msgs/JointTraj traj
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetBaseCommand.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetBaseCommand.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetBaseCommand.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
-float64 vx
-float64 vy
-float64 vw
----
-float64 vx
-float64 vy
-float64 vw
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianPosCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianPosCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianPosCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
-float64 x
-float64 y
-float64 z
-float64 roll
-float64 pitch
-float64 yaw
----
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianVelCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianVelCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetCartesianVelCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
-float64 vx
-float64 vy
-float64 vz
-float64 wx
-float64 wy
-float64 wz
----
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointGains.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointGains.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointGains.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
-string name
-float64 p
-float64 i
-float64 d
-float64 i_min
-float64 i_max
----
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPathCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPathCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPathCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-JointPosCmd[] path
----
-float64[] end_positions
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPosCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPosCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointPosCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-float64[] positions
----
-float64[] positions
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointTarget.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointTarget.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointTarget.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-JointPosCmd[] positions
----
-float64[] end_positions
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointVelCmd.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointVelCmd.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/SetJointVelCmd.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-float64[] velocity
----
-float64[] velocity
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryCancel.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryCancel.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryCancel.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,6 +0,0 @@
-## cancels a trajectory(ies)
-
-# if 0, cancels all trajectories, otherwise cancels the trajectory with the specified id
-# if no such trajectory exists return fail
-uint32 trajectoryid
----
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryQuery.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryQuery.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryQuery.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,20 +0,0 @@
-## queries where the current trajectory is along its path
-
-# if trajectoryid is 0, returns the timestamp of the current trajectory
-# and done is filled whenever all the trajectories have been finished
-int32 trajectoryid
-int32 Query_Joint_Names=-1
----
-uint8 State_Active=0
-uint8 State_Done=1
-uint8 State_Queued=2
-uint8 State_Deleted=3
-uint8 State_Failed=4
-uint8 State_Canceled=5
-
-uint8 done # 1 if trajectory is done, 0 if ongoing, 2 if queued, 3 if deleted, 4 if failed, 5 if canceled
-
-float32 trajectorytime # the current timestamp the trajectory is at. If the trajectory is finished, specifies the total time of the trajectory
-
-string[] jointnames # names of the joints that the controller expects
-float64[] jointpositions # joint values
\ No newline at end of file
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryStart.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryStart.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryStart.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,7 +0,0 @@
-## Starts a trajectory
-manipulation_msgs/JointTraj traj
-uint8 hastiming # if 1, use timestamps of trajectory points, otherwise do internal retiming
-uint8 requesttiming # if 1, send back the timestamps for every trajectory point (first point starts at 0)
----
-uint32 trajectoryid # unique trajectory id to be used for later referencing
-float32[] timestamps # trajectory timestamps if requested
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryWait.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryWait.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/TrajectoryWait.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,8 +0,0 @@
-## waits for a trajectory to finish or times out
-
-# if 0, waits for all trajectories, otherwise waits for the trajectory with the specified id
-# if no such trajectory exists return fail, if such a trajectory exists and is done already return immediately
-uint32 trajectoryid
-float32 timeout # if 0, waits indefinitely
----
-uint8 timedout # 1 if timed out, 0 if any other error occurs
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/srv/WheelRadiusMultiplier.srv
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/srv/WheelRadiusMultiplier.srv 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/srv/WheelRadiusMultiplier.srv 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,3 +0,0 @@
-float64 radius_multiplier
----
-float64 radius_multiplier
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/test/test_arm_trajectory_service.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/test/test_arm_trajectory_service.cpp 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/test/test_arm_trajectory_service.cpp 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,127 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#include <ros/node.h>
-#include <pr2_mechanism_controllers/TrajectoryStart.h>
-#include <pr2_mechanism_controllers/TrajectoryQuery.h>
-
-static int done = 0;
-
-void finalize(int donecare)
-{
- done = 1;
-}
-
-int main( int argc, char** argv )
-{
-
- /*********** Initialize ROS ****************/
- ros::init(argc,argv);
- ros::Node *node = new ros::Node("arm_trajectory_controller_client");
-
- signal(SIGINT, finalize);
- signal(SIGQUIT, finalize);
- signal(SIGTERM, finalize);
-
- pr2_mechanism_controllers::TrajectoryStart::Request req;
- pr2_mechanism_controllers::TrajectoryStart::Response res;
-
- pr2_mechanism_controllers::TrajectoryQuery::Request req_q;
- pr2_mechanism_controllers::TrajectoryQuery::Response res_q;
-
- int num_points = 3;
- int num_joints = 7;
-
- req.traj.set_points_size(num_points);
- req.requesttiming = 1;
-
- for(int i=0; i<num_points; i++)
- req.traj.points[i].set_positions_size(num_joints);
-
-
- req.traj.points[0].positions[0] = 0.5;
- req.traj.points[0].positions[1] = 0.5;
- req.traj.points[0].positions[2] = 0.2;
- req.traj.points[0].positions[3] = -0.5;
- req.traj.points[0].positions[4] = 0.4;
- req.traj.points[0].positions[5] = 0.0;
- req.traj.points[0].positions[6] = 0.0;
- req.traj.points[0].time = 0.0;
-
- req.traj.points[1].positions[0] = 0.0;
- req.traj.points[1].positions[1] = 0.0;
- req.traj.points[1].positions[2] = 0.0;
- req.traj.points[1].positions[3] = 0.0;
- req.traj.points[1].positions[4] = 0.0;
- req.traj.points[1].positions[5] = 0.0;
- req.traj.points[1].positions[6] = 0.0;
- req.traj.points[1].time = 0.0;
-
- req.traj.points[2].positions[0] = -0.5;
- req.traj.points[2].positions[1] = 0.3;
- req.traj.points[2].positions[2] = 0.2;
- req.traj.points[2].positions[3] = -1.0;
- req.traj.points[2].positions[4] = -0.4;
- req.traj.points[2].positions[5] = 0.0;
- req.traj.points[2].positions[6] = 0.0;
- req.traj.points[2].time = 0.0;
-
-
- if (ros::service::call("right_arm_trajectory_controller/TrajectoryStart", req, res))
- {
- ROS_INFO("Done");
- }
- sleep(10);
- req_q.trajectoryid = atoi(argv[1]);
-
- if(ros::service::call("right_arm_trajectory_controller/TrajectoryQuery", req_q, res_q))
- {
- ROS_INFO("response:: %f, %d",res_q.trajectorytime,res_q.done);
- }
- else
- {
- ROS_INFO("service call failed");
- }
- sleep(4);
- if(ros::service::call("right_arm_trajectory_controller/TrajectoryQuery", req_q, res_q))
- {
- ROS_INFO("response:: %f, %d",res_q.trajectorytime,res_q.done);
- }
- else
- {
- ROS_INFO("service call failed");
- }
-
-
-}
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/test/test_grasp_point_node.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/test/test_grasp_point_node.cpp 2009-08-20 23:52:19 UTC (rev 22492)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/test/test_grasp_point_node.cpp 2009-08-21 00:07:36 UTC (rev 22493)
@@ -1,122 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
...
[truncated message content] |
|
From: <jfa...@us...> - 2009-08-21 01:43:00
|
Revision: 22517
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22517&view=rev
Author: jfaustwg
Date: 2009-08-21 01:42:48 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Move yaml-cpp to common
Added Paths:
-----------
pkg/trunk/stacks/common/yaml-cpp/
Removed Paths:
-------------
pkg/trunk/3rdparty/yaml-cpp/
Property changes on: pkg/trunk/stacks/common/yaml-cpp
___________________________________________________________________
Added: svn:mergeinfo
+ /pkg/branches/gazebo-branch-merge/3rdparty/yaml-cpp:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <stu...@us...> - 2009-08-21 01:55:01
|
Revision: 22522
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22522&view=rev
Author: stuglaser
Date: 2009-08-21 01:54:50 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Fixing the build
Modified Paths:
--------------
pkg/trunk/calibration/wheel_odometry_calibration/manifest.xml
pkg/trunk/sandbox/teleop_anti_collision/manifest.xml
Modified: pkg/trunk/calibration/wheel_odometry_calibration/manifest.xml
===================================================================
--- pkg/trunk/calibration/wheel_odometry_calibration/manifest.xml 2009-08-21 01:45:13 UTC (rev 22521)
+++ pkg/trunk/calibration/wheel_odometry_calibration/manifest.xml 2009-08-21 01:54:50 UTC (rev 22522)
@@ -16,4 +16,5 @@
<!-- controller -->
<depend package="pr2_mechanism_controllers" />
+ <depend package="experimental_controllers" />
</package>
Modified: pkg/trunk/sandbox/teleop_anti_collision/manifest.xml
===================================================================
--- pkg/trunk/sandbox/teleop_anti_collision/manifest.xml 2009-08-21 01:45:13 UTC (rev 22521)
+++ pkg/trunk/sandbox/teleop_anti_collision/manifest.xml 2009-08-21 01:54:50 UTC (rev 22522)
@@ -16,6 +16,7 @@
<depend package="nav_msgs" />
<depend package="tf" />
<depend package="trajectory" />
+ <depend package="experimental_controllers" />
<depend package="actionlib" />
<depend package="move_base_msgs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vij...@us...> - 2009-08-21 02:23:36
|
Revision: 22526
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22526&view=rev
Author: vijaypradeep
Date: 2009-08-21 02:23:13 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Moving all of calibration stack into calibration_experimental stack. Now going to slowly move bits in
Added Paths:
-----------
pkg/trunk/calibration_experimental/
pkg/trunk/calibration_experimental/CMakeLists.txt
pkg/trunk/calibration_experimental/Makefile
pkg/trunk/calibration_experimental/auto_arm_commander/
pkg/trunk/calibration_experimental/auto_arm_commander/CMakeLists.txt
pkg/trunk/calibration_experimental/auto_arm_commander/Makefile
pkg/trunk/calibration_experimental/auto_arm_commander/mainpage.dox
pkg/trunk/calibration_experimental/auto_arm_commander/manifest.xml
pkg/trunk/calibration_experimental/auto_arm_commander/src/
pkg/trunk/calibration_experimental/auto_arm_commander/src/auto_arm_commander/
pkg/trunk/calibration_experimental/auto_arm_commander/src/auto_arm_commander/__init__.py
pkg/trunk/calibration_experimental/auto_arm_commander/src/auto_arm_commander/arm_commander.py
pkg/trunk/calibration_experimental/auto_arm_commander/src/auto_arm_commander/msg_cache.py
pkg/trunk/calibration_experimental/auto_arm_commander/src/auto_arm_commander/settler.py
pkg/trunk/calibration_experimental/calibration_msgs/
pkg/trunk/calibration_experimental/calibration_msgs/CMakeLists.txt
pkg/trunk/calibration_experimental/calibration_msgs/Makefile
pkg/trunk/calibration_experimental/calibration_msgs/manifest.xml
pkg/trunk/calibration_experimental/calibration_msgs/msg/
pkg/trunk/calibration_experimental/calibration_msgs/msg/CbCamCorner.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/CbCamCorners.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/CbStereoCorners.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/DenseLaserSnapshot.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/ImagePoint.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/ImagePointStamped.msg
pkg/trunk/calibration_experimental/calibration_msgs/msg/PixelPoint.msg
pkg/trunk/calibration_experimental/camera_calibration/
pkg/trunk/calibration_experimental/camera_calibration/CMakeLists.txt
pkg/trunk/calibration_experimental/camera_calibration/Makefile
pkg/trunk/calibration_experimental/camera_calibration/include/
pkg/trunk/calibration_experimental/camera_calibration/include/camera_calibration/
pkg/trunk/calibration_experimental/camera_calibration/include/camera_calibration/calibrate.h
pkg/trunk/calibration_experimental/camera_calibration/include/camera_calibration/file_io.h
pkg/trunk/calibration_experimental/camera_calibration/include/camera_calibration/pinhole.h
pkg/trunk/calibration_experimental/camera_calibration/include/camera_calibration/stereo.h
pkg/trunk/calibration_experimental/camera_calibration/mainpage.dox
pkg/trunk/calibration_experimental/camera_calibration/manifest.xml
pkg/trunk/calibration_experimental/camera_calibration/msg/
pkg/trunk/calibration_experimental/camera_calibration/msg/CalibrationPattern.msg
pkg/trunk/calibration_experimental/camera_calibration/msg/ImagePoint.msg
pkg/trunk/calibration_experimental/camera_calibration/src/
pkg/trunk/calibration_experimental/camera_calibration/src/CMakeLists.txt
pkg/trunk/calibration_experimental/camera_calibration/src/library/
pkg/trunk/calibration_experimental/camera_calibration/src/library/CMakeLists.txt
pkg/trunk/calibration_experimental/camera_calibration/src/library/calibrate.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/library/file_io.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/library/pinhole.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/nodes/
pkg/trunk/calibration_experimental/camera_calibration/src/nodes/CMakeLists.txt
pkg/trunk/calibration_experimental/camera_calibration/src/nodes/calibration_client.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/nodes/calibration_server.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/utility/
pkg/trunk/calibration_experimental/camera_calibration/src/utility/CMakeLists.txt
pkg/trunk/calibration_experimental/camera_calibration/src/utility/batch_calibrate.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/utility/undistort.cpp
pkg/trunk/calibration_experimental/camera_calibration/src/utility/yml2ini.cpp
pkg/trunk/calibration_experimental/joint_calibration_monitor/
pkg/trunk/calibration_experimental/joint_calibration_monitor/CMakeLists.txt
pkg/trunk/calibration_experimental/joint_calibration_monitor/Makefile
pkg/trunk/calibration_experimental/joint_calibration_monitor/manifest.xml
pkg/trunk/calibration_experimental/joint_calibration_monitor/scripts/
pkg/trunk/calibration_experimental/joint_calibration_monitor/scripts/pr2_calibration_monitor_node.py
pkg/trunk/calibration_experimental/joint_calibration_monitor/src/
pkg/trunk/calibration_experimental/joint_calibration_monitor/src/joint_calibration_monitor/
pkg/trunk/calibration_experimental/joint_calibration_monitor/src/joint_calibration_monitor/__init__.py
pkg/trunk/calibration_experimental/joint_calibration_monitor/src/joint_calibration_monitor/generic_joint_monitor.py
pkg/trunk/calibration_experimental/kinematic_calibration/
pkg/trunk/calibration_experimental/kinematic_calibration/CMakeLists.txt
pkg/trunk/calibration_experimental/kinematic_calibration/Makefile
pkg/trunk/calibration_experimental/kinematic_calibration/demo/
pkg/trunk/calibration_experimental/kinematic_calibration/demo/arm_calibration.xml
pkg/trunk/calibration_experimental/kinematic_calibration/demo/arm_head_traj_controller.xml
pkg/trunk/calibration_experimental/kinematic_calibration/demo/auto_commander.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/blob_tracker.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/blob_tracker.xml
pkg/trunk/calibration_experimental/kinematic_calibration/demo/commander.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/controllers.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/cycle_calibration.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/cycle_calibration.py
pkg/trunk/calibration_experimental/kinematic_calibration/demo/grab_cb_stereo_laser_robot.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/new_commander.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/prosilica.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/videre.launch
pkg/trunk/calibration_experimental/kinematic_calibration/demo/view_cb_stereo_laser_samples.launch
pkg/trunk/calibration_experimental/kinematic_calibration/include/
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/active_link_params.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/chain_dumper.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/chain_modifier.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/jac_newmat_bridge.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/link_param_jacobian.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/link_param_jacobian_solver.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/parameter_estimator.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/unittest_io.h
pkg/trunk/calibration_experimental/kinematic_calibration/include/kinematic_calibration/unittest_verification.h
pkg/trunk/calibration_experimental/kinematic_calibration/joint_names_pr2_gazebo.xml
pkg/trunk/calibration_experimental/kinematic_calibration/manifest.xml
pkg/trunk/calibration_experimental/kinematic_calibration/msg/
pkg/trunk/calibration_experimental/kinematic_calibration/msg/CalSnapshot.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/CalibrationData.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/CalibrationData2.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/Capture.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/Interval.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/LinkParamsDH.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/RobotCal.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/SensorKinematics.msg
pkg/trunk/calibration_experimental/kinematic_calibration/msg/SensorSample.msg
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/arm_commander_node.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/auto_arm_commander.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/auto_arm_commander_original.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/build_mech_state_file.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/capture.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/goto_next.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/joy_cmd_head.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/joy_goto_next.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/new_cmd_node.py
pkg/trunk/calibration_experimental/kinematic_calibration/scripts/unpack.py
pkg/trunk/calibration_experimental/kinematic_calibration/src/
pkg/trunk/calibration_experimental/kinematic_calibration/src/add_calibration_data.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/arm_phasespace_grabber.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/chain_modifier.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/jac_newmat_bridge.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/kinematic_calibration/
pkg/trunk/calibration_experimental/kinematic_calibration/src/kinematic_calibration/arm_commander.py
pkg/trunk/calibration_experimental/kinematic_calibration/src/kinematic_calibration/image_point_stream.py
pkg/trunk/calibration_experimental/kinematic_calibration/src/kinematic_calibration/msg_cache.py
pkg/trunk/calibration_experimental/kinematic_calibration/src/kinematic_calibration/settler.py
pkg/trunk/calibration_experimental/kinematic_calibration/src/laser_head_grabber.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/link_param_jacobian.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/link_param_jacobian_solver.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/parameter_estimator.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/run_chain_dumper.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/sensor_kinematics_grabber.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/unittest_io.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/src/unittest_verification.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/test/
pkg/trunk/calibration_experimental/kinematic_calibration/test/CMakeLists.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/bridge_unittest.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/test/chain_modifier_unittest.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_rot/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy1_trans/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/easy2_trans/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard10_all/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1B_all/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/hard1_rot/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med1_rot/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/all_corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/corrections.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/model_after.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/chain_modifier_unittest/med2_all/model_before.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/eef_sensed.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/model_actual.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy1_trans/model_cad.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/eef_sensed.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/model_actual.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/easy2_rot/model_cad.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/active_params.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/eef_sensed.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/model_actual.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/estimator_marker_3d_unittest/med4_all/model_cad.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_easy/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_easy/jacobians.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_easy/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_easy/model.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_hard/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_hard/jacobians.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_hard/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/2d_hard/model.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/3d_hard/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/3d_hard/jacobians.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/3d_hard/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/3d_hard/model.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/edge_case_1/
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/edge_case_1/jacobians.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/edge_case_1/joint_states.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/data/jacobian_unittest/edge_case_1/model.txt
pkg/trunk/calibration_experimental/kinematic_calibration/test/error_vec_marker_3d_unittest.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/test/estimator_marker_3d_unittest.cpp
pkg/trunk/calibration_experimental/kinematic_calibration/test/jacobian_unittest.cpp
pkg/trunk/calibration_experimental/laser_camera_calibration/
pkg/trunk/calibration_experimental/laser_camera_calibration/gatherdata.py
pkg/trunk/calibration_experimental/laser_camera_calibration/gatherdata.ros.xml
pkg/trunk/calibration_experimental/laser_camera_calibration/mainpage.dox
pkg/trunk/calibration_experimental/laser_camera_calibration/manifest.xml
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/AxisAngleFromRotation.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/QuatFromRotationMatrix.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/RotationMatrixFromAxisAngle.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/RotationMatrixFromQuat.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/SegmentLines.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/calibratevalues.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/runcalibration.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/startgathering.m
pkg/trunk/calibration_experimental/laser_camera_calibration/octave/startup.m
pkg/trunk/calibration_experimental/laser_camera_calibration/startcalibration.ros.xml
pkg/trunk/calibration_experimental/laser_cb_processing/
pkg/trunk/calibration_experimental/laser_cb_processing/CMakeLists.txt
pkg/trunk/calibration_experimental/laser_cb_processing/Makefile
pkg/trunk/calibration_experimental/laser_cb_processing/manifest.xml
pkg/trunk/calibration_experimental/laser_cb_processing/src/
pkg/trunk/calibration_experimental/laser_cb_processing/src/laser_cb_processing.cpp
pkg/trunk/calibration_experimental/laser_cb_processing/src/pr2_tilt_laser_projector.cpp
pkg/trunk/calibration_experimental/mocap_msgs/
pkg/trunk/calibration_experimental/mocap_msgs/CMakeLists.txt
pkg/trunk/calibration_experimental/mocap_msgs/Makefile
pkg/trunk/calibration_experimental/mocap_msgs/mainpage.dox
pkg/trunk/calibration_experimental/mocap_msgs/manifest.xml
pkg/trunk/calibration_experimental/mocap_msgs/msg/
pkg/trunk/calibration_experimental/mocap_msgs/msg/MocapBody.msg
pkg/trunk/calibration_experimental/mocap_msgs/msg/MocapMarker.msg
pkg/trunk/calibration_experimental/mocap_msgs/msg/MocapSnapshot.msg
pkg/trunk/calibration_experimental/optical_flag_calibration/
pkg/trunk/calibration_experimental/optical_flag_calibration/both.launch
pkg/trunk/calibration_experimental/optical_flag_calibration/controllers.launch
pkg/trunk/calibration_experimental/optical_flag_calibration/flag_commander.launch
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_names.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_pos_elbow_flex.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_pos_forearm_roll.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_pos_shoulder_pan.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_pos_shoulder_pitch.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/joint_pos_upperarm_roll.txt
pkg/trunk/calibration_experimental/optical_flag_calibration/manifest.xml
pkg/trunk/calibration_experimental/optical_flag_calibration/scripts/
pkg/trunk/calibration_experimental/optical_flag_calibration/scripts/flag_tester.py
pkg/trunk/calibration_experimental/sandbox/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/CMakeLists.txt
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/Makefile
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/channel_tolerance.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/deflated.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/joint_states_deflater.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/sandwich.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/sandwich_elem.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/stationary_checker.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/stationary_elem.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/stationary_filter.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/include/calibration_message_filters/stationary_utils.h
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/manifest.xml
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/src/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/src/joint_states_deflater.cpp
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/src/stationary_checker.cpp
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/test/
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/test/CMakeLists.txt
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/test/joint_states_deflater_unittest.cpp
pkg/trunk/calibration_experimental/sandbox/calibration_message_filters/test/sandwich_unittest.cpp
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/CMakeLists.txt
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/Makefile
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/config/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/config/hcb.narrow_stereo_to_laser.offset
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/config/prg.narrow_stereo.offset
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/include/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/include/camera_offsetter/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/include/camera_offsetter/generic_offsetter.h
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/launch/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/launch/narrow_stereo_offsetter.launch
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/launch/narrow_stereo_offsetter_to_laser.launch
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/manifest.xml
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/src/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/src/keyboard_twist_generator.cpp
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/src/mono_offsetter.cpp
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/src/stereo_offsetter.cpp
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/test/
pkg/trunk/calibration_experimental/sandbox/camera_offsetter/test/test_stereo_offsetter.launch
pkg/trunk/calibration_experimental/sandbox/laser_head_updater/
pkg/trunk/calibration_experimental/sandbox/laser_head_updater/CMakeLists.txt
pkg/trunk/calibration_experimental/sandbox/laser_head_updater/Makefile
pkg/trunk/calibration_experimental/sandbox/laser_head_updater/manifest.xml
pkg/trunk/calibration_experimental/sandbox/laser_head_updater/src/
pkg/tr...
[truncated message content] |
|
From: <mp...@us...> - 2009-08-21 11:03:03
|
Revision: 22542
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22542&view=rev
Author: mppics
Date: 2009-08-21 11:02:45 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Updated pr2_gripper_controller and moved it into experimental_controllers. Added scripts necessary to run closed loop grasping.
Modified Paths:
--------------
pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt
pkg/trunk/sandbox/experimental_controllers/controller_plugins.xml
pkg/trunk/sandbox/experimental_controllers/src/controller_manifest.cpp
pkg/trunk/sandbox/pr2_gripper_controller/CMakeLists.txt
pkg/trunk/sandbox/pr2_gripper_controller/include/pr2_gripper_controller/pr2_gripper_controller.h
pkg/trunk/sandbox/pr2_gripper_controller/launch/gripper.launch
pkg/trunk/sandbox/pr2_gripper_controller/launch/gripper.xml
pkg/trunk/sandbox/pr2_gripper_controller/launch/gripper_cal.xml
pkg/trunk/sandbox/pr2_gripper_controller/launch/pr2_etherCAT.launch
pkg/trunk/sandbox/pr2_gripper_controller/manifest.xml
pkg/trunk/sandbox/pr2_gripper_controller/src/pr2_gripper_controller.cpp
pkg/trunk/sandbox/pr2_gripper_controller/src/teleop_gripper_keyboard.cpp
pkg/trunk/sandbox/teleop_anti_collision/launch/test_teleop_anti_collision.xml
Added Paths:
-----------
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/pr2_gripper_controller.h
pkg/trunk/sandbox/experimental_controllers/msg/GripperControllerCmd.msg
pkg/trunk/sandbox/experimental_controllers/src/pr2_gripper_controller.cpp
pkg/trunk/sandbox/experimental_controllers/srv/GraspClosedLoop.srv
pkg/trunk/sandbox/pr2_gripper_controller/scripts/
pkg/trunk/sandbox/pr2_gripper_controller/scripts/grasp_recorder.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/grasp_recorder_text.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/grasp_recorder_text_v2.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/grasp_recorder_text_v3.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/gripper_closed_loop.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/gripper_force_test.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/gripper_realtime_closed_loop.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/move_gripper.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/new_info_appender.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/stiction_test.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/stiction_test_verification.py
pkg/trunk/sandbox/pr2_gripper_controller/scripts/text_to_speech.py
Removed Paths:
-------------
pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/pr2_gripper_controller.h
pkg/trunk/controllers/pr2_mechanism_controllers/msg/GripperControllerCmd.msg
pkg/trunk/controllers/pr2_mechanism_controllers/src/pr2_gripper_controller.cpp
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/pr2_gripper_controller.h
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/pr2_gripper_controller.h 2009-08-21 07:18:26 UTC (rev 22541)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/pr2_gripper_controller.h 2009-08-21 11:02:45 UTC (rev 22542)
@@ -1,291 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2009, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-/*
- * Author: Sachin Chitta and Matthew Piccoli
- */
-
-#include <ros/node.h>
-#include <mechanism_model/robot.h>
-#include <controller_interface/controller.h>
-#include <robot_mechanism_controllers/joint_effort_controller.h>
-#include <pr2_mechanism_controllers/GripperControllerCmd.h>
-#include <pr2_msgs/GripperControllerState.h>
-#include <ethercat_hardware/PressureState.h>
-#include <realtime_tools/realtime_publisher.h>
-#include <control_toolbox/pid.h>
-#include <manipulation_srvs/GraspClosedLoop.h>
-#include <boost/thread.hpp>
-#include "ros/callback_queue.h"
-
-namespace controller
-{
- class Pr2GripperController: public Controller
- {
- public:
- enum grasp_state {unstarted, open0, close0_closing, close0_contact, open1, close1_closing, close1_contact, complete, failed};
-
- Pr2GripperController();
-
- ~Pr2GripperController();
-
- /*!
- * \brief Loads controller's information from the xml description file and param server
- * @param robot_state The robot's current state
- * @param config Tiny xml element pointing to this controller
- * @return Successful init
- */
- bool init(mechanism::RobotState *robot, const ros::NodeHandle &node);
-
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
-
- /*!
- * \brief (a) Updates commands to the gripper.
- * Called every timestep in realtime
- */
- void update();
-
- bool starting();
-
- bool stopping();
-
- double rampMove(double start_force, double end_force, double time, double hold);
-
- double stepMove(double step_size);
-
- double grasp(bool service_callback, bool closed_loop);
-
- void callbackThread();
-
- private:
-
-
- std::string name_;
-
- std::string fingertip_sensor_topic_;
-
- double default_effort_;
-
- double default_low_speed_;
-
- double default_high_speed_;
-
- ros::Subscriber cmd_sub_;
-
- ros::Subscriber pressure_sub_;
-
- ros::NodeHandle node_;
-
- ros::ServiceServer grasp_service_;
-
- void command_callback(const pr2_mechanism_controllers::GripperControllerCmdConstPtr& grasp_cmd);
-
- void pressure_state_callback(const ethercat_hardware::PressureStateConstPtr& pressure_state);
-
- bool grasp_cl_srv(manipulation_srvs::GraspClosedLoop::Request &req, manipulation_srvs::GraspClosedLoop::Response &res);
-
- pr2_mechanism_controllers::GripperControllerCmd grasp_cmd_desired_;
-
- pr2_mechanism_controllers::GripperControllerCmd grasp_cmd_;
-
- //pr2_mechanism_controllers::GripperControllerCmd grasp_cmd;
-
- ethercat_hardware::PressureState pressure_state_;
-
- //ethercat_hardware::PressureState pressure_state;
-
- /*!
- * \brief mutex lock for setting and getting commands
- */
- pthread_mutex_t pr2_gripper_controller_lock_;
-
- /*!
- * \brief true when new command received by node
- */
- bool new_cmd_available_;
-
- /*!
- * \brief timeout specifying time that the controller waits before setting the current velocity command to zero
- */
- double timeout_;
-
- /*!
- * \brief time corresponding to when update was last called
- */
- double last_time_;
-
- /*!
- * \brief timestamp remembering when the last command was received
- */
- double cmd_received_timestamp_;
-
- /*!
- * \brief amplitude in joint effort values used to break stiction
- */
- double break_stiction_amplitude_;
-
- /*!
- * \brief duration in seconds used to increment effort or period of effort's overlaid sine wave
- */
- double break_stiction_period_;
-
- /*!
- * \brief velocity at which stiction is consitered broken
- */
- double break_stiction_velocity_;
-
- /*!
- * \brief type of stiction breaking: none, sine, ramp
- */
- std::string break_stiction_type_;
-
- /*!
- * \brief last commanded command stripped of any break stiction forces
- */
- double last_commanded_command;
-
- /*!
- * \brief offset from desired value where the moveTo command goes from full force to linear
- */
- double proportional_offset_;
-
- /*!
- * \brief remembers last impact time
- */
- double grasp_impact_timestamp;
-
- /*!
- * \brief remembers last time it was commanded to close or open
- */
- ros::Time grasp_open_close_timestamp;
-
- /*!
- * \brief remembers last time it was commanded to close or open
- */
- ros::Duration timeout_duration_;
-
- /*!
- * \brief time after the object has been sqeezed that can be considered steady
- */
- ros::Duration timeout_duration_steady_;
-
- /*!
- * \brief remembers the state of the closed loop grasp
- */
- grasp_state closed_loop_grasp_state;
-
- /*!
- * \brief remembers everything about the state of the robot
- */
- mechanism::RobotState *robot_state_;
-
- /*!
- * \brief JointState for this caster joint
- */
- mechanism::JointState *joint_;
-
- JointEffortController joint_controller_;
-
- /*!
- * \brief The maximum value that can be counted as stopped for closed loop grasping
- */
- double stopped_threshold_;
-
- double parseMessage(pr2_mechanism_controllers::GripperControllerCmd desired_msg);
-
- double effortLimit(double desiredEffort);
-
- /*!
- * \brief publishes information about the caster and wheel controllers
- */
- realtime_tools::RealtimePublisher<pr2_msgs::GripperControllerState>* state_publisher_;
-
- std::vector<int> fingertip_sensor_start0_;
- std::vector<int> fingertip_sensor_start1_;
- std::vector<int> fingertip_sensor_first_peak0_;
- std::vector<int> fingertip_sensor_first_peak1_;
- std::vector<int> fingertip_sensor_first_steady0_;
- std::vector<int> fingertip_sensor_first_steady1_;
- std::vector<int> fingertip_sensor_second_peak0_;
- std::vector<int> fingertip_sensor_second_peak1_;
- std::vector<int> fingertip_sensor_second_steady0_;
- std::vector<int> fingertip_sensor_second_steady1_;
- std::vector<int> fingertip_sensor_sides_start0_;
- std::vector<int> fingertip_sensor_sides_start1_;
-
- double position_first_contact;
- double position_second_contact;
- double position_first_compression;
- double position_second_compression;
- int peak_force_first_grasp;
- int peak_force_second_grasp;
-
- double low_force_;
- double high_force_;
-
- double spring_const;
-
- int contact_threshold_;
-
- int contact_threshold_individual_;
-
- bool service_flag_;
-
- bool service_success_;
-
- /*
- * \brief remembers if the current grasp command is from a service or a topic
- */
- bool service_callback_;
-
- manipulation_srvs::GraspClosedLoop::Request service_request_;
- manipulation_srvs::GraspClosedLoop::Response service_response_;
-
- int num_pressure_pads_side_;
- int num_pressure_pads_front_;
-
- control_toolbox::Pid p_i_d_;
-
- /*
- * \brief remembers if the control scheme is velocity control or effort control
- */
- bool velocity_mode_;
-
- double last_velocity_time_;
-
- ros::CallbackQueue service_queue_;
-
- boost::thread* service_thread_;
- };
-}
-
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/msg/GripperControllerCmd.msg
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/msg/GripperControllerCmd.msg 2009-08-21 07:18:26 UTC (rev 22541)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/msg/GripperControllerCmd.msg 2009-08-21 11:02:45 UTC (rev 22542)
@@ -1,5 +0,0 @@
-string cmd
-float64 start
-float64 end
-float64 time
-float64 val
Deleted: pkg/trunk/controllers/pr2_mechanism_controllers/src/pr2_gripper_controller.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/src/pr2_gripper_controller.cpp 2009-08-21 07:18:26 UTC (rev 22541)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/src/pr2_gripper_controller.cpp 2009-08-21 11:02:45 UTC (rev 22542)
@@ -1,967 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2009, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
- /*
- * Author: Sachin Chitta and Matthew Piccoli
- */
-
-#include <pr2_mechanism_controllers/pr2_gripper_controller.h>
-#include <fstream> //TODO:now that I have something better, should I delete this?
-#define pi 3.1415926
-
-using namespace controller;
-ROS_REGISTER_CONTROLLER(Pr2GripperController)
-
-Pr2GripperController::Pr2GripperController()
-{
- state_publisher_ = NULL;
-}
-
-Pr2GripperController::~Pr2GripperController()
-{
- //TODO::delete state_publisher
- service_thread_->join();
-}
-//TODO::switch to node handles
-bool Pr2GripperController::init(mechanism::RobotState *robot_state, const ros::NodeHandle &node)
-{
- double timeout_duration_double, timeout_duration_double_steady;
- double p, i, d, i1, i2;
- pthread_mutex_init(&pr2_gripper_controller_lock_,NULL);
- node_ = node;
- grasp_cmd_.cmd = "move";
- grasp_cmd_.val = 0.0;
- new_cmd_available_ = false;
- robot_state_ = robot_state;
- //name_ = config->Attribute("name"); //"l_gripper" or "r_gripper" expected
- name_ = node.getNamespace();
-// mechanism::Link *link = robot_state_->model_->getLink(name_ + "_link");
- joint_ = robot_state->getJointState(name_ + "_joint");
- joint_controller_.init(robot_state_, name_ + "_joint");
- node_.param<double>("default_effort",default_effort_,joint_->joint_->effort_limit_);
- node_.param<double>("timeout", timeout_, 0.0);
- node_.param<double>("break_stiction_amplitude", break_stiction_amplitude_, 0.0);
- node_.param<double>("break_stiction_period", break_stiction_period_, 0.1);
- node_.param<double>("break_stiction_velocity", break_stiction_velocity_, 0.005);
- node_.param<double>("proportional_offset", proportional_offset_, 0.01);
- node_.param<double>("stopped_threshold", stopped_threshold_, 0.001);
- node_.param<double>("timeout_duration_", timeout_duration_double, 10.0);
- node_.param<double>("timeout_duration_steady", timeout_duration_double_steady, 3.0);
- node_.param<double>("low_force", low_force_, 15.0);
- node_.param<double>("high_force", high_force_, 20.0);
- node_.param<double>("vel_p", p, 15000.0);
- node_.param<double>("vel_i", i, 25.0);
- node_.param<double>("vel_d", d, 0.0);
- node_.param<double>("vel_p", i1, 100.0);
- node_.param<double>("vel_p", i2, -100.0);
- node_.param<double>("default_low_speed", default_low_speed_, 0.01);
- node_.param<double>("default_high_speed", default_high_speed_, 0.015);
- node_.param<int>("contact_threshold", contact_threshold_, 1000);
- node_.param<int>("contact_threshold_individual", contact_threshold_individual_, 100);
- node_.param<int>("num_pressure_pads_front", num_pressure_pads_front_, 15);
- node_.param<int>("num_pressure_pads_side", num_pressure_pads_side_, 7);
- node_.param<std::string>("break_stiction_type", break_stiction_type_, "none");
- node_.param<std::string>("fingertip_sensor_topic", fingertip_sensor_topic_, "/pressure/" + name_ + "_motor");
- ros::AdvertiseServiceOptions ops = ros::AdvertiseServiceOptions::create<manipulation_srvs::GraspClosedLoop>("/grasp_closed_loop", boost::bind(&Pr2GripperController::grasp_cl_srv, this, _1, _2), ros::VoidPtr(), &service_queue_);
- grasp_service_ = node_.advertiseService(ops);
- service_thread_ = new boost::thread(boost::bind(&Pr2GripperController::callbackThread, this));
- //grasp_service_ = node_.advertiseService("/grasp_closed_loop", &Pr2GripperController::grasp_cl_srv, this);
- //TODO::find out why these can only be done with node_ and not node
- cmd_sub_ = node_.subscribe<pr2_mechanism_controllers::GripperControllerCmd>("/" + name_+"_cmd", 1, &Pr2GripperController::command_callback, this);
- pressure_sub_ = node_.subscribe<ethercat_hardware::PressureState>(fingertip_sensor_topic_, 1, &Pr2GripperController::pressure_state_callback, this);
- timeout_duration_ = ros::Duration().fromSec(timeout_duration_double);
- timeout_duration_steady_ = ros::Duration().fromSec(timeout_duration_double_steady);
- if (state_publisher_ != NULL)// Make sure that we don't memory leak if initXml gets called twice
- delete state_publisher_;
- state_publisher_ = new realtime_tools::RealtimePublisher <pr2_msgs::GripperControllerState> (name_ + "/state", 1);
- pressure_state_.data0.resize(num_pressure_pads_front_+num_pressure_pads_side_);
- pressure_state_.data1.resize(num_pressure_pads_front_+num_pressure_pads_side_);
- fingertip_sensor_start0_.resize(num_pressure_pads_front_);
- fingertip_sensor_start1_.resize(num_pressure_pads_front_);
- fingertip_sensor_first_peak0_.resize(num_pressure_pads_front_);
- fingertip_sensor_first_peak1_.resize(num_pressure_pads_front_);
- fingertip_sensor_first_steady0_.resize(num_pressure_pads_front_);
- fingertip_sensor_first_steady1_.resize(num_pressure_pads_front_);
- fingertip_sensor_second_peak0_.resize(num_pressure_pads_front_);
- fingertip_sensor_second_peak1_.resize(num_pressure_pads_front_);
- fingertip_sensor_second_steady0_.resize(num_pressure_pads_front_);
- fingertip_sensor_second_steady1_.resize(num_pressure_pads_front_);
- fingertip_sensor_sides_start0_.resize(num_pressure_pads_side_);
- fingertip_sensor_sides_start1_.resize(num_pressure_pads_side_);
- p_i_d_.initPid(p,i,d,i1,i2);
- return true;
-}
-
-bool Pr2GripperController::initXml(mechanism::RobotState *robot_state, TiXmlElement *config)
-{
- return init(robot_state,ros::NodeHandle(config->Attribute("name")));
-}
-
-void Pr2GripperController::update()
-{
- //do nothing if the joint is not calibrated
- if (!joint_->calibrated_)
- {
- ROS_INFO("gripper not calibrated!");
- return; // motor's not calibrated
- }
-
- double current_time = robot_state_->hw_->current_time_;
- if(new_cmd_available_)
- {
- if(pthread_mutex_trylock(&pr2_gripper_controller_lock_) == 0) //the callback is not writing to grasp_cmd_
- {
- if(grasp_cmd_desired_.cmd.compare("Event")) //If the incoming message is an event, don't copy the command
- {
- grasp_cmd_desired_.cmd = grasp_cmd_.cmd;
- grasp_cmd_desired_.start = grasp_cmd_.start;
- grasp_cmd_desired_.end = grasp_cmd_.end;
- grasp_cmd_desired_.time = grasp_cmd_.time;
- grasp_cmd_desired_.val = grasp_cmd_.val;
- closed_loop_grasp_state = unstarted;
- //ROS_INFO("Copying command, val is %f", grasp_cmd_desired_.val);
- }
- new_cmd_available_ = false;
- pthread_mutex_unlock(&pr2_gripper_controller_lock_);
- if(grasp_cmd_desired_.cmd.compare("step") == 0) //in here because it depends on former joint_controller_.command_, can't be changing with every update
- {
- velocity_mode_ = false;
- joint_controller_.command_ = effortLimit(stepMove(grasp_cmd_desired_.val));
- last_commanded_command = joint_controller_.command_;
- }
- }
- }
-
- //check for timeout
- if((current_time - cmd_received_timestamp_) <= timeout_ || timeout_ == 0.0) //continue with what you were doing
- {
- last_commanded_command = parseMessage(grasp_cmd_desired_);
- if(!velocity_mode_)
- {
- p_i_d_.reset();
- double direction = 1.0;
- last_commanded_command = effortLimit(last_commanded_command); //set value
- if(last_commanded_command < 0.0)
- {
- direction = -1.0;
- }
- if(break_stiction_type_.compare("sine") == 0 && fabs(joint_->velocity_) < break_stiction_velocity_ && last_commanded_command != 0.0)
- {
- joint_controller_.command_ = last_commanded_command + direction*(sin(2.0*pi*(current_time - cmd_received_timestamp_)/break_stiction_period_)*break_stiction_amplitude_ + break_stiction_amplitude_);
- }
- else if(break_stiction_type_.compare("ramp") == 0 && fabs(joint_->velocity_) < break_stiction_velocity_ && last_commanded_command != 0.0)
- {
- joint_controller_.command_ = last_commanded_command + direction*rampMove(0.0, break_stiction_amplitude_, break_stiction_period_, 0.0);
- }
- else
- {
- joint_controller_.command_ = last_commanded_command;
- }
- last_velocity_time_ = 0.0;
- }
- else
- {
- if(last_velocity_time_ == 0.0) //it was just in effort mode
- {
- if(last_commanded_command >= 0.0)
- {
- p_i_d_.setCurrentCmd(low_force_);
- }
- else
- {
- p_i_d_.setCurrentCmd(-1.0*low_force_);
- }
- joint_controller_.command_ = p_i_d_.updatePid(joint_->velocity_ - last_commanded_command, 0.0);
- }
- else
- joint_controller_.command_ = p_i_d_.updatePid(joint_->velocity_ - last_commanded_command, current_time - last_time_);
- last_velocity_time_ = current_time;
- }
-
- joint_controller_.update(); //update value
- }
- else //if timed out, don't do anything
- {
- //stop motor
- //set value
- joint_controller_.command_ = 0.0;
- last_commanded_command = 0.0;
- //update value
- joint_controller_.update();
- }
-
- //Publish state
- if(state_publisher_->trylock())
- {
- state_publisher_->msg_.joint_commanded_effort = joint_->commanded_effort_;
- state_publisher_->msg_.joint_applied_effort = joint_->applied_effort_;
- state_publisher_->msg_.joint_name = joint_->joint_->name_;
- state_publisher_->msg_.joint_velocity = joint_->velocity_;
- state_publisher_->msg_.joint_position = joint_->position_;
- state_publisher_->unlockAndPublish() ;
- }
- last_time_ = current_time;
-}
-
-bool Pr2GripperController::starting()
-{
- last_time_ = robot_state_->hw_->current_time_;
- cmd_received_timestamp_ = robot_state_->hw_->current_time_;
- return true;
-}
-
-bool Pr2GripperController::stopping()
-{
- if(state_publisher_)
- {
- state_publisher_->stop();
- delete state_publisher_;
- }
- return true;
-}
-
-double Pr2GripperController::rampMove(double start_force, double end_force, double time, double hold)
-{
- double del_force = end_force - start_force;
- double del_time = robot_state_->hw_->current_time_ - cmd_received_timestamp_;
- if(del_time > time)
- return hold;
- return start_force + del_time/time*del_force;
-}
-
-double Pr2GripperController::stepMove(double step_size)
-{
- return last_commanded_command + step_size;
-}
-
-double Pr2GripperController::grasp(bool service_callback, bool closed_loop)
-{
- //starting grasp
- if(closed_loop_grasp_state == unstarted)
- {
- //reset variables
- for(int i = 0; i < num_pressure_pads_front_; i++)
- {
- fingertip_sensor_start0_[i]=0;
- fingertip_sensor_start1_[i]=0;
- fingertip_sensor_first_peak0_[i]=0;
- fingertip_sensor_first_peak1_[i]=0;
- fingertip_sensor_first_steady0_[i]=0;
- fingertip_sensor_first_steady1_[i]=0;
- fingertip_sensor_second_peak0_[i]=0;
- fingertip_sensor_second_peak1_[i]=0;
- fingertip_sensor_second_steady0_[i]=0;
- fingertip_sensor_second_steady1_[i]=0;
- }
- //remember values from edges of fingertips
- for(int i = 0; i < num_pressure_pads_side_; i++)
- {
- fingertip_sensor_sides_start0_[i] = 0;
- fingertip_sensor_sides_start1_[i] = 0;
- }
- position_first_contact=-1;
- position_second_contact=-1;
- position_first_compression=-1;
- position_second_compression=-1;
- spring_const=-1;
- peak_force_first_grasp = 0;
- peak_force_second_grasp = 0;
- grasp_open_close_timestamp = ros::Time::now();
- closed_loop_grasp_state = open0;
- velocity_mode_ = false;
- return default_effort_;
- }
-
- //open
- else if(closed_loop_grasp_state == open0)
- {
- //check for any timeouts
- if(grasp_open_close_timestamp + timeout_duration_ < ros::Time::now())
- {
- ROS_WARN("grasp failed due to a timeout");
- closed_loop_grasp_state = failed;
- //report that there was a failure
- if(service_callback)
- {
- service_response_.result = 1;
- service_response_.distance = joint_->position_;
- service_response_.effort = default_effort_;
- service_response_.stiffness = -1.0;
- service_response_.force_peak0 = -1.0;
- service_response_.force_steady0 = -1.0;
- service_response_.force_peak1 = -1.0;
- service_response_.force_steady1 = -1.0;
- service_response_.distance_compressed_first = -1.0;
- service_response_.distance_compressed_second = -1.0;
- }
- velocity_mode_ = false;
- return default_effort_;
- }
- //if the gripper is done opening
- else if(joint_->velocity_ < stopped_threshold_ && grasp_open_close_timestamp.toSec() + .1 < ros::Time::now().toSec())
- {
- //read the gripper pads to zero them
- for(int i = 0; i < num_pressure_pads_front_; i++) //the front pads are 7-21
- {
- fingertip_sensor_start0_[i] = pressure_state_.data0[i+num_pressure_pads_side_];
- fingertip_sensor_start1_[i] = pressure_state_.data1[i+num_pressure_pads_side_];
- }
- for(int i = 0; i < num_pressure_pads_side_; i++)
- {
- fingertip_sensor_sides_start0_[i] = pressure_state_.data0[i];
- fingertip_sensor_sides_start1_[i] = pressure_state_.data1[i];
- }
- //chage state
- closed_loop_grasp_state = close0_closing;
- grasp_open_close_timestamp = ros::Time::now();
- velocity_mode_ = true;
- return -1.0*default_low_speed_;
- }
- else
- {
- velocity_mode_ = false;
- return default_effort_;
- }
- }
-
- //close with low force
- else if(closed_loop_grasp_state == close0_closing)
- {
- int starting_force_sum0 = 0;
- int current_force_sum0 = 0;
- int starting_force_sum1 = 0;
- int current_force_sum1 = 0;
- for(int i = 0; i < num_pressure_pads_front_; i++)
- {
- current_force_sum0 += pressure_state_.data0[i+num_pressure_pads_side_];
- current_force_sum1 += pressure_state_.data1[i+num_pressure_pads_side_];
- starting_force_sum0 += fingertip_sensor_start0_[i];
- starting_force_sum1 += fingertip_sensor_start1_[i];
- }
- //break if there is contact on edges of fingertips before first contact (cl only)
- if(closed_loop)
- {
- for(int i = 0; i < num_pressure_pads_side_; i++)
- {
- if(pressure_state_.data0[i] - fingertip_sensor_sides_start0_[i] > contact_threshold_individual_ || pressure_state_.data1[i] - fingertip_sensor_sides_start1_[i] > contact_threshold_individual_)
- {
- ROS_WARN("grasp failed due to impact on the fingertip sides");
- closed_loop_grasp_state = failed;
- //report that there was a failure
- if(service_callback)
- {
- service_response_.result = 2;
- service_response_.distance = joint_->position_;
- service_response_.effort = default_effort_;
- for(int j = 0; j < num_pressure_pads_side_; j++)
- {
- service_response_.fingertip_profile0[j] = pressure_state_.data0[j] - fingertip_sensor_sides_start0_[j];
- servic...
[truncated message content] |
|
From: <ehb...@us...> - 2009-08-21 16:04:06
|
Revision: 22546
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22546&view=rev
Author: ehberger
Date: 2009-08-21 16:03:38 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
moving pr2_srvs into pr2_msgs
Modified Paths:
--------------
pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h
pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml
pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_laser_traj_cmd_ms2.py
pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_periodic_cmd_srv.py
pkg/trunk/controllers/pr2_mechanism_controllers/src/laser_scanner_traj_controller.cpp
pkg/trunk/highlevel/safety/safety_core/include/safety_core/action_detect_plug_on_base.h
pkg/trunk/highlevel/safety/safety_core/manifest.xml
pkg/trunk/sandbox/pr2_robot_actions/manifest.xml
pkg/trunk/sandbox/pr2_robot_actions/src/set_laser_tilt.cpp
pkg/trunk/stacks/laser_drivers/point_cloud_assembler/manifest.xml
pkg/trunk/stacks/laser_drivers/point_cloud_assembler/src/point_cloud_srv.cpp
pkg/trunk/stacks/pr2_common/pr2_msgs/CMakeLists.txt
pkg/trunk/stacks/pr2_common/pr2_msgs/manifest.xml
Added Paths:
-----------
pkg/trunk/stacks/pr2_common/pr2_msgs/srv/
Removed Paths:
-------------
pkg/trunk/stacks/pr2_common/pr2_srvs/
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/laser_scanner_traj_controller.h 2009-08-21 16:03:38 UTC (rev 22546)
@@ -53,8 +53,8 @@
// Services
#include <pr2_mechanism_controllers/SetProfile.h>
-#include <pr2_srvs/SetPeriodicCmd.h>
-#include <pr2_srvs/SetLaserTrajCmd.h>
+#include <pr2_msgs/SetPeriodicCmd.h>
+#include <pr2_msgs/SetLaserTrajCmd.h>
#include "boost/thread/mutex.hpp"
#include "trajectory/trajectory.h"
@@ -140,10 +140,10 @@
void setPeriodicCmd() ;
void setTrajCmd() ;
//void setTrackLinkCmd() ;
- bool setPeriodicSrv(pr2_srvs::SetPeriodicCmd::Request &req,
- pr2_srvs::SetPeriodicCmd::Response &res);
- bool setTrajSrv(pr2_srvs::SetLaserTrajCmd::Request &req,
- pr2_srvs::SetLaserTrajCmd::Response &res);
+ bool setPeriodicSrv(pr2_msgs::SetPeriodicCmd::Request &req,
+ pr2_msgs::SetPeriodicCmd::Response &res);
+ bool setTrajSrv(pr2_msgs::SetLaserTrajCmd::Request &req,
+ pr2_msgs::SetLaserTrajCmd::Response &res);
private:
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml 2009-08-21 16:03:38 UTC (rev 22546)
@@ -18,7 +18,6 @@
<depend package="mechanism_msgs" />
<depend package="nav_msgs" />
<depend package="pr2_msgs" />
- <depend package="pr2_srvs"/>
<depend package="visualization_msgs" />
<depend package="robot_actions" />
<depend package="rosconsole" />
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_laser_traj_cmd_ms2.py
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_laser_traj_cmd_ms2.py 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_laser_traj_cmd_ms2.py 2009-08-21 16:03:38 UTC (rev 22546)
@@ -12,7 +12,7 @@
from std_msgs import *
from pr2_msgs.msg import LaserTrajCmd
-from pr2_srvs.srv import *
+from pr2_msgs.srv import *
from time import sleep
def print_usage(exit_code = 0):
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_periodic_cmd_srv.py
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_periodic_cmd_srv.py 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/scripts/send_periodic_cmd_srv.py 2009-08-21 16:03:38 UTC (rev 22546)
@@ -12,7 +12,7 @@
from std_msgs import *
from pr2_msgs.msg import PeriodicCmd
-from pr2_srvs.srv import *
+from pr2_msgs.srv import *
from time import sleep
def print_usage(exit_code = 0):
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/src/laser_scanner_traj_controller.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/src/laser_scanner_traj_controller.cpp 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/src/laser_scanner_traj_controller.cpp 2009-08-21 16:03:38 UTC (rev 22546)
@@ -536,8 +536,8 @@
}
-bool LaserScannerTrajControllerNode::setPeriodicSrv(pr2_srvs::SetPeriodicCmd::Request &req,
- pr2_srvs::SetPeriodicCmd::Response &res)
+bool LaserScannerTrajControllerNode::setPeriodicSrv(pr2_msgs::SetPeriodicCmd::Request &req,
+ pr2_msgs::SetPeriodicCmd::Response &res)
{
ROS_INFO("LaserScannerTrajControllerNode: set periodic command");
@@ -557,8 +557,8 @@
prev_profile_segment_ = -1 ;
}
-bool LaserScannerTrajControllerNode::setTrajSrv(pr2_srvs::SetLaserTrajCmd::Request &req,
- pr2_srvs::SetLaserTrajCmd::Response &res)
+bool LaserScannerTrajControllerNode::setTrajSrv(pr2_msgs::SetLaserTrajCmd::Request &req,
+ pr2_msgs::SetLaserTrajCmd::Response &res)
{
ROS_INFO("LaserScannerTrajControllerNode: set traj command");
Modified: pkg/trunk/highlevel/safety/safety_core/include/safety_core/action_detect_plug_on_base.h
===================================================================
--- pkg/trunk/highlevel/safety/safety_core/include/safety_core/action_detect_plug_on_base.h 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/highlevel/safety/safety_core/include/safety_core/action_detect_plug_on_base.h 2009-08-21 16:03:38 UTC (rev 22546)
@@ -41,7 +41,7 @@
#include <ros/node.h>
#include <plugs_msgs/PlugStow.h>
-#include <pr2_srvs/SetPeriodicCmd.h>
+#include <pr2_msgs/SetPeriodicCmd.h>
#include <std_msgs/Empty.h>
#include <robot_actions/action.h>
#include <plug_onbase_detector/plug_onbase_detector.h>
@@ -86,8 +86,8 @@
double std_y_;
double std_z_;
- pr2_srvs::SetPeriodicCmd::Request req_laser_;
- pr2_srvs::SetPeriodicCmd::Response res_laser_;
+ pr2_msgs::SetPeriodicCmd::Request req_laser_;
+ pr2_msgs::SetPeriodicCmd::Response res_laser_;
};
}
Modified: pkg/trunk/highlevel/safety/safety_core/manifest.xml
===================================================================
--- pkg/trunk/highlevel/safety/safety_core/manifest.xml 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/highlevel/safety/safety_core/manifest.xml 2009-08-21 16:03:38 UTC (rev 22546)
@@ -13,7 +13,6 @@
<depend package="pr2_robot_actions" />
<depend package="plug_onbase_detector" />
<depend package="std_msgs" />
- <depend package="pr2_srvs" />
<depend package="pr2_mechanism_controllers"/>
<depend package="experimental_controllers" />
<depend package="plugs_msgs"/>
Modified: pkg/trunk/sandbox/pr2_robot_actions/manifest.xml
===================================================================
--- pkg/trunk/sandbox/pr2_robot_actions/manifest.xml 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/sandbox/pr2_robot_actions/manifest.xml 2009-08-21 16:03:38 UTC (rev 22546)
@@ -11,7 +11,6 @@
<depend package="geometry_msgs"/>
<depend package="door_msgs"/>
<depend package="pr2_msgs"/>
- <depend package="pr2_srvs"/>
<depend package="plugs_msgs"/>
<export>
Modified: pkg/trunk/sandbox/pr2_robot_actions/src/set_laser_tilt.cpp
===================================================================
--- pkg/trunk/sandbox/pr2_robot_actions/src/set_laser_tilt.cpp 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/sandbox/pr2_robot_actions/src/set_laser_tilt.cpp 2009-08-21 16:03:38 UTC (rev 22546)
@@ -37,7 +37,7 @@
#include <robot_actions/action.h>
#include <robot_actions/action_runner.h>
#include <pr2_msgs/LaserTrajCmd.h>
-#include <pr2_srvs/SetLaserTrajCmd.h>
+#include <pr2_msgs/SetLaserTrajCmd.h>
#include <pr2_robot_actions/SetLaserTiltState.h>
#include <std_msgs/Empty.h>
#include <robot_actions/NoArgumentsActionState.h>
@@ -57,8 +57,8 @@
//first... set the hokuyo node to the desired frequency for navigation
pr2_robot_actions::setHokuyoMode("tilt_hokuyo_node", "navigate");
- pr2_srvs::SetLaserTrajCmd::Request req_laser;
- pr2_srvs::SetLaserTrajCmd::Response res_laser;
+ pr2_msgs::SetLaserTrajCmd::Request req_laser;
+ pr2_msgs::SetLaserTrajCmd::Response res_laser;
req_laser.command.profile = "linear";
req_laser.command.max_rate = 5;
req_laser.command.max_accel = 5;
Modified: pkg/trunk/stacks/laser_drivers/point_cloud_assembler/manifest.xml
===================================================================
--- pkg/trunk/stacks/laser_drivers/point_cloud_assembler/manifest.xml 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/stacks/laser_drivers/point_cloud_assembler/manifest.xml 2009-08-21 16:03:38 UTC (rev 22546)
@@ -12,7 +12,6 @@
<depend package="laser_scan"/>
<depend package="sensor_msgs"/>
<depend package="tf"/>
- <depend package="pr2_srvs"/>
<depend package="pr2_msgs"/>
# For Testing
<depend package="rostest"/>
Modified: pkg/trunk/stacks/laser_drivers/point_cloud_assembler/src/point_cloud_srv.cpp
===================================================================
--- pkg/trunk/stacks/laser_drivers/point_cloud_assembler/src/point_cloud_srv.cpp 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/stacks/laser_drivers/point_cloud_assembler/src/point_cloud_srv.cpp 2009-08-21 16:03:38 UTC (rev 22546)
@@ -36,7 +36,7 @@
// Services
#include "point_cloud_assembler/BuildCloud.h"
#include "point_cloud_assembler/BuildCloudAngle.h"
-#include "pr2_srvs/SetPeriodicCmd.h"
+#include "pr2_msgs/SetPeriodicCmd.h"
// Messages
#include "sensor_msgs/PointCloud.h"
@@ -87,8 +87,8 @@
point_cloud_assembler::BuildCloudAngle::Response &res)
{
// send command to tilt laser scanner
- pr2_srvs::SetPeriodicCmd::Request scan_req;
- pr2_srvs::SetPeriodicCmd::Response scan_res;
+ pr2_msgs::SetPeriodicCmd::Request scan_req;
+ pr2_msgs::SetPeriodicCmd::Response scan_res;
scan_req.command.amplitude = fabs(req.angle_end - req.angle_begin)/2.0;
scan_req.command.offset = (req.angle_end + req.angle_begin)/2.0;
scan_req.command.period = req.duration*2.0;
Modified: pkg/trunk/stacks/pr2_common/pr2_msgs/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/pr2_common/pr2_msgs/CMakeLists.txt 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/stacks/pr2_common/pr2_msgs/CMakeLists.txt 2009-08-21 16:03:38 UTC (rev 22546)
@@ -2,5 +2,6 @@
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
rospack(pr2_msgs)
genmsg()
+gensrv()
Modified: pkg/trunk/stacks/pr2_common/pr2_msgs/manifest.xml
===================================================================
--- pkg/trunk/stacks/pr2_common/pr2_msgs/manifest.xml 2009-08-21 15:58:42 UTC (rev 22545)
+++ pkg/trunk/stacks/pr2_common/pr2_msgs/manifest.xml 2009-08-21 16:03:38 UTC (rev 22546)
@@ -17,7 +17,7 @@
<depend package="rosbagmigration"/>
<export>
- <cpp cflags="-I${prefix}/msg/cpp"/>
+ <cpp cflags="-I${prefix}/msg/cpp -I${prefix}/srv/cpp"/>
<rosbagmigration rule_file="migration_rules/pr2_msgs.bmr"/>
</export>
</package>
Property changes on: pkg/trunk/stacks/pr2_common/pr2_msgs/srv
___________________________________________________________________
Added: svn:ignore
+ java
lisp
oct
cpp
Added: svn:mergeinfo
+ /pkg/branches/gazebo-branch-merge/pr2/pr2_srvs/srv:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jfa...@us...> - 2009-08-21 18:01:12
|
Revision: 22561
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22561&view=rev
Author: jfaustwg
Date: 2009-08-21 18:01:00 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Merge from rviz_plugins branch, r19318 through r22550
In addition to switching rviz to a plugin model and breaking mapping and motion_planning displays into separate packages:
* Switch to the new urdf parser (#2343)
* Load all data from the "base" urdf -- nothing Ogre specific
* Fix markers to not regenerate pick textures all the time (#2151)
* Add mesh support for Robot Model collision representation, and primitive support for the visual representation (#1702)
* Apply origin to both visual/collision in the robot model (#1658, #1898)
* Removed unused mechanism_state functionality
Modified Paths:
--------------
pkg/trunk/stacks/visualization/rviz/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/manifest.xml
pkg/trunk/stacks/visualization/rviz/src/image_view/image_view.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/display.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/display.h
pkg/trunk/stacks/visualization/rviz/src/rviz/displays_panel.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/displays_panel.h
pkg/trunk/stacks/visualization/rviz/src/rviz/generated/rviz_generated.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/generated/rviz_generated.h
pkg/trunk/stacks/visualization/rviz/src/rviz/new_display_dialog.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/new_display_dialog.h
pkg/trunk/stacks/visualization/rviz/src/rviz/properties/property.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/properties/property.h
pkg/trunk/stacks/visualization/rviz/src/rviz/properties/property_manager.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/properties/property_manager.h
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot.h
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot_link.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot_link.h
pkg/trunk/stacks/visualization/rviz/src/rviz/selection/selection_manager.h
pkg/trunk/stacks/visualization/rviz/src/rviz/tools/pose_tool.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/views_panel.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/views_panel.h
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_frame.h
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_manager.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_manager.h
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_manager.i
pkg/trunk/stacks/visualization/rviz/src/rviz/visualization_panel.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/visualizer_app.cpp
Added Paths:
-----------
pkg/trunk/motion_planning/motion_planning_rviz_plugin/
pkg/trunk/sandbox/mapping_rviz_plugin/
pkg/trunk/stacks/visualization/rviz/lib/default_plugin.yaml
pkg/trunk/stacks/visualization/rviz/src/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/default_plugin/
pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/default_plugin/axes_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/axes_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/camera_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/camera_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_cells_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_cells_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/init.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/laser_scan_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/laser_scan_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/map_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/map_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/marker_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/marker_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/arrow_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/arrow_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/cube_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/cube_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_strip_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_strip_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_base.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_base.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_selection_handler.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_selection_handler.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/points_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/points_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/shape_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/shape_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/sphere_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/sphere_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/particle_cloud_2d_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/particle_cloud_2d_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/path_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/path_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_base.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_base.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/polygon_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/polygon_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_base2d_pose_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_base2d_pose_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_model_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_model_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/tf_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/tf_display.h
pkg/trunk/stacks/visualization/rviz/src/image_view/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/rviz/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/rviz/display_wrapper.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/display_wrapper.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/display_creator.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/display_type_info.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin_manager.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin_manager.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/type_registry.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/type_registry.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin_manager_dialog.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin_manager_dialog.h
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/link_updater.h
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/tf_link_updater.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/tf_link_updater.h
pkg/trunk/stacks/visualization/rviz/src/rviz/wx_log_rosout.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/wx_log_rosout.h
pkg/trunk/stacks/visualization/rviz/src/test/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/ui/
pkg/trunk/stacks/visualization/rviz/ui/rviz.fbp
Removed Paths:
-------------
pkg/trunk/stacks/visualization/rviz/VisualizationPanel.fbp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/default_plugin/axes_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/axes_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/camera_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/camera_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_cells_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_cells_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/grid_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/init.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/laser_scan_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/laser_scan_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/map_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/map_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/marker_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/marker_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/arrow_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/arrow_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/cube_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/cube_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_strip_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/line_strip_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_base.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_base.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_selection_handler.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/marker_selection_handler.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/points_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/points_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/shape_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/shape_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/sphere_list_marker.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/markers/sphere_list_marker.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/particle_cloud_2d_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/particle_cloud_2d_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/path_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/path_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_base.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_base.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/point_cloud_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/polygon_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/polygon_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_base2d_pose_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_base2d_pose_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_model_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/robot_model_display.h
pkg/trunk/stacks/visualization/rviz/src/default_plugin/tf_display.cpp
pkg/trunk/stacks/visualization/rviz/src/default_plugin/tf_display.h
pkg/trunk/stacks/visualization/rviz/src/rviz/displays/
pkg/trunk/stacks/visualization/rviz/src/rviz/factory.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/factory.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/display_creator.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/display_type_info.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin_manager.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin_manager.h
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/type_registry.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/type_registry.h
pkg/trunk/stacks/visualization/rviz/ui/rviz.fbp
Property Changed:
----------------
pkg/trunk/stacks/visualization/rviz/
pkg/trunk/stacks/visualization/rviz/src/rviz/generated/rviz_generated.i
pkg/trunk/stacks/visualization/rviz/src/rviz/properties/forwards.h
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot.cpp
pkg/trunk/stacks/visualization/rviz/src/rviz/robot/robot.h
Property changes on: pkg/trunk/stacks/visualization/rviz
___________________________________________________________________
Modified: svn:mergeinfo
- /pkg/branches/gazebo-branch-merge/visualization/rviz:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
/pkg/branches/josh/rviz_handles/rviz:18490-18807
/pkg/branches/josh/rviz_selection/rviz:12152-13640
/pkg/branches/josh/visualization_scratch/rviz:14041-14428,16191-17859
+ /pkg/branches/gazebo-branch-merge/visualization/rviz:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
/pkg/branches/josh/rviz_handles/rviz:18490-18807
/pkg/branches/josh/rviz_plugins/rviz:19319-22550
/pkg/branches/josh/rviz_selection/rviz:12152-13640
/pkg/branches/josh/visualization_scratch/rviz:14041-14428,16191-17859
Modified: pkg/trunk/stacks/visualization/rviz/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/visualization/rviz/CMakeLists.txt 2009-08-21 17:49:15 UTC (rev 22560)
+++ pkg/trunk/stacks/visualization/rviz/CMakeLists.txt 2009-08-21 18:01:00 UTC (rev 22561)
@@ -24,136 +24,6 @@
include_directories( ${OGRE_INCLUDE_DIRS} )
link_directories( ${OGRE_LIBRARY_DIRS} )
-include_directories( src/rviz )
+include_directories(src)
-# Find the combined swig flags for this project
-_rospack_invoke(${PROJECT_NAME} ${PROJECT_NAME} SWIG_FLAGS "export" "--lang=swig" "--attrib=flags")
-set(SWIG_FLAGS ${${PROJECT_NAME}_SWIG_FLAGS})
-
-# Find the wxswig executable
-find_ros_package(wxswig)
-set(WXSWIG_EXECUTABLE ${wxswig_PACKAGE_PATH}/bin/swig)
-
-# Add a custom command for generating the swig output files
-set(SWIG_INTERFACE_FILE ${PROJECT_SOURCE_DIR}/src/rviz/rviz.i)
-set(SWIG_OUTPUT_PYTHON_FILE ${PROJECT_SOURCE_DIR}/lib/rviz.py)
-
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
- set(SWIG_OUTPUT_CPP_FILE ${PROJECT_SOURCE_DIR}/src/rviz/rviz_swig_generated.cpp)
- set(SWIG_COMMAND ${WXSWIG_EXECUTABLE} ${SWIG_FLAGS} -o ${SWIG_OUTPUT_CPP_FILE} -outdir ../lib -module ${PROJECT_NAME} ${SWIG_INTERFACE_FILE})
-else("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
- set(SWIG_OUTPUT_CPP_FILE src/rviz/rviz_swig_generated.cpp)
- set(SWIG_COMMAND ${WXSWIG_EXECUTABLE} ${SWIG_FLAGS} -o ../${SWIG_OUTPUT_CPP_FILE} -outdir ../lib -module ${PROJECT_NAME} ${SWIG_INTERFACE_FILE})
-endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
-
-set_source_files_properties(${SWIG_OUTPUT_CPP_FILE} PROPERTIES GENERATED true)
-add_custom_command(OUTPUT ${SWIG_OUTPUT_CPP_FILE}
- ${SWIG_OUTPUT_PYTHON_FILE}
- COMMAND ${SWIG_COMMAND}
- DEPENDS ${SWIG_INTERFACE_FILE}
- src/rviz/display.i
- src/rviz/visualization_manager.i
- src/rviz/visualization_panel.i
- src/rviz/visualization_frame.i
- src/rviz/helpers/color.i
- src/rviz/visualization_manager.h
- src/rviz/visualization_panel.h
- src/rviz/visualization_frame.h
- src/rviz/generated/rviz_generated.h
- src/rviz/display.h
- src/rviz/displays/axes_display.h
- src/rviz/displays/grid_display.h
- src/rviz/displays/laser_scan_display.h
- src/rviz/displays/marker_display.h
- src/rviz/displays/planning_display.h
- src/rviz/displays/point_cloud_base.h
- src/rviz/displays/point_cloud_display.h
- src/rviz/displays/robot_model_display.h
- src/rviz/displays/robot_base2d_pose_display.h
- src/rviz/displays/particle_cloud_2d_display.h
- src/rviz/displays/map_display.h
- src/rviz/displays/tf_display.h
- src/rviz/displays/camera_display.h
- src/rviz/helpers/color.h)
-
-# We create one lib with the C++...
-rospack_add_library(${PROJECT_NAME} src/rviz/properties/property.cpp
- src/rviz/properties/property_manager.cpp
- src/rviz/image/ros_image_texture.cpp
- src/rviz/tools/tool.cpp
- src/rviz/tools/move_tool.cpp
- src/rviz/tools/pose_tool.cpp
- src/rviz/tools/selection_tool.cpp
- src/rviz/render_panel.cpp
- src/rviz/displays_panel.cpp
- src/rviz/views_panel.cpp
- src/rviz/time_panel.cpp
- src/rviz/selection_panel.cpp
- src/rviz/visualization_manager.cpp
- src/rviz/visualization_frame.cpp
- src/rviz/visualization_panel.cpp
- src/rviz/display.cpp
- src/rviz/common.cpp
- src/rviz/factory.cpp
- src/rviz/ros_topic_property.cpp
- src/rviz/new_display_dialog.cpp
- src/rviz/robot/robot_link.cpp
- src/rviz/robot/robot.cpp
- src/rviz/selection/selection_manager.cpp
- src/rviz/displays/markers/marker_selection_handler.cpp
- src/rviz/displays/markers/marker_base.cpp
- src/rviz/displays/markers/shape_marker.cpp
- src/rviz/displays/markers/arrow_marker.cpp
- src/rviz/displays/markers/line_list_marker.cpp
- src/rviz/displays/markers/line_strip_marker.cpp
- src/rviz/displays/markers/sphere_list_marker.cpp
- src/rviz/displays/markers/cube_list_marker.cpp
- src/rviz/displays/markers/points_marker.cpp
- src/rviz/displays/marker_display.cpp
- src/rviz/displays/axes_display.cpp
- src/rviz/displays/grid_display.cpp
- src/rviz/displays/point_cloud_base.cpp
- src/rviz/displays/point_cloud_display.cpp
- src/rviz/displays/laser_scan_display.cpp
- src/rviz/displays/robot_model_display.cpp
- src/rviz/displays/planning_display.cpp
- src/rviz/displays/robot_base2d_pose_display.cpp
- src/rviz/displays/particle_cloud_2d_display.cpp
- src/rviz/displays/path_display.cpp
- src/rviz/displays/polygon_display.cpp
- src/rviz/displays/grid_cells_display.cpp
- src/rviz/displays/polygonal_map_display.cpp
- src/rviz/displays/collision_map_display.cpp
- src/rviz/displays/map_display.cpp
- src/rviz/displays/tf_display.cpp
- src/rviz/displays/camera_display.cpp
- src/rviz/generated/rviz_generated.cpp)
-target_link_libraries(${PROJECT_NAME} ${wxWidgets_LIBRARIES} ${OGRE_LIBRARIES})
-rospack_link_boost(${PROJECT_NAME} thread signals filesystem system program_options)
-
-find_package(PythonLibs REQUIRED)
-include_directories(${PYTHON_INCLUDE_PATH})
-
-# ...and another with the SWIG code.
-rospack_add_library(python_${PROJECT_NAME} ${SWIG_OUTPUT_CPP_FILE})
-target_link_libraries(python_${PROJECT_NAME} ${PROJECT_NAME} ${PYTHON_LIBRARIES})
-
-# swig python needs a shared library named _<modulename>.[so|dll|...]
-# this renames the output file to conform to that by prepending an underscore and removing the "lib" prefix
-set_target_properties(python_${PROJECT_NAME}
- PROPERTIES OUTPUT_NAME _${PROJECT_NAME}
- PREFIX "")
-
-rospack_add_executable(executable src/rviz/visualizer_app.cpp)
-target_link_libraries(executable ${PROJECT_NAME} ${wxWidgets_LIBRARIES})
-set_target_properties(executable
- PROPERTIES OUTPUT_NAME ${PROJECT_NAME}
- PREFIX "")
-
-rospack_add_executable(image_view src/image_view/image_view.cpp)
-target_link_libraries(image_view ${PROJECT_NAME})
-
-rospack_add_executable(marker_test EXCLUDE_FROM_ALL src/test/marker_test.cpp)
-rospack_declare_test(marker_test)
-rospack_add_executable(cloud_test EXCLUDE_FROM_ALL src/test/cloud_test.cpp)
-rospack_declare_test(cloud_test)
+add_subdirectory(src)
\ No newline at end of file
Deleted: pkg/trunk/stacks/visualization/rviz/VisualizationPanel.fbp
===================================================================
--- pkg/trunk/stacks/visualization/rviz/VisualizationPanel.fbp 2009-08-21 17:49:15 UTC (rev 22560)
+++ pkg/trunk/stacks/visualization/rviz/VisualizationPanel.fbp 2009-08-21 18:01:00 UTC (rev 22561)
@@ -1,1568 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<wxFormBuilder_Project>
- <FileVersion major="1" minor="9" />
- <object class="Project" expanded="1">
- <property name="class_decoration"></property>
- <property name="code_generation">C++</property>
- <property name="disconnect_events">1</property>
- <property name="encoding">UTF-8</property>
- <property name="event_generation">connect</property>
- <property name="file">rviz_generated</property>
- <property name="first_id">1000</property>
- <property name="help_provider">none</property>
- <property name="internationalize">0</property>
- <property name="name">rviz</property>
- <property name="namespace"></property>
- <property name="path">src/rviz/generated</property>
- <property name="precompiled_header"></property>
- <property name="relative_path">1</property>
- <property name="use_enum">0</property>
- <property name="use_microsoft_bom">0</property>
- <object class="Panel" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">DisplaysPanelGenerated</property>
- <property name="pos"></property>
- <property name="size">500,300</property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style">wxTAB_TRAVERSAL</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnInitDialog"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- <object class="wxBoxSizer" expanded="1">
- <property name="minimum_size"></property>
- <property name="name">bSizer8</property>
- <property name="orient">wxVERTICAL</property>
- <property name="permission">none</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND</property>
- <property name="proportion">1</property>
- <object class="wxPanel" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">properties_panel_</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style">wxTAB_TRAVERSAL</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></e...
[truncated message content] |
|
From: <stu...@us...> - 2009-08-21 19:05:53
|
Revision: 22570
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22570&view=rev
Author: stuglaser
Date: 2009-08-21 19:05:43 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Moved the JointPDController and CartesianTrajectoryController out of robot_mechanism_controllers
Modified Paths:
--------------
pkg/trunk/controllers/robot_mechanism_controllers/CMakeLists.txt
pkg/trunk/controllers/robot_mechanism_controllers/controller_plugins.xml
pkg/trunk/controllers/robot_mechanism_controllers/src/controller_manifest.cpp
pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt
pkg/trunk/sandbox/experimental_controllers/controller_plugins.xml
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/arm_trajectory_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_trajectory_controller.h
Added Paths:
-----------
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/cartesian_trajectory_controller.h
pkg/trunk/sandbox/experimental_controllers/include/experimental_controllers/joint_pd_controller.h
pkg/trunk/sandbox/experimental_controllers/src/cartesian_trajectory_controller.cpp
pkg/trunk/sandbox/experimental_controllers/src/joint_pd_controller.cpp
pkg/trunk/sandbox/experimental_controllers/srv/GetPDCommand.srv
pkg/trunk/sandbox/experimental_controllers/srv/SetPDCommand.srv
Removed Paths:
-------------
pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/cartesian_trajectory_controller.h
pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h
pkg/trunk/controllers/robot_mechanism_controllers/src/cartesian_trajectory_controller.cpp
pkg/trunk/controllers/robot_mechanism_controllers/src/joint_pd_controller.cpp
pkg/trunk/controllers/robot_mechanism_controllers/srv/GetPDCommand.srv
pkg/trunk/controllers/robot_mechanism_controllers/srv/SetPDCommand.srv
Modified: pkg/trunk/controllers/robot_mechanism_controllers/CMakeLists.txt
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/CMakeLists.txt 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/CMakeLists.txt 2009-08-21 19:05:43 UTC (rev 22570)
@@ -7,14 +7,12 @@
gensrv()
set(_srcs
src/controller_manifest.cpp
- src/cartesian_trajectory_controller.cpp
src/cartesian_pose_controller.cpp
src/cartesian_twist_controller.cpp
src/cartesian_wrench_controller.cpp
src/joint_effort_controller.cpp
src/joint_position_controller.cpp
src/joint_velocity_controller.cpp
- src/joint_pd_controller.cpp
src/joint_ud_calibration_controller.cpp
src/trigger_controller.cpp
)
Modified: pkg/trunk/controllers/robot_mechanism_controllers/controller_plugins.xml
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/controller_plugins.xml 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/controller_plugins.xml 2009-08-21 19:05:43 UTC (rev 22570)
@@ -10,11 +10,7 @@
<class name="JointUDCalibrationController" type="JointUDCalibrationController" base_class_type="Controller" />
- <class name="CartesianTrajectoryController" type="CartesianTrajectoryController" base_class_type="Controller" />
-
<class name="TriggerController" type="TriggerController" base_class_type="Controller" />
<class name="TriggerControllerNode" type="TriggerControllerNode" base_class_type="Controller" />
- <class name="JointPDController" type="JointPDController" base_class_type="Controller" />
- <class name="JointPDControllerNode" type="JointPDControllerNode" base_class_type="Controller" />
</library>
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/cartesian_trajectory_controller.h
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/cartesian_trajectory_controller.h 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/cartesian_trajectory_controller.h 2009-08-21 19:05:43 UTC (rev 22570)
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Author: Wim Meeussen
- */
-
-#ifndef CARTESIAN_TRAJECTORY_CONTROLLER_H
-#define CARTESIAN_TRAJECTORY_CONTROLLER_H
-
-#include <vector>
-#include <string>
-#include <kdl/chain.hpp>
-#include <kdl/frames.hpp>
-#include <kdl/velocityprofile_trap.hpp>
-#include <tf/transform_listener.h>
-#include <tf/message_notifier.h>
-#include <ros/node.h>
-#include <geometry_msgs/PoseStamped.h>
-#include <controller_interface/controller.h>
-#include <robot_mechanism_controllers/cartesian_pose_controller.h>
-#include <deprecated_srvs/MoveToPose.h>
-#include <std_srvs/Empty.h>
-#include <boost/scoped_ptr.hpp>
-
-namespace controller {
-
-
-class CartesianTrajectoryController : public Controller
-{
-public:
- CartesianTrajectoryController();
- ~CartesianTrajectoryController();
-
- bool init(mechanism::RobotState *robot_state, const ros::NodeHandle& n);
-
- bool starting();
- void update();
- bool moveTo(const geometry_msgs::PoseStamped& pose,
- const geometry_msgs::Twist& tolerance=geometry_msgs::Twist(), double duration=0);
-
-
-private:
- KDL::Frame getPose();
- void TransformToFrame(const tf::Transform& trans, KDL::Frame& frame);
-
- // topic
- void command(const tf::MessageNotifier<geometry_msgs::PoseStamped>::MessagePtr& pose_msg);
-
- // service calls
- bool moveTo(deprecated_srvs::MoveToPose::Request &req, deprecated_srvs::MoveToPose::Response &resp);
- bool preempt(std_srvs::Empty::Request &req, std_srvs::Empty::Response &resp);
-
- ros::NodeHandle node_;
- ros::ServiceServer move_to_srv_, preempt_srv_;
-
- std::string controller_name_;
- double last_time_, time_started_, time_passed_, max_duration_;
- bool is_moving_, request_preempt_, exceed_tolerance_;
-
- KDL::Frame pose_begin_, pose_end_, pose_current_;
- KDL::Twist twist_current_, tolerance_;
-
- // robot structure
- mechanism::RobotState *robot_state_;
- mechanism::Chain chain_;
-
- // kdl stuff for kinematics
- KDL::Chain kdl_chain_;
- boost::scoped_ptr<KDL::ChainFkSolverPos> jnt_to_pose_solver_;
- KDL::JntArray jnt_pos_;
-
- // motion profiles
- std::vector<KDL::VelocityProfile_Trap> motion_profile_;
-
- // pose controller
- CartesianPoseController* pose_controller_;
-
- tf::TransformListener tf_;
- boost::scoped_ptr<tf::MessageNotifier<geometry_msgs::PoseStamped> > command_notifier_;
-
- std::string root_name_;
-};
-
-
-}
-#endif
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/include/robot_mechanism_controllers/joint_pd_controller.h 2009-08-21 19:05:43 UTC (rev 22570)
@@ -1,168 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#pragma once
-
-/***************************************************/
-/*! \class controller::JointPDController
- \brief Joint Velocity Controller
-
- This class closes the loop around velocity using
- a pid loop.
-
- Example config:<br>
-
- <controller type="JointPDController" name="controller_name"><br>
- <joint name="joint_to_control"><br>
- <pid p="1.0" i="2.0" d="3.0" iClamp="4.0" /><br>
- </joint>
- </controller>
-*/
-/***************************************************/
-
-#include <ros/node.h>
-
-#include <controller_interface/controller.h>
-#include <control_toolbox/pid.h>
-#include "misc_utils/advertised_service_guard.h"
-#include "misc_utils/subscription_guard.h"
-
-// Services
-#include <robot_mechanism_controllers/SetPDCommand.h>
-#include <robot_mechanism_controllers/GetPDCommand.h>
-#include <deprecated_msgs/JointCmd.h>
-
-namespace controller
-{
-
- class JointPDController : public Controller
- {
- public:
-
- JointPDController();
- ~JointPDController();
-
- /*!
- * \brief Functional way to initialize limits and gains.
- * \param pid Pid gain values.
- * \param joint_name Name of joint we want to control.
- * \param *robot The robot.
- */
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
- bool init(mechanism::RobotState *robot, const std::string &joint_name,const control_toolbox::Pid &pid);
-
- /*!
- * \brief Give set position of the joint for next update: revolute (angle) and prismatic (position)
- *
- * \param double pos Velocity command to issue
- */
- void setCommand(double command, double command_dot);
-
- /*!
- * \brief Get latest position command to the joint: revolute (angle) and prismatic (position).
- */
- void getCommand(deprecated_msgs::JointCmd & cmd);
-
-
- /*!
- * \brief Issues commands to the joint. Should be called at regular intervals
- */
- virtual void update();
-
- void getGains(double &p, double &i, double &d, double &i_max, double &i_min);
- void setGains(const double &p, const double &i, const double &d, const double &i_max, const double &i_min);
-
- std::string getJointName();
- mechanism::JointState *joint_state_; /**< Joint we're controlling. */
-
- /*!
- * \brief Reset the internal PID controllers
- */
- void reset();
-
- private:
-
- mechanism::RobotState *robot_; /**< Pointer to robot structure. */
- control_toolbox::Pid pid_controller_; /**< Internal PID controller. */
- double last_time_; /**< Last time stamp of update. */
- double command_; /**< Last commanded position. */
- double command_dot_;
- double command_t_; /**< Last commanded position. */
- double command_dot_t_;
-
- /*!
- * \brief mutex lock for setting and getting commands
- */
- pthread_mutex_t joint_pd_controller_lock_;
-
- };
-
-/***************************************************/
-/*! \class controller::JointPDControllerNode
- \brief Joint PD Controller ROS Node
-
- This class closes the loop around velocity using
- a pid loop.
-
-*/
-/***************************************************/
-
- class JointPDControllerNode : public Controller
- {
- public:
-
- JointPDControllerNode();
- ~JointPDControllerNode();
-
- void update();
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
-
- // Topics
- void setCommand();
-
- private:
-
- //node stuff
- std::string service_prefix_; /**< The name of the controller. */
- ros::Node *node_;
- SubscriptionGuard guard_set_command_; /**< Makes sure the subscription goes down neatly. */
-
- //msgs
- deprecated_msgs::JointCmd cmd_; /**< The command from the subscription. */
-
- //controller
- JointPDController *c_; /**< The controller. */
-
- };
-}
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/src/cartesian_trajectory_controller.cpp
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/src/cartesian_trajectory_controller.cpp 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/src/cartesian_trajectory_controller.cpp 2009-08-21 19:05:43 UTC (rev 22570)
@@ -1,348 +0,0 @@
-/*
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Author: Wim Meeussen
- */
-
-
-
-#include <algorithm>
-#include <mechanism_control/mechanism_control.h>
-#include "kdl/chainfksolverpos_recursive.hpp"
-#include "robot_mechanism_controllers/cartesian_trajectory_controller.h"
-
-
-using namespace KDL;
-using namespace tf;
-using namespace ros;
-
-
-namespace controller {
-
-ROS_REGISTER_CONTROLLER(CartesianTrajectoryController)
-
-
-CartesianTrajectoryController::CartesianTrajectoryController()
-: jnt_to_pose_solver_(NULL),
- motion_profile_(6, VelocityProfile_Trap(0,0))
-{}
-
-CartesianTrajectoryController::~CartesianTrajectoryController()
-{}
-
-
-
-bool CartesianTrajectoryController::init(mechanism::RobotState *robot_state, const NodeHandle& n)
-{
- node_ = n;
-
- // get name of root and tip from the parameter server
- std::string tip_name;
- if (!node_.getParam("root_name", root_name_)){
- ROS_ERROR("CartesianTrajectoryController: No root name found on parameter server");
- return false;
- }
- if (!node_.getParam("tip_name", tip_name)){
- ROS_ERROR("CartesianTrajectoryController: No tip name found on parameter server");
- return false;
- }
-
- // test if we got robot pointer
- assert(robot_state);
- robot_state_ = robot_state;
-
- // create robot chain from root to tip
- if (!chain_.init(robot_state->model_, root_name_, tip_name))
- return false;
- chain_.toKDL(kdl_chain_);
-
- // create solver
- jnt_to_pose_solver_.reset(new ChainFkSolverPos_recursive(kdl_chain_));
- jnt_pos_.resize(kdl_chain_.getNrOfJoints());
-
- // initialize motion profile
- double max_vel_trans, max_vel_rot, max_acc_trans, max_acc_rot;
- node_.param("max_vel_trans", max_vel_trans, 0.0) ;
- node_.param("max_vel_rot", max_vel_rot, 0.0) ;
- node_.param("max_acc_trans", max_acc_trans, 0.0) ;
- node_.param("max_acc_rot", max_acc_rot, 0.0) ;
- for (unsigned int i=0; i<3; i++){
- motion_profile_[i ].SetMax(max_vel_trans, max_acc_trans);
- motion_profile_[i+3].SetMax(max_vel_rot, max_acc_rot);
- }
-
- // get a pointer to the pose controller
- std::string output;
- if (!node_.getParam("output", output)){
- ROS_ERROR("CartesianTrajectoryController: No ouptut name found on parameter server");
- return false;
- }
- if (!getController<CartesianPoseController>(output, AFTER_ME, pose_controller_)){
- ROS_ERROR("CartesianTrajectoryController: could not connect to pose controller");
- return false;
- }
-
- // subscribe to pose commands
- command_notifier_.reset(new MessageNotifier<geometry_msgs::PoseStamped>(tf_,
- boost::bind(&CartesianTrajectoryController::command, this, _1),
- node_.getNamespace() + "/command", root_name_, 1));
- // advertise services
- move_to_srv_ = node_.advertiseService("move_to", &CartesianTrajectoryController::moveTo, this);
- preempt_srv_ = node_.advertiseService("preempt", &CartesianTrajectoryController::preempt, this);
-
- return true;
-}
-
-
-
-
-bool CartesianTrajectoryController::moveTo(const geometry_msgs::PoseStamped& pose, const geometry_msgs::Twist& tolerance, double duration)
-{
- // don't do anything when still moving
- if (is_moving_) return false;
-
- // convert message to transform
- Stamped<Pose> pose_stamped;
- poseStampedMsgToTF(pose, pose_stamped);
-
- // convert to reference frame of root link of the controller chain
- Duration timeout = Duration().fromSec(2.0);
- std::string error_msg;
- if (!tf_.waitForTransform(root_name_, pose.header.frame_id, pose_stamped.stamp_, timeout, Duration(0.01), &error_msg)){
- ROS_ERROR("CartesianTrajectoryController: %s", error_msg.c_str());
- return false;
- }
- tf_.transformPose(root_name_, pose_stamped, pose_stamped);
-
- // trajectory from pose_begin to pose_end
- TransformToFrame(pose_stamped, pose_end_);
- pose_begin_ = pose_current_;
-
- max_duration_ = 0;
- Twist twist_move = diff(pose_begin_, pose_end_);
-
- // Set motion profiles
- for (unsigned int i=0; i<6; i++){
- motion_profile_[i].SetProfileDuration( 0, twist_move(i), duration);
- max_duration_ = max( max_duration_, motion_profile_[i].Duration() );
- }
-
- // Rescale trajectories to maximal duration
- for (unsigned int i=0; i<6; i++)
- motion_profile_[i].SetProfileDuration( 0, twist_move(i), max_duration_ );
-
- // set tolerance
- tolerance_.vel(0) = tolerance.linear.x;
- tolerance_.vel(1) = tolerance.linear.y;
- tolerance_.vel(2) = tolerance.linear.z;
- tolerance_.rot(0) = tolerance.angular.x;
- tolerance_.rot(1) = tolerance.angular.y;
- tolerance_.rot(2) = tolerance.angular.z;
-
- time_passed_ = 0;
-
- exceed_tolerance_ = false;
- request_preempt_ = false;
- is_moving_ = true;
-
- ROS_INFO("CartesianTrajectoryController: %s will move to new pose in %f seconds", controller_name_.c_str(), max_duration_);
-
- return true;
-}
-
-
-
-bool CartesianTrajectoryController::starting()
-{
- // time
- last_time_ = robot_state_->hw_->current_time_;
-
- // set desired pose to current pose
- pose_current_ = getPose();
- twist_current_ = Twist::Zero();
-
- // start not moving
- is_moving_ = false;
- request_preempt_ = false;
-
- return true;
-}
-
-
-
-
-void CartesianTrajectoryController::update()
-{
- // get time
- double time = robot_state_->hw_->current_time_;
- double dt = time - last_time_;
- last_time_ = time;
-
- // preempt trajectory
- if (request_preempt_){
- twist_current_ = Twist::Zero();
- is_moving_ = false;
- }
-
- // if we are moving
- if (is_moving_){
- time_passed_ += dt;
-
- // check tolerance
- for (unsigned int i=0; i<6; i++){
- if (tolerance_[i] != 0 && pose_controller_->twist_error_[i] > tolerance_[i]){
- exceed_tolerance_ = true;
- is_moving_ = false;
- }
- }
-
- // ended trajectory
- if (time_passed_ > max_duration_){
- twist_current_ = Twist::Zero();
- pose_current_ = pose_end_;
- is_moving_ = false;
- }
- // still in trajectory
- else{
- // pose
- Twist twist_begin_current = Twist(Vector(motion_profile_[0].Pos(time_passed_),
- motion_profile_[1].Pos(time_passed_),
- motion_profile_[2].Pos(time_passed_)),
- Vector(motion_profile_[3].Pos(time_passed_),
- motion_profile_[4].Pos(time_passed_),
- motion_profile_[5].Pos(time_passed_)) );
- pose_current_ = Frame( pose_begin_.M * Rot( pose_begin_.M.Inverse( twist_begin_current.rot ) ),
- pose_begin_.p + twist_begin_current.vel);
-
- // twist
- for(unsigned int i=0; i<6; i++)
- twist_current_(i) = motion_profile_[i].Vel( time_passed_ );
- }
- }
-
- // send output to pose controller
- pose_controller_->pose_desi_ = pose_current_;
- pose_controller_->twist_ff_ = twist_current_;
-}
-
-
-
-Frame CartesianTrajectoryController::getPose()
-{
- // get the joint positions and velocities
- chain_.getPositions(robot_state_->joint_states_, jnt_pos_);
-
- // get cartesian pose
- Frame result;
- jnt_to_pose_solver_->JntToCart(jnt_pos_, result);
-
- return result;
-}
-
-
-bool CartesianTrajectoryController::moveTo(deprecated_srvs::MoveToPose::Request &req,
- deprecated_srvs::MoveToPose::Response &resp)
-{
- ROS_DEBUG("in cartesian traj move_to service");
-
- if (!moveTo(req.pose, req.tolerance, 0.0)){
- ROS_ERROR("CartesianTrajectoryController: not starting trajectory because either previous one is still running or the transform frame could not be found");
- return false;
- }
-
- ros::Duration timeout = Duration().fromSec(3.0);
- ros::Duration traj_duration = Duration().fromSec(max_duration_);
- ros::Time start_time = ros::Time::now();
-
- while (is_moving_){
- Duration().fromSec(0.1).sleep();
- if (ros::Time::now() > start_time + timeout + traj_duration){
- ROS_ERROR("CartesianTrajectoryController: timeout");
- return false;
- }
- }
-
-
- if (request_preempt_){
- ROS_ERROR("CartesianTrajectoryController: trajectory preempted");
- return false;
- }
- else if (exceed_tolerance_){
- ROS_ERROR("CartesianTrajectoryController: exceeded trajectory tolerance");
- return false;
- }
- else{
- ROS_DEBUG("CartesianTrajectoryController: moveto finished successfully");
- return true;
- }
-}
-
-
-
-void CartesianTrajectoryController::command(const MessageNotifier<geometry_msgs::PoseStamped>::MessagePtr& pose_msg)
-{
- moveTo(*pose_msg);
-}
-
-
-bool CartesianTrajectoryController::preempt(std_srvs::Empty::Request &req,
- std_srvs::Empty::Response &resp)
-{
- // you can only preempt is the robot is moving
- if (!is_moving_)
- return false;
-
- request_preempt_ = true;
-
- // wait for robot to stop moving
- Duration sleep_time = Duration().fromSec(0.01);
- while (is_moving_)
- sleep_time.sleep();
-
- return true;
-}
-
-
-
-void CartesianTrajectoryController::TransformToFrame(const Transform& trans, Frame& frame)
-{
- frame.p(0) = trans.getOrigin().x();
- frame.p(1) = trans.getOrigin().y();
- frame.p(2) = trans.getOrigin().z();
-
- double Rz, Ry, Rx;
- trans.getBasis().getEulerZYX(Rz, Ry, Rx);
- frame.M = Rotation::EulerZYX(Rz, Ry, Rx);
-}
-
-
-
-}; // namespace
-
Modified: pkg/trunk/controllers/robot_mechanism_controllers/src/controller_manifest.cpp
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/src/controller_manifest.cpp 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/src/controller_manifest.cpp 2009-08-21 19:05:43 UTC (rev 22570)
@@ -31,11 +31,9 @@
#include "controller_interface/controller.h"
#include "robot_mechanism_controllers/cartesian_pose_controller.h"
-#include "robot_mechanism_controllers/cartesian_trajectory_controller.h"
#include "robot_mechanism_controllers/cartesian_twist_controller.h"
#include "robot_mechanism_controllers/cartesian_wrench_controller.h"
#include "robot_mechanism_controllers/joint_effort_controller.h"
-#include "robot_mechanism_controllers/joint_pd_controller.h"
#include "robot_mechanism_controllers/joint_position_controller.h"
#include "robot_mechanism_controllers/joint_ud_calibration_controller.h"
#include "robot_mechanism_controllers/joint_velocity_controller.h"
@@ -54,11 +52,5 @@
PLUGINLIB_REGISTER_CLASS(JointUDCalibrationController, JointUDCalibrationController, Controller)
-PLUGINLIB_REGISTER_CLASS(CartesianTrajectoryController, CartesianTrajectoryController, Controller)
-
PLUGINLIB_REGISTER_CLASS(TriggerController, TriggerController, Controller)
PLUGINLIB_REGISTER_CLASS(TriggerControllerNode, TriggerControllerNode, Controller)
-
-PLUGINLIB_REGISTER_CLASS(JointPDController, JointPDController, Controller)
-PLUGINLIB_REGISTER_CLASS(JointPDControllerNode, JointPDControllerNode, Controller)
-
Deleted: pkg/trunk/controllers/robot_mechanism_controllers/src/joint_pd_controller.cpp
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/src/joint_pd_controller.cpp 2009-08-21 19:02:00 UTC (rev 22569)
+++ pkg/trunk/controllers/robot_mechanism_controllers/src/joint_pd_controller.cpp 2009-08-21 19:05:43 UTC (rev 22570)
@@ -1,212 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of the Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-#include <robot_mechanism_controllers/joint_pd_controller.h>
-#include <angles/angles.h>
-
-using namespace std;
-using namespace controller;
-
-ROS_REGISTER_CONTROLLER(JointPDController)
-
-JointPDController::JointPDController()
-: joint_state_(NULL), robot_(NULL), last_time_(0), command_(0), command_dot_(0)
-{
- pthread_mutex_init(&joint_pd_controller_lock_,NULL);...
[truncated message content] |
|
From: <stu...@us...> - 2009-08-21 20:12:38
|
Revision: 22579
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22579&view=rev
Author: stuglaser
Date: 2009-08-21 20:12:19 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Breaking dependency of robot_mechanism_controllers on deprecated_srvs
Modified Paths:
--------------
pkg/trunk/controllers/robot_mechanism_controllers/manifest.xml
pkg/trunk/sandbox/experimental_controllers/manifest.xml
Modified: pkg/trunk/controllers/robot_mechanism_controllers/manifest.xml
===================================================================
--- pkg/trunk/controllers/robot_mechanism_controllers/manifest.xml 2009-08-21 20:08:30 UTC (rev 22578)
+++ pkg/trunk/controllers/robot_mechanism_controllers/manifest.xml 2009-08-21 20:12:19 UTC (rev 22579)
@@ -15,7 +15,6 @@
<depend package="realtime_tools" />
<depend package="roscpp" />
<depend package="std_msgs" />
- <depend package="deprecated_srvs" />
<depend package="geometry_msgs" />
<depend package="manipulation_msgs" />
<depend package="visualization_msgs" />
Modified: pkg/trunk/sandbox/experimental_controllers/manifest.xml
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/manifest.xml 2009-08-21 20:08:30 UTC (rev 22578)
+++ pkg/trunk/sandbox/experimental_controllers/manifest.xml 2009-08-21 20:12:19 UTC (rev 22579)
@@ -29,6 +29,7 @@
<depend package="eigen" />
<depend package="filters" />
<depend package="manipulation_srvs" />
+ <depend package="deprecated_srvs" />
<depend package="robot_mechanism_controllers" />
<depend package="pr2_mechanism_controllers" />
<depend package="geometry_msgs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mee...@us...> - 2009-08-21 21:26:02
|
Revision: 22597
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22597&view=rev
Author: meeussen
Date: 2009-08-21 21:25:40 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
move mechanism control to new action lib, create temporary translator package for backwards compatibility, and port milestone2 launch files
Modified Paths:
--------------
pkg/trunk/demos/door_demos_gazebo/launch/door_actions.xml
pkg/trunk/demos/milestone2/milestone2_actions/config/controllers.xml
pkg/trunk/demos/milestone2/milestone2_actions/manifest.xml
pkg/trunk/stacks/mechanism/mechanism_control/CMakeLists.txt
pkg/trunk/stacks/mechanism/mechanism_control/include/mechanism_control/action_mechanism_control.h
pkg/trunk/stacks/mechanism/mechanism_control/manifest.xml
pkg/trunk/stacks/mechanism/mechanism_control/src/action_mechanism_control.cpp
pkg/trunk/stacks/mechanism/mechanism_msgs/manifest.xml
pkg/trunk/stacks/mechanism/stack.xml
Added Paths:
-----------
pkg/trunk/sandbox/switch_controller_translator/
pkg/trunk/sandbox/switch_controller_translator/CMakeLists.txt
pkg/trunk/sandbox/switch_controller_translator/Makefile
pkg/trunk/sandbox/switch_controller_translator/include/
pkg/trunk/sandbox/switch_controller_translator/include/switch_controller_translator/
pkg/trunk/sandbox/switch_controller_translator/mainpage.dox
pkg/trunk/sandbox/switch_controller_translator/manifest.xml
pkg/trunk/sandbox/switch_controller_translator/src/
pkg/trunk/sandbox/switch_controller_translator/src/switch_controller_translator.cpp
pkg/trunk/stacks/mechanism/mechanism_msgs/action/
pkg/trunk/stacks/mechanism/mechanism_msgs/action/SwitchController.action
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerAction.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionFeedback.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionGoal.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionResult.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerFeedback.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerGoal.msg
pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerResult.msg
Removed Paths:
-------------
pkg/trunk/stacks/mechanism/mechanism_control/src/action_runner.cpp
pkg/trunk/stacks/mechanism/mechanism_control/test/action_runner_test.cpp
Modified: pkg/trunk/demos/door_demos_gazebo/launch/door_actions.xml
===================================================================
--- pkg/trunk/demos/door_demos_gazebo/launch/door_actions.xml 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/demos/door_demos_gazebo/launch/door_actions.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -1,12 +1,3 @@
<launch>
<node pkg="doors_core" type="action_runner" output="screen" />
- <!--node pkg="doors_core" type="action_runner_detect_door" output="screen" />
- <node pkg="doors_core" type="action_runner_detect_handle_no_camera" output="screen" />
- <node pkg="doors_core" type="action_runner_grasp_handle" output="screen" />
- <node pkg="doors_core" type="action_runner_touch_door" output="screen" />
- <node pkg="doors_core" type="action_runner_open_door" output="screen" />
- <node pkg="doors_core" type="action_runner_push_door" output="screen" />
- <node pkg="doors_core" type="action_runner_unlatch_handle" output="screen" />
- <node pkg="doors_core" type="action_runner_release_handle" output="screen" />
- <node pkg="doors_core" type="action_runner_check_path" output="screen" /-->
</launch>
Modified: pkg/trunk/demos/milestone2/milestone2_actions/config/controllers.xml
===================================================================
--- pkg/trunk/demos/milestone2/milestone2_actions/config/controllers.xml 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/demos/milestone2/milestone2_actions/config/controllers.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -2,6 +2,7 @@
<!-- action interface to switch controllers -->
<node pkg="mechanism_control" type="action_runner" />
+ <node pkg="switch_controller_translator" type="switch_controller_translator" />
<!-- Base controller and odometry-->
<rosparam file="$(find pr2_default_controllers)/pr2_base_controller.yaml" command="load" ns="pr2_base_controller" />
Modified: pkg/trunk/demos/milestone2/milestone2_actions/manifest.xml
===================================================================
--- pkg/trunk/demos/milestone2/milestone2_actions/manifest.xml 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/demos/milestone2/milestone2_actions/manifest.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -14,5 +14,6 @@
<depend package="pr2_alpha"/>
<depend package="pr2_experimental_controllers"/>
+ <depend package="switch_controller_translator"/>
<depend package="mux"/>
</package>
Added: pkg/trunk/sandbox/switch_controller_translator/CMakeLists.txt
===================================================================
--- pkg/trunk/sandbox/switch_controller_translator/CMakeLists.txt (rev 0)
+++ pkg/trunk/sandbox/switch_controller_translator/CMakeLists.txt 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 2.4.6)
+include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
+
+# Set the build type. Options are:
+# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
+# Debug : w/ debug symbols, w/o optimization
+# Release : w/o debug symbols, w/ optimization
+# RelWithDebInfo : w/ debug symbols, w/ optimization
+# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
+#set(ROS_BUILD_TYPE RelWithDebInfo)
+
+rospack(switch_controller_translator)
+
+#set the default path for built executables to the "bin" directory
+set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
+#set the default path for built libraries to the "lib" directory
+set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
+
+#uncomment if you have defined messages
+#genmsg()
+#uncomment if you have defined services
+#gensrv()
+
+#common commands for building c++ executables and libraries
+#rospack_add_library(${PROJECT_NAME} src/example.cpp)
+#target_link_libraries(${PROJECT_NAME} another_library)
+#rospack_add_boost_directories()
+#rospack_link_boost(${PROJECT_NAME} thread)
+rospack_add_executable(switch_controller_translator src/switch_controller_translator.cpp)
+#target_link_libraries(example ${PROJECT_NAME})
Added: pkg/trunk/sandbox/switch_controller_translator/Makefile
===================================================================
--- pkg/trunk/sandbox/switch_controller_translator/Makefile (rev 0)
+++ pkg/trunk/sandbox/switch_controller_translator/Makefile 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1 @@
+include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
Added: pkg/trunk/sandbox/switch_controller_translator/mainpage.dox
===================================================================
--- pkg/trunk/sandbox/switch_controller_translator/mainpage.dox (rev 0)
+++ pkg/trunk/sandbox/switch_controller_translator/mainpage.dox 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,119 @@
+/**
+\mainpage
+\htmlinclude manifest.html
+
+\b switch_controller_translator is ...
+
+<!--
+In addition to providing an overview of your package,
+this is the section where the specification and design/architecture
+should be detailed. While the original specification may be done on the
+wiki, it should be transferred here once your package starts to take shape.
+You can then link to this documentation page from the Wiki.
+-->
+
+
+\section codeapi Code API
+
+<!--
+Provide links to specific auto-generated API documentation within your
+package that is of particular interest to a reader. Doxygen will
+document pretty much every part of your code, so do your best here to
+point the reader to the actual API.
+
+If your codebase is fairly large or has different sets of APIs, you
+should use the doxygen 'group' tag to keep these APIs together. For
+example, the roscpp documentation has 'libros' group.
+-->
+
+\section rosapi ROS API
+
+<!--
+Names are very important in ROS because they can be remapped on the
+command-line, so it is VERY IMPORTANT THAT YOU LIST NAMES AS THEY
+APPEAR IN THE CODE. You should list names of every topic, service and
+parameter used in your code. There is a template below that you can
+use to document each node separately.
+
+List of nodes:
+- \b node_name1
+- \b node_name2
+-->
+
+<!-- START: copy from here to 'END' for each node
+
+<hr>
+
+\subsection node_name node_name
+
+node_name does (provide a basic description of your node)
+
+\subsubsection Usage
+\verbatim
+$ node_type1 [standard ROS args]
+\endverbatim
+
+\par Example
+
+\verbatim
+$ node_type1
+\endverbatim
+
+
+\subsubsection topics ROS topics
+
+Subscribes to:
+- \b "in": [std_msgs/FooType] description of in
+
+Publishes to:
+- \b "out": [std_msgs/FooType] description of out
+
+
+\subsubsection parameters ROS parameters
+
+Reads the following parameters from the parameter server
+
+- \b "~param_name" : \b [type] description of param_name
+- \b "~my_param" : \b [string] description of my_param
+
+Sets the following parameters on the parameter server
+
+- \b "~param_name" : \b [type] description of param_name
+
+
+\subsubsection services ROS services
+- \b "foo_service": [std_srvs/FooType] description of foo_service
+
+
+END: copy for each node -->
+
+
+<!-- START: Uncomment if you have any command-line tools
+
+\section commandline Command-line tools
+
+This section is a catch-all for any additional tools that your package
+provides or uses that may be of use to the reader. For example:
+
+- tools/scripts (e.g. rospack, roscd)
+- roslaunch .launch files
+- xmlparam files
+
+\subsection script_name script_name
+
+Description of what this script/file does.
+
+\subsubsection Usage
+\verbatim
+$ ./script_name [args]
+\endverbatim
+
+\par Example
+
+\verbatim
+$ ./script_name foo bar
+\endverbatim
+
+END: Command-Line Tools Section -->
+
+*/
\ No newline at end of file
Added: pkg/trunk/sandbox/switch_controller_translator/manifest.xml
===================================================================
--- pkg/trunk/sandbox/switch_controller_translator/manifest.xml (rev 0)
+++ pkg/trunk/sandbox/switch_controller_translator/manifest.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,18 @@
+<package>
+ <description brief="switch_controller_translator">
+
+ switch_controller_translator
+
+ </description>
+ <author>Wim Meeussen</author>
+ <license>BSD</license>
+ <review status="unreviewed" notes=""/>
+ <url>http://pr.willowgarage.com/wiki/switch_controller_translator</url>
+
+ <depend package="mechanism_msgs" />
+ <depend package="pr2_robot_actions" />
+ <depend package="action_translator" />
+
+</package>
+
+
Copied: pkg/trunk/sandbox/switch_controller_translator/src/switch_controller_translator.cpp (from rev 22306, pkg/trunk/sandbox/move_base_client/src/move_base_translator.cpp)
===================================================================
--- pkg/trunk/sandbox/switch_controller_translator/src/switch_controller_translator.cpp (rev 0)
+++ pkg/trunk/sandbox/switch_controller_translator/src/switch_controller_translator.cpp 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,73 @@
+/*********************************************************************
+* Software License Agreement (BSD License)
+*
+* Copyright (c) 2008, Willow Garage, Inc.
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above
+* copyright notice, this list of conditions and the following
+* disclaimer in the documentation and/or other materials provided
+* with the distribution.
+* * Neither the name of the Willow Garage nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*********************************************************************/
+
+#include "ros/ros.h"
+
+#include <std_msgs/Empty.h>
+#include <pr2_robot_actions/SwitchControllers.h>
+#include <pr2_robot_actions/SwitchControllersState.h>
+
+#include <mechanism_msgs/SwitchControllerAction.h>
+#include <actionlib/client/action_client.h>
+#include <action_translator/action_translator.h>
+#include <robot_actions/action_runner.h>
+#include <boost/thread.hpp>
+
+
+mechanism_msgs::SwitchControllerGoal fromOldGoal(const pr2_robot_actions::SwitchControllers& old_goal)
+{
+ mechanism_msgs::SwitchControllerGoal new_goal;
+ new_goal.start_controllers = old_goal.start_controllers;
+ new_goal.stop_controllers = old_goal.stop_controllers;
+ return new_goal;
+}
+
+int main(int argc, char** argv)
+{
+ ros::init(argc, argv, "move_base_action_translator");
+
+ ros::NodeHandle n;
+ action_translator::ActionTranslator<mechanism_msgs::SwitchControllerAction, pr2_robot_actions::SwitchControllers, std_msgs::Empty>
+ translator("switch_controller", "switch_controllers", &fromOldGoal, NULL, NULL);
+
+ robot_actions::ActionRunner runner(10.0);
+ runner.connect<pr2_robot_actions::SwitchControllers, pr2_robot_actions::SwitchControllersState, std_msgs::Empty>(translator);
+
+ runner.run();
+
+ ros::MultiThreadedSpinner m_spinner(2);
+ m_spinner.spin();
+
+ return 0;
+}
Property changes on: pkg/trunk/sandbox/switch_controller_translator/src/switch_controller_translator.cpp
___________________________________________________________________
Added: svn:mergeinfo
+ /pkg/branches/gazebo-branch-merge/sandbox/move_base_client/src/move_base_translator.cpp:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
Modified: pkg/trunk/stacks/mechanism/mechanism_control/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/CMakeLists.txt 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/CMakeLists.txt 2009-08-21 21:25:40 UTC (rev 22597)
@@ -15,8 +15,5 @@
#rospack_add_rostest(test/test-mechanism-state-cpp.xml)
#rospack_add_rostest(test/test-mechanism-state-py.xml)
-rospack_add_executable(action_runner src/action_runner.cpp
- src/action_mechanism_control.cpp)
-rospack_add_executable(action_runner_test test/action_runner_test.cpp
- src/action_mechanism_control.cpp)
+rospack_add_executable(action_runner src/action_mechanism_control.cpp)
Modified: pkg/trunk/stacks/mechanism/mechanism_control/include/mechanism_control/action_mechanism_control.h
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/include/mechanism_control/action_mechanism_control.h 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/include/mechanism_control/action_mechanism_control.h 2009-08-21 21:25:40 UTC (rev 22597)
@@ -37,26 +37,25 @@
#include <ros/node.h>
-#include <mechanism_msgs/SwitchController.h>
#include <std_msgs/Empty.h>
-#include <pr2_robot_actions/SwitchControllers.h>
-#include <pr2_robot_actions/SwitchControllersState.h>
-#include <robot_actions/action.h>
-#include <robot_actions/action_runner.h>
+#include <mechanism_msgs/SwitchController.h>
+#include <mechanism_msgs/SwitchControllerAction.h>
+#include <actionlib/server/simple_action_server.h>
-
namespace mechanism_control{
-class ActionMechanismControl: public robot_actions::Action<pr2_robot_actions::SwitchControllers, std_msgs::Empty>{
+class ActionMechanismControl{
public:
ActionMechanismControl();
~ActionMechanismControl();
- virtual robot_actions::ResultStatus execute(const pr2_robot_actions::SwitchControllers& c, std_msgs::Empty&);
+ void execute(const mechanism_msgs::SwitchControllerGoalConstPtr& switch_goal);
private:
+ ros::NodeHandle node_;
+ actionlib::SimpleActionServer<mechanism_msgs::SwitchControllerAction> action_server_;
ros::ServiceClient switch_controller_srv_;
Modified: pkg/trunk/stacks/mechanism/mechanism_control/manifest.xml
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/manifest.xml 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/manifest.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -23,8 +23,7 @@
<depend package="realtime_tools" />
<depend package="rospy" />
<depend package="tf" />
-<depend package="robot_actions" />
-<depend package="pr2_robot_actions" />
+<depend package="actionlib" />
<depend package="mechanism_msgs" />
<depend package="std_srvs" />
<depend package="rosconsole" />
Modified: pkg/trunk/stacks/mechanism/mechanism_control/src/action_mechanism_control.cpp
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/src/action_mechanism_control.cpp 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/src/action_mechanism_control.cpp 2009-08-21 21:25:40 UTC (rev 22597)
@@ -1,4 +1,4 @@
- /*********************************************************************
+/*********************************************************************
* Software License Agreement (BSD License)
*
* Copyright (c) 2008, Willow Garage, Inc.
@@ -38,47 +38,59 @@
using namespace ros;
using namespace std;
+using namespace mechanism_msgs;
+
namespace mechanism_control{
ActionMechanismControl::ActionMechanismControl():
- robot_actions::Action<pr2_robot_actions::SwitchControllers, std_msgs::Empty>("switch_controllers")
+ action_server_(node_, "switch_controller", boost::bind(&ActionMechanismControl::execute, this, _1))
{
- NodeHandle node;
- switch_controller_srv_ = node.serviceClient<mechanism_msgs::SwitchController>("switch_controller");
+ switch_controller_srv_ = node_.serviceClient<mechanism_msgs::SwitchController>("switch_controller");
};
ActionMechanismControl::~ActionMechanismControl(){};
-robot_actions::ResultStatus ActionMechanismControl::execute(const pr2_robot_actions::SwitchControllers& c, std_msgs::Empty&)
+void ActionMechanismControl::execute(const SwitchControllerGoalConstPtr& switch_goal)
{
ROS_DEBUG("ActionMechanismControl: received request to start %i controllers and stop %i controllers",
- c.start_controllers.size(), c.stop_controllers.size());
- for (unsigned int i=0; i<c.start_controllers.size(); i++)
- ROS_DEBUG("ActionMechanismControl: - starting controller %s", c.start_controllers[i].c_str());
- for (unsigned int i=0; i<c.stop_controllers.size(); i++)
- ROS_DEBUG("ActionMechanismControl: - stopping controller %s", c.stop_controllers[i].c_str());
+ switch_goal->start_controllers.size(), switch_goal->stop_controllers.size());
+ for (unsigned int i=0; i<switch_goal->start_controllers.size(); i++)
+ ROS_DEBUG("ActionMechanismControl: - starting controller %s", switch_goal->start_controllers[i].c_str());
+ for (unsigned int i=0; i<switch_goal->stop_controllers.size(); i++)
+ ROS_DEBUG("ActionMechanismControl: - stopping controller %s", switch_goal->stop_controllers[i].c_str());
mechanism_msgs::SwitchController::Request req;
mechanism_msgs::SwitchController::Response resp;
- req.start_controllers = c.start_controllers;
- req.stop_controllers = c.stop_controllers;
+ req.start_controllers = switch_goal->start_controllers;
+ req.stop_controllers = switch_goal->stop_controllers;
if (!switch_controller_srv_.call(req, resp)){
ROS_ERROR("ActionMechanismControl: failed to communicate with mechanism control to switch controllers");
- return robot_actions::ABORTED;
+ action_server_.setAborted();
}
else{
if (resp.ok){
ROS_DEBUG("ActionMechanismControl: controlers switched succesfully");
- return robot_actions::SUCCESS;
+ action_server_.setSucceeded();
}
else{
ROS_ERROR("ActionMechanismControl: failed to switch controllers");
- return robot_actions::ABORTED;
+ action_server_.setAborted();
}
}
}
}
+
+
+int main(int argc, char** argv)
+{
+ ros::init(argc,argv,"mechanism_control_action_container");
+
+ mechanism_control::ActionMechanismControl act;
+
+ ros::spin();
+ return 0;
+}
Deleted: pkg/trunk/stacks/mechanism/mechanism_control/src/action_runner.cpp
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/src/action_runner.cpp 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/src/action_runner.cpp 2009-08-21 21:25:40 UTC (rev 22597)
@@ -1,54 +0,0 @@
- /*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *********************************************************************/
-
-
-#include "mechanism_control/action_mechanism_control.h"
-
-
-// ----------------------------------
-// MAIN
-// -----------------------------------
-
-int main(int argc, char** argv)
-{
- ros::init(argc,argv,"mechanism_control_action_container");
-
- mechanism_control::ActionMechanismControl act;
- robot_actions::ActionRunner runner(10.0);
- runner.connect<pr2_robot_actions::SwitchControllers, pr2_robot_actions::SwitchControllersState, std_msgs::Empty>(act);
- runner.run();
-
- ros::spin();
- return 0;
-}
Deleted: pkg/trunk/stacks/mechanism/mechanism_control/test/action_runner_test.cpp
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_control/test/action_runner_test.cpp 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_control/test/action_runner_test.cpp 2009-08-21 21:25:40 UTC (rev 22597)
@@ -1,67 +0,0 @@
-/*********************************************************************
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2008, Willow Garage, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: trigger_doors_detector.cpp 13808 2009-04-14 14:11:06Z mcgann $
- *
- *********************************************************************/
-
-#include "mechanism_control/action_mechanism_control.h"
-#include <robot_actions/action_runner.h>
-#include <ros/node.h>
-
-
-using namespace ros;
-using namespace std;
-
-
-// -----------------------------------
-// MAIN
-// -----------------------------------
-
-int
- main (int argc, char **argv)
-{
- ros::init(argc, argv,"mechanism_control_action_container");
-
- mechanism_control::ActionMechanismControl act;
- robot_actions::ActionRunner runner(10.0);
- runner.connect<pr2_robot_actions::SwitchControllers, pr2_robot_actions::SwitchControllersState, std_msgs::Empty>(act);
- runner.run();
-
- std_msgs::Empty feedback;
- pr2_robot_actions::SwitchControllers switch_controllers;
- switch_controllers.start_controllers.push_back("r_arm_cartesian_pose_controller");
- act.execute(switch_controllers, feedback);
-
- return (0);
-}
Added: pkg/trunk/stacks/mechanism/mechanism_msgs/action/SwitchController.action
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/action/SwitchController.action (rev 0)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/action/SwitchController.action 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,4 @@
+string[] start_controllers
+string[] stop_controllers
+---
+---
\ No newline at end of file
Modified: pkg/trunk/stacks/mechanism/mechanism_msgs/manifest.xml
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/manifest.xml 2009-08-21 21:22:40 UTC (rev 22596)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/manifest.xml 2009-08-21 21:25:40 UTC (rev 22597)
@@ -7,6 +7,7 @@
<review status="unreviewed" notes=""/>
<url>http://pr.willowgarage.com/</url>
<depend package="std_msgs" />
+ <depend package="actionlib" />
<export>
<cpp cflags="-I${prefix}/msg/cpp -I${prefix}/srv/cpp" />
</export>
Added: pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerAction.msg
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerAction.msg (rev 0)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerAction.msg 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,4 @@
+
+SwitchControllerActionGoal action_goal
+SwitchControllerActionResult action_result
+SwitchControllerActionFeedback action_feedback
Added: pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionFeedback.msg
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionFeedback.msg (rev 0)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionFeedback.msg 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,4 @@
+
+Header header
+actionlib/GoalStatus status
+SwitchControllerFeedback feedback
Added: pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionGoal.msg
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionGoal.msg (rev 0)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionGoal.msg 2009-08-21 21:25:40 UTC (rev 22597)
@@ -0,0 +1,4 @@
+
+Header header
+actionlib/GoalID goal_id
+SwitchControllerGoal goal
Added: pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionResult.msg
===================================================================
--- pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchControllerActionResult.msg (rev 0)
+++ pkg/trunk/stacks/mechanism/mechanism_msgs/msg/SwitchContro...
[truncated message content] |
|
From: <stu...@us...> - 2009-08-21 22:49:20
|
Revision: 22608
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22608&view=rev
Author: stuglaser
Date: 2009-08-21 22:49:14 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Removing dependencies of pr2_mechanism_controllers
Modified Paths:
--------------
pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_controller.h
pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml
pkg/trunk/controllers/pr2_mechanism_controllers/src/caster_controller.cpp
pkg/trunk/controllers/pr2_mechanism_controllers/src/controller_manifest.cpp
pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt
pkg/trunk/sandbox/experimental_controllers/manifest.xml
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_controller.h
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_controller.h 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/include/pr2_mechanism_controllers/caster_controller.h 2009-08-21 22:49:14 UTC (rev 22608)
@@ -48,7 +48,6 @@
#include "mechanism_model/robot.h"
#include "control_toolbox/pid.h"
#include "robot_mechanism_controllers/joint_velocity_controller.h"
-#include "misc_utils/subscription_guard.h"
#include "std_msgs/Float64.h"
namespace controller {
@@ -84,35 +83,6 @@
JointVelocityController caster_vel_, wheel_l_vel_, wheel_r_vel_;
};
-
-/*
- * Listens on /name/steer_velocity and /name/drive_velocity
- */
-
-class CasterControllerNode : public Controller
-{
-public:
- CasterControllerNode();
- ~CasterControllerNode();
-
- bool initXml(mechanism::RobotState *robot, TiXmlElement *config);
-
- void update();
-
- void setSteerVelocity() {
- c_.steer_velocity_ = steer_velocity_msg_.data;
- }
- void setDriveVelocity() {
- c_.drive_velocity_ = drive_velocity_msg_.data;
- }
-
-private:
- CasterController c_;
-
- SubscriptionGuard guard_steer_velocity_, guard_drive_velocity_;
- std_msgs::Float64 steer_velocity_msg_, drive_velocity_msg_;
-};
-
}
#endif
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/manifest.xml 2009-08-21 22:49:14 UTC (rev 22608)
@@ -5,31 +5,35 @@
<author>Sachin Chita, John Hsu, David Li, Jimmy Sastra, Melonee Wise</author>
<license>BSD</license>
<review status="unreviewed" notes=""/>
+
+ <!-- ROS Interfaces -->
+ <depend package="std_msgs" />
+ <depend package="geometry_msgs" />
+ <depend package="mechanism_msgs" />
+ <depend package="nav_msgs" />
+ <depend package="pr2_msgs" />
+ <depend package="visualization_msgs" />
+ <depend package="diagnostic_msgs" />
+
+ <!-- Plugins -->
+ <depend package="controller_interface" />
+
<depend package="roscpp" />
- <depend package="controller_interface" />
<depend package="mechanism_model" />
<depend package="wg_robot_description_parser" />
- <depend package="misc_utils" />
<depend package="realtime_tools" />
<depend package="robot_mechanism_controllers" />
<depend package="rospy" />
- <depend package="std_msgs" />
<depend package="pluginlib" />
- <depend package="mechanism_msgs" />
- <depend package="nav_msgs" />
- <depend package="pr2_msgs" />
- <depend package="visualization_msgs" />
<depend package="robot_actions" />
<depend package="rosconsole" />
<depend package="trajectory" />
<depend package="angles" />
<depend package="control_toolbox" />
<depend package="filters" />
- <depend package="geometry_msgs" />
- <depend package="manipulation_msgs" />
<depend package="diagnostic_updater" />
- <depend package="diagnostic_msgs" />
<depend package="mechanism_control" />
+
<url>http://pr.willowgarage.com</url>
<repository>http://pr.willowgarage.com/repos</repository>
<export>
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/src/caster_controller.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/src/caster_controller.cpp 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/src/caster_controller.cpp 2009-08-21 22:49:14 UTC (rev 22608)
@@ -196,48 +196,4 @@
wheel_r_vel_.update();
}
-
-
-ROS_REGISTER_CONTROLLER(CasterControllerNode);
-
-CasterControllerNode::CasterControllerNode()
-{
}
-
-CasterControllerNode::~CasterControllerNode()
-{
-}
-
-bool CasterControllerNode::initXml(mechanism::RobotState *robot, TiXmlElement *config)
-{
- ros::Node *node = ros::Node::instance();
- assert(node);
-
- std::string name = config->Attribute("name") ? config->Attribute("name") : "";
- if (name == "")
- {
- fprintf(stderr, "Error: No name given for CasterControllerNode\n");
- return false;
- }
-
- if (!c_.initXml(robot, config))
- return false;
-
- node->subscribe(name + "/steer_velocity", steer_velocity_msg_,
- &CasterControllerNode::setSteerVelocity, this, 2);
- guard_steer_velocity_.set(name + "/steer_velocity");
- node->subscribe(name + "/drive_velocity", drive_velocity_msg_,
- &CasterControllerNode::setDriveVelocity, this, 2);
- guard_drive_velocity_.set(name + "/drive_velocity");
-
- return true;
-}
-
-void CasterControllerNode::update()
-{
- if (!c_.caster_->calibrated_)
- return;
- c_.update();
-}
-
-}
Modified: pkg/trunk/controllers/pr2_mechanism_controllers/src/controller_manifest.cpp
===================================================================
--- pkg/trunk/controllers/pr2_mechanism_controllers/src/controller_manifest.cpp 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/controllers/pr2_mechanism_controllers/src/controller_manifest.cpp 2009-08-21 22:49:14 UTC (rev 22608)
@@ -46,7 +46,6 @@
PLUGINLIB_REGISTER_CLASS(CasterCalibrationController, CasterCalibrationController, Controller)
PLUGINLIB_REGISTER_CLASS(CasterController, CasterController, Controller)
-PLUGINLIB_REGISTER_CLASS(CasterControllerNode, CasterControllerNode, Controller)
PLUGINLIB_REGISTER_CLASS(GripperCalibrationController, GripperCalibrationController, Controller)
PLUGINLIB_REGISTER_CLASS(GripperCalibrationControllerNode, GripperCalibrationControllerNode, Controller)
PLUGINLIB_REGISTER_CLASS(HeadPositionController, HeadPositionController, Controller)
Modified: pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/sandbox/experimental_controllers/CMakeLists.txt 2009-08-21 22:49:14 UTC (rev 22608)
@@ -54,3 +54,5 @@
rospack_add_executable(test_trajectory_controller test/test_trajectory_srv.cpp)
target_link_libraries(test_trajectory_controller experimental_controllers)
+
+rospack_add_executable(base_trajectory_controller src/base_trajectory_controller.cpp)
Modified: pkg/trunk/sandbox/experimental_controllers/manifest.xml
===================================================================
--- pkg/trunk/sandbox/experimental_controllers/manifest.xml 2009-08-21 22:49:14 UTC (rev 22607)
+++ pkg/trunk/sandbox/experimental_controllers/manifest.xml 2009-08-21 22:49:14 UTC (rev 22608)
@@ -33,6 +33,7 @@
<depend package="robot_mechanism_controllers" />
<depend package="pr2_mechanism_controllers" />
<depend package="geometry_msgs" />
+ <depend package="pr2_robot_actions" />
<export>
<cpp cflags="-I${prefix}/include -I${prefix}/msg/cpp -I${prefix}/srv/cpp"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hsu...@us...> - 2009-08-24 16:15:37
|
Revision: 22695
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22695&view=rev
Author: hsujohnhsu
Date: 2009-08-24 16:15:23 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
rid of wg_robot_description_parser dependence from gazebo_plugin.
update various models to reflect new urdf.
Modified Paths:
--------------
pkg/trunk/demos/door_demos_gazebo/door_defs/door_defs.xml
pkg/trunk/demos/examples_gazebo/dual_link_defs/dual_link.xml
pkg/trunk/demos/examples_gazebo/multi_link_defs/multi_link.xml
pkg/trunk/demos/examples_gazebo/simple_rdf_examples/simple_box.xml
pkg/trunk/demos/examples_gazebo/simple_rdf_examples/simple_cylinder.xml
pkg/trunk/demos/examples_gazebo/simple_rdf_examples/simple_sphere.xml
pkg/trunk/demos/examples_gazebo/single_link_defs/single_link.xml
pkg/trunk/demos/examples_gazebo/table_defs/table_defs.xml
pkg/trunk/demos/plug_in_gazebo/plug_defs/outlet_defs.xml
pkg/trunk/demos/plug_in_gazebo/plug_defs/plug_defs.xml
pkg/trunk/demos/pr2_gazebo/head_cart.launch
pkg/trunk/demos/pr2_gazebo/pr2.launch
pkg/trunk/demos/pr2_gazebo/prf.launch
pkg/trunk/demos/pr2_gazebo/prototype1.launch
pkg/trunk/drivers/simulator/test_pr2_collision_gazebo/test_slide.launch
pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch
pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_scan.launch
pkg/trunk/stacks/simulator_gazebo/gazebo_tools/include/gazebo_tools/urdf2gazebo.h
pkg/trunk/stacks/simulator_gazebo/gazebo_tools/manifest.xml
pkg/trunk/stacks/simulator_gazebo/gazebo_tools/src/urdf2gazebo.cpp
Modified: pkg/trunk/demos/door_demos_gazebo/door_defs/door_defs.xml
===================================================================
--- pkg/trunk/demos/door_demos_gazebo/door_defs/door_defs.xml 2009-08-24 16:03:15 UTC (rev 22694)
+++ pkg/trunk/demos/door_demos_gazebo/door_defs/door_defs.xml 2009-08-24 16:15:23 UTC (rev 22695)
@@ -18,46 +18,14 @@
<property name="handle_height" value="0.80" />
<property name="handle_length" value="0.14" />
- <!-- joint blocks -->
- <joint name="door_joint" type="revolute" >
- <axis xyz="0 0 1" />
- <anchor xyz="0 0 0" />
- <limit min="${-M_PI}" max="${M_PI}"
- effort="1000" velocity="10"
- safety_length_min="0.1" safety_length_max="0.1"
- k_position="100.0" k_velocity="10.0" />
- <joint_properties damping="100" friction="0.0" />
- <map name="door_latch" flag="gazebo">
- <elem key="latchJoint" value="handle_joint" />
- <elem key="latchAngle" value="-1.57" />
- <elem key="doorClosedAngle" value="0.0" />
- <elem key="latchKp" value="200.0" />
- <elem key="latchKd" value="0.0" />
- <elem key="latchFMax" value="1000.0" />
- </map>
-
+ <joint name="floor1_joint" type="planar">
+ <parent link="world" />
+ <origin xyz="${wall_x_loc} 0.65 ${0.0}" rpy="0 0 0" />
+ <child link="floor1_link" />
</joint>
- <joint name="handle_joint" type="revolute" >
- <axis xyz="1 0 0" />
- <anchor xyz="0 0 0" />
- <limit min="${-M_PI}" max="${M_PI}"
- effort="1000" velocity="10"
- safety_length_min="0.01" safety_length_max="0.1"
- k_position="100.0" k_velocity="10.0" />
- <joint_properties damping="10" friction="0.0" />
- </joint>
-
- <joint name="floor1_joint" type="planar" />
- <joint name="floor2_joint" type="fixed" />
- <joint name="wall1_joint" type="fixed" />
- <joint name="wall2_joint" type="fixed" />
-
<!-- link blocks -->
<link name="floor1_link">
- <parent name="world" />
- <origin xyz="${wall_x_loc} 0.65 ${0.0}" rpy="0 0 0" />
- <joint name="floor1_joint" />
<inertial>
<mass value="100" />
<com xyz="0 0 0.0" />
@@ -67,11 +35,8 @@
</inertial>
<visual>
<origin xyz="0 8 0.001" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Grey" />
- </map>
<geometry name="floor1_visual_geom">
- <mesh scale="8 8 0.002" />
+ <box size="8 8 0.002" />
</geometry>
</visual>
<collision>
@@ -79,18 +44,23 @@
<geometry name="floor1_collision_geom">
<box size="8 8 0.002" />
</geometry>
- <map name="floor1_friction_coefficients" flag="gazebo">
- <elem key="mu1" value="50.0" />
- <elem key="mu2" value="50.0" />
- <elem key="kp" value="1000000000.0" />
- <elem key="kd" value="1.0" />
- </map>
</collision>
</link>
- <link name="floor2_link">
- <parent name="floor1_link" />
+
+ <gazebo reference="floor1_link">
+ <material>PR2/Grey</material>
+ <mu1>50.0</mu1>
+ <mu2>50.0</mu2>
+ <kp>1000000000.0</kp>
+ <kd>1.0</kd>
+ </gazebo>
+
+ <joint name="floor2_joint" type="fixed" >
+ <parent link="floor1_link" />
<origin xyz="0 -8 0" rpy="0 0 0" />
- <joint name="floor2_joint" />
+ <child link="floor2_link" />
+ </joint>
+ <link name="floor2_link">
<inertial>
<mass value="100" />
<com xyz="0 0 0.0" />
@@ -100,11 +70,8 @@
</inertial>
<visual>
<origin xyz="0 -4 0.000" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Grey" />
- </map>
<geometry name="floor2_visual_geom">
- <mesh scale="8 8 0.002" />
+ <box size="8 8 0.002" />
</geometry>
</visual>
<collision>
@@ -112,19 +79,22 @@
<geometry name="floor2_collision_geom">
<box size="8 8 0.002" />
</geometry>
- <map name="floor2_friction_coefficients" flag="gazebo">
- <elem key="mu1" value="50.0" />
- <elem key="mu2" value="50.0" />
- <elem key="kp" value="100000000.0" />
- <elem key="kd" value="1.0" />
- </map>
</collision>
</link>
+ <gazebo reference="floor2_link">
+ <material>PR2/Grey</material>
+ <mu1>50.0</mu1>
+ <mu2>50.0</mu2>
+ <kp>100000000.0</kp>
+ <kd>1.0</kd>
+ </gazebo>
- <link name="wall1_link">
- <parent name="floor1_link" />
+ <joint name="wall1_joint" type="fixed" >
+ <parent link="floor1_link" />
<origin xyz="0 0.0 0" rpy="0 0 0" />
- <joint name="wall1_joint" />
+ <child link="wall1_link" />
+ </joint>
+ <link name="wall1_link">
<inertial>
<mass value="100" />
<com xyz="0 5 1" />
@@ -134,11 +104,8 @@
</inertial>
<visual>
<origin xyz="0 5 1" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Grey2" />
- </map>
<geometry name="wall1_visual_geom">
- <mesh scale="0.4 10 2" />
+ <box size="0.4 10 2" />
</geometry>
</visual>
<collision>
@@ -146,20 +113,22 @@
<geometry name="wall1_collision_geom">
<box size="0.4 10 2" />
</geometry>
- <map name="wall1_intensity" flag="gazebo">
- <elem key="laserRetro" value="1000" />
- </map>
</collision>
- <map name="wall1_prop" flag="gazebo">
- <elem key="selfCollide" value="false" />
- <elem key="turnGravityOff" value="true" />
- </map>
</link>
+ <gazebo reference="wall1_link">
+ <material>PR2/Grey2</material>
+ <laserRetro>1000</laserRetro>
+ <selfCollide>false</selfCollide>
+ <turnGravityOff>true</turnGravityOff>
+ </gazebo>
- <link name="wall2_link">
- <parent name="floor1_link" />
+
+ <joint name="wall2_joint" type="fixed" >
+ <parent link="floor1_link" />
<origin xyz="0 -1.02 0.0" rpy="0 0 0" />
- <joint name="wall2_joint" />
+ <child link="wall2_link" />
+ </joint>
+ <link name="wall2_link">
<inertial>
<mass value="100" />
<com xyz="0 -5 1" />
@@ -169,11 +138,8 @@
</inertial>
<visual>
<origin xyz="0 -5 1" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Grey2" />
- </map>
<geometry name="wall2_visual_geom">
- <mesh scale="0.4 10 2" />
+ <box size="0.4 10 2" />
</geometry>
</visual>
<collision>
@@ -181,20 +147,37 @@
<geometry name="wall2_collision_geom">
<box size="0.4 10 2" />
</geometry>
- <map name="wall2_intensity" flag="gazebo">
- <elem key="laserRetro" value="1500" />
- </map>
</collision>
- <map name="wall2_prop" flag="gazebo">
- <elem key="selfCollide" value="false" />
- <elem key="turnGravityOff" value="true" />
- </map>
</link>
+ <gazebo reference="wall2_link">
+ <material>PR2/Grey2</material>
+ <laserRetro>1500</laserRetro>
+ <selfCollide>false</selfCollide>
+ <turnGravityOff>true</turnGravityOff>
+ </gazebo>
- <link name="door_link">
- <parent name="wall1_link" />
+
+ <gazebo reference="door_link">
+ <latchJoint>handle_joint</latchJoint>
+ <latchAngle>-1.57</latchAngle>
+ <doorClosedAngle>0.0</doorClosedAngle>
+ <latchKp>200.0</latchKp>
+ <latchKd>0.0</latchKd>
+ <latchFMax>1000.0</latchFMax>
+ </gazebo>
+
+ <joint name="door_joint" type="revolute" >
<origin xyz="0 0 0.05" rpy="0 0 0" />
- <joint name="door_joint" />
+ <axis xyz="0 0 1" />
+ <limit lower="${-M_PI}" upper="${M_PI}" effort="1000" velocity="10" />
+ <safety_controller safety_lower_limit="${-M_PI+0.1}" safety_upper_limit="${M_PI-0.1}"
+ k_position="100.0" k_velocity="10.0" />
+ <dynamics damping="100" friction="0.0" />
+
+ <parent link="wall1_link" />
+ <child link="door_link" />
+ </joint>
+ <link name="door_link">
<inertial >
<mass value="30" />
<com xyz="0.0 -0.5 1.0" />
@@ -204,11 +187,8 @@
</inertial>
<visual >
<origin xyz="0.0 -0.5 1.0" rpy="0 0 ${M_PI}" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/White" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.1 1.0 2.0" />
+ <box size="0.1 1.0 2.0" />
</geometry>
</visual>
<collision >
@@ -216,21 +196,27 @@
<geometry name="door_collision_geom">
<box size="0.1 1.0 2.0" />
</geometry>
- <map name="door_intensity" flag="gazebo">
- <elem key="laserRetro" value="2000" />
- </map>
</collision>
- <map name="door_gravity" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- <elem key="dampingFactor" value="0.01" />
- </map>
</link>
+ <gazebo reference="door_link">
+ <material>PR2/White</material>
+ <laserRetro>2000</laserRetro>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ <dampingFactor>0.01</dampingFactor>
+ </gazebo>
- <link name="handle_link">
- <parent name="door_link" />
+ <joint name="handle_joint" type="revolute" >
+ <axis xyz="1 0 0" />
<origin xyz="-0.11 -0.8 ${handle_height-0.05}" rpy="${0*M_PI/2.0} 0 0" />
- <joint name="handle_joint" />
+ <limit lower="${-M_PI}" upper="${M_PI}" effort="1000" velocity="10" />
+ <safety_controller safety_lower_limit="${-M_PI+0.01}" safety_upper_limit="${M_PI-0.1}"
+ k_position="100.0" k_velocity="10.0" />
+ <dynamics damping="10" friction="0.0" />
+ <parent link="door_link" />
+ <child link="handle_link" />
+ </joint>
+ <link name="handle_link">
<inertial >
<mass value="0.3" />
<com xyz="0.0 ${handle_length/2-0.01} 0.0" />
@@ -240,11 +226,8 @@
</inertial>
<visual >
<origin xyz="0.0 ${handle_length/2-0.01} 0.0" rpy="${1*M_PI/2} 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Shiny" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.02 0.02 ${handle_length}" />
+ <cylinder radius="0.01" length="${handle_length}" />
</geometry>
</visual>
<collision >
@@ -252,27 +235,26 @@
<geometry name="handle_collision_geom">
<cylinder radius="0.01" length="${handle_length}" />
</geometry>
- <map name="handle_intensity" flag="gazebo">
- <elem key="laserRetro" value="3900.0" />
- </map>
- <map name="handle_friction_coefficients" flag="gazebo">
- <elem key="mu1" value="50.0" />
- <elem key="mu2" value="50.0" />
- <elem key="kp" value="100000000.0" />
- <elem key="kd" value="1.0" />
- </map>
</collision>
- <map name="handle_gravity" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- <elem key="dampingFactor" value="0.05" />
- </map>
</link>
+ <gazebo reference="handle_link">
+ <material>PR2/Shiny</material>
+ <laserRetro>3900.0</laserRetro>
+ <mu1>50.0</mu1>
+ <mu2>50.0</mu2>
+ <kp>100000000.0</kp>
+ <kd>1.0</kd>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ <dampingFactor>0.05</dampingFactor>
+ </gazebo>
- <link name="handle1_link">
- <parent name="handle_link" />
+ <joint name="handle1_joint" type="fixed">
+ <parent link="handle_link" />
<origin xyz="0.0 0.0 0" rpy="0 0 0" />
- <joint name="handle1_joint" type="fixed" />
+ <child link="handle1_link" />
+ </joint>
+ <link name="handle1_link">
<inertial >
<mass value="0.1" />
<com xyz="0.0 0.0 0.0" />
@@ -282,11 +264,8 @@
</inertial>
<visual >
<origin xyz="0.025 0.0 0.0" rpy="0 ${1*M_PI/2.0} 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Shiny" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.02 0.02 0.05" />
+ <cylinder radius="0.01" length="0.05" />
</geometry>
</visual>
<collision >
@@ -294,21 +273,22 @@
<geometry name="handle1_collision_geom">
<cylinder radius="0.01" length="0.05" />
</geometry>
- <map name="handle1_intensity" flag="gazebo">
- <elem key="laserRetro" value="3900.0" />
- </map>
</collision>
- <map name="handle1_options" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- </map>
</link>
+ <gazebo reference="handle1_link">
+ <material>PR2/Shiny</material>
+ <laserRetro>3900.0</laserRetro>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ </gazebo>
- <link name="handle2_link">
- <parent name="handle_link" />
+ <joint name="handle2_joint" type="fixed">
+ <parent link="handle_link" />
<origin xyz="0.0 0.12 0" rpy="0 0 0" />
- <joint name="handle2_joint" type="fixed" />
+ <child link="handle2_link" />
+ </joint>
+ <link name="handle2_link">
<inertial >
<mass value="0.1" />
<com xyz="0.0 0.0 0.0" />
@@ -318,11 +298,8 @@
</inertial>
<visual >
<origin xyz="0.025 0.0 0.0" rpy="0 ${1*M_PI/2.0} 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Shiny" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.02 0.02 0.05" />
+ <cylinder radius="0.01" length="0.05" />
</geometry>
</visual>
<collision >
@@ -330,21 +307,22 @@
<geometry name="handle2_collision_geom">
<cylinder radius="0.01" length="0.05" />
</geometry>
- <map name="handle2_intensity" flag="gazebo">
- <elem key="laserRetro" value="3900.0" />
- </map>
</collision>
- <map name="handle2_options" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- </map>
</link>
+ <gazebo reference="handle2_link">
+ <material>PR2/Shiny</material>
+ <laserRetro>3900.0</laserRetro>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ </gazebo>
- <link name="handle3_link">
- <parent name="handle_link" />
+ <joint name="handle3_joint" type="fixed">
+ <parent link="handle_link" />
<origin xyz="0.0 0.0 0" rpy="0 0 0" />
- <joint name="handle3_joint" type="fixed" />
+ <child link="handle3_link" />
+ </joint>
+ <link name="handle3_link">
<inertial >
<mass value="0.1" />
<com xyz="0.0 0.0 0.0" />
@@ -354,11 +332,8 @@
</inertial>
<visual >
<origin xyz="0.06 0.0 0.0" rpy="0 ${1*M_PI/2.0} 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Shiny" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.06 0.06 0.02" />
+ <cylinder radius="0.03" length="0.02" />
</geometry>
</visual>
<collision >
@@ -366,20 +341,21 @@
<geometry name="handle3_collision_geom">
<cylinder radius="0.03" length="0.02" />
</geometry>
- <map name="handle3_intensity" flag="gazebo">
- <elem key="laserRetro" value="3900.0" />
- </map>
</collision>
- <map name="handle3_options" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- </map>
</link>
+ <gazebo reference="handle3_link">
+ <material>PR2/Shiny</material>
+ <laserRetro>3900.0</laserRetro>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ </gazebo>
- <link name="keyhole_link">
- <parent name="door_link" />
+ <joint name="keyhole_joint" type="fixed">
+ <parent link="door_link" />
<origin xyz="-0.05 -0.8 ${handle_height-0.05+0.15}" rpy="${0*M_PI/2.0} 0 0" />
- <joint name="keyhole_joint" type="fixed" />
+ <child link="keyhole_link" />
+ </joint>
+ <link name="keyhole_link">
<inertial >
<mass value="0.1" />
<com xyz="0.0 0.0 0.0" />
@@ -389,11 +365,8 @@
</inertial>
<visual >
<origin xyz="0.0 0.0 0.0" rpy="0 ${1*M_PI/2.0} 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material" value="PR2/Shiny" />
- </map>
<geometry name="sholder_roll_mesh_file">
- <mesh scale="0.06 0.06 0.02" />
+ <cylinder radius="0.03" length="0.02" />
</geometry>
</visual>
<collision >
@@ -401,40 +374,37 @@
<geometry name="keyhole_collision_geom">
<cylinder radius="0.03" length="0.02" />
</geometry>
- <map name="keyhole_intensity" flag="gazebo">
- <elem key="laserRetro" value="3900.0" />
- </map>
</collision>
- <map name="keyhole_options" flag="gazebo">
- <elem key="turnGravityOff" value="true" />
- <elem key="selfCollide" value="false" />
- </map>
</link>
+ <gazebo reference="keyhole_link">
+ <material>PR2/Shiny</material>
+ <laserRetro>3900.0</laserRetro>
+ <turnGravityOff>true</turnGravityOff>
+ <selfCollide>false</selfCollide>
+ </gazebo>
- <map name="sensor" flag="gazebo">
- <verbatim key="door_p3d_block">
- <!-- ros_p3d for position groundtruth -->
- <controller:ros_p3d name="p3d_door_controller" plugin="libros_p3d.so">
- <alwaysOn>true</alwaysOn>
- <updateRate>100.0</updateRate>
- <bodyName>door_link</bodyName>
- <topicName>door_pose</topicName>
- <frameName>map</frameName>
- <interface:position name="p3d_door_position"/>
- </controller:ros_p3d>
-
- <!--
- <controller:gazebo_mechanism_control name="door_mechanism_control" plugin="libgazebo_mechanism_control.so">
+ <gazebo>
+ <!-- ros_p3d for position groundtruth -->
+ <controller:ros_p3d name="p3d_door_controller" plugin="libros_p3d.so">
<alwaysOn>true</alwaysOn>
- <updateRate>1000.0</updateRate>
- <robotParam>door_description</robotParam>
- <interface:audio name="gazebo_mechanism_control_dummy_iface" />
- </controller:gazebo_mechanism_control>
- -->
+ <updateRate>100.0</updateRate>
+ <bodyName>door_link</bodyName>
+ <topicName>door_pose</topicName>
+ <frameName>map</frameName>
+ <interface:position name="p3d_door_position"/>
+ </controller:ros_p3d>
- </verbatim>
- </map>
+ <!--
+ <controller:gazebo_mechanism_control name="door_mechanism_control" plugin="libgazebo_mechanism_control.so">
+ <alwaysOn>true</alwaysOn>
+ <updateRate>1000.0</updateRate>
+ <robotParam>door_description</robotParam>
+ <interface:audio name="gazebo_mechanism_control_dummy_iface" />
+ </controller:gazebo_mechanism_control>
+ -->
+ </gazebo>
+
<!-- transmission mechanism controls -->
<transmission type="SimpleTransmission" name="door_trans">
<actuator name="door_motor" />
Modified: pkg/trunk/demos/examples_gazebo/dual_link_defs/dual_link.xml
===================================================================
--- pkg/trunk/demos/examples_gazebo/dual_link_defs/dual_link.xml 2009-08-24 16:03:15 UTC (rev 22694)
+++ pkg/trunk/demos/examples_gazebo/dual_link_defs/dual_link.xml 2009-08-24 16:15:23 UTC (rev 22695)
@@ -13,73 +13,55 @@
xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
xmlns:physics="http://playerstage.sourceforge.net/gazebo/xmlschema/#physics">
- <!-- joint blocks -->
- <joint name="base_block_joint" type="fixed" />
- <!-- joint blocks -->
- <joint name="link1_joint" type="revolute" >
- <axis xyz="0 0 1" />
- <anchor xyz="0 0 0" />
- <limit min="0.0" max="0.0" effort="100" velocity="5"
- k_position="0.0" k_velocity="0.0"
- safety_length_min="0.0" safety_length_max="0.0" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="0.0" />
- </joint>
- <!-- joint blocks -->
- <joint name="link2_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0 0 0" />
- <limit effort="100" velocity="5" k_velocity="1000" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="0.0" friction="0.0" />
- </joint>
- <!-- link blocks -->
- <link name="base_block">
- <parent name="world" />
+ <joint name="base_block_joint" type="fixed">
+ <parent link="world" />
<origin xyz="0 0 0" rpy="0 0 0" />
- <joint name="base_block_joint" />
+ <child link="base_block" />
+ </joint>
+ <link name="base_block">
<inertial>
<mass value="1000" />
- <com xyz="0 0 0" />
+ <origin xyz="0 0 0" />
<inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material">Gazebo/GrassFloor</elem>
- </map>
<geometry name="base_block_visual_geom">
- <box scale="0.001 0.001 0.001" />
+ <box size="0.001 0.001 0.001" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0.0 0.0 0.0" />
<geometry name="base_block_collision_geom">
- <box scale="0.001 0.001 0.001" />
+ <box size="0.001 0.001 0.001" />
</geometry>
</collision>
</link>
+ <gazebo reference="base_block">
+ <material>Gazebo/GrassFloor</material>
+ </gazebo>
- <link name="link1">
- <parent name="base_block" />
+ <joint name="link1_joint" type="revolute" >
+ <axis xyz="0 0 1" />
+ <limit lower="0.0" upper="0.0" effort="100" velocity="5" />
+ <parent link="base_block" />
<origin xyz="0 0 2" rpy="0 0 0" />
- <joint name="link1_joint" />
+ <child link="link1" />
+ </joint>
+ <link name="link1">
<inertial >
<mass value="0.1" />
- <com xyz="0 0 -0.5" />
+ <origin xyz="0 0 -0.5" />
<inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.1" />
</inertial>
<visual >
<origin xyz="0 0 -0.5" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material">Gazebo/Red</elem>
- </map>
<geometry name="link1_visual_geom">
- <mesh scale="0.1 0.1 1.0" />
+ <box size="0.1 0.1 1.0" />
</geometry>
</visual>
<collision >
@@ -88,28 +70,31 @@
<box size="0.1 0.1 1.0" />
</geometry>
</collision>
- <map name="link1_gravity" flag="gazebo">
- <elem key="turnGravityOff">false</elem>
- </map>
</link>
+ <gazebo reference="link1">
+ <material>Gazebo/Red</material>
+ <turnGravityOff>false</turnGravityOff>
+ </gazebo>
- <link name="link2">
- <parent name="link1" />
+ <joint name="link2_joint" type="revolute" >
+ <axis xyz="0 1 0" />
+ <limit effort="100" velocity="5" />
+ <dynamics damping="0.0" friction="0.0" />
+ <parent link="link1" />
<origin xyz="0 0 0" rpy="0 90 0" />
- <joint name="link2_joint" />
+ <child link="link2" />
+ </joint>
+ <link name="link2">
<inertial >
<mass value="1.0" />
- <com xyz="0 0 0.5" />
+ <origin xyz="0 0 0.5" />
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
</inertial>
<visual >
<origin xyz="0 0 0.5" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material">Gazebo/Blue</elem>
- </map>
<geometry name="link2_visual_geom">
- <mesh scale="0.1 0.1 1.0" />
+ <cylinder radius="0.05" length="1.0" />
</geometry>
</visual>
<collision >
@@ -118,10 +103,11 @@
<cylinder radius="0.05" length="1.0" />
</geometry>
</collision>
- <map name="link2_gravity" flag="gazebo">
- <elem key="turnGravityOff">false</elem>
- </map>
</link>
+ <gazebo reference="link2">
+ <material>Gazebo/Blue</material>
+ <turnGravityOff>false</turnGravityOff>
+ </gazebo>
<!-- Define groups of links; a link may be part of multiple groups -->
@@ -129,9 +115,7 @@
<!-- mechanism controls -->
<include filename="./transmissions_dual_link.xml" />
- <map name="sensor" flag="gazebo">
- <verbatim key="mechanism_control_simulation">
-
+ <gazebo>
<controller:ros_time name="ros_time" plugin="libros_time.so">
<alwaysOn>true</alwaysOn>
<updateRate>1000.0</updateRate>
@@ -167,7 +151,5 @@
<frameName>map</frameName>
<interface:position name="p3d_link2_position"/>
</controller:ros_p3d>
-
- </verbatim>
- </map>
+ </gazebo>
</robot>
Modified: pkg/trunk/demos/examples_gazebo/multi_link_defs/multi_link.xml
===================================================================
--- pkg/trunk/demos/examples_gazebo/multi_link_defs/multi_link.xml 2009-08-24 16:03:15 UTC (rev 22694)
+++ pkg/trunk/demos/examples_gazebo/multi_link_defs/multi_link.xml 2009-08-24 16:15:23 UTC (rev 22695)
@@ -15,114 +15,54 @@
xmlns:physics="http://playerstage.sourceforge.net/gazebo/xmlschema/#physics">
<!-- joint blocks -->
- <joint name="base_block_joint" type="fixed" />
-
- <!-- joint blocks -->
- <joint name="link1_joint" type="revolute" >
- <axis xyz="0 0 1" />
- <anchor xyz="0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-.5" max="0.5" effort="10" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="1000.0" />
+ <joint name="base_block_joint" type="fixed" >
+ <parent link="world" />
+ <origin xyz="0 0 0.002 " rpy="0 0 0" />
+ <child link="base_block" />
</joint>
-
- <!-- joint blocks -->
- <joint name="link2_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="5000" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="1000.0" />
- </joint>
-
- <!-- joint blocks -->
- <joint name="link3_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="5000" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="1000.0" />
- </joint>
-
- <!-- joint blocks -->
- <joint name="link4_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="2000" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="1000.0" />
- </joint>
-
- <!-- joint blocks -->
- <joint name="link5_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="500" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="100.0" />
- </joint>
-
- <!-- joint blocks -->
- <joint name="link6_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="100" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="100.0" />
- </joint>
-
- <!-- joint blocks -->
- <joint name="link7_joint" type="revolute" >
- <axis xyz="0 1 0" />
- <anchor xyz="0.0 0 0" />
- <limit safety_length_min="0" safety_length_max="0" k_position="100.0" k_velocity="100.0" min="-1" max="2" effort="100" velocity="50" />
- <calibration values="1.5 -1 " />
- <joint_properties damping="10.0" />
- </joint>
-
- <!-- link blocks -->
<link name="base_block">
- <parent name="world" />
- <origin xyz="0 0 0.002 " rpy="0 0 0" />
- <joint name="base_block_joint" />
<inertial>
<mass value="1000" />
- <com xyz="0 0 0" />
+ <origin xyz="0 0 0" />
<inertia ixx="1000" ixy="0" ixz="0" iyy="1000" iyz="0" izz="1000" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
- <map name="gazebo_material" flag="gazebo">
- <elem key="material">Gazebo/GrassFloor</elem>
- </map>
<geometry name="base_block_visual_geom">
- <box scale="0.001 0.001 0.001" />
+ <box size="0.001 0.001 0.001" />
...
[truncated message content] |
|
From: <wg_...@us...> - 2009-08-24 19:17:02
|
Revision: 22735
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22735&view=rev
Author: wg_cmeyers
Date: 2009-08-24 19:16:51 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
Added power_monitor to dependencies.
Modified Paths:
--------------
pkg/trunk/pr2/hot_box_test/manifest.xml
pkg/trunk/stacks/pr2/pr2_alpha/manifest.xml
pkg/trunk/stacks/pr2/pr2_dashboard/manifest.xml
pkg/trunk/stacks/pr2/pr2_dashboard2/manifest.xml
Modified: pkg/trunk/pr2/hot_box_test/manifest.xml
===================================================================
--- pkg/trunk/pr2/hot_box_test/manifest.xml 2009-08-24 19:16:32 UTC (rev 22734)
+++ pkg/trunk/pr2/hot_box_test/manifest.xml 2009-08-24 19:16:51 UTC (rev 22735)
@@ -18,6 +18,7 @@
<depend package="pr2_default_controllers" />
<depend package="life_test" />
<depend package="ocean_battery_driver" />
+ <depend package="power_monitor"/>
<depend package="geometry_msgs" />
<depend package="mechanism_msgs" />
Modified: pkg/trunk/stacks/pr2/pr2_alpha/manifest.xml
===================================================================
--- pkg/trunk/stacks/pr2/pr2_alpha/manifest.xml 2009-08-24 19:16:32 UTC (rev 22734)
+++ pkg/trunk/stacks/pr2/pr2_alpha/manifest.xml 2009-08-24 19:16:51 UTC (rev 22735)
@@ -18,6 +18,7 @@
<depend package="pr2_power_board"/>
<depend package="pr2_computer_monitor" />
<depend package="ocean_battery_driver"/>
+ <depend package="power_monitor"/>
<depend package="joy"/>
<depend package="ps3joy"/>
<depend package="hokuyo_node"/>
Modified: pkg/trunk/stacks/pr2/pr2_dashboard/manifest.xml
===================================================================
--- pkg/trunk/stacks/pr2/pr2_dashboard/manifest.xml 2009-08-24 19:16:32 UTC (rev 22734)
+++ pkg/trunk/stacks/pr2/pr2_dashboard/manifest.xml 2009-08-24 19:16:51 UTC (rev 22735)
@@ -14,6 +14,7 @@
<depend package="roslib"/>
<depend package="std_srvs"/>
<depend package="ocean_battery_driver"/>
+ <depend package="power_monitor"/>
<depend package="pr2_power_board"/>
<rosdep name="wxwidgets"/>
Modified: pkg/trunk/stacks/pr2/pr2_dashboard2/manifest.xml
===================================================================
--- pkg/trunk/stacks/pr2/pr2_dashboard2/manifest.xml 2009-08-24 19:16:32 UTC (rev 22734)
+++ pkg/trunk/stacks/pr2/pr2_dashboard2/manifest.xml 2009-08-24 19:16:51 UTC (rev 22735)
@@ -14,6 +14,7 @@
<depend package="roslib"/>
<depend package="std_srvs"/>
<depend package="ocean_battery_driver"/>
+ <depend package="power_monitor"/>
<depend package="pr2_power_board"/>
<depend package="pr2_msgs"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tpr...@us...> - 2009-08-24 20:52:27
|
Revision: 22748
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22748&view=rev
Author: tpratkanis
Date: 2009-08-24 20:52:00 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
Fix scan to cloud extrapolation issues.
Modified Paths:
--------------
pkg/trunk/demos/door_demos_gazebo/launch/pr2_door_test.launch
pkg/trunk/stacks/common/laser_scan/src/scan_to_cloud.cpp
Modified: pkg/trunk/demos/door_demos_gazebo/launch/pr2_door_test.launch
===================================================================
--- pkg/trunk/demos/door_demos_gazebo/launch/pr2_door_test.launch 2009-08-24 20:47:22 UTC (rev 22747)
+++ pkg/trunk/demos/door_demos_gazebo/launch/pr2_door_test.launch 2009-08-24 20:52:00 UTC (rev 22748)
@@ -5,5 +5,7 @@
<!--<node pkg="rosrecord" type="rosrecord" args=" -f door_demos_test.bag " />-->
<test test-name="door_demos_test_open_door" pkg="door_demos_gazebo" type="door_demo_test_exec_test.py" time-limit="1000" />
<node pkg="rostopic" type="rostopic" args="list" output="screen" />
+ <param name="/base_shadow_filter/notifier_tolerance" value="0.09" type="double" />
+ <param name="/tilt_shadow_filter/notifier_tolerance" value="0.09" type="double" />
</launch>
Modified: pkg/trunk/stacks/common/laser_scan/src/scan_to_cloud.cpp
===================================================================
--- pkg/trunk/stacks/common/laser_scan/src/scan_to_cloud.cpp 2009-08-24 20:47:22 UTC (rev 22747)
+++ pkg/trunk/stacks/common/laser_scan/src/scan_to_cloud.cpp 2009-08-24 20:52:00 UTC (rev 22748)
@@ -75,6 +75,7 @@
// TF
tf::TransformListener* tf_;
tf::MessageNotifier<sensor_msgs::LaserScan>* notifier_;
+ double tf_tolerance_;
filters::FilterChain<sensor_msgs::PointCloud> cloud_filter_chain_;
filters::FilterChain<sensor_msgs::LaserScan> scan_filter_chain_;
@@ -93,10 +94,11 @@
ros::Node::instance()->param ("~scan_topic", scan_topic_, std::string("tilt_scan"));
ros::Node::instance()->param ("~cloud_topic", cloud_topic_, std::string("tilt_laser_cloud_filtered"));
ros::Node::instance()->param ("~laser_max_range", laser_max_range_, DBL_MAX);
+ ros::Node::instance()->param ("~notifier_tolerance", tf_tolerance_, 0.03);
notifier_ = new tf::MessageNotifier<sensor_msgs::LaserScan>(tf_, ros::Node::instance(),
boost::bind(&ScanShadowsFilter::scanCallback, this, _1), scan_topic_, "base_link", 50);
- notifier_->setTolerance(ros::Duration(0.03));
+ notifier_->setTolerance(ros::Duration(tf_tolerance_));
ros::Node::instance()->advertise<sensor_msgs::PointCloud> (cloud_topic_, 10);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hsu...@us...> - 2009-08-24 21:01:17
|
Revision: 22752
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22752&view=rev
Author: hsujohnhsu
Date: 2009-08-24 21:01:11 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
moving tuckarm.py to experimental controllers.
Modified Paths:
--------------
pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/manifest.xml
Added Paths:
-----------
pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/
pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/tuckarm.py
Removed Paths:
-------------
pkg/trunk/stacks/pr2/pr2_default_controllers/scripts/tuckarm.py
Modified: pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/manifest.xml
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/manifest.xml 2009-08-24 20:59:54 UTC (rev 22751)
+++ pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/manifest.xml 2009-08-24 21:01:11 UTC (rev 22752)
@@ -15,4 +15,5 @@
<depend package="experimental_controllers"/>
<depend package="mechanism_control"/>
<depend package="mechanism_model"/>
+ <depend package="manipulation_msgs"/>
</package>
Copied: pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/tuckarm.py (from rev 22740, pkg/trunk/stacks/pr2/pr2_default_controllers/scripts/tuckarm.py)
===================================================================
--- pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/tuckarm.py (rev 0)
+++ pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/tuckarm.py 2009-08-24 21:01:11 UTC (rev 22752)
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+# Software License Agreement (BSD License)
+#
+# Copyright (c) 2009, Willow Garage, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of the Willow Garage nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Modified by Kevin Watts for two arm use
+
+import roslib
+roslib.load_manifest('pr2_experimental_controllers')
+
+import rospy
+import os
+
+from manipulation_msgs.msg import JointTraj, JointTrajPoint
+from mechanism_control import mechanism
+from robot_mechanism_controllers.srv import *
+
+import sys
+from time import sleep
+
+def go(side, positions):
+ pub = rospy.Publisher(side + '_arm_joint_trajectory_controller/command', JointTraj)
+
+ # HACK
+ sleep(1)
+
+ msg = JointTraj()
+ msg.points = []
+ for i in range(0,len(positions)):
+ msg.points.append(JointTrajPoint())
+ msg.points[i].positions = positions[i]
+ msg.points[i].time = 0.0
+
+ pub.publish(msg)
+
+USAGE = 'tuckarm.py <arms> ; <arms> is \'(r)ight\', \'(l)eft\', or \'(b)oth\' arms'
+
+def set_params_right():
+ rospy.set_param("r_arm_joint_trajectory_controller/type", "JointTrajectoryController")
+ rospy.set_param("r_arm_joint_trajectory_controller/velocity_scaling_factor", 0.5)
+ rospy.set_param("r_arm_joint_trajectory_controller/trajectory_wait_timeout", 0.25)
+
+ rospy.set_param("r_arm_joint_trajectory_controller/r_shoulder_pan_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_shoulder_lift_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_upperarm_roll_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_elbow_flex_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_forearm_roll_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_wrist_flex_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("r_arm_joint_trajectory_controller/r_wrist_roll_joint/goal_reached_threshold", 0.1)
+
+def set_params_left():
+ rospy.set_param("l_arm_joint_trajectory_controller/type", "JointTrajectoryController")
+ rospy.set_param("l_arm_joint_trajectory_controller/velocity_scaling_factor", 0.5)
+ rospy.set_param("l_arm_joint_trajectory_controller/trajectory_wait_timeout", 0.25)
+
+ rospy.set_param("l_arm_joint_trajectory_controller/l_shoulder_pan_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_shoulder_lift_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_upperarm_roll_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_elbow_flex_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_forearm_roll_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_wrist_flex_joint/goal_reached_threshold", 0.1)
+ rospy.set_param("l_arm_joint_trajectory_controller/l_wrist_roll_joint/goal_reached_threshold", 0.1)
+
+
+if __name__ == '__main__':
+ if len(sys.argv) < 2:
+ print USAGE
+ sys.exit(-1)
+
+ side = sys.argv[1]
+
+ rospy.wait_for_service('spawn_controller')
+ rospy.init_node('tuck_arms', anonymous = True)
+
+ # Load xml file for arm trajectory controllers
+ path = roslib.packages.get_pkg_dir('pr2_default_controllers')
+
+ xml_for_left = open(os.path.join(path, 'l_arm_joint_trajectory_controller.xml'))
+ xml_for_right = open(os.path.join(path, 'r_arm_joint_trajectory_controller.xml'))
+ set_params_left()
+ rospy.set_param('l_arm_joint_trajectory_controller/xml', xml_for_left.read())
+ set_params_right()
+ rospy.set_param('r_arm_joint_trajectory_controller/xml', xml_for_right.read())
+
+ controllers = []
+ try:
+ if side == 'l' or side == 'left':
+ # tuck traj for left arm
+ mechanism.spawn_controller('l_arm_joint_trajectory_controller', True)
+ controllers.append('l_arm_joint_trajectory_controller')
+
+ positions = [[0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,1.57,1.57,-2.25,0.0,0.0,0.0]]
+ go('l', positions)
+
+ rospy.spin()
+
+ elif side == 'r' or side == 'right':
+ # tuck traj for right arm
+ mechanism.spawn_controller('r_arm_joint_trajectory_controller', True)
+ controllers.append('r_arm_joint_trajectory_controller')
+ positions = [[-0.4,0.0,0.0,-1.57,0.0,0.0,0.0], [0.0,1.57,-1.57,-1.57,0.0,0.0,0.0]]
+ go('r', positions)
+
+ rospy.spin()
+
+ elif side == 'b' or side == 'both':
+ # Both arms
+ # Holds left arm up at shoulder lift
+ mechanism.spawn_controller('r_arm_joint_trajectory_controller', True)
+ mechanism.spawn_controller('l_arm_joint_trajectory_controller', True)
+
+ controllers.append('r_arm_joint_trajectory_controller')
+ controllers.append('l_arm_joint_trajectory_controller')
+
+ positions_l = [[0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,.90,1.57,-2.25,0.0,0.0,0.0]]
+ positions_r = [[-0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,1.57,-1.57,-1.57,0.0,0.0,0.0]]
+
+ go('r', positions_r)
+ sleep(0.5)
+ go('l', positions_l)
+
+ rospy.spin()
+
+ else:
+ print 'Unknown side! Must be l/left, r/right, or b/both!'
+ print USAGE
+ sys.exit(2)
+ finally:
+ for name in controllers:
+ for i in range(0,3):
+ try:
+ mechanism.kill_controller(name)
+ break
+ except:
+ pass
Property changes on: pkg/trunk/robot_descriptions/pr2/pr2_experimental_controllers/scripts/tuckarm.py
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:mergeinfo
+ /pkg/branches/gazebo-branch-merge/robot_descriptions/pr2/pr2_default_controllers/scripts/tuckarm.py:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
Deleted: pkg/trunk/stacks/pr2/pr2_default_controllers/scripts/tuckarm.py
===================================================================
--- pkg/trunk/stacks/pr2/pr2_default_controllers/scripts/tuckarm.py 2009-08-24 20:59:54 UTC (rev 22751)
+++ pkg/trunk/stacks/pr2/pr2_default_controllers/scripts/tuckarm.py 2009-08-24 21:01:11 UTC (rev 22752)
@@ -1,163 +0,0 @@
-#!/usr/bin/env python
-# Software License Agreement (BSD License)
-#
-# Copyright (c) 2009, Willow Garage, Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of the Willow Garage nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-# Modified by Kevin Watts for two arm use
-
-import roslib
-roslib.load_manifest('pr2_default_controllers')
-
-import rospy
-import os
-
-from manipulation_msgs.msg import JointTraj, JointTrajPoint
-from mechanism_control import mechanism
-from robot_mechanism_controllers.srv import *
-
-import sys
-from time import sleep
-
-def go(side, positions):
- pub = rospy.Publisher(side + '_arm_joint_trajectory_controller/command', JointTraj)
-
- # HACK
- sleep(1)
-
- msg = JointTraj()
- msg.points = []
- for i in range(0,len(positions)):
- msg.points.append(JointTrajPoint())
- msg.points[i].positions = positions[i]
- msg.points[i].time = 0.0
-
- pub.publish(msg)
-
-USAGE = 'tuckarm.py <arms> ; <arms> is \'(r)ight\', \'(l)eft\', or \'(b)oth\' arms'
-
-def set_params_right():
- rospy.set_param("r_arm_joint_trajectory_controller/type", "JointTrajectoryController")
- rospy.set_param("r_arm_joint_trajectory_controller/velocity_scaling_factor", 0.5)
- rospy.set_param("r_arm_joint_trajectory_controller/trajectory_wait_timeout", 0.25)
-
- rospy.set_param("r_arm_joint_trajectory_controller/r_shoulder_pan_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_shoulder_lift_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_upperarm_roll_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_elbow_flex_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_forearm_roll_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_wrist_flex_joint/goal_reached_threshold", 0.1)
- rospy.set_param("r_arm_joint_trajectory_controller/r_wrist_roll_joint/goal_reached_threshold", 0.1)
-
-def set_params_left():
- rospy.set_param("l_arm_joint_trajectory_controller/type", "JointTrajectoryController")
- rospy.set_param("l_arm_joint_trajectory_controller/velocity_scaling_factor", 0.5)
- rospy.set_param("l_arm_joint_trajectory_controller/trajectory_wait_timeout", 0.25)
-
- rospy.set_param("l_arm_joint_trajectory_controller/l_shoulder_pan_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_shoulder_lift_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_upperarm_roll_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_elbow_flex_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_forearm_roll_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_wrist_flex_joint/goal_reached_threshold", 0.1)
- rospy.set_param("l_arm_joint_trajectory_controller/l_wrist_roll_joint/goal_reached_threshold", 0.1)
-
-
-if __name__ == '__main__':
- if len(sys.argv) < 2:
- print USAGE
- sys.exit(-1)
-
- side = sys.argv[1]
-
- rospy.wait_for_service('spawn_controller')
- rospy.init_node('tuck_arms', anonymous = True)
-
- # Load xml file for arm trajectory controllers
- path = roslib.packages.get_pkg_dir('pr2_default_controllers')
-
- xml_for_left = open(os.path.join(path, 'l_arm_joint_trajectory_controller.xml'))
- xml_for_right = open(os.path.join(path, 'r_arm_joint_trajectory_controller.xml'))
- set_params_left()
- rospy.set_param('l_arm_joint_trajectory_controller/xml', xml_for_left.read())
- set_params_right()
- rospy.set_param('r_arm_joint_trajectory_controller/xml', xml_for_right.read())
-
- controllers = []
- try:
- if side == 'l' or side == 'left':
- # tuck traj for left arm
- mechanism.spawn_controller('l_arm_joint_trajectory_controller', True)
- controllers.append('l_arm_joint_trajectory_controller')
-
- positions = [[0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,1.57,1.57,-2.25,0.0,0.0,0.0]]
- go('l', positions)
-
- rospy.spin()
-
- elif side == 'r' or side == 'right':
- # tuck traj for right arm
- mechanism.spawn_controller('r_arm_joint_trajectory_controller', True)
- controllers.append('r_arm_joint_trajectory_controller')
- positions = [[-0.4,0.0,0.0,-1.57,0.0,0.0,0.0], [0.0,1.57,-1.57,-1.57,0.0,0.0,0.0]]
- go('r', positions)
-
- rospy.spin()
-
- elif side == 'b' or side == 'both':
- # Both arms
- # Holds left arm up at shoulder lift
- mechanism.spawn_controller('r_arm_joint_trajectory_controller', True)
- mechanism.spawn_controller('l_arm_joint_trajectory_controller', True)
-
- controllers.append('r_arm_joint_trajectory_controller')
- controllers.append('l_arm_joint_trajectory_controller')
-
- positions_l = [[0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,.90,1.57,-2.25,0.0,0.0,0.0]]
- positions_r = [[-0.4,0.0,0.0,-2.25,0.0,0.0,0.0], [0.0,1.57,-1.57,-1.57,0.0,0.0,0.0]]
-
- go('r', positions_r)
- sleep(0.5)
- go('l', positions_l)
-
- rospy.spin()
-
- else:
- print 'Unknown side! Must be l/left, r/right, or b/both!'
- print USAGE
- sys.exit(2)
- finally:
- for name in controllers:
- for i in range(0,3):
- try:
- mechanism.kill_controller(name)
- break
- except:
- pass
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ei...@us...> - 2009-08-24 21:24:15
|
Revision: 22755
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22755&view=rev
Author: eitanme
Date: 2009-08-24 21:24:05 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
Updating references to tuckarm in the system to correspond with its new location
Modified Paths:
--------------
pkg/trunk/applications/2dmapping_pr2_app/2dmapping_pr2/launch/gather_data.launch
pkg/trunk/demos/2dnav_gazebo/pr2-empty-amcl.launch
pkg/trunk/demos/2dnav_gazebo/pr2-empty-fake_localization.launch
pkg/trunk/demos/2dnav_gazebo/pr2-simple-fake_localization.launch
pkg/trunk/demos/2dnav_gazebo/pr2-wg-amcl.launch
pkg/trunk/demos/door_demos_gazebo/launch/pr2_and_door.launch
pkg/trunk/demos/handhold/run.launch
pkg/trunk/drivers/simulator/test_pr2_mechanism_controllers_gazebo/test_arm.launch
pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch
pkg/trunk/nav/visual_nav/launch/robot.launch
pkg/trunk/sandbox/person_data/person_data.launch
pkg/trunk/sandbox/webteleop/launch/gazebo.launch
Modified: pkg/trunk/applications/2dmapping_pr2_app/2dmapping_pr2/launch/gather_data.launch
===================================================================
--- pkg/trunk/applications/2dmapping_pr2_app/2dmapping_pr2/launch/gather_data.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/applications/2dmapping_pr2_app/2dmapping_pr2/launch/gather_data.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -1,6 +1,6 @@
<launch>
<include file="$(find pr2_alpha)/$(env ROBOT).launch"/>
<include file="$(find pr2_alpha)/teleop_joystick.launch"/>
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="r"/>
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="r"/>
<node pkg="rosrecord" type="rosrecord" args="-f /bags/2dmapping_pr2 base_scan tf_message"/>
</launch>
Modified: pkg/trunk/demos/2dnav_gazebo/pr2-empty-amcl.launch
===================================================================
--- pkg/trunk/demos/2dnav_gazebo/pr2-empty-amcl.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/2dnav_gazebo/pr2-empty-amcl.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -7,7 +7,7 @@
<include file="$(find pr2_gazebo)/pr2.launch"/>
<!-- Tug Arms For Navigation -->
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="b" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="b" output="screen" />
<!-- load map -->
<node pkg="map_server" type="map_server" args="$(find gazebo_worlds)/Media/materials/textures/map_blank.png 0.1" respawn="true" machine="three" />
Modified: pkg/trunk/demos/2dnav_gazebo/pr2-empty-fake_localization.launch
===================================================================
--- pkg/trunk/demos/2dnav_gazebo/pr2-empty-fake_localization.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/2dnav_gazebo/pr2-empty-fake_localization.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -7,7 +7,7 @@
<include file="$(find pr2_gazebo)/pr2.launch"/>
<!-- Tug Arms For Navigation -->
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="b" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="b" output="screen" />
<!-- load map -->
<node pkg="map_server" type="map_server" args="$(find gazebo_worlds)/Media/materials/textures/map_blank.png 0.1" respawn="true" machine="three" />
Modified: pkg/trunk/demos/2dnav_gazebo/pr2-simple-fake_localization.launch
===================================================================
--- pkg/trunk/demos/2dnav_gazebo/pr2-simple-fake_localization.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/2dnav_gazebo/pr2-simple-fake_localization.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -7,7 +7,7 @@
<include file="$(find pr2_gazebo)/pr2.launch"/>
<!-- Tug Arms For Navigation -->
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="b" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="b" output="screen" />
<!-- load map -->
<node pkg="map_server" type="map_server" args="$(find gazebo_worlds)/Media/materials/textures/map3.png 0.1" respawn="true" machine="three" />
Modified: pkg/trunk/demos/2dnav_gazebo/pr2-wg-amcl.launch
===================================================================
--- pkg/trunk/demos/2dnav_gazebo/pr2-wg-amcl.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/2dnav_gazebo/pr2-wg-amcl.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -10,7 +10,7 @@
<node pkg="map_server" type="map_server" args="$(find gazebo_worlds)/Media/materials/textures/willowMap.png 0.1" respawn="true" machine="three" />
<!-- Tug Arms For Navigation -->
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="b" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="b" output="screen" />
<!-- nav-stack -->
<include file="$(find 2dnav_gazebo)/2dnav-stack-amcl.launch"/>
Modified: pkg/trunk/demos/door_demos_gazebo/launch/pr2_and_door.launch
===================================================================
--- pkg/trunk/demos/door_demos_gazebo/launch/pr2_and_door.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/door_demos_gazebo/launch/pr2_and_door.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -12,7 +12,7 @@
<param name="publish_frequency" type="double" value="50.0" />
<param name="tf_prefix" type="string" value="" />
</node>
- <!--<node pkg="pr2_default_controllers" type="tuckarm.py" args="l" respawn="false" />-->
+ <!--<node pkg="pr2_experimental_controllers" type="tuckarm.py" args="l" respawn="false" />-->
<!-- load door -->
<param name="door_description" command="$(find xacro)/xacro.py '$(find door_demos_gazebo)/door_defs/door_defs.xml'" />
Modified: pkg/trunk/demos/handhold/run.launch
===================================================================
--- pkg/trunk/demos/handhold/run.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/demos/handhold/run.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -6,7 +6,7 @@
<node pkg="mechanism_control" type="spawner.py" args="r_arm_cartesian_pose_controller" />
<!--
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="l" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="l" />
-->
<node pkg="handhold" type="handhold" />
Modified: pkg/trunk/drivers/simulator/test_pr2_mechanism_controllers_gazebo/test_arm.launch
===================================================================
--- pkg/trunk/drivers/simulator/test_pr2_mechanism_controllers_gazebo/test_arm.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/drivers/simulator/test_pr2_mechanism_controllers_gazebo/test_arm.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -5,7 +5,7 @@
<!-- send single_link.xml to param server -->
<include file="$(find arm_gazebo)/l_arm.launch" />
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="l" respawn="true" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="l" respawn="true" />
<include file="$(find arm_gazebo)/controllers/l_gripper_controller.launch" />
<test test-name="test_pr2_mechanism_gazebo_test_arm" pkg="test_pr2_mechanism_controllers_gazebo" type="test_arm.py" time-limit="110" />
Modified: pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch
===================================================================
--- pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/drivers/simulator/test_pr2_sensors_gazebo/test_camera.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -26,7 +26,7 @@
<!-- send head a pointing command -->
<node pkg="pr2_mechanism_controllers" type="pointhead.py" args="10 0 1 /base_link" output="screen"/>
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="b" output="screen"/>
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="b" output="screen"/>
<!-- test -->
<test test-name="test_pr2_sensors_gazebo_test_camera" pkg="test_pr2_sensors_gazebo" type="test_camera.py" time-limit="110" />
Modified: pkg/trunk/nav/visual_nav/launch/robot.launch
===================================================================
--- pkg/trunk/nav/visual_nav/launch/robot.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/nav/visual_nav/launch/robot.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -10,7 +10,7 @@
<node pkg="vslam" type="roadmap.py" machine="four"/>
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="r"/>
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="r"/>
<param name="visual_navigator/odom_frame" value="odom"/>
<node pkg="visual_nav" type="ros_visual_nav" args="" respawn="false" output="screen" />
Modified: pkg/trunk/sandbox/person_data/person_data.launch
===================================================================
--- pkg/trunk/sandbox/person_data/person_data.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/sandbox/person_data/person_data.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -1,10 +1,10 @@
<launch>
<node pkg="person_data" type="joylistener" output="screen"/>
<node pkg ="person_data" type="headhack" output="screen" />
-<node pkg ="pr2_default_controllers" type="tuckarm.py" args="r" output="screen" />
+<node pkg ="pr2_experimental_controllers" type="tuckarm.py" args="r" output="screen" />
<!-- for some reason putting joylistener after the other launch files broke it,
and putting headhack after them makes roslaunch not find it! -->
-<!-- node pkg="pr2_default_controllers" type="tuckarm.py" args="r" -->
+<!-- node pkg="pr2_experimental_controllers" type="tuckarm.py" args="r" -->
<include file="$(find person_data)/data_collector_record.launch" />
<include file="$(find person_data)/truly_passive.launch" />
<include file="$(find person_data)/teleop_joystick.launch" />
Modified: pkg/trunk/sandbox/webteleop/launch/gazebo.launch
===================================================================
--- pkg/trunk/sandbox/webteleop/launch/gazebo.launch 2009-08-24 21:10:56 UTC (rev 22754)
+++ pkg/trunk/sandbox/webteleop/launch/gazebo.launch 2009-08-24 21:24:05 UTC (rev 22755)
@@ -14,8 +14,8 @@
<node pkg="map_server" type="map_server" args="$(find gazebo_worlds)/Media/materials/textures/willowMap.png 0.1" respawn="true" machine="three" />
<!-- Tug Arms For Navigation -->
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="l" output="screen" />
- <node pkg="pr2_default_controllers" type="tuckarm.py" args="r" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="l" output="screen" />
+ <node pkg="pr2_experimental_controllers" type="tuckarm.py" args="r" output="screen" />
<!-- nav-stack -->
<include file="$(find 2dnav_gazebo)/2dnav-stack-amcl.launch"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jfa...@us...> - 2009-08-24 22:41:33
|
Revision: 22774
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22774&view=rev
Author: jfaustwg
Date: 2009-08-24 22:41:26 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
rviz running on OSX again, plugins working
Modified Paths:
--------------
pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt
pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/manifest.xml
pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp
Modified: pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt 2009-08-24 22:36:56 UTC (rev 22773)
+++ pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt 2009-08-24 22:41:26 UTC (rev 22774)
@@ -16,7 +16,7 @@
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-rospack_add_library(${PROJECT_NAME} src/planning_display.cpp
+rospack_add_library(${PROJECT_NAME} MODULE src/planning_display.cpp
src/init.cpp)
find_package(wxWidgets REQUIRED)
Modified: pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt 2009-08-24 22:36:56 UTC (rev 22773)
+++ pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt 2009-08-24 22:41:26 UTC (rev 22774)
@@ -18,7 +18,7 @@
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-rospack_add_library(${PROJECT_NAME} src/collision_map_display.cpp
+rospack_add_library(${PROJECT_NAME} MODULE src/collision_map_display.cpp
src/polygonal_map_display.cpp
src/init.cpp)
Modified: pkg/trunk/stacks/visualization/rviz/manifest.xml
===================================================================
--- pkg/trunk/stacks/visualization/rviz/manifest.xml 2009-08-24 22:36:56 UTC (rev 22773)
+++ pkg/trunk/stacks/visualization/rviz/manifest.xml 2009-08-24 22:41:26 UTC (rev 22774)
@@ -29,7 +29,7 @@
<depend package="urdf"/>
<depend package="resource_retriever"/>
<export>
- <cpp cflags="-I${prefix}/src/" lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lrviz.so"/>
+ <cpp cflags="-I${prefix}/src/" lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lrviz"/>
<python path="${prefix}/lib/"/>
</export>
Modified: pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt 2009-08-24 22:36:56 UTC (rev 22773)
+++ pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt 2009-08-24 22:41:26 UTC (rev 22774)
@@ -1,6 +1,6 @@
include_directories(.)
-rospack_add_library(default_plugin markers/marker_selection_handler.cpp
+rospack_add_library(default_plugin MODULE markers/marker_selection_handler.cpp
markers/marker_base.cpp
markers/shape_marker.cpp
markers/arrow_marker.cpp
Modified: pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp
===================================================================
--- pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp 2009-08-24 22:36:56 UTC (rev 22773)
+++ pkg/trunk/stacks/visualization/rviz/src/rviz/plugin/plugin.cpp 2009-08-24 22:41:26 UTC (rev 22774)
@@ -97,8 +97,15 @@
}
}
- library_path_ = (p.parent_path() / fs::path((const char*)wxDynamicLibrary::CanonicalizeName(wxString::FromAscii(library.c_str())).char_str())).string();
+ library_path_ = (p.parent_path() / fs::path((const char*)wxDynamicLibrary::CanonicalizeName(wxString::FromAscii(library.c_str()), wxDL_LIBRARY).char_str())).string();
+ // wxMac returns .bundle, we want .so for now (until I figure out how to get cmake to build bundles)
+#if __WXMAC__
+ fs::path mac_path(library_path_);
+ mac_path.replace_extension(".so");
+ library_path_ = mac_path.string();
+#endif
+
doc["name"] >> name_;
const YAML::Node& displays = doc["displays"];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bla...@us...> - 2009-08-24 22:44:17
|
Revision: 22776
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22776&view=rev
Author: blaisegassend
Date: 2009-08-24 22:44:08 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
Moved spacenav and spacenav_node into joystick_drivers stack.
Added Paths:
-----------
pkg/trunk/stacks/joystick_drivers/spacenav/
pkg/trunk/stacks/joystick_drivers/spacenav_node/
Removed Paths:
-------------
pkg/trunk/3rdparty/spacenav/
pkg/trunk/pr2/teleop/spacenav_node/
Property changes on: pkg/trunk/stacks/joystick_drivers/spacenav
___________________________________________________________________
Added: svn:mergeinfo
+
Added: svk:merge
+ f5854215-dd47-0410-b2c4-cdd35faa7885:/pkg/branches/filters_dynamic_loading/3rdparty/spacenav:22463
Property changes on: pkg/trunk/stacks/joystick_drivers/spacenav_node
___________________________________________________________________
Added: svn:mergeinfo
+ /pkg/branches/gazebo-branch-merge/pr2/teleop/spacenav_node:15683-15684,15739-15794,15797-15820,15822-15839,15852-15870,15983-16008,16010-16016,16129-16141,16145-16169,16245-16262,16274-16334
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jfa...@us...> - 2009-08-24 23:46:36
|
Revision: 22787
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=22787&view=rev
Author: jfaustwg
Date: 2009-08-24 23:46:25 +0000 (Mon, 24 Aug 2009)
Log Message:
-----------
Sigh, more cmake 2.4/2.6/OSX issues... fix to build on non-OSX (2.4?)
Modified Paths:
--------------
pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt
pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt
pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
Modified: pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt 2009-08-24 23:43:04 UTC (rev 22786)
+++ pkg/trunk/motion_planning/motion_planning_rviz_plugin/CMakeLists.txt 2009-08-24 23:46:25 UTC (rev 22787)
@@ -16,9 +16,15 @@
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-rospack_add_library(${PROJECT_NAME} MODULE src/planning_display.cpp
- src/init.cpp)
-
+set(SOURCE_FILES src/planning_display.cpp src/init.cpp)
+
+include(CMakeDetermineSystem)
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(${PROJECT_NAME} MODULE ${SOURCE_FILES})
+else(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(${PROJECT_NAME} ${SOURCE_FILES})
+endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+
find_package(wxWidgets REQUIRED)
include(${wxWidgets_USE_FILE})
include_directories( ${wxWidgets_INCLUDE_DIRS} )
Modified: pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt 2009-08-24 23:43:04 UTC (rev 22786)
+++ pkg/trunk/sandbox/mapping_rviz_plugin/CMakeLists.txt 2009-08-24 23:46:25 UTC (rev 22787)
@@ -18,9 +18,16 @@
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-rospack_add_library(${PROJECT_NAME} MODULE src/collision_map_display.cpp
+set(SOURCE_FILES src/collision_map_display.cpp
src/polygonal_map_display.cpp
src/init.cpp)
+
+include(CMakeDetermineSystem)
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(${PROJECT_NAME} MODULE ${SOURCE_FILES})
+else(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(${PROJECT_NAME} ${SOURCE_FILES})
+endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
find_package(wxWidgets REQUIRED)
include(${wxWidgets_USE_FILE})
Modified: pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt 2009-08-24 23:43:04 UTC (rev 22786)
+++ pkg/trunk/stacks/visualization/rviz/src/default_plugin/CMakeLists.txt 2009-08-24 23:46:25 UTC (rev 22787)
@@ -1,6 +1,6 @@
include_directories(.)
-rospack_add_library(default_plugin MODULE markers/marker_selection_handler.cpp
+set(SOURCE_FILES markers/marker_selection_handler.cpp
markers/marker_base.cpp
markers/shape_marker.cpp
markers/arrow_marker.cpp
@@ -25,6 +25,14 @@
tf_display.cpp
camera_display.cpp
init.cpp)
+
+include(CMakeDetermineSystem)
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(default_plugin MODULE ${SOURCE_FILES})
+else(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ rospack_add_library(default_plugin ${SOURCE_FILES})
+endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+
target_link_libraries(default_plugin ${PROJECT_NAME} ${wxWidgets_LIBRARIES} ${OGRE_LIBRARIES})
rospack_link_boost(default_plugin thread signals filesystem system program_options)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|