Zora++
What is Zora++?
Zora++ is a simple add-on for the Carmen Framework. It provides C++ wrapper classes for Carmen messages, and C++ handler classes that send/receive those messages via IPC and logfile streams. A set of macros is defined that can be used to easily create new messages (and their corresponding handler) classes.
Where can I get/download Zora++?
Zora++ is part of the AISSVN repository. Issue
svn checkout https://aissvn.informatik.uni-freiburg.de/svn/projects-carmen-freiburg
to check out the latest version. For doing so, you will need an AISSVN account.
Zora++ depends on:
- Carmen
- wxGTK
Can I see a demo application using Zora++?
Sure. The following demo application shows the main benefits of using the Zora++. The application connects to a local central-server where it waits for messages of a (simulated) manipulator. By overwriting the OnStatusAllMessage()-method (defined in the MessageDispatcher-interface). It prints a dot (”.”) for every incoming manipulator status message, and sends every now and then a JointRotateMessage. Note that the message's parameters can both be set via its constructor, as well as via its Getters/Setters.
#include <wx/wx.h>
#include "zora++.h"
class ZoraDemoApp : public wxApp, MessageDispatcher
{
public:
StatusAllHandler allStatusHandler;
JointRotateHandler jointRotateHandler;
void OnStatusAllMessage(StatusAllMessage &msg) {
printf(".");
if(rand() % 30 == 0) {
JointRotateMessage msg(rand() % 4,rand() % 180 - 90,20.0,0.0);
msg.Send();
printf("\nRotating joint %d to position %f\n",msg.GetModule(),msg.GetPosition());
}
};
bool OnInit() {
IPC::GetInstance()->ConnectTo("localhost");
return true;
}
};
IMPLEMENT_APP(ZoraDemoApp)
HOWTOs
last modified on 2008/05/27 12:58
