You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(59) |
Jun
(40) |
Jul
(59) |
Aug
(81) |
Sep
(14) |
Oct
(9) |
Nov
(22) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(25) |
Feb
(3) |
Mar
(27) |
Apr
(14) |
May
(15) |
Jun
(112) |
Jul
(44) |
Aug
(7) |
Sep
(18) |
Oct
(34) |
Nov
(17) |
Dec
(20) |
2006 |
Jan
(12) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(11) |
From: Dominic L. <ma...@us...> - 2004-09-22 20:25:10
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27180 Modified Files: Makefile.am Added Files: newMarieRequestSystem.cpp Log Message: creating new MarieRequests --- NEW FILE: newMarieRequestSystem.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include "MarieRequestSystem.h" #include <sstream> #include <string> namespace marie { class newMarieRequestSystem; DECLARE_NODE(newMarieRequestSystem) /*Node * * @name newMarieRequestSystem * @category RobotFlow:MARIE:DATA * @description Create MARIE request system * * @input_name COMMAND * @input_type string * @input_description Command to include in the request * * @input_name DATA * @input_type string * @input_description Data to include in the request * * @input_name REQUEST_ID * @input_type int * @input_description Request ID to include in the request * * @input_name STATE * @input_type string * @input_description State to include in the request * * @output_name REQUEST_SYSTEM * @output_description MARIE Request System Object * @output_type MarieRequestSystem * END*/ using namespace std; class newMarieRequestSystem : public BufferedNode { private: int m_commandID; int m_dataID; int m_requestIDID; int m_stateID; int m_outputID; public: newMarieRequestSystem(string nodeName, ParameterSet params) : BufferedNode(nodeName,params) { //inputs m_commandID = addInput("COMMAND"); m_dataID = addInput("DATA"); m_requestIDID = addInput("REQUEST_ID"); m_stateID = addInput("STATE_ID"); //outputs m_outputID = addOutput("REQUEST_SYSTEM"); } void calculate(int output_id, int count, Buffer &out) { ObjectRef commandValue = getInput(m_commandID,count); ObjectRef dataValue = getInput(m_dataID,count); ObjectRef requestIDValue = getInput(m_requestIDID,count); ObjectRef stateValue = getInput(m_stateID,count); if (!commandValue->isNil() && !dataValue->isNil() && !requestIDValue->isNil() && !stateValue->isNil()) { MarieRequestSystem *request = new MarieRequestSystem(); RCPtr<String> commandString = commandValue; RCPtr<String> dataString = dataValue; RCPtr<Int> requestID = requestIDValue; RCPtr<String> stateString = stateValue; request->setCommand(*commandString); request->setData(*dataString); request->setID(*requestID); request->setState(*stateString); out[count] = ObjectRef(request); } else { out[count] = nilObject; } } };//class newMarieRequestSystem }//namespace marie Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** Makefile.am 22 Sep 2004 19:47:07 -0000 1.16 --- Makefile.am 22 Sep 2004 20:24:51 -0000 1.17 *************** *** 27,31 **** MarieDataMap.cpp \ newMarieDataMap.cpp \ ! MarieRequestSystem.cpp install-data-local: --- 27,32 ---- MarieDataMap.cpp \ newMarieDataMap.cpp \ ! MarieRequestSystem.cpp \ ! newMarieRequestSystem.cpp install-data-local: |
From: Dominic L. <ma...@us...> - 2004-09-22 19:47:19
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17966/src Modified Files: Makefile.am Added Files: MarieRequestSystem.cpp Log Message: added Request System object Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Makefile.am 22 Sep 2004 14:47:41 -0000 1.15 --- Makefile.am 22 Sep 2004 19:47:07 -0000 1.16 *************** *** 26,31 **** MarieDataBumper.cpp \ MarieDataMap.cpp \ ! newMarieDataMap.cpp ! install-data-local: echo "Installing libRFMarie FlowDesigner toolbox in $(libdir)" --- 26,32 ---- MarieDataBumper.cpp \ MarieDataMap.cpp \ ! newMarieDataMap.cpp \ ! MarieRequestSystem.cpp ! install-data-local: echo "Installing libRFMarie FlowDesigner toolbox in $(libdir)" --- NEW FILE: MarieRequestSystem.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Carle Cote * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include "MarieRequestSystem.h" #include <sstream> #include <string> #include "MarieXMLDataFactory.h" namespace marie { DECLARE_NODE(MarieRequestSystem) /*Node * * @name MarieRequestSystem * @category RobotFlow:MARIE:DATA * @description Load an object of RequestSystem type * * @input_name REQUEST_SYSTEM * @input_type MarieRequestSystem * @input_description MarieRequestSystem Object * * @output_name COMMAND * @output_description Command stored in the Request System * @output_type string * * @output_name DATA * @output_description Data stored in the Request System * @output_type string * * @output_name REQUEST_ID * @output_description Request ID stored in the Request System * @output_type int * * @output_name STATE * @output_description State stored in the Request System * @output_type string * * END*/ DECLARE_TYPE2(RequestSystem::ID,MarieRequestSystem) using namespace std; MarieRequestSystem::MarieRequestSystem() : MarieObject("MarieRequestSystem",ParameterSet()), m_isNode(false) { } MarieRequestSystem::MarieRequestSystem (const RequestSystem &data) : MarieObject("MarieRequestSystem",ParameterSet()), RequestSystem(data), m_isNode(false) { } MarieRequestSystem::MarieRequestSystem(string nodeName, ParameterSet params) : MarieObject(nodeName,params), m_isNode(true) { //used as a BufferedNode, create inputs & outputs //inputs m_inputID = addInput("REQUEST_SYSTEM"); //outputs m_commandID = addOutput("COMMAND"); m_dataID = addOutput("DATA"); m_requestIDID = addOutput("REQUEST_ID"); m_stateID = addOutput("STATE"); } void MarieRequestSystem::calculate(int output_id, int count, Buffer &out) { ObjectRef InputValue = getInput(m_inputID,count); if (m_isNode && !InputValue->isNil()) { RCPtr<MarieRequestSystem> RequestObject = InputValue; (*outputs[m_commandID].buffer)[count] = ObjectRef(new String(RequestObject->getCommand())); (*outputs[m_dataID].buffer)[count] = ObjectRef(new String(RequestObject->getData())); (*outputs[m_requestIDID].buffer)[count] = ObjectRef(Int::alloc(RequestObject->getID())); (*outputs[m_stateID].buffer)[count] = ObjectRef(new String(RequestObject->getState())); } else { out[count] = nilObject; } } void MarieRequestSystem::printOn(ostream &out) const { MarieXMLDataFactory factory; //writing XML data string value = factory.toString((RequestSystem&) (*this)); out.write(value.c_str(), value.size()); } void MarieRequestSystem::readFrom(istream &in) { throw new GeneralException("readFrom not supported. Use the MarieLoad Node to read data from the stream.",__FILE__,__LINE__); } void MarieRequestSystem::copyDataAbstract(DataAbstract *data) { if (data) { RequestSystem *my_data = dynamic_cast<RequestSystem*>(data); if (my_data) { this->RequestSystem::operator=(*my_data); } else { throw new GeneralException(string("Unable to cast into RequestSystem Abstract : ") + data->getID(),__FILE__,__LINE__); } } } } |
From: Dominic L. <ma...@us...> - 2004-09-22 19:47:19
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17966/include Modified Files: Makefile.am Added Files: MarieRequestSystem.h Log Message: added Request System object Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/include/Makefile.am,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Makefile.am 22 Sep 2004 13:55:53 -0000 1.10 --- Makefile.am 22 Sep 2004 19:47:06 -0000 1.11 *************** *** 18,22 **** MarieDataRaw.h \ MarieCommandJoystick.h \ ! MarieDataMap.h include_HEADERS = MarieObject.h --- 18,23 ---- MarieDataRaw.h \ MarieCommandJoystick.h \ ! MarieDataMap.h \ ! MarieRequestSystem.h include_HEADERS = MarieObject.h --- NEW FILE: MarieRequestSystem.h --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ // Prevent Multiple Inclusion #ifndef _MARIE_REQUEST_SYSTEM_H_ #define _MARIE_REQUEST_SYSTEM_H_ //FlowDesigner include #include "Object.h" #include "MarieObject.h" //MARIE data types include #include "RequestSystem.h" namespace marie { class MarieRequestSystem : public MarieObject, public RequestSystem { public: MarieRequestSystem(); MarieRequestSystem (const RequestSystem &data); //from BufferedNode MarieRequestSystem(string nodeName, ParameterSet params); virtual void calculate(int output_id, int count, Buffer &out); virtual void printOn(ostream &out) const; virtual void readFrom(istream &in=cin); virtual void copyDataAbstract(DataAbstract *data); private: bool m_isNode; //inputs int m_inputID; //outputs int m_commandID; int m_dataID; int m_requestIDID; int m_stateID; }; } #endif |
From: Dominic L. <ma...@us...> - 2004-09-22 14:47:53
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17905 Modified Files: Makefile.am Added Files: newMarieDataMap.cpp Log Message: dataMap working --- NEW FILE: newMarieDataMap.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include "MarieDataMap.h" #include <sstream> #include <string> #include "CompositeType.h" namespace marie { class newMarieDataMap; DECLARE_NODE(newMarieDataMap) /*Node * * @name newMarieDataMap * @category RobotFlow:MARIE:DATA * @description Create MARIE data maps * * @input_name COMPOSITE * @input_type CompositeType * @input_description Composite Type Object (Map) * * @output_name DATA_MAP * @output_description MARIE DataMap Object * @output_type MarieDataMap * END*/ using namespace std; class newMarieDataMap : public BufferedNode { private: int m_inputID; int m_outputID; public: newMarieDataMap(string nodeName, ParameterSet params) : BufferedNode(nodeName,params) { //inputs m_inputID = addInput("COMPOSITE"); //outputs m_outputID = addOutput("DATA_MAP"); } void calculate(int output_id, int count, Buffer &out) { ObjectRef InputValue = getInput(m_inputID,count); if (!InputValue->isNil()) { RCPtr<CompositeType> CompositeObject = InputValue; //create new MarieDataMap MarieDataMap *dMap = new MarieDataMap(); //get all the Composite Object fields map<string,ObjectRef> cType = CompositeObject->getAllFields(); //serialize objects into strings for (map<string,ObjectRef>::iterator iter = cType.begin(); iter != cType.end(); iter++) { string key = iter->first; stringstream value; value << iter->second; dMap->addElement(key,value.str()); } out[count] = ObjectRef(dMap); } else { out[count] = nilObject; } } };//class newMarieDataMap }//namespace marie Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Makefile.am 22 Sep 2004 13:55:53 -0000 1.14 --- Makefile.am 22 Sep 2004 14:47:41 -0000 1.15 *************** *** 25,29 **** MarieDataIR.cpp \ MarieDataBumper.cpp \ ! MarieDataMap.cpp install-data-local: --- 25,30 ---- MarieDataIR.cpp \ MarieDataBumper.cpp \ ! MarieDataMap.cpp \ ! newMarieDataMap.cpp install-data-local: |
From: Dominic L. <ma...@us...> - 2004-09-22 13:56:02
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7120/src Modified Files: Makefile.am Added Files: MarieDataMap.cpp Log Message: Reading MarieDataMap Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Makefile.am 2 Sep 2004 18:18:12 -0000 1.13 --- Makefile.am 22 Sep 2004 13:55:53 -0000 1.14 *************** *** 21,28 **** MarieCommandCamera.cpp \ MarieCommandMotor.cpp \ ! MarieDataRaw.cpp \ ! MarieCommandJoystick.cpp \ ! MarieDataIR.cpp \ ! MarieDataBumper.cpp install-data-local: --- 21,29 ---- MarieCommandCamera.cpp \ MarieCommandMotor.cpp \ ! MarieDataRaw.cpp \ ! MarieCommandJoystick.cpp \ ! MarieDataIR.cpp \ ! MarieDataBumper.cpp \ ! MarieDataMap.cpp install-data-local: --- NEW FILE: MarieDataMap.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include "MarieDataMap.h" #include <sstream> #include <string> #include "CompositeType.h" #include "MarieXMLDataFactory.h" namespace marie { DECLARE_NODE(MarieDataMap) /*Node * * @name MarieDataMap * @category RobotFlow:MARIE:DATA * @description Read MARIE data maps * * @input_name DATA_MAP * @input_type MarieDataMap * @input_description MarieDataMap Object * * @output_name COMPOSITE * @output_description FlowDesigner CompositeType object (equivalent to DataMap) * @output_type CompositeType * END*/ DECLARE_TYPE2(DataMap::ID,MarieDataMap) using namespace std; MarieDataMap::MarieDataMap() : MarieObject("MarieDataMap",ParameterSet()), m_isNode(false) { } MarieDataMap::MarieDataMap (const DataMap &data) : MarieObject("MarieDataMap",ParameterSet()), DataMap(data), m_isNode(false) { } MarieDataMap::MarieDataMap(string nodeName, ParameterSet params) : MarieObject(nodeName,params), m_isNode(true) { //used as a BufferedNode, create inputs & outputs //inputs m_inputID = addInput("DATA_MAP"); //outputs m_outputID = addOutput("COMPOSITE"); } void MarieDataMap::calculate(int output_id, int count, Buffer &out) { ObjectRef InputValue = getInput(m_inputID,count); if (m_isNode && !InputValue->isNil()) { RCPtr<MarieDataMap> dataMapObject = InputValue; const std::map<std::string, std::string> my_map = dataMapObject->getValues(); CompositeType *cType = new CompositeType(); for (map<string,string>::const_iterator iter = my_map.begin(); iter != my_map.end(); iter++) { stringstream key((*iter).first); stringstream value((*iter).second); try { //try to read FlowDesigner object ObjectRef ObjectValue; value >> ObjectValue; cType->addField(key.str(), ObjectValue); } catch(...) { //unable to read FlowDesigner Object //output standard string ObjectRef ObjectValue(new String(value.str())); cType->addField(key.str(),ObjectValue); } } //output Composite type out[count] = ObjectRef(cType); } else { out[count] = nilObject; } } void MarieDataMap::printOn(ostream &out) const { MarieXMLDataFactory factory; //writing XML data string value = factory.toString((DataMap&) (*this)); out.write(value.c_str(), value.size()); } void MarieDataMap::readFrom(istream &in) { throw new GeneralException("readFrom not supported. Use the MarieLoad Node to read data from the stream.",__FILE__,__LINE__); } void MarieDataMap::copyDataAbstract(DataAbstract *data) { if (data) { DataMap *my_data = dynamic_cast<DataMap*>(data); if (my_data) { this->DataMap::operator=(*my_data); } else { throw new GeneralException(string("Unable to cast into DataMap Abstract : ") + data->getID(),__FILE__,__LINE__); } } } } |
From: Dominic L. <ma...@us...> - 2004-09-22 13:56:02
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7120/include Modified Files: Makefile.am Added Files: MarieDataMap.h Log Message: Reading MarieDataMap --- NEW FILE: MarieDataMap.h --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ // Prevent Multiple Inclusion #ifndef _MARIE_DATA_MAP_H_ #define _MARIE_DATA_MAP_H_ //FlowDesigner include #include "Object.h" #include "MarieObject.h" //MARIE data types include #include "DataMap.h" namespace marie { class MarieDataMap : public MarieObject, public DataMap { public: MarieDataMap(); MarieDataMap (const DataMap &data); //from BufferedNode MarieDataMap(string nodeName, ParameterSet params); virtual void calculate(int output_id, int count, Buffer &out); virtual void printOn(ostream &out) const; virtual void readFrom(istream &in=cin); virtual void copyDataAbstract(DataAbstract *data); private: bool m_isNode; //inputs int m_inputID; //outputs int m_outputID; }; } #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/include/Makefile.am,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Makefile.am 2 Sep 2004 18:20:22 -0000 1.9 --- Makefile.am 22 Sep 2004 13:55:53 -0000 1.10 *************** *** 4,9 **** MarieCommandMotor.h \ MarieDataLaser.h \ ! MarieDataIR.h \ ! MarieDataBumper.h \ MarieDataSonar.h \ MarieDataNull.h \ --- 4,9 ---- MarieCommandMotor.h \ MarieDataLaser.h \ ! MarieDataIR.h \ ! MarieDataBumper.h \ MarieDataSonar.h \ MarieDataNull.h \ *************** *** 16,21 **** MariePeek.h \ MariePush.h \ ! MarieDataRaw.h \ ! MarieCommandJoystick.h include_HEADERS = MarieObject.h --- 16,22 ---- MariePeek.h \ MariePush.h \ ! MarieDataRaw.h \ ! MarieCommandJoystick.h \ ! MarieDataMap.h include_HEADERS = MarieObject.h |
From: Dominic L. <ma...@us...> - 2004-09-20 19:16:01
|
Update of /cvsroot/robotflow/RobotFlow/Vision/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12864 Modified Files: READ.n Log Message: Avoid processing when not activated Index: READ.n =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/n-files/READ.n,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** READ.n 26 Aug 2004 20:13:10 -0000 1.5 --- READ.n 20 Sep 2004 19:15:48 -0000 1.6 *************** *** 4,20 **** <Network type="subnet" name="MAIN"> <Node name="node_LOOP0_1" type="MAIN_PROCESS" x="-3397.000000" y="-618.000000"/> - <NetOutput name="SENTENCE" node="node_LOOP0_1" terminal="SENTENCE" object_type="" description="The object from THEN or ELSE depending on COND"/> - <NetOutput name="ORIGINAL_TEXT" node="node_LOOP0_1" terminal="ORIGINAL_TEXT" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_LOOP0_1" terminal="BLACK_WHITE_LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_LOOP0_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_LOOP0_1" terminal="DICT" object_type="" description="No description available"/> - <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_LOOP0_1" terminal="SIGN_TRACKING_ACTIVATED" object_type="any" description="No description available"/> <NetInput name="COLOR_LOOKUP" node="node_LOOP0_1" terminal="COLOR_LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_LOOP0_1" terminal="CURRENT_ABS_ZOOM" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_LOOP0_1" terminal="RGB15_IMAGE" object_type="any" description="No description available"/> ! <NetOutput name="REL_PAN_COMMAND" node="node_LOOP0_1" terminal="REL_PAN_COMMAND" object_type="any" description="No description available"/> ! <NetOutput name="REL_TILT_COMMAND" node="node_LOOP0_1" terminal="REL_TILT_COMMAND" object_type="any" description="No description available"/> ! <NetOutput name="ABS_ZOOM_COMMAND" node="node_LOOP0_1" terminal="ABS_ZOOM_COMMAND" object_type="any" description="No description available"/> ! <NetOutput name="READING_FLAG" node="node_LOOP0_1" terminal="READING_FLAG" object_type="any" description="No description available"/> <Note x="-3418" y="-384" visible="1" text="The MAIN network will load configuration from the files containing : - black and white color lookup - the neural network to use for recog - The dictionary to use * You can change this configuration by double clicking on the LoadFile blocks"/> </Network> --- 4,20 ---- <Network type="subnet" name="MAIN"> <Node name="node_LOOP0_1" type="MAIN_PROCESS" x="-3397.000000" y="-618.000000"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_LOOP0_1" terminal="BLACK_WHITE_LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_LOOP0_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_LOOP0_1" terminal="DICT" object_type="" description="No description available"/> <NetInput name="COLOR_LOOKUP" node="node_LOOP0_1" terminal="COLOR_LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_LOOP0_1" terminal="CURRENT_ABS_ZOOM" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_LOOP0_1" terminal="RGB15_IMAGE" object_type="any" description="No description available"/> ! <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_LOOP0_1" terminal="SIGN_TRACKING_ACTIVATED" object_type="any" description="The input"/> ! <NetOutput name="REL_PAN_COMMAND" node="node_LOOP0_1" terminal="REL_PAN_COMMAND" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="REL_TILT_COMMAND" node="node_LOOP0_1" terminal="REL_TILT_COMMAND" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ABS_ZOOM_COMMAND" node="node_LOOP0_1" terminal="ABS_ZOOM_COMMAND" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="SENTENCE" node="node_LOOP0_1" terminal="SENTENCE" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ORIGINAL_TEXT" node="node_LOOP0_1" terminal="ORIGINAL_TEXT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="READING_FLAG" node="node_LOOP0_1" terminal="READING_FLAG" object_type="" description="The object from THEN or ELSE depending on COND"/> <Note x="-3418" y="-384" visible="1" text="The MAIN network will load configuration from the files containing : - black and white color lookup - the neural network to use for recog - The dictionary to use * You can change this configuration by double clicking on the LoadFile blocks"/> </Network> *************** *** 40,50 **** <Node name="node_NOP_1" type="NOP" x="-449.000000" y="193.000000"/> <Node name="node_NOP_2" type="NOP" x="-1154.000000" y="291.000000"/> ! <Node name="node_isNil_1" type="isNil" x="-38.000000" y="212.000000"/> <Node name="node_NOT_1" type="NOT" x="242.000000" y="235.000000"/> <Node name="node_AND_1" type="AND" x="137.000000" y="235.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> ! <Node name="node_isNil_2" type="isNil" x="-39.000000" y="236.000000"/> <Node name="node_isNil_3" type="isNil" x="-38.000000" y="260.000000"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="COMPONENTS" to="node_PROCESS_SEGMENTS_1" input="SYMBOLS_COMPONENTS">-104.5 76.5 -100 352 -48 351 </Link> <Link from="node_SUBNET0_1" output="COMPONENTS" to="node_MULTI_SIGN_TRACKING_1" input="COMPONENTS"/> --- 40,57 ---- <Node name="node_NOP_1" type="NOP" x="-449.000000" y="193.000000"/> <Node name="node_NOP_2" type="NOP" x="-1154.000000" y="291.000000"/> ! <Node name="node_isNil_1" type="isNil" x="-38.000000" y="209.000000"/> <Node name="node_NOT_1" type="NOT" x="242.000000" y="235.000000"/> <Node name="node_AND_1" type="AND" x="137.000000" y="235.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> ! <Node name="node_isNil_2" type="isNil" x="-38.000000" y="234.000000"/> <Node name="node_isNil_3" type="isNil" x="-38.000000" y="260.000000"/> + <Node name="node_IF_ACTIVATED_DO_1" type="IF_ACTIVATED_DO" x="685.000000" y="74.000000"/> + <Node name="node_IF_ACTIVATED_DO_2" type="IF_ACTIVATED_DO" x="687.000000" y="123.000000"/> + <Node name="node_IF_ACTIVATED_DO_3" type="IF_ACTIVATED_DO" x="687.000000" y="174.000000"/> + <Node name="node_IF_ACTIVATED_DO_4" type="IF_ACTIVATED_DO" x="687.000000" y="280.000000"/> + <Node name="node_IF_ACTIVATED_DO_5" type="IF_ACTIVATED_DO" x="692.000000" y="404.000000"/> + <Node name="node_IF_ACTIVATED_DO_6" type="IF_ACTIVATED_DO" x="688.000000" y="230.000000"/> + <Node name="node_NOP_3" type="NOP" x="-547.000000" y="398.000000"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="COMPONENTS" to="node_PROCESS_SEGMENTS_1" input="SYMBOLS_COMPONENTS">-104.5 76.5 -100 352 -48 351 </Link> <Link from="node_SUBNET0_1" output="COMPONENTS" to="node_MULTI_SIGN_TRACKING_1" input="COMPONENTS"/> *************** *** 64,84 **** <Link from="node_isNil_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_isNil_3" output="OUTPUT" to="node_AND_1" input="INPUT3"/> ! <NetOutput name="SENTENCE" node="node_PROCESS_SEGMENTS_1" terminal="SENTENCE" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ORIGINAL_TEXT" node="node_PROCESS_SEGMENTS_1" terminal="ORIGINAL_TEXT" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_PROCESS_SEGMENTS_1" terminal="LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_PROCESS_SEGMENTS_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_PROCESS_SEGMENTS_1" terminal="DICT" object_type="" description="No description available"/> - <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_MULTI_SIGN_TRACKING_1" terminal="SIGN_TRACKING_ACTIVATED" object_type="any" description="No description available"/> <NetInput name="COLOR_LOOKUP" node="node_SUBNET0_1" terminal="LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> ! <NetOutput name="REL_PAN_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="REL_PAN" object_type="any" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="REL_TILT_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="REL_TILT" object_type="any" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ABS_ZOOM_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="ABS_ZOOM" object_type="any" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="READING_FLAG" node="node_NOT_1" terminal="OUTPUT" object_type="bool" description="Boolean output"/> <Note x="-1480" y="269" visible="1" text="Sony SNC-RZ30 Network Camera controller."/> <Note x="-1098" y="39" visible="1" text="Image must be converted to RGB15 from the camera before training."/> <Note x="-323" y="44" visible="1" text="From the components of the image, we try to extract a textual messages that are color coded (foreground color = text, background color = color of the sheet of paper)"/> ! <Note x="173" y="520" visible="1" text="Image segments are scaled and process by the neural network. We will look in the dictionary for words that match the best."/> <Note x="473" y="23" visible="1" text="SKIP_N is useful because the camera is too slow, if we don't use SKIP_N, the camera will be overloaded with commands, which creates a terrific lag."/> </Network> --- 71,104 ---- <Link from="node_isNil_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_isNil_3" output="OUTPUT" to="node_AND_1" input="INPUT3"/> ! <Link from="node_PAN_TILT_CTRL_1" output="REL_PAN" to="node_IF_ACTIVATED_DO_1" input="DO"/> ! <Link from="node_PAN_TILT_CTRL_1" output="REL_TILT" to="node_IF_ACTIVATED_DO_2" input="DO"/> ! <Link from="node_PAN_TILT_CTRL_1" output="ABS_ZOOM" to="node_IF_ACTIVATED_DO_3" input="DO"/> ! <Link from="node_PROCESS_SEGMENTS_1" output="SENTENCE" to="node_IF_ACTIVATED_DO_4" input="DO"/> ! <Link from="node_PROCESS_SEGMENTS_1" output="ORIGINAL_TEXT" to="node_IF_ACTIVATED_DO_5" input="DO"/> ! <Link from="node_NOT_1" output="OUTPUT" to="node_IF_ACTIVATED_DO_6" input="DO"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_MULTI_SIGN_TRACKING_1" input="SIGN_TRACKING_ACTIVATED"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_1" input="SIGN_TRACKING_ACTIVATED"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_2" input="SIGN_TRACKING_ACTIVATED"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_3" input="SIGN_TRACKING_ACTIVATED"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_6" input="SIGN_TRACKING_ACTIVATED"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_4" input="SIGN_TRACKING_ACTIVATED">-528 398 389 395 390 274 451.5 272.5 </Link> ! <Link from="node_NOP_3" output="OUTPUT" to="node_IF_ACTIVATED_DO_5" input="SIGN_TRACKING_ACTIVATED"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_PROCESS_SEGMENTS_1" terminal="LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_PROCESS_SEGMENTS_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_PROCESS_SEGMENTS_1" terminal="DICT" object_type="" description="No description available"/> <NetInput name="COLOR_LOOKUP" node="node_SUBNET0_1" terminal="LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> ! <NetOutput name="REL_PAN_COMMAND" node="node_IF_ACTIVATED_DO_1" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="REL_TILT_COMMAND" node="node_IF_ACTIVATED_DO_2" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ABS_ZOOM_COMMAND" node="node_IF_ACTIVATED_DO_3" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="SENTENCE" node="node_IF_ACTIVATED_DO_4" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="ORIGINAL_TEXT" node="node_IF_ACTIVATED_DO_5" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetOutput name="READING_FLAG" node="node_IF_ACTIVATED_DO_6" terminal="OUTPUT" object_type="" description="The object from THEN or ELSE depending on COND"/> ! <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_NOP_3" terminal="INPUT" object_type="any" description="The input"/> <Note x="-1480" y="269" visible="1" text="Sony SNC-RZ30 Network Camera controller."/> <Note x="-1098" y="39" visible="1" text="Image must be converted to RGB15 from the camera before training."/> <Note x="-323" y="44" visible="1" text="From the components of the image, we try to extract a textual messages that are color coded (foreground color = text, background color = color of the sheet of paper)"/> ! <Note x="159" y="551" visible="1" text="Image segments are scaled and process by the neural network. We will look in the dictionary for words that match the best."/> <Note x="473" y="23" visible="1" text="SKIP_N is useful because the camera is too slow, if we don't use SKIP_N, the camera will be overloaded with commands, which creates a terrific lag."/> </Network> *************** *** 509,512 **** --- 529,533 ---- <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> + <Node name="node_NOP_3" type="NOP" x="27.000000" y="-63.000000"/> <Link from="node_MultiSignTracking_1" output="COMPONENTS" to="node_NOP_1" input="INPUT"/> <Link from="node_MultiSignTracking_1" output="DELTA_X" to="node_Subsumption_1" input="HIGH_PRIORITY"/> *************** *** 519,522 **** --- 540,544 ---- <Link from="node_COLOR_TRACKER_1" output="BOUNDARY" to="node_Subsumption_3" input="LOW_PRIORITY"/> <Link from="node_Constant_1" output="VALUE" to="node_COLOR_TRACKER_1" input="ACTIVATED"/> + <Link from="node_NOP_3" output="OUTPUT" to="node_MultiSignTracking_1" input="ACTIVATED"/> <NetOutput name="COMPONENTS" node="node_NOP_1" terminal="OUTPUT" object_type="any" description="The output = The input"/> <NetInput name="COMPONENTS" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> *************** *** 524,528 **** <NetOutput name="DELTA_Y" node="node_Subsumption_2" terminal="OUTPUT" object_type="any" description="No description available"/> <NetOutput name="BOUNDARY" node="node_Subsumption_3" terminal="OUTPUT" object_type="any" description="No description available"/> ! <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_MultiSignTracking_1" terminal="ACTIVATED" object_type="any" description="Behavior activation."/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> <Note x="218" y="299" visible="1" text="If activated, the MultiSignTracking behavior will output probable characters components, delta_x, delta_y and boundray of the group of components that could be characters."/> --- 546,550 ---- <NetOutput name="DELTA_Y" node="node_Subsumption_2" terminal="OUTPUT" object_type="any" description="No description available"/> <NetOutput name="BOUNDARY" node="node_Subsumption_3" terminal="OUTPUT" object_type="any" description="No description available"/> ! <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_NOP_3" terminal="INPUT" object_type="any" description="The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> <Note x="218" y="299" visible="1" text="If activated, the MultiSignTracking behavior will output probable characters components, delta_x, delta_y and boundray of the group of components that could be characters."/> *************** *** 614,616 **** --- 636,649 ---- <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> + <Network type="subnet" name="IF_ACTIVATED_DO"> + <Node name="node_IF_1" type="IF" x="-316.000000" y="-92.000000"> + <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> + </Node> + <Node name="node_NilObject_1" type="NilObject" x="-461.000000" y="-35.000000"/> + <Link from="node_NilObject_1" output="VALUE" to="node_IF_1" input="ELSE"/> + <NetInput name="SIGN_TRACKING_ACTIVATED" node="node_IF_1" terminal="COND" object_type="bool" description="The condition for the if statement"/> + <NetInput name="DO" node="node_IF_1" terminal="THEN" object_type="any" description="What to do if the condition is true"/> + <NetOutput name="OUTPUT" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> + <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> + </Network> </Document> |
From: Carle C. <car...@us...> - 2004-09-02 18:20:32
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26670 Modified Files: Makefile.am Log Message: add MarieObject.h to be included in install configuration Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/include/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile.am 4 Aug 2004 17:49:49 -0000 1.8 --- Makefile.am 2 Sep 2004 18:20:22 -0000 1.9 *************** *** 8,12 **** MarieDataSonar.h \ MarieDataNull.h \ - MarieObject.h \ MarieCommandCamera.h \ MarieDataCamera.h \ --- 8,11 ---- *************** *** 20,22 **** --- 19,22 ---- MarieCommandJoystick.h + include_HEADERS = MarieObject.h |
From: Carle C. <car...@us...> - 2004-09-02 18:19:47
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26509 Removed Files: MarieDataLocalisation.cpp Log Message: removed --- MarieDataLocalisation.cpp DELETED --- |
From: Carle C. <car...@us...> - 2004-09-02 18:19:41
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26488 Removed Files: MarieDataLocalisation.h Log Message: removed --- MarieDataLocalisation.h DELETED --- |
From: Carle C. <car...@us...> - 2004-09-02 18:18:27
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26219 Modified Files: Makefile.am Log Message: add MarieObject.h to be included in install configuration Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Makefile.am 30 Aug 2004 19:21:55 -0000 1.12 --- Makefile.am 2 Sep 2004 18:18:12 -0000 1.13 *************** *** 24,30 **** MarieCommandJoystick.cpp \ MarieDataIR.cpp \ ! MarieDataBumper.cpp \ ! MarieDataLocalisation.cpp ! install-data-local: echo "Installing libRFMarie FlowDesigner toolbox in $(libdir)" --- 24,29 ---- MarieCommandJoystick.cpp \ MarieDataIR.cpp \ ! MarieDataBumper.cpp ! install-data-local: echo "Installing libRFMarie FlowDesigner toolbox in $(libdir)" |
From: Carle C. <car...@us...> - 2004-08-31 19:53:30
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1279 Modified Files: MarieDataLocalisation.cpp Log Message: change id type to int Index: MarieDataLocalisation.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/MarieDataLocalisation.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MarieDataLocalisation.cpp 30 Aug 2004 19:21:55 -0000 1.1 --- MarieDataLocalisation.cpp 31 Aug 2004 19:53:19 -0000 1.2 *************** *** 55,59 **** * * @input_name ID ! * @input_type string * @input_description input id, nilObject if not used * --- 55,59 ---- * * @input_name ID ! * @input_type Int * @input_description input id, nilObject if not used * *************** *** 79,83 **** * * @output_name ID ! * @output_type string * @output_description output ID * --- 79,83 ---- * * @output_name ID ! * @output_type Int * @output_description output ID * *************** *** 130,134 **** MarieDataLocalisation *data = NULL; float x,y,z,strength = 0; ! string id = ""; //get all inputs --- 130,134 ---- MarieDataLocalisation *data = NULL; float x,y,z,strength = 0; ! int id = 0; //get all inputs *************** *** 185,189 **** if (!idInValue->isNil()) { ! RCPtr<String> idPtr = idInValue; id = *idPtr; data->setID(id); --- 185,189 ---- if (!idInValue->isNil()) { ! RCPtr<Int> idPtr = idInValue; id = *idPtr; data->setID(id); *************** *** 203,207 **** (*outputs[m_zOutID].buffer)[count] = ObjectRef(Float::alloc(z)); (*outputs[m_strengthOutID].buffer)[count] = ObjectRef(Float::alloc(strength)); ! (*outputs[m_idOutID].buffer)[count] = ObjectRef(new String(id)); } else --- 203,207 ---- (*outputs[m_zOutID].buffer)[count] = ObjectRef(Float::alloc(z)); (*outputs[m_strengthOutID].buffer)[count] = ObjectRef(Float::alloc(strength)); ! (*outputs[m_idOutID].buffer)[count] = ObjectRef(Int::alloc(id)); } else |
From: Carle C. <car...@us...> - 2004-08-31 17:30:39
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7314 Modified Files: MarieCommandCamera.cpp Log Message: add missing include Index: MarieCommandCamera.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/MarieCommandCamera.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MarieCommandCamera.cpp 30 Aug 2004 19:21:55 -0000 1.5 --- MarieCommandCamera.cpp 31 Aug 2004 17:30:24 -0000 1.6 *************** *** 22,25 **** --- 22,26 ---- #include <sstream> #include <string> + #include <bitset> #include "MarieXMLDataFactory.h" |
From: Carle C. <car...@us...> - 2004-08-30 19:22:05
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4910/MARIE/src Modified Files: Makefile.am MarieCommandCamera.cpp Added Files: MarieDataLocalisation.cpp Log Message: add localisation data type Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/Makefile.am,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile.am 4 Aug 2004 17:49:50 -0000 1.11 --- Makefile.am 30 Aug 2004 19:21:55 -0000 1.12 *************** *** 24,28 **** MarieCommandJoystick.cpp \ MarieDataIR.cpp \ ! MarieDataBumper.cpp install-data-local: --- 24,29 ---- MarieCommandJoystick.cpp \ MarieDataIR.cpp \ ! MarieDataBumper.cpp \ ! MarieDataLocalisation.cpp install-data-local: Index: MarieCommandCamera.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/MarieCommandCamera.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MarieCommandCamera.cpp 24 Aug 2004 17:34:26 -0000 1.4 --- MarieCommandCamera.cpp 30 Aug 2004 19:21:55 -0000 1.5 *************** *** 55,60 **** * * @input_name REL_ZOOM ! * @input_type input zoom, nilObject if not used ! * @input_description * * @input_name ABS_BRIGHTNESS --- 55,60 ---- * * @input_name REL_ZOOM ! * @input_type int ! * @input_description input zoom, nilObject if not used * * @input_name ABS_BRIGHTNESS *************** *** 75,80 **** * * @input_name ABS_ZOOM ! * @input_type input zoom, nilObject if not used ! * @input_description * * @output_name COMMAND_CAMERA --- 75,80 ---- * * @input_name ABS_ZOOM ! * @input_type int ! * @input_description input zoom, nilObject if not used * * @output_name COMMAND_CAMERA *************** *** 99,103 **** * * @output_name REL_ZOOM ! * @output_type zoom * @output_description output zoom * --- 99,103 ---- * * @output_name REL_ZOOM ! * @output_type int * @output_description output zoom * *************** *** 119,123 **** * * @output_name ABS_ZOOM ! * @output_type zoom * @output_description output zoom * --- 119,123 ---- * * @output_name ABS_ZOOM ! * @output_type int * @output_description output zoom * --- NEW FILE: MarieDataLocalisation.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Carle Cote * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include "MarieDataLocalisation.h" #include <sstream> #include <string> #include "MarieXMLDataFactory.h" namespace marie { DECLARE_NODE(MarieDataLocalisation) /*Node * * @name MarieDataLocalisation * @category RobotFlow:MARIE:DATA * @description Read & Create MarieDataLocalisation data object * * @input_name DATA_LOCALISATION * @input_type Input MarieDataLocalisation * @input_description input DataLocalisation, nilObject if not used * * @input_name X * @input_type float * @input_description input X, nilObject if not used * * @input_name Y * @input_type float * @input_description input Y, nilObject if not used * * @input_name Z * @input_type float * @input_description input Z, nilObject if not used * * @input_name STRENGTH * @input_type float * @input_description input strength, nilObject if not used * * @input_name ID * @input_type string * @input_description input id, nilObject if not used * * @output_name DATA_LOCALISATION * @output_type MarieDataLocalisation * @output_description Output DataLocalisation * * @output_name X * @output_type float * @output_description output X * * @output_name Y * @output_type float * @output_description output Y * * @output_name Z * @output_type float * @output_description output Z * * @output_name STRENGTH * @output_type float * @output_description output strength * * @output_name ID * @output_type string * @output_description output ID * END*/ using namespace std; DECLARE_TYPE2(DataLocalisation::ID,MarieDataLocalisation) MarieDataLocalisation::MarieDataLocalisation() : MarieObject("MarieDataLocalisation",ParameterSet()), m_isNode(false) { } MarieDataLocalisation::MarieDataLocalisation (const DataLocalisation &command) : MarieObject("MarieDataLocalisation",ParameterSet()), DataLocalisation(command), m_isNode(false) { } MarieDataLocalisation::MarieDataLocalisation(string nodeName, ParameterSet params) : MarieObject(nodeName,params), m_isNode(true) { //used as a BufferedNode, create inputs & outputs //inputs m_dataInID = addInput("DATA_LOCALISATION"); m_xInID = addInput("X"); m_yInID = addInput("Y"); m_zInID = addInput("Z"); m_strengthInID = addInput("STRENGTH"); m_idInID = addInput("ID"); //outputs m_dataOutID = addOutput("DATA_LOCALISATION"); m_xOutID = addOutput("X"); m_yOutID = addOutput("Y"); m_zOutID = addOutput("Z"); m_strengthOutID = addOutput("STRENGTH"); m_idOutID = addOutput("ID"); } void MarieDataLocalisation::calculate(int output_id, int count, Buffer &out) { if (m_isNode) { MarieDataLocalisation *data = NULL; float x,y,z,strength = 0; string id = ""; //get all inputs ObjectRef dataInValue = getInput(m_dataInID,count); ObjectRef xInValue = getInput(m_xInID,count); ObjectRef yInValue = getInput(m_yInID,count); ObjectRef zInValue = getInput(m_zInID,count); ObjectRef strengthInValue = getInput(m_strengthInID,count); ObjectRef idInValue = getInput(m_idInID,count); //create command object if (!dataInValue->isNil()) { RCPtr<MarieDataLocalisation> inputData = dataInValue; //copy input command data = new MarieDataLocalisation(*inputData); data->getPosition(x,y,z); strength = data->getStrength(); id = data->getID(); } else { if (!xInValue->isNil() || !yInValue->isNil() || !zInValue->isNil() || !strengthInValue->isNil() || !idInValue->isNil()) { data = new MarieDataLocalisation(); //get x if (!xInValue->isNil() || !yInValue->isNil() || !zInValue->isNil()) { RCPtr<Float> xPtr = xInValue; x = *xPtr; RCPtr<Float> yPtr = yInValue; y = *yPtr; RCPtr<Float> zPtr = zInValue; z = *zPtr; data->setPosition(x,y,z); } //get strength if (!strengthInValue->isNil()) { RCPtr<Float> strengthPtr = strengthInValue; strength = *strengthPtr; data->setStrength(strength); } //get id if (!idInValue->isNil()) { RCPtr<String> idPtr = idInValue; id = *idPtr; data->setID(id); } } } if (data) { //output values (*outputs[m_dataOutID].buffer)[count] = ObjectRef(data); (*outputs[m_xOutID].buffer)[count] = ObjectRef(Float::alloc(x)); (*outputs[m_yOutID].buffer)[count] = ObjectRef(Float::alloc(y)); (*outputs[m_zOutID].buffer)[count] = ObjectRef(Float::alloc(z)); (*outputs[m_strengthOutID].buffer)[count] = ObjectRef(Float::alloc(strength)); (*outputs[m_idOutID].buffer)[count] = ObjectRef(new String(id)); } else { //output values (*outputs[m_xOutID].buffer)[count] = nilObject; (*outputs[m_dataOutID].buffer)[count] = nilObject; (*outputs[m_yOutID].buffer)[count] = nilObject; (*outputs[m_zOutID].buffer)[count] = nilObject; (*outputs[m_strengthOutID].buffer)[count] = nilObject; (*outputs[m_idOutID].buffer)[count] = nilObject; } } else { out[count] = nilObject; } } void MarieDataLocalisation::printOn(ostream &out) const { MarieXMLDataFactory factory; //writing XML data string value = factory.toString((DataLocalisation&) (*this)); out.write(value.c_str(), value.size()); } void MarieDataLocalisation::readFrom(istream &in) { throw new GeneralException("readFrom not supported. Use the MarieLoad Node to read data from the stream.",__FILE__,__LINE__); } void MarieDataLocalisation::copyDataAbstract(DataAbstract *data) { if (data) { DataLocalisation *dataL = dynamic_cast<DataLocalisation*>(data); if (dataL) { //((DataLocalisation*)this)->operator=(*command); this->DataLocalisation::operator=(*dataL); } else { throw new GeneralException(string("Unable to cast into DataLocalisation Abstract : ") + data->getID(),__FILE__,__LINE__); } } } } |
From: Carle C. <car...@us...> - 2004-08-30 19:22:04
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4910/MARIE/include Added Files: MarieDataLocalisation.h Log Message: add localisation data type --- NEW FILE: MarieDataLocalisation.h --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Carle Cote * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ // Prevent Multiple Inclusion #ifndef _MARIE_DATA_LOCALISATION_H_ #define _MARIE_DATA_LOCALISATION_H_ //FlowDesigner include #include "Object.h" #include "MarieObject.h" //MARIE data types include #include "DataLocalisation.h" namespace marie { class MarieDataLocalisation : public MarieObject, public DataLocalisation { public: MarieDataLocalisation(); MarieDataLocalisation(const DataLocalisation &command); //from BufferedNode MarieDataLocalisation(string nodeName, ParameterSet params); virtual void calculate(int output_id, int count, Buffer &out); virtual void printOn(ostream &out) const; virtual void readFrom(istream &in=cin); virtual void copyDataAbstract(DataAbstract *data); private: bool m_isNode; //inputs int m_dataInID; int m_xInID; int m_yInID; int m_zInID; int m_strengthInID; int m_idInID; //outputs int m_dataOutID; int m_xOutID; int m_yOutID; int m_zOutID; int m_strengthOutID; int m_idOutID; }; } #endif |
From: Dominic L. <ma...@us...> - 2004-08-27 19:53:42
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16744 Modified Files: SNCRZ30.cc Log Message: wait for the good amount of bytes Index: SNCRZ30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30.cc,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** SNCRZ30.cc 27 Aug 2004 15:58:09 -0000 1.19 --- SNCRZ30.cc 27 Aug 2004 19:53:32 -0000 1.20 *************** *** 328,333 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 328,333 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 362,367 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 362,367 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 436,441 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 436,441 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 509,515 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); ! //print reply --- 509,514 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 556,561 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 555,560 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 602,607 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 601,606 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 783,788 **** //get reply if (m_wait_reply) { ! unsigned char buffer[1024]; //1k buffer ! int recv_size = my_socket.recv_packet(buffer,1024); //print reply --- 782,787 ---- //get reply if (m_wait_reply) { ! unsigned char buffer[67]; //67 bytes buffer ! int recv_size = my_socket.recv_packet(buffer,67); //print reply *************** *** 815,819 **** //get reply ! unsigned char buffer[228]; //1k buffer int recv_size = my_socket.recv_packet(buffer,228); //cerr<<"received size "<<recv_size<<endl; --- 814,818 ---- //get reply ! unsigned char buffer[228]; //228 bytes buffer int recv_size = my_socket.recv_packet(buffer,228); //cerr<<"received size "<<recv_size<<endl; *************** *** 880,884 **** //get reply ! unsigned char buffer[220]; //1k buffer int recv_size = my_socket.recv_packet(buffer,220); //cerr<<"zoom received size "<<recv_size<<endl; --- 879,883 ---- //get reply ! unsigned char buffer[220]; //220 bytes buffer int recv_size = my_socket.recv_packet(buffer,220); //cerr<<"zoom received size "<<recv_size<<endl; |
From: Carle C. <car...@us...> - 2004-08-27 15:58:30
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5597 Modified Files: SNCRZ30.cc Log Message: Remove "Odd" relative pan and tilt conversion Index: SNCRZ30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30.cc,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** SNCRZ30.cc 27 Aug 2004 15:41:36 -0000 1.18 --- SNCRZ30.cc 27 Aug 2004 15:58:09 -0000 1.19 *************** *** 467,472 **** tilt_speed = max(min((int)tilt_speed,0x14), 0); ! pan_position = (pan_position * 144) / 100; ! tilt_position = (tilt_position * 2287) / 1000; --- 467,472 ---- tilt_speed = max(min((int)tilt_speed,0x14), 0); ! //pan_position = (pan_position * 144) / 100; ! //tilt_position = (tilt_position * 2287) / 1000; |
From: Carle C. <car...@us...> - 2004-08-27 15:41:47
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2553 Modified Files: SNCRZ30.cc Log Message: Remove "Odd" conversion for pan and tilt absolute command Index: SNCRZ30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30.cc,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** SNCRZ30.cc 26 Aug 2004 20:05:48 -0000 1.17 --- SNCRZ30.cc 27 Aug 2004 15:41:36 -0000 1.18 *************** *** 394,399 **** tilt_speed = max(min((int)tilt_speed,0x14), 0); ! pan_position = (pan_position * 144) / 100; ! tilt_position = (tilt_position * 2287) / 1000; --- 394,399 ---- tilt_speed = max(min((int)tilt_speed,0x14), 0); ! //pan_position = (pan_position * 144) / 100; ! //tilt_position = (tilt_position * 2287) / 1000; |
From: Dominic L. <ma...@us...> - 2004-08-26 20:13:23
|
Update of /cvsroot/robotflow/RobotFlow/Vision/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19725 Modified Files: READ.n Log Message: added reading flag Index: READ.n =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/n-files/READ.n,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** READ.n 26 Aug 2004 15:13:09 -0000 1.4 --- READ.n 26 Aug 2004 20:13:10 -0000 1.5 *************** *** 16,19 **** --- 16,20 ---- <NetOutput name="REL_TILT_COMMAND" node="node_LOOP0_1" terminal="REL_TILT_COMMAND" object_type="any" description="No description available"/> <NetOutput name="ABS_ZOOM_COMMAND" node="node_LOOP0_1" terminal="ABS_ZOOM_COMMAND" object_type="any" description="No description available"/> + <NetOutput name="READING_FLAG" node="node_LOOP0_1" terminal="READING_FLAG" object_type="any" description="No description available"/> <Note x="-3418" y="-384" visible="1" text="The MAIN network will load configuration from the files containing : - black and white color lookup - the neural network to use for recog - The dictionary to use * You can change this configuration by double clicking on the LoadFile blocks"/> </Network> *************** *** 39,42 **** --- 40,50 ---- <Node name="node_NOP_1" type="NOP" x="-449.000000" y="193.000000"/> <Node name="node_NOP_2" type="NOP" x="-1154.000000" y="291.000000"/> + <Node name="node_isNil_1" type="isNil" x="-38.000000" y="212.000000"/> + <Node name="node_NOT_1" type="NOT" x="242.000000" y="235.000000"/> + <Node name="node_AND_1" type="AND" x="137.000000" y="235.000000"> + <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> + </Node> + <Node name="node_isNil_2" type="isNil" x="-39.000000" y="236.000000"/> + <Node name="node_isNil_3" type="isNil" x="-38.000000" y="260.000000"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="COMPONENTS" to="node_PROCESS_SEGMENTS_1" input="SYMBOLS_COMPONENTS">-104.5 76.5 -100 352 -48 351 </Link> <Link from="node_SUBNET0_1" output="COMPONENTS" to="node_MULTI_SIGN_TRACKING_1" input="COMPONENTS"/> *************** *** 49,52 **** --- 57,67 ---- <Link from="node_NOP_2" output="OUTPUT" to="node_PROCESS_SEGMENTS_1" input="IMAGE"/> <Link from="node_ZOOM_FACTOR_1" output="ZOOM_FACTOR" to="node_PAN_TILT_CTRL_1" input="ZOOM_FACTOR">-265 193 -111 193 40.5 122 </Link> + <Link from="node_AND_1" output="OUTPUT" to="node_NOT_1" input="INPUT"/> + <Link from="node_isNil_1" output="OUTPUT" to="node_AND_1" input="INPUT1"/> + <Link from="node_MULTI_SIGN_TRACKING_1" output="DELTA_X" to="node_isNil_1" input="INPUT"/> + <Link from="node_MULTI_SIGN_TRACKING_1" output="DELTA_Y" to="node_isNil_2" input="INPUT"/> + <Link from="node_MULTI_SIGN_TRACKING_1" output="BOUNDARY" to="node_isNil_3" input="INPUT"/> + <Link from="node_isNil_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> + <Link from="node_isNil_3" output="OUTPUT" to="node_AND_1" input="INPUT3"/> <NetOutput name="SENTENCE" node="node_PROCESS_SEGMENTS_1" terminal="SENTENCE" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="ORIGINAL_TEXT" node="node_PROCESS_SEGMENTS_1" terminal="ORIGINAL_TEXT" object_type="" description="The object from THEN or ELSE depending on COND"/> *************** *** 61,64 **** --- 76,80 ---- <NetOutput name="REL_TILT_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="REL_TILT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="ABS_ZOOM_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="ABS_ZOOM" object_type="any" description="The object from THEN or ELSE depending on COND"/> + <NetOutput name="READING_FLAG" node="node_NOT_1" terminal="OUTPUT" object_type="bool" description="Boolean output"/> <Note x="-1480" y="269" visible="1" text="Sony SNC-RZ30 Network Camera controller."/> <Note x="-1098" y="39" visible="1" text="Image must be converted to RGB15 from the camera before training."/> |
From: Dominic L. <ma...@us...> - 2004-08-26 20:05:57
|
Update of /cvsroot/robotflow/RobotFlow/Devices/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17931/include Modified Files: SNCRZ30.h Log Message: inquiry camera position when required Index: SNCRZ30.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/include/SNCRZ30.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SNCRZ30.h 26 Aug 2004 13:49:41 -0000 1.8 --- SNCRZ30.h 26 Aug 2004 20:05:47 -0000 1.9 *************** *** 58,61 **** --- 58,65 ---- virtual void initialize(); + void inquiry_pan_tilt(int &pan_position, int &tilt_position); + + void inquiry_zoom(int &zoom_position); + private: *************** *** 98,101 **** --- 102,106 ---- int m_currentTilt; int m_currentZoom; + bool m_inquiryPosition; }; |
From: Dominic L. <ma...@us...> - 2004-08-26 20:05:57
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17931/src Modified Files: SNCRZ30.cc Log Message: inquiry camera position when required Index: SNCRZ30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30.cc,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** SNCRZ30.cc 26 Aug 2004 13:49:41 -0000 1.16 --- SNCRZ30.cc 26 Aug 2004 20:05:48 -0000 1.17 *************** *** 81,85 **** * @parameter_value false * @parameter_description Wait for camera reply on commands ! * @output_name PAN_POSITION * @output_type int --- 81,90 ---- * @parameter_value false * @parameter_description Wait for camera reply on commands ! * ! * @parameter_name INQUIRY_POSITION ! * @parameter_type bool ! * @parameter_value false ! * @parameter_description Inquiry position of the pan,tilt,zoom from the device ! * * @output_name PAN_POSITION * @output_type int *************** *** 108,112 **** SNCRZ30::SNCRZ30(string nodeName, ParameterSet params) ! : BufferedNode(nodeName,params), m_port(80), m_imageSocket(network_socket::TCP_STREAM_TYPE,80), m_dataSocket(network_socket::TCP_STREAM_TYPE,80),m_image(320,240,3) { //inputs --- 113,117 ---- SNCRZ30::SNCRZ30(string nodeName, ParameterSet params) ! : BufferedNode(nodeName,params), m_port(80), m_imageSocket(network_socket::TCP_STREAM_TYPE,80), m_dataSocket(network_socket::TCP_STREAM_TYPE,80),m_image(320,240,3), m_inquiryPosition(false) { //inputs *************** *** 130,133 **** --- 135,139 ---- m_continuous = dereference_cast<bool>(parameters.get("CONTINUOUS")); m_wait_reply = dereference_cast<bool>(parameters.get("WAIT_REPLY")); + m_inquiryPosition = dereference_cast<bool>(parameters.get("INQUIRY_POSITION")); //initialize camera position *************** *** 165,168 **** --- 171,179 ---- //or single grab an image //special case when we want to output the image, we do not need to pull inputs + + //int pan, tilt,zoom; + //inquiry_pan_tilt(pan,tilt); + //inquiry_zoom(zoom); + if (output_id == m_imageOutID) { if (m_continuous) { *************** *** 183,186 **** --- 194,202 ---- else { + if (m_inquiryPosition) { + inquiry_pan_tilt(m_currentPan,m_currentTilt); + inquiry_zoom(m_currentZoom); + } + //process all other inputs/outputs *************** *** 198,203 **** RCPtr<Int> tilt = RelTiltValue; send_pan_tilt_relative_position(m_panSpeed,*pan,m_tiltSpeed, *tilt); ! m_currentPan+=*pan; ! m_currentTilt+=*tilt; } else { --- 214,221 ---- RCPtr<Int> tilt = RelTiltValue; send_pan_tilt_relative_position(m_panSpeed,*pan,m_tiltSpeed, *tilt); ! if (!m_inquiryPosition) { ! m_currentPan+=*pan; ! m_currentTilt+=*tilt; ! } } else { *************** *** 205,209 **** RCPtr<Int> pan = RelPanValue; send_pan_tilt_relative_position(m_panSpeed,*pan,m_tiltSpeed, 0); ! m_currentPan+=*pan; } --- 223,229 ---- RCPtr<Int> pan = RelPanValue; send_pan_tilt_relative_position(m_panSpeed,*pan,m_tiltSpeed, 0); ! if (!m_inquiryPosition) { ! m_currentPan+=*pan; ! } } *************** *** 211,215 **** RCPtr<Int> tilt = RelTiltValue; send_pan_tilt_relative_position(m_panSpeed,0,m_tiltSpeed,*tilt); ! m_currentTilt+=*tilt; } } --- 231,237 ---- RCPtr<Int> tilt = RelTiltValue; send_pan_tilt_relative_position(m_panSpeed,0,m_tiltSpeed,*tilt); ! if (!m_inquiryPosition) { ! m_currentTilt+=*tilt; ! } } } *************** *** 219,224 **** RCPtr<Int> tilt = AbsTiltValue; send_pan_tilt_absolute_position(m_panSpeed,*pan,m_tiltSpeed, *tilt); ! m_currentPan = *pan; ! m_currentTilt = *tilt; } else { --- 241,248 ---- RCPtr<Int> tilt = AbsTiltValue; send_pan_tilt_absolute_position(m_panSpeed,*pan,m_tiltSpeed, *tilt); ! if (!m_inquiryPosition) { ! m_currentPan = *pan; ! m_currentTilt = *tilt; ! } } else { *************** *** 226,230 **** RCPtr<Int> pan = AbsPanValue; send_pan_tilt_absolute_position(m_panSpeed,*pan,m_tiltSpeed, m_currentTilt); ! m_currentPan = *pan; } --- 250,256 ---- RCPtr<Int> pan = AbsPanValue; send_pan_tilt_absolute_position(m_panSpeed,*pan,m_tiltSpeed, m_currentTilt); ! if (!m_inquiryPosition) { ! m_currentPan = *pan; ! } } *************** *** 232,236 **** RCPtr<Int> tilt = AbsTiltValue; send_pan_tilt_absolute_position(m_panSpeed,m_currentPan,m_tiltSpeed, *tilt); ! m_currentTilt = *tilt; } } --- 258,264 ---- RCPtr<Int> tilt = AbsTiltValue; send_pan_tilt_absolute_position(m_panSpeed,m_currentPan,m_tiltSpeed, *tilt); ! if (!m_inquiryPosition) { ! m_currentTilt = *tilt; ! } } } *************** *** 239,250 **** RCPtr<Int> zoom = AbsZoomValue; send_zoom_position(*zoom); ! m_currentZoom = *zoom; } if (!RelZoomValue->isNil()) { RCPtr<Int> zoom = RelZoomValue; ! m_currentZoom += *zoom; ! send_zoom_position(m_currentZoom); ! } //limit pan,tilt,zoom --- 267,282 ---- RCPtr<Int> zoom = AbsZoomValue; send_zoom_position(*zoom); ! if (!m_inquiryPosition) { ! m_currentZoom = *zoom; ! } } if (!RelZoomValue->isNil()) { RCPtr<Int> zoom = RelZoomValue; ! send_zoom_position(m_currentZoom + *zoom); ! if (!m_inquiryPosition) { ! m_currentZoom += *zoom; ! } ! } //limit pan,tilt,zoom *************** *** 286,291 **** my_stream << "Connection: Keep-Alive\r\n"; my_stream << "Cache-Control: no-cache\r\n"; ! my_stream << "Content-Length: 16\r\n\r\n"; ! my_stream << "VISCA=81010605FF"; //cerr.write(my_stream.str().c_str(),my_stream.str().size()); --- 318,323 ---- my_stream << "Connection: Keep-Alive\r\n"; my_stream << "Cache-Control: no-cache\r\n"; ! my_stream << "Content-Length: 16\r\n"; ! my_stream << "VISCA=81010605FF\r\n"; //cerr.write(my_stream.str().c_str(),my_stream.str().size()); *************** *** 320,324 **** my_stream << "Cache-Control: no-cache\r\n"; my_stream << "Content-Length: 16\r\n\r\n"; ! my_stream << "VISCA=81010604FF"; --- 352,356 ---- my_stream << "Cache-Control: no-cache\r\n"; my_stream << "Content-Length: 16\r\n\r\n"; ! my_stream << "VISCA=81010604FF\r\n"; *************** *** 698,702 **** //create single grab command ostringstream my_stream; ! my_stream << "GET http://"<<m_host<<":"<<m_port<<"/oneshotimage.jpg HTTP/1.1\r\n\r\n"; //cerr.write(my_stream.str().c_str(),my_stream.str().size()); --- 730,736 ---- //create single grab command ostringstream my_stream; ! my_stream << "GET http://"<<m_host<<":"<<m_port<<"/oneshotimage.jpg HTTP/1.1"; ! //end message ! my_stream << "\r\n\r\n"; //cerr.write(my_stream.str().c_str(),my_stream.str().size()); *************** *** 739,744 **** my_stream << "Cache-Control: no-cache\r\n"; my_stream << "Content-Length: 18\r\n\r\n"; ! my_stream << "VISCA=8101062403FF"; //auto-pan-tilt off ! my_stream << "\r\n"; //end message //cerr.write(my_stream.str().c_str(),my_stream.str().size()); --- 773,778 ---- my_stream << "Cache-Control: no-cache\r\n"; my_stream << "Content-Length: 18\r\n\r\n"; ! my_stream << "VISCA=8101062403FF\r\n"; //auto-pan-tilt off ! //cerr.write(my_stream.str().c_str(),my_stream.str().size()); *************** *** 759,760 **** --- 793,911 ---- } } + + void SNCRZ30::inquiry_pan_tilt(int &pan_position, int &tilt_position) { + + + network_socket my_socket(network_socket::TCP_STREAM_TYPE,m_port); + my_socket.socket_connect(m_host.c_str()); + + //create focus command + ostringstream my_stream; + my_stream << "POST http://"<<m_host<<":"<<m_port<<"/command/visca-inquiry.cgi HTTP/1.1\r\n"; + my_stream << "Connection: Keep-Alive\r\n"; + my_stream << "Cache-Control: no-cache\r\n"; + my_stream << "Content-Length: 16\r\n\r\n"; + my_stream << "VISCA=81090612FF\r\n"; //pan-tilt inquiry + + //cerr.write(my_stream.str().c_str(),my_stream.str().size()); + + //send data + int sent_size = my_socket.send_packet((unsigned char*)my_stream.str().c_str(), my_stream.str().size()); + + //get reply + + unsigned char buffer[228]; //1k buffer + int recv_size = my_socket.recv_packet(buffer,228); + //cerr<<"received size "<<recv_size<<endl; + + + //print reply + //for (int i = 0; i < recv_size; i++) { + // cerr<<i<<" "<<buffer[i]<<" "<<endl;; + //} + + if (recv_size == 228) { + stringstream pan_stream; + stringstream tilt_stream; + + pan_stream.setf ( ios_base::hex, ios_base::basefield ); + tilt_stream.setf ( ios_base::hex, ios_base::basefield ); + + //pan_stream.write("0x",2); + pan_stream.write((const char*) &buffer[211],1); + pan_stream.write((const char*) &buffer[213],1); + pan_stream.write((const char*) &buffer[215],1); + pan_stream.write((const char*) &buffer[217],1); + + //tilt_stream.write("0x",2); + tilt_stream.write((const char*) &buffer[219],1); + tilt_stream.write((const char*) &buffer[221],1); + tilt_stream.write((const char*) &buffer[223],1); + tilt_stream.write((const char*) &buffer[225],1); + + int tmp_pan; + int tmp_tilt; + + pan_stream>>std::hex>>tmp_pan; + tilt_stream>>std::hex>>tmp_tilt; + + //strange, we have to do that conversion since the input hex input does not + //handle negative data properly + pan_position = (short)tmp_pan; + tilt_position = (short)tmp_tilt; + } + + + } + + void SNCRZ30::inquiry_zoom(int &zoom_position) { + + + network_socket my_socket(network_socket::TCP_STREAM_TYPE,m_port); + my_socket.socket_connect(m_host.c_str()); + + //create focus command + ostringstream my_stream; + my_stream << "POST http://"<<m_host<<":"<<m_port<<"/command/visca-inquiry.cgi HTTP/1.1\r\n"; + my_stream << "Connection: Keep-Alive\r\n"; + my_stream << "Cache-Control: no-cache\r\n"; + my_stream << "Content-Length: 16\r\n\r\n"; + my_stream << "VISCA=81090447FF\r\n"; //pan-tilt inquiry + + //cerr.write(my_stream.str().c_str(),my_stream.str().size()); + + //send data + int sent_size = my_socket.send_packet((unsigned char*)my_stream.str().c_str(), my_stream.str().size()); + + //get reply + + unsigned char buffer[220]; //1k buffer + int recv_size = my_socket.recv_packet(buffer,220); + //cerr<<"zoom received size "<<recv_size<<endl; + + //print reply + //for (int i = 0; i < recv_size; i++) { + // cerr<<i<<" "<<buffer[i]<<" "<<endl;; + //} + + if (recv_size == 220) { + + stringstream zoom_stream; + zoom_stream.setf ( ios_base::hex, ios_base::basefield ); + + //pan_stream.write("0x",2); + zoom_stream.write((const char*) &buffer[211],1); + zoom_stream.write((const char*) &buffer[213],1); + zoom_stream.write((const char*) &buffer[215],1); + zoom_stream.write((const char*) &buffer[217],1); + + int tmp_zoom; + + zoom_stream>>std::hex>>tmp_zoom; + + //strange, we have to do that conversion since the input hex input does not + //handle negative data properly + zoom_position = (short)tmp_zoom; + //cerr<<"zoom position : "<<zoom_position; + } + } |
From: Dominic L. <ma...@us...> - 2004-08-26 15:13:34
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23006 Modified Files: SymbolTracking.n Log Message: fixed demo' Index: SymbolTracking.n =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/n-files/SymbolTracking.n,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SymbolTracking.n 26 Aug 2004 13:04:02 -0000 1.5 --- SymbolTracking.n 26 Aug 2004 15:13:26 -0000 1.6 *************** *** 38,42 **** <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> ! <Node name="node_SNCRZ30_1" type="SNCRZ30" x="-849.000000" y="187.000000"> <Parameter name="PAN_SPEED" type="int" value="24" description="Pan speed 0-24"/> <Parameter name="TILT_SPEED" type="int" value="20" description="Tilt speed 0-20"/> --- 38,42 ---- <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> ! <Node name="node_SNCRZ30_1" type="SNCRZ30" x="-847.000000" y="183.000000"> <Parameter name="PAN_SPEED" type="int" value="24" description="Pan speed 0-24"/> <Parameter name="TILT_SPEED" type="int" value="20" description="Tilt speed 0-20"/> *************** *** 46,59 **** </Node> <Node name="node_RGB242RGB15_1" type="RGB242RGB15" x="-525.000000" y="245.000000"/> ! <Node name="node_NilObject_1" type="NilObject" x="-1091.000000" y="172.000000"/> ! <Node name="node_Feedback_1" type="Feedback" x="161.000000" y="245.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> ! <Node name="node_Feedback_2" type="Feedback" x="158.000000" y="174.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> ! <Node name="node_Feedback_3" type="Feedback" x="161.000000" y="303.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> --- 46,59 ---- </Node> <Node name="node_RGB242RGB15_1" type="RGB242RGB15" x="-525.000000" y="245.000000"/> ! <Node name="node_NilObject_1" type="NilObject" x="-1203.000000" y="137.000000"/> ! <Node name="node_Feedback_1" type="Feedback" x="260.000000" y="246.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> ! <Node name="node_Feedback_2" type="Feedback" x="257.000000" y="175.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> ! <Node name="node_Feedback_3" type="Feedback" x="260.000000" y="304.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> *************** *** 72,102 **** <Parameter name="PROBE_NAME" type="string" value="ORIGINAL_TEXT" description="Name (title) of the probe"/> </Node> ! <Node name="node_NOP_1" type="NOP" x="4.000000" y="164.000000"/> ! <Node name="node_NOP_2" type="NOP" x="4.000000" y="198.000000"/> ! <Node name="node_NOP_3" type="NOP" x="8.000000" y="229.000000"/> <Node name="node_ImageProbeSDL_1" type="ImageProbeSDL" x="-637.000000" y="314.000000"> <Parameter name="HEIGHT" type="int" value="240" description="The height of the image"/> <Parameter name="WIDTH" type="int" value="320" description="The width of the image"/> </Node> <Link from="node_SNCRZ30_1" output="ZOOM_POSITION" to="node_READ_1" input="CURRENT_ABS_ZOOM"/> <Link from="node_NilObject_1" output="VALUE" to="node_SNCRZ30_1" input="TILT_ABS_POS"/> <Link from="node_NilObject_1" output="VALUE" to="node_SNCRZ30_1" input="PAN_ABS_POS"/> - <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_2" input="BEFORE"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_1" input="BEFORE"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_3" input="BEFORE"/> <Link from="node_READ_1" output="SENTENCE" to="node_TextProbe_1" input="INPUT"/> <Link from="node_READ_1" output="ORIGINAL_TEXT" to="node_TextProbe_2" input="INPUT"/> ! <Link from="node_Feedback_2" output="DELAY" to="node_SNCRZ30_1" input="PAN_REL_POS">252 181.5 494 181 494 583 -1226 582 -1226 187 -980 187 </Link> ! <Link from="node_Feedback_1" output="DELAY" to="node_SNCRZ30_1" input="TILT_REL_POS">255 252.5 447 254 447 503 -1106 504 -1106 202 -980 202 </Link> ! <Link from="node_Feedback_3" output="DELAY" to="node_SNCRZ30_1" input="ZOOM">255 310.5 388 311 389 469 -1060 469 -1061 217 -980 217 </Link> ! <Link from="node_NOP_1" output="OUTPUT" to="node_Feedback_2" input="INPUT"/> ! <Link from="node_READ_1" output="REL_PAN_COMMAND" to="node_NOP_1" input="INPUT"/> ! <Link from="node_NOP_2" output="OUTPUT" to="node_Feedback_1" input="INPUT"/> ! <Link from="node_READ_1" output="REL_TILT_COMMAND" to="node_NOP_2" input="INPUT"/> ! <Link from="node_NOP_3" output="OUTPUT" to="node_Feedback_3" input="INPUT"/> ! <Link from="node_READ_1" output="ABS_ZOOM_COMMAND" to="node_NOP_3" input="INPUT"/> <Link from="node_RGB242RGB15_1" output="RGB15_IMAGE" to="node_READ_1" input="RGB15_IMAGE"/> <Link from="node_ImageProbeSDL_1" output="OUTPUT" to="node_RGB242RGB15_1" input="RGB24_IMAGE"/> <Link from="node_SNCRZ30_1" output="IMAGE" to="node_ImageProbeSDL_1" input="INPUT"/> <NetCondition name="CONDITION" node="node_Constant_1" terminal="VALUE"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_READ_1" terminal="BLACK_WHITE_LOOKUP" object_type="any" description="No description available"/> --- 72,115 ---- <Parameter name="PROBE_NAME" type="string" value="ORIGINAL_TEXT" description="Name (title) of the probe"/> </Node> ! <Node name="node_NOP_1" type="NOP" x="103.000000" y="169.000000"/> ! <Node name="node_NOP_2" type="NOP" x="102.000000" y="239.000000"/> ! <Node name="node_NOP_3" type="NOP" x="101.000000" y="295.000000"/> <Node name="node_ImageProbeSDL_1" type="ImageProbeSDL" x="-637.000000" y="314.000000"> <Parameter name="HEIGHT" type="int" value="240" description="The height of the image"/> <Parameter name="WIDTH" type="int" value="320" description="The width of the image"/> </Node> + <Node name="node_SKIP_N_1" type="SKIP_N" x="7.000000" y="158.000000"> + <Parameter name="SKIP_N" type="int" value="15" description="The value"/> + </Node> + <Node name="node_SKIP_N_2" type="SKIP_N" x="8.000000" y="199.000000"> + <Parameter name="SKIP_N" type="int" value="15" description="The value"/> + </Node> + <Node name="node_SKIP_N_3" type="SKIP_N" x="8.000000" y="240.000000"> + <Parameter name="SKIP_N" type="int" value="15" description="The value"/> + </Node> <Link from="node_SNCRZ30_1" output="ZOOM_POSITION" to="node_READ_1" input="CURRENT_ABS_ZOOM"/> <Link from="node_NilObject_1" output="VALUE" to="node_SNCRZ30_1" input="TILT_ABS_POS"/> <Link from="node_NilObject_1" output="VALUE" to="node_SNCRZ30_1" input="PAN_ABS_POS"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_1" input="BEFORE"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_3" input="BEFORE"/> <Link from="node_READ_1" output="SENTENCE" to="node_TextProbe_1" input="INPUT"/> <Link from="node_READ_1" output="ORIGINAL_TEXT" to="node_TextProbe_2" input="INPUT"/> ! <Link from="node_Feedback_1" output="DELAY" to="node_SNCRZ30_1" input="TILT_REL_POS">354 253.5 447 254 447 503 -1106 504 -1106 191 -991 190.5 </Link> <Link from="node_RGB242RGB15_1" output="RGB15_IMAGE" to="node_READ_1" input="RGB15_IMAGE"/> <Link from="node_ImageProbeSDL_1" output="OUTPUT" to="node_RGB242RGB15_1" input="RGB24_IMAGE"/> <Link from="node_SNCRZ30_1" output="IMAGE" to="node_ImageProbeSDL_1" input="INPUT"/> + <Link from="node_Feedback_3" output="DELAY" to="node_SNCRZ30_1" input="ZOOM_ABS_POS">354 311.5 396 311 396 431 -1067 431 -1068 209 -991 205.5 </Link> + <Link from="node_NilObject_1" output="VALUE" to="node_SNCRZ30_1" input="ZOOM_REL_POS"/> + <Link from="node_Feedback_2" output="DELAY" to="node_SNCRZ30_1" input="PAN_REL_POS">351 182.5 531 182 531 576 -1176 577 -1175 175 -991 175.5 </Link> + <Link from="node_NOP_1" output="OUTPUT" to="node_Feedback_2" input="INPUT"/> + <Link from="node_SKIP_N_1" output="OUTPUT" to="node_NOP_1" input="INPUT"/> + <Link from="node_NOP_2" output="OUTPUT" to="node_Feedback_1" input="INPUT"/> + <Link from="node_SKIP_N_2" output="OUTPUT" to="node_NOP_2" input="INPUT"/> + <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_2" input="BEFORE"/> + <Link from="node_NOP_3" output="OUTPUT" to="node_Feedback_3" input="INPUT"/> + <Link from="node_SKIP_N_3" output="OUTPUT" to="node_NOP_3" input="INPUT"/> + <Link from="node_READ_1" output="REL_PAN_COMMAND" to="node_SKIP_N_1" input="INPUT"/> + <Link from="node_READ_1" output="REL_TILT_COMMAND" to="node_SKIP_N_2" input="INPUT"/> + <Link from="node_READ_1" output="ABS_ZOOM_COMMAND" to="node_SKIP_N_3" input="INPUT"/> <NetCondition name="CONDITION" node="node_Constant_1" terminal="VALUE"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_READ_1" terminal="BLACK_WHITE_LOOKUP" object_type="any" description="No description available"/> *************** *** 112,115 **** --- 125,152 ---- <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> + <Network type="subnet" name="SKIP_N"> + <Node name="node_IF_1" type="IF" x="901.000000" y="-14.000000"> + <Parameter name="PULL_ANYWAY" type="bool" value="true" description="If true, the IF statement pulls also on the branch not taken"/> + </Node> + <Node name="node_Equal_1" type="Equal" x="779.000000" y="-43.000000"/> + <Node name="node_Constant_1" type="Constant" x="611.000000" y="-26.000000"> + <Parameter name="VALUE" type="int" value="0" description="The value"/> + </Node> + <Node name="node_IterCount_1" type="IterCount" x="303.000000" y="-67.000000"/> + <Node name="node_Modulo_1" type="Modulo" x="620.000000" y="-59.000000"/> + <Node name="node_Constant_2" type="Constant" x="408.000000" y="-52.000000"> + <Parameter name="VALUE" type="subnet_param" value="SKIP_N" description="The value"/> + </Node> + <Node name="node_NilObject_1" type="NilObject" x="743.000000" y="65.000000"/> + <Link from="node_Equal_1" output="OUTPUT" to="node_IF_1" input="COND"/> + <Link from="node_NilObject_1" output="VALUE" to="node_IF_1" input="ELSE"/> + <Link from="node_Modulo_1" output="REMAINDER" to="node_Equal_1" input="INPUT1"/> + <Link from="node_Constant_1" output="VALUE" to="node_Equal_1" input="INPUT2"/> + <Link from="node_IterCount_1" output="OUTPUT" to="node_Modulo_1" input="DIVIDEND"/> + <Link from="node_Constant_2" output="VALUE" to="node_Modulo_1" input="DIVISOR"/> + <NetOutput name="OUTPUT" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> + <NetInput name="INPUT" node="node_IF_1" terminal="THEN" object_type="any" description="What to do if the condition is true"/> + <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> + </Network> <Parameter name="BLACK_WHITE_LOOKUP_FILE" type="string" value="../color_lookup/black_white.data"/> <Parameter name="NNET_FILE" type="string" value="../neural_networks/net_172_7_36.nnet"/> |
From: Dominic L. <ma...@us...> - 2004-08-26 15:13:21
|
Update of /cvsroot/robotflow/RobotFlow/Vision/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22970 Modified Files: READ.n Log Message: fixed read Index: READ.n =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/n-files/READ.n,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** READ.n 26 Aug 2004 13:03:15 -0000 1.3 --- READ.n 26 Aug 2004 15:13:09 -0000 1.4 *************** *** 12,19 **** <NetInput name="COLOR_LOOKUP" node="node_LOOP0_1" terminal="COLOR_LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_LOOP0_1" terminal="CURRENT_ABS_ZOOM" object_type="any" description="The input"/> - <NetOutput name="REL_PAN_COMMAND" node="node_LOOP0_1" terminal="REL_PAN_COMMAND" object_type="any" description="The object from THEN or ELSE depending on COND"/> - <NetOutput name="REL_TILT_COMMAND" node="node_LOOP0_1" terminal="REL_TILT_COMMAND" object_type="any" description="The object from THEN or ELSE depending on COND"/> - <NetOutput name="ABS_ZOOM_COMMAND" node="node_LOOP0_1" terminal="ABS_ZOOM_COMMAND" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetInput name="RGB15_IMAGE" node="node_LOOP0_1" terminal="RGB15_IMAGE" object_type="any" description="No description available"/> <Note x="-3418" y="-384" visible="1" text="The MAIN network will load configuration from the files containing : - black and white color lookup - the neural network to use for recog - The dictionary to use * You can change this configuration by double clicking on the LoadFile blocks"/> </Network> --- 12,19 ---- <NetInput name="COLOR_LOOKUP" node="node_LOOP0_1" terminal="COLOR_LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_LOOP0_1" terminal="CURRENT_ABS_ZOOM" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_LOOP0_1" terminal="RGB15_IMAGE" object_type="any" description="No description available"/> + <NetOutput name="REL_PAN_COMMAND" node="node_LOOP0_1" terminal="REL_PAN_COMMAND" object_type="any" description="No description available"/> + <NetOutput name="REL_TILT_COMMAND" node="node_LOOP0_1" terminal="REL_TILT_COMMAND" object_type="any" description="No description available"/> + <NetOutput name="ABS_ZOOM_COMMAND" node="node_LOOP0_1" terminal="ABS_ZOOM_COMMAND" object_type="any" description="No description available"/> <Note x="-3418" y="-384" visible="1" text="The MAIN network will load configuration from the files containing : - black and white color lookup - the neural network to use for recog - The dictionary to use * You can change this configuration by double clicking on the LoadFile blocks"/> </Network> *************** *** 34,46 **** <Node name="node_SUBNET0_1" type="COMPONENTS_EXTRACT" x="-859.000000" y="91.000000"/> <Node name="node_PAN_TILT_CTRL_1" type="PAN_TILT_CTRL" x="202.000000" y="122.000000"/> - <Node name="node_SKIP_N_1" type="SKIP_N" x="458.000000" y="153.000000"> - <Parameter name="SKIP_N" type="int" value="20" description="The value"/> - </Node> - <Node name="node_SKIP_N_2" type="SKIP_N" x="457.000000" y="95.000000"> - <Parameter name="SKIP_N" type="int" value="20" description="The value"/> - </Node> - <Node name="node_SKIP_N_3" type="SKIP_N" x="458.000000" y="121.000000"> - <Parameter name="SKIP_N" type="int" value="20" description="The value"/> - </Node> <Node name="node_MULTI_SIGN_TRACKING_1" type="MULTI_SIGN_TRACKING" x="-277.000000" y="99.000000"/> <Node name="node_ZOOM_FACTOR_1" type="ZOOM_FACTOR" x="-320.000000" y="193.000000"/> --- 34,37 ---- *************** *** 53,59 **** <Link from="node_MULTI_SIGN_TRACKING_1" output="DELTA_Y" to="node_PAN_TILT_CTRL_1" input="DELTA_Y"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="BOUNDARY" to="node_PAN_TILT_CTRL_1" input="BOUNDARY"/> - <Link from="node_PAN_TILT_CTRL_1" output="REL_PAN" to="node_SKIP_N_2" input="INPUT"/> - <Link from="node_PAN_TILT_CTRL_1" output="REL_TILT" to="node_SKIP_N_3" input="INPUT"/> - <Link from="node_PAN_TILT_CTRL_1" output="ABS_ZOOM" to="node_SKIP_N_1" input="INPUT"/> <Link from="node_NOP_1" output="OUTPUT" to="node_ZOOM_FACTOR_1" input="ABS_ZOOM_VALUE"/> <Link from="node_NOP_1" output="OUTPUT" to="node_PAN_TILT_CTRL_1" input="CURRENT_ZOOM">-432 192 -411 151 40.5 152 </Link> --- 44,47 ---- *************** *** 69,76 **** <NetInput name="COLOR_LOOKUP" node="node_SUBNET0_1" terminal="LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> - <NetOutput name="REL_PAN_COMMAND" node="node_SKIP_N_2" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> - <NetOutput name="REL_TILT_COMMAND" node="node_SKIP_N_3" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> - <NetOutput name="ABS_ZOOM_COMMAND" node="node_SKIP_N_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetInput name="RGB15_IMAGE" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> <Note x="-1480" y="269" visible="1" text="Sony SNC-RZ30 Network Camera controller."/> <Note x="-1098" y="39" visible="1" text="Image must be converted to RGB15 from the camera before training."/> --- 57,64 ---- <NetInput name="COLOR_LOOKUP" node="node_SUBNET0_1" terminal="LOOKUP" object_type="any" description="No description available"/> <NetInput name="CURRENT_ABS_ZOOM" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="RGB15_IMAGE" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> + <NetOutput name="REL_PAN_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="REL_PAN" object_type="any" description="The object from THEN or ELSE depending on COND"/> + <NetOutput name="REL_TILT_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="REL_TILT" object_type="any" description="The object from THEN or ELSE depending on COND"/> + <NetOutput name="ABS_ZOOM_COMMAND" node="node_PAN_TILT_CTRL_1" terminal="ABS_ZOOM" object_type="any" description="The object from THEN or ELSE depending on COND"/> <Note x="-1480" y="269" visible="1" text="Sony SNC-RZ30 Network Camera controller."/> <Note x="-1098" y="39" visible="1" text="Image must be converted to RGB15 from the camera before training."/> |
From: Dominic L. <ma...@us...> - 2004-08-26 13:49:51
|
Update of /cvsroot/robotflow/RobotFlow/Devices/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6664/include Modified Files: SNCRZ30.h Log Message: Added RelZoom Index: SNCRZ30.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/include/SNCRZ30.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** SNCRZ30.h 29 Jul 2004 17:06:54 -0000 1.7 --- SNCRZ30.h 26 Aug 2004 13:49:41 -0000 1.8 *************** *** 76,80 **** int m_panRelInID; int m_tiltRelInID; ! int m_zoomInID; //outputs --- 76,81 ---- int m_panRelInID; int m_tiltRelInID; ! int m_zoomAbsInID; ! int m_zoomRelInID; //outputs |
From: Dominic L. <ma...@us...> - 2004-08-26 13:49:51
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6664/src Modified Files: SNCRZ30.cc Log Message: Added RelZoom Index: SNCRZ30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30.cc,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** SNCRZ30.cc 26 Aug 2004 13:34:48 -0000 1.15 --- SNCRZ30.cc 26 Aug 2004 13:49:41 -0000 1.16 *************** *** 49,52 **** --- 49,60 ---- * @input_description Absolute Tilt of the camera -300 to +300. (1/10 of degrees) * + * @input_name ZOOM_ABS_POS + * @input_type int + * @input_description Absolute Zoom of the camera 1 (1X) to 24 (24X) [0-0x4000] + * + * @input_name ZOOM_REL_POS + * @input_type int + * @input_description Relative Zoom of the camera 1 (1X) to 24 (24X) [0-0x4000] + * * @parameter_name PAN_SPEED * @parameter_type int *************** *** 73,81 **** * @parameter_value false * @parameter_description Wait for camera reply on commands ! * ! * @input_name ZOOM ! * @input_type int ! * @input_description Absolute Zoom of the camera 1 (1X) to 24 (24X) ! * * @output_name PAN_POSITION * @output_type int --- 81,85 ---- * @parameter_value false * @parameter_description Wait for camera reply on commands ! * @output_name PAN_POSITION * @output_type int *************** *** 111,115 **** m_panRelInID = addInput("PAN_REL_POS"); m_tiltRelInID = addInput("TILT_REL_POS"); ! m_zoomInID = addInput("ZOOM"); //outputs --- 115,120 ---- m_panRelInID = addInput("PAN_REL_POS"); m_tiltRelInID = addInput("TILT_REL_POS"); ! m_zoomAbsInID = addInput("ZOOM_ABS_POS"); ! m_zoomRelInID = addInput("ZOOM_REL_POS"); //outputs *************** *** 183,190 **** ObjectRef AbsPanValue = getInput(m_panAbsInID,count); ObjectRef AbsTiltValue = getInput(m_tiltAbsInID,count); ! ObjectRef ZoomValue = getInput(m_zoomInID,count); ObjectRef RelPanValue = getInput(m_panRelInID,count); ObjectRef RelTiltValue = getInput(m_tiltRelInID,count); ! //process relative commands if (!RelPanValue->isNil() && !RelTiltValue->isNil()) { --- 188,196 ---- ObjectRef AbsPanValue = getInput(m_panAbsInID,count); ObjectRef AbsTiltValue = getInput(m_tiltAbsInID,count); ! ObjectRef AbsZoomValue = getInput(m_zoomAbsInID,count); ObjectRef RelPanValue = getInput(m_panRelInID,count); ObjectRef RelTiltValue = getInput(m_tiltRelInID,count); ! ObjectRef RelZoomValue = getInput(m_zoomRelInID,count); ! //process relative commands if (!RelPanValue->isNil() && !RelTiltValue->isNil()) { *************** *** 230,238 **** } //process zoom commands ! if (!ZoomValue->isNil()) { ! RCPtr<Int> zoom = ZoomValue; send_zoom_position(*zoom); m_currentZoom = *zoom; } //limit pan,tilt,zoom m_currentPan = max(min(m_currentPan,1700), -1700); --- 236,251 ---- } //process zoom commands ! if (!AbsZoomValue->isNil()) { ! RCPtr<Int> zoom = AbsZoomValue; send_zoom_position(*zoom); m_currentZoom = *zoom; } + + if (!RelZoomValue->isNil()) { + RCPtr<Int> zoom = RelZoomValue; + m_currentZoom += *zoom; + send_zoom_position(m_currentZoom); + } + //limit pan,tilt,zoom m_currentPan = max(min(m_currentPan,1700), -1700); |