Glenn,

Thank you.  I copied the file and changed the Makefile (and obviously
re-compiled).  Is there anything else that I need to do?  I'm getting
the following error:

  Gazebo driver creating 1 device
   6665.13.0 is error: Gazebo driver doesn't support interface type 13
error   : Initialization failed for driver "gazebo"
error   : failed to parse config file player.cfg


My config file looks like this:


driver 
(
        name "gazebo"
        provides ["simulation:0" ]
        plugin "libgazeboplugin"
        server_id "default"
)
driver 
(
        name "gazebo"
        provides ["gps:0"]
        plugin "libgazeboplugin"
        gz_id "car1"
)



Thanks again!
Bethany





On Thu, 20 Jul 2006 13:43:23 -0600 (MDT)
 "Glenn Laguna" <[EMAIL PROTECTED]> wrote:
> 
> Sorry I missed most of this discussion. Here's a gps device for
> player that I
> wrote a couple of weeks ago. It seems to work, but your mileage may
> vary.
> 
> Regards,
> Glenn
> 
> -- 
>  ===================================================================
> | Glenn Laguna, Ph.D.                    e-mail: [EMAIL PROTECTED] |
> | Sandia National Labs -- Dept 6634      Phone:  (505) 844-2308     |
> | MS-1003                                                           |
> | Albuquerque, NM  87185-5800            Fax:    (505) 844-6161     |
>  ===================================================================
> 
> /*GpsInterface.cc*/
> /*
>  *  Gazebo - Outdoor Multi-Robot Simulator
>  *  Copyright (C) 2003  
>  *     Nate Koenig & Andrew Howard
>  *
>  *  This program is free software; you can redistribute it and/or
> modify
>  *  it under the terms of the GNU General Public License as published
> by
>  *  the Free Software Foundation; either version 2 of the License, or
>  *  (at your option) any later version.
>  *
>  *  This program is distributed in the hope that it will be useful,
>  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>  *  GNU General Public License for more details.
>  *
>  *  You should have received a copy of the GNU General Public License
>  *  along with this program; if not, write to the Free Software
>  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
>  02111-1307  USA
>  *
>  */
> /* Desc: GPS Interface for Player
>  * Author: Glenn Laguna
>  * Date: 20 June 2006
>  */
> 
> #include <math.h>
> 
> #include "gazebo.h"
> #include "GazeboDriver.hh"
> #include "GpsInterface.hh"
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Constructor
> GpsInterface::GpsInterface(player_devaddr_t addr, 
>     GazeboDriver *driver, ConfigFile *cf, int section)
>   : GazeboInterface(addr, driver, cf, section)
> {
>   // Get the ID of the interface
>   this->gz_id = (char*) calloc(1024, sizeof(char));
>   strcat(this->gz_id, GazeboClient::prefixId);
>   strcat(this->gz_id, cf->ReadString(section, "gz_id", ""));
> 
>   // Allocate a GPS Interface
>   this->iface = gz_gps_alloc();
> 
>   this->datatime = -1;
> }
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Destructor
> GpsInterface::~GpsInterface()
> {
>   // Release this interface
>   gz_gps_free(this->iface); 
> }
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Handle all messages. This is called from GazeboDriver
> int GpsInterface::ProcessMessage(MessageQueue *respQueue,
>                    player_msghdr_t *hdr, void *data)
> {
>  
>   return 0;
> }
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Update this interface, publish new info. This is
> // called from GazeboDriver::Update
> void GpsInterface::Update()
> {
>   player_gps_data_t data;
>   double e[3];
>   struct timeval ts;
> 
>   gz_gps_lock(this->iface, 1);
> 
>   // Only Update when new data is present
>  if (this->iface->data->time > this->datatime)
>  {
>    this->datatime = this->iface->data->time;
> 
>    ts.tv_sec = (int) (this->iface->data->time);
>    ts.tv_usec = (int) (fmod(this->iface->data->time, 1) * 1e6);
> 
>     memset(&data, 0, sizeof(data));
> 
>     data.latitude =  (int32_t) (1e7  * this->iface->data->latitude);
>     data.longitude = (int32_t) (1e7 * this->iface->data->longitude);
>     data.altitude =  (int32_t) this->iface->data->altitude;
>     data.utm_e = this->iface->data->utm_e;
>     data.utm_n = this->iface->data->utm_n;       
> //     data.quality = this->iface->data->quality;     
> //     data.hdop = (uint32_t) this->iface->data->hdop;
> //     data.vdop = (uint32_t) this->iface->data->vdop;
> //     data.err_horz = this->iface->data->err_horz;
> //     data.err_vert = this->iface->data->err_vert;
>     
>     this->driver->Publish( this->device_addr, NULL,
>         PLAYER_MSGTYPE_DATA, PLAYER_GPS_DATA_STATE, 
>         (void*)&data, sizeof(data), &this->datatime );
> 
>   }
> 
>   gz_gps_unlock(this->iface);
> }
> 
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Open a SHM interface when a subscription is received. This is
> called from
> // GazeboDriver::Subscribe
> void GpsInterface::Subscribe()
> {
>   // Open the interface
>   if (gz_gps_open(this->iface, GazeboClient::client, this->gz_id) !=
> 0)
>   {
>     printf("Error Subscribing to Gazebo Position Interface\n");
>   }
> }
> 
>
///////////////////////////////////////////////////////////////////////////////
> // Close a GPS interface. This is called from
> GazeboDriver::Unsubscribe
> void GpsInterface::Unsubscribe()
> {
>   gz_gps_close(this->iface);
> }
> 
> /*GpsInterface.hh*/
> /*
>  *  Gazebo - Outdoor Multi-Robot Simulator
>  *  Copyright (C) 2003  
>  *     Nate Koenig & Andrew Howard
>  *
>  *  This program is free software; you can redistribute it and/or
> modify
>  *  it under the terms of the GNU General Public License as published
> by
>  *  the Free Software Foundation; either version 2 of the License, or
>  *  (at your option) any later version.
>  *
>  *  This program is distributed in the hope that it will be useful,
>  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>  *  GNU General Public License for more details.
>  *
>  *  You should have received a copy of the GNU General Public License
>  *  along with this program; if not, write to the Free Software
>  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
>  02111-1307  USA
>  *
>  */
> /* Desc: Gps Interface for Player
>  * Author: Nate Koenig
>  * Date: 2 March 2006
>  * CVS: $Id: GpsInterface.hh,v 1.1 2006/03/03 03:54:04 natepak Exp $
>  */
> 
> #ifndef GPSINTERFACE_HH
> #define GPSINTERFACE_HH
> 
> #include "GazeboInterface.hh"
> 
> // Forward declarations
> typedef struct gz_gps gz_gps_t;
> 
> class GpsInterface : public GazeboInterface
> {
>   /// @brief Constructor
>   public: GpsInterface(player_devaddr_t addr, GazeboDriver *driver,
>                               ConfigFile *cf, int section);
> 
>   /// @brief Destructor
>   public: virtual ~GpsInterface();
> 
>   /// @brief Handle all messages. This is called from GazeboDriver
>   public: virtual int ProcessMessage(MessageQueue *respQueue,
>                                      player_msghdr_t *hdr, void
> *data);
> 
>   /// @brief Update this interface, publish new info.
>   public: virtual void Update();
> 
>   /// @brief Open a GPS interface when a subscription is received. \
>   ///        This is called fromGazeboDriver::Subscribe
>   public: virtual void Subscribe();
> 
>   /// @brief Close a GPS interface. This is called from \
>   ///        GazeboDriver::Unsubscribe
>   public: virtual void Unsubscribe();
> 
>   private: gz_gps_t *iface;
> 
>   /// @brief Gazebo id. This needs to match and ID in a Gazebo
> WorldFile
>   private: char *gz_id;
> 
>   /// @brief Timestamp on last data update
>   private: double datatime;
> 
> };
> #endif
> 
> 
>
-------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to
> share your
> opinions on IT & business topics through brief surveys -- and earn
> cash
>
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Playerstage-gazebo mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo

Reply via email to