[Rock-dev] Rock Cpp

Janosch Machowinski Janosch.Machowinski at dfki.de
Wed Feb 24 15:29:07 CET 2016


Hi,
I'm glad to inform you, that the first stable version of
Rock Cpp is out there. To use it, you need to use a recent
version of Orogen (newer than the last release) and add
git at github.com:rock-cpp/package_set.git
to your manifest. This will trigger a rebuild of all orocos
packages.

Afterwards, for every orocos package, there will be a
library named <orocosPackage>-proxies available.
You need to link against every proxy, that you actually use
in your program.

Helper classes and tooling can be found in the package
tools/orocos_cpp

An example :

#include <rtt/transports/corba/TaskContextServer.hpp>

#include <orocos_cpp/Spawner.hpp>

#include <orocos_cpp/ConfigurationHelper.hpp>
#include <orocos_cpp/TransformerHelper.hpp>
#include <orocos_cpp/LoggingHelper.hpp>


#include <orocos/odometry/proxies/Skid.hpp>

using namespace orocos_cpp;

int main(int argc, char**argv)
{
     //always needed
     RTT::corba::TaskContextServer::InitOrb(argc, argv);

     const std::string odometryName("OdoName");

     Spawner &spawner(Spawner::getInstace());
     spawner.spawnTask("odometry::Skid", odometryName);
     spawner.waitUntilAllReady(base::Time::fromSeconds(2.0));

     odometry::proxies::Skid odometry(odometryName);

     RTT::InputPort<base::samples::RigidBodyState> &odoReader = 
odometry.odometry_samples.getReader(RTT::ConnPolicy::buffer(50));

     ConfigurationHelper confHelper;
     confHelper.applyConfig(&odometry, "default", "myRobot");

     smurf::Robot robotGeometry;
     TransformerHelper trHelper(robotGeometry);
     trHelper.configureTransformer(&odometry);

     LoggingHelper logHelper;
     logHelper.logTasks();

     odometry.configure();
     odometry.start();

     while(spawner.checkAllProcesses())
     {
         base::samples::RigidBodyState odoValue;
         while(odoReader.read(odoValue) == RTT::NewData)
         {
             //doSomething;
         }
     }

     odometry.stop();

     spawner.killAll();

     return 0;
}

Greetings
     Janosch

-- 
  Dipl. Inf. Janosch Machowinski
  SAR- & Sicherheitsrobotik

  Universität Bremen
  FB 3 - Mathematik und Informatik
  AG Robotik
  Robert-Hooke-Straße 1
  28359 Bremen, Germany
  
  Zentrale: +49 421 178 45-6611
  
  Besuchsadresse der Nebengeschäftstelle:
  Robert-Hooke-Straße 5
  28359 Bremen, Germany
  
  Tel.:    +49 421 178 45-6614
  Empfang: +49 421 178 45-6600
  Fax:     +49 421 178 45-4150
  E-Mail:  jmachowinski at informatik.uni-bremen.de

  Weitere Informationen: http://www.informatik.uni-bremen.de/robotik



More information about the Rock-dev mailing list