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...> - 2006-12-11 14:45:25
|
Update of /cvsroot/robotflow/RobotFlow In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25955 Modified Files: configure.in Log Message: fixed package definition Index: configure.in =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/configure.in,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** configure.in 4 Dec 2006 19:19:57 -0000 1.60 --- configure.in 11 Dec 2006 14:45:10 -0000 1.61 *************** *** 2,6 **** CFLAGS="-O2" CXXFLAGS="-O2" ! PACKAGE=RobotFlow AC_INIT(Generic/include/Timer.h) --- 2,6 ---- CFLAGS="-O2" CXXFLAGS="-O2" ! AC_INIT(Generic/include/Timer.h) *************** *** 16,19 **** --- 16,20 ---- ROBOTFLOW_BINARY_AGE=0 + PACKAGE=RobotFlow AC_SUBST(ROBOTFLOW_MAJOR_VERSION) |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:15
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Probes/src Modified Files: ColorTrain.cc SkinColorGMMTrain.cc VisualROISelection.cc Log Message: fixed for gcc 4.1.2 and prefix configuration Index: VisualROISelection.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/VisualROISelection.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VisualROISelection.cc 23 Jun 2005 20:56:07 -0000 1.3 --- VisualROISelection.cc 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 38,41 **** --- 38,45 ---- class VisualROISelection; + void on_save_button_clicked (GtkButton *button, VisualROISelection *cSelection); + void on_show_button_clicked (GtkButton *button, VisualROISelection *cSelection); + gboolean pixbuf_event_function (GnomeCanvasItem *canvasitem, GdkEvent *event, VisualROISelection *cSelection); + DECLARE_NODE(VisualROISelection) /*Node Index: SkinColorGMMTrain.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/SkinColorGMMTrain.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SkinColorGMMTrain.cc 1 Jul 2005 17:53:41 -0000 1.3 --- SkinColorGMMTrain.cc 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 38,41 **** --- 38,52 ---- class SkinColorGMMTrain; + void on_load_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_load_button_clicked_ok (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_load_button_clicked_cancel (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_save_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_show_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_add_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_init_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + void on_adapt_button_clicked (GtkButton *button, SkinColorGMMTrain *cSelection); + gboolean pixbuf_event_function (GnomeCanvasItem *canvasitem, GdkEvent *event, SkinColorGMMTrain *cSelection); + + DECLARE_NODE(SkinColorGMMTrain) /*Node Index: ColorTrain.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/ColorTrain.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ColorTrain.cc 29 Mar 2005 15:20:46 -0000 1.3 --- ColorTrain.cc 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 37,40 **** --- 37,50 ---- class ColorTrain; + void on_load_button_clicked (GtkButton *button, ColorTrain *cTrain); + void on_load_button_clicked_ok (GtkButton *button, ColorTrain *cTrain); + void on_load_button_clicked_cancel (GtkButton *button, ColorTrain *cTrain); + void on_save_button_clicked (GtkButton *button, ColorTrain *cTrain); + void on_select_button_clicked (GtkButton *button, ColorTrain *cTrain); + void on_remove_button_clicked (GtkButton *button, ColorTrain *cTrain); + void on_show_button_clicked (GtkButton *button, ColorTrain *cTrain); + void on_combo_entry1_changed (GtkEditable *editable, ColorTrain *cTrain); + gboolean pixbuf_event_function (GnomeCanvasItem *canvasitem,GdkEvent *event, ColorTrain *cTrain); + DECLARE_NODE(ColorTrain) /*Node |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:08
|
Update of /cvsroot/robotflow/RobotFlow/OpenCV/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/OpenCV/src Modified Files: DrawPFParticle.cc GetVisualROIParam.cc PFState2VisualROI.cc VisualTargetPFInterface.cc Log Message: fixed for gcc 4.1.2 and prefix configuration Index: GetVisualROIParam.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/OpenCV/src/GetVisualROIParam.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GetVisualROIParam.cc 28 Jul 2005 14:59:47 -0000 1.1 --- GetVisualROIParam.cc 4 Dec 2006 19:19:58 -0000 1.2 *************** *** 66,70 **** { public: ! GetVisualROIParam::GetVisualROIParam(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { --- 66,70 ---- { public: ! GetVisualROIParam(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { *************** *** 78,86 **** } ! virtual GetVisualROIParam::~GetVisualROIParam() { } ! void GetVisualROIParam::calculate(int output_id, int count, Buffer &out) { try { --- 78,86 ---- } ! virtual ~GetVisualROIParam() { } ! void calculate(int output_id, int count, Buffer &out) { try { Index: VisualTargetPFInterface.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/OpenCV/src/VisualTargetPFInterface.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** VisualTargetPFInterface.cc 28 Jul 2005 14:59:47 -0000 1.1 --- VisualTargetPFInterface.cc 4 Dec 2006 19:19:58 -0000 1.2 *************** *** 93,97 **** { public: ! VisualTargetPFInterface::VisualTargetPFInterface(string nodeName, ParameterSet params) : BufferedNode(nodeName, params), m_needNewTarget(true) --- 93,97 ---- { public: ! VisualTargetPFInterface(string nodeName, ParameterSet params) : BufferedNode(nodeName, params), m_needNewTarget(true) *************** *** 129,133 **** } ! VisualTargetPFInterface::~VisualTargetPFInterface() { --- 129,133 ---- } ! ~VisualTargetPFInterface() { *************** *** 135,139 **** // Modified BufferedNode request method to support cyclic node connection ! void VisualTargetPFInterface::request(int output_id, const ParameterSet &req) { if (req.exist("LOOKAHEAD")) { --- 135,139 ---- // Modified BufferedNode request method to support cyclic node connection ! void request(int output_id, const ParameterSet &req) { if (req.exist("LOOKAHEAD")) { *************** *** 200,204 **** } ! void VisualTargetPFInterface::calculate(int output_id, int count, Buffer &out) { try { --- 200,204 ---- } ! void calculate(int output_id, int count, Buffer &out) { try { Index: DrawPFParticle.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/OpenCV/src/DrawPFParticle.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DrawPFParticle.cc 28 Jul 2005 14:59:47 -0000 1.1 --- DrawPFParticle.cc 4 Dec 2006 19:19:58 -0000 1.2 *************** *** 77,81 **** { public: ! DrawPFParticle::DrawPFParticle(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { --- 77,81 ---- { public: ! DrawPFParticle(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { *************** *** 102,106 **** } ! DrawPFParticle::~DrawPFParticle() { delete [] m_color; --- 102,106 ---- } ! ~DrawPFParticle() { delete [] m_color; *************** *** 108,112 **** // Modified BufferedNode request method to support cyclic node connection ! void DrawPFParticle::request(int output_id, const ParameterSet &req) { if (req.exist("LOOKAHEAD")) { --- 108,112 ---- // Modified BufferedNode request method to support cyclic node connection ! void request(int output_id, const ParameterSet &req) { if (req.exist("LOOKAHEAD")) { *************** *** 148,152 **** } ! void DrawPFParticle::calculate(int output_id, int count, Buffer &out) { try { --- 148,152 ---- } ! void calculate(int output_id, int count, Buffer &out) { try { Index: PFState2VisualROI.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/OpenCV/src/PFState2VisualROI.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PFState2VisualROI.cc 28 Jul 2005 14:59:47 -0000 1.1 --- PFState2VisualROI.cc 4 Dec 2006 19:19:58 -0000 1.2 *************** *** 65,69 **** { public: ! PFState2VisualROI::PFState2VisualROI(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { --- 65,69 ---- { public: ! PFState2VisualROI(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { *************** *** 94,103 **** } ! PFState2VisualROI::~PFState2VisualROI() { } ! void PFState2VisualROI::calculate(int output_id, int count, Buffer &out) { try { --- 94,103 ---- } ! ~PFState2VisualROI() { } ! void calculate(int output_id, int count, Buffer &out) { try { |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:05
|
Update of /cvsroot/robotflow/RobotFlow/Probes/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Probes/include Modified Files: SymbolKeypad.h Log Message: fixed for gcc 4.1.2 and prefix configuration Index: SymbolKeypad.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/include/SymbolKeypad.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SymbolKeypad.h 29 Mar 2005 15:20:46 -0000 1.3 --- SymbolKeypad.h 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 9,12 **** --- 9,20 ---- namespace RobotFlow { + class SymbolKeypad; + + + void keypad_button_pressed(GtkButton *object, SymbolKeypad* keypad); + void keypad_button_released(GtkButton *button, SymbolKeypad *keypad); + gboolean ignore_delete(GtkWidget *widget, GdkEvent *event, SymbolKeypad *keypad); + gboolean keypad_event_function (GtkWidget *window, GdkEvent *event, SymbolKeypad *keypad); + class SymbolKeypad : public FD::Node { |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:02
|
Update of /cvsroot/robotflow/RobotFlow/Devices/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Devices/src Modified Files: CANON_VCC4.cc EVID30.cc IMU400CC_200.cc SNCRZ30RS232.cc Log Message: fixed for gcc 4.1.2 and prefix configuration Index: EVID30.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/EVID30.cc,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** EVID30.cc 15 Nov 2005 13:19:08 -0000 1.10 --- EVID30.cc 4 Dec 2006 19:19:58 -0000 1.11 *************** *** 42,45 **** --- 42,48 ---- namespace RobotFlow { + void *receive_thread (void *sPTZ); + void *send_thread(void *sPTZ); + class EVID30; Index: CANON_VCC4.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/CANON_VCC4.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CANON_VCC4.cc 15 Nov 2005 13:19:08 -0000 1.8 --- CANON_VCC4.cc 4 Dec 2006 19:19:58 -0000 1.9 *************** *** 40,43 **** --- 40,46 ---- namespace RobotFlow { + void *vcc4_receive_thread (void *sPTZ); + void *vcc4_send_thread(void *sPTZ); + class CANON_VCC4; Index: SNCRZ30RS232.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/SNCRZ30RS232.cc,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** SNCRZ30RS232.cc 15 Nov 2005 13:19:08 -0000 1.9 --- SNCRZ30RS232.cc 4 Dec 2006 19:19:58 -0000 1.10 *************** *** 44,47 **** --- 44,51 ---- namespace RobotFlow { + void *sncrz30_receive_thread (void *sPTZ); + void *sncrz30_send_thread (void *sPTZ); + + class SNCRZ30RS232; Index: IMU400CC_200.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Devices/src/IMU400CC_200.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IMU400CC_200.cc 15 Nov 2005 13:19:08 -0000 1.3 --- IMU400CC_200.cc 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 41,44 **** --- 41,47 ---- namespace RobotFlow { + void *imu400_recv_thread (void *sPTZ); + void *imu400_send_thread (void *sPTZ); + class IMU400CC_200; *************** *** 618,636 **** for (list<IMU400_DATA>::iterator iter = m_recv_list.begin(); iter != m_recv_list.end(); iter++) { ! //X ! m_x_vel += iter->m_x_accel * iter->m_time; ! m_x_pos += m_x_vel * iter->m_time; ! //Y ! m_y_vel += iter->m_y_accel * iter->m_time; ! m_y_pos += m_y_vel * iter->m_time; ! //Z ! m_z_vel += iter->m_z_accel * iter->m_time; ! m_z_pos += m_z_vel * iter->m_time; ! //YAW ! m_yaw += iter->m_yaw_rate * iter->m_time; ! //PITCH ! m_pitch += iter->m_pitch_rate * iter->m_time; ! //ROLL ! m_roll += iter->m_roll_rate * iter->m_time; } --- 621,666 ---- for (list<IMU400_DATA>::iterator iter = m_recv_list.begin(); iter != m_recv_list.end(); iter++) { ! ! float delta_yaw = iter->m_yaw_rate * iter->m_time; ! float delta_pitch = iter->m_pitch_rate * iter->m_time; ! float delta_roll = iter->m_roll_rate * iter->m_time; ! ! //X (SPEED & DELTA DISTANCE) ! m_x_vel += iter->m_x_accel * iter->m_time; ! float delta_x = m_x_vel * iter->m_time; ! ! //Y (SPEED & DELTA DISTANCE) ! m_y_vel += iter->m_y_accel * iter->m_time; ! float delta_y = m_y_vel * iter->m_time; ! ! //Z (SPEED & DELTA DISTANCE) ! m_z_vel += iter->m_z_accel * iter->m_time; ! float delta_z = m_z_vel * iter->m_time; ! ! ! float norm = sqrt(delta_x * delta_x + delta_y * delta_y + delta_z * delta_z); ! ! ! ! //X POS ! m_x_pos += norm * cos(m_yaw * M_PI / 180.0 + delta_yaw* M_PI / 180.0 / 2.0) * cos(m_roll* M_PI / 180.0 + delta_roll* M_PI / 180.0 / 2.0); ! ! //Y POS ! m_y_pos += norm * cos(m_yaw * M_PI / 180.0 + delta_yaw* M_PI / 180.0 / 2.0) * sin(m_roll* M_PI / 180.0 + delta_roll* M_PI / 180.0 / 2.0); ! ! //Z POS ! m_z_pos += norm * sin(m_yaw * M_PI / 180.0 + delta_yaw* M_PI / 180.0 / 2.0); ! ! //YAW (INTEGRATION) ! m_yaw += delta_yaw; ! ! //PITCH (INTEGRATION) ! m_pitch += delta_pitch; ! ! //ROLL (INTEGRATION) ! m_roll += delta_roll; ! ! ! } |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:02
|
Update of /cvsroot/robotflow/RobotFlow/Vision/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Vision/src Modified Files: Bt848.cc Log Message: fixed for gcc 4.1.2 and prefix configuration Index: Bt848.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Bt848.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Bt848.cc 29 Mar 2005 15:20:47 -0000 1.7 --- Bt848.cc 4 Dec 2006 19:19:58 -0000 1.8 *************** *** 39,42 **** --- 39,44 ---- namespace RobotFlow { + void* grabber_driver_thread (void *bt848); + DECLARE_NODE(Bt848) /*Node |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:02
|
Update of /cvsroot/robotflow/RobotFlow/Pioneer2/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Pioneer2/src Modified Files: Pioneer2PacketManager.cc Log Message: fixed for gcc 4.1.2 and prefix configuration Index: Pioneer2PacketManager.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/src/Pioneer2PacketManager.cc,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Pioneer2PacketManager.cc 29 Mar 2005 15:20:44 -0000 1.19 --- Pioneer2PacketManager.cc 4 Dec 2006 19:19:58 -0000 1.20 *************** *** 37,40 **** --- 37,43 ---- namespace RobotFlow { + void* Pioneer2PacketManager_recv_thread (void *user_data); + void* Pioneer2PacketManager_send_thread (void *user_data); + Pioneer2PacketManager* Pioneer2PacketManager::m_instance = NULL; const int Pioneer2PacketManager::MAX_QUEUE_SIZE = 20; |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:02
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Behaviors/src Modified Files: Makefile.am Log Message: fixed for gcc 4.1.2 and prefix configuration Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/Makefile.am,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Makefile.am 12 Dec 2005 18:27:49 -0000 1.21 --- Makefile.am 4 Dec 2006 19:19:58 -0000 1.22 *************** *** 35,41 **** SafeVelocityPat.cc \ AvoidPat.cc \ ! EllipticalAvoid.cc \ ! AvoidUtil.cc \ ! BumperStall.cc libBehaviors_la_LDFLAGS = -release $(LT_RELEASE) --- 35,41 ---- SafeVelocityPat.cc \ AvoidPat.cc \ ! EllipticalAvoid.cc \ ! AvoidUtil.cc \ ! BumperStall.cc libBehaviors_la_LDFLAGS = -release $(LT_RELEASE) |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:01
|
Update of /cvsroot/robotflow/RobotFlow/Generic/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544/Generic/include Modified Files: Timer.h Log Message: fixed for gcc 4.1.2 and prefix configuration Index: Timer.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Generic/include/Timer.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Timer.h 29 Mar 2005 15:20:40 -0000 1.3 --- Timer.h 4 Dec 2006 19:19:58 -0000 1.4 *************** *** 12,15 **** --- 12,18 ---- namespace RobotFlow { + + void* timer_thread (void * timerPtr); + //(ER) for debugging extern timespec startTime; |
From: Dominic L. <ma...@us...> - 2006-12-04 19:20:01
|
Update of /cvsroot/robotflow/RobotFlow In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18544 Modified Files: configure.in Log Message: fixed for gcc 4.1.2 and prefix configuration Index: configure.in =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/configure.in,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** configure.in 4 Dec 2006 18:17:55 -0000 1.59 --- configure.in 4 Dec 2006 19:19:57 -0000 1.60 *************** *** 2,10 **** CFLAGS="-O2" CXXFLAGS="-O2" AC_INIT(Generic/include/Timer.h) ! ! #AC_INIT([RobotFlow], [0.2.6cvs], [rob...@li...]) ! AC_PREREQ(2.53) --- 2,9 ---- CFLAGS="-O2" CXXFLAGS="-O2" + PACKAGE=RobotFlow AC_INIT(Generic/include/Timer.h) ! dnl AC_INIT([RobotFlow], [0.2.7cvs], [rob...@li...]) AC_PREREQ(2.53) *************** *** 12,16 **** ROBOTFLOW_MAJOR_VERSION=0 ROBOTFLOW_MINOR_VERSION=2 ! ROBOTFLOW_MICRO_VERSION=6 ROBOTFLOW_VERSION=$ROBOTFLOW_MAJOR_VERSION.$ROBOTFLOW_MINOR_VERSION.$ROBOTFLOW_MICRO_VERSION ROBOTFLOW_INTERFACE_AGE=0 --- 11,15 ---- ROBOTFLOW_MAJOR_VERSION=0 ROBOTFLOW_MINOR_VERSION=2 ! ROBOTFLOW_MICRO_VERSION=7 ROBOTFLOW_VERSION=$ROBOTFLOW_MAJOR_VERSION.$ROBOTFLOW_MINOR_VERSION.$ROBOTFLOW_MICRO_VERSION ROBOTFLOW_INTERFACE_AGE=0 *************** *** 36,41 **** VERSION=$ROBOTFLOW_VERSION - PACKAGE=RobotFlow - dnl Checks for programs. --- 35,38 ---- *************** *** 260,266 **** prefix=$OVERFLOW_DATA/$PACKAGE USING_FD_PREFIX="yes" - else - dnl this will work, but we should maybe change the variable name - OVERFLOW_DATA=$prefix fi --- 257,260 ---- *************** *** 326,333 **** Sensors/include/Makefile \ Sensors/src/Makefile \ ! ut/Makefile \ ut/include/Makefile \ ut/src/Makefile \ ! RobotFlow.spec \ RobotFlow.pc) --- 320,327 ---- Sensors/include/Makefile \ Sensors/src/Makefile \ ! ut/Makefile \ ut/include/Makefile \ ut/src/Makefile \ ! RobotFlow.spec \ RobotFlow.pc) *************** *** 374,378 **** AC_MSG_RESULT([Installation directory : $prefix]) else ! AC_MSG_RESULT([*** WARNING *** $PACKAGE will be installed at the user defined location. Do NOT specify the --prefix option if you want the default FlowDesigner toolbox directory.]) AC_MSG_RESULT([Installation directory : $prefix]) fi --- 368,372 ---- AC_MSG_RESULT([Installation directory : $prefix]) else ! AC_MSG_RESULT([*** WARNING *** $PACKAGE will be installed at the user defined location. Do NOT specify the --prefix option if you want to use the default FlowDesigner toolbox directory (automatic detection). Do not forget to set your FLOWDESIGNER_PATH environment variable, otherwise the RobotFlow toolboxes won't be loaded by FlowDesigner.]) AC_MSG_RESULT([Installation directory : $prefix]) fi |
From: Dominic L. <ma...@us...> - 2006-12-04 18:37:22
|
Update of /cvsroot/robotflow/RobotFlow In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv26291 Modified Files: configure.in Log Message: more useful message for prefix Index: configure.in =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/configure.in,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** configure.in 12 Dec 2005 18:33:39 -0000 1.58 --- configure.in 4 Dec 2006 18:17:55 -0000 1.59 *************** *** 255,261 **** JPEG_LIB="-L/usr/lib -ljpeg" dnl Look for prefix, if not specified, use FlowDesigner default toolbox prefix if test "x$prefix" = "xNONE"; then ! prefix=$OVERFLOW_DATA/$PACKAGE else dnl this will work, but we should maybe change the variable name --- 255,263 ---- JPEG_LIB="-L/usr/lib -ljpeg" + USING_FD_PREFIX="no" dnl Look for prefix, if not specified, use FlowDesigner default toolbox prefix if test "x$prefix" = "xNONE"; then ! prefix=$OVERFLOW_DATA/$PACKAGE ! USING_FD_PREFIX="yes" else dnl this will work, but we should maybe change the variable name *************** *** 368,371 **** fi ! AC_MSG_RESULT([$PACKAGE will be installed in : $prefix]) --- 370,381 ---- fi ! if test "$USING_FD_PREFIX" = "yes"; then ! AC_MSG_RESULT([$PACKAGE will be installed in the default FlowDesigner toolbox directory :]) ! AC_MSG_RESULT([Installation directory : $prefix]) ! else ! AC_MSG_RESULT([*** WARNING *** $PACKAGE will be installed at the user defined location. Do NOT specify the --prefix option if you want the default FlowDesigner toolbox directory.]) ! AC_MSG_RESULT([Installation directory : $prefix]) ! fi ! ! |
From: Carle C. <car...@us...> - 2006-11-18 21:27:39
|
Update of /cvsroot/robotflow/RobotFlow In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27435 Modified Files: RobotFlow.pc.in Log Message: Correct missing variable declaration Index: RobotFlow.pc.in =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/RobotFlow.pc.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RobotFlow.pc.in 3 Aug 2005 19:52:54 -0000 1.1 --- RobotFlow.pc.in 18 Nov 2006 21:27:36 -0000 1.2 *************** *** 1,2 **** --- 1,4 ---- + prefix=@prefix@ + Name: robotflow Description: RobotFlow toolkit for FlowDesigner *************** *** 4,6 **** Requires: Libs: -L${prefix}/lib ! Cflags: -I${prefix}/include @OVERFLOW_INCLUDES@ --- 6,8 ---- Requires: Libs: -L${prefix}/lib ! Cflags: -I${prefix}/include |
From: Dominic L. <ma...@us...> - 2006-07-11 02:24:30
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv19925 Modified Files: extractMarieCommandBehavior.cpp extractMarieDataMap.cpp newMarieCommandGripper.cpp newMarieDataGripper.cpp Log Message: remove memory leaks Index: newMarieCommandGripper.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/newMarieCommandGripper.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** newMarieCommandGripper.cpp 7 Nov 2005 20:33:06 -0000 1.1 --- newMarieCommandGripper.cpp 11 Jul 2006 02:23:39 -0000 1.2 *************** *** 105,108 **** --- 105,113 ---- stateIt->second = composite->get(stateIt->first); } + catch(BaseException *e) + { + e->print(cerr); + delete e; + } catch(...) {} Index: extractMarieCommandBehavior.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/extractMarieCommandBehavior.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** extractMarieCommandBehavior.cpp 12 Sep 2005 21:31:19 -0000 1.8 --- extractMarieCommandBehavior.cpp 11 Jul 2006 02:23:30 -0000 1.9 *************** *** 160,165 **** --- 160,173 ---- paramsComposite->addField(key.str(), ObjectValue); } + catch(BaseException *e) + { + ObjectRef ObjectValue(new String(value.str())); + paramsComposite->addField(key.str(),ObjectValue); + e->print(cerr); + delete e; + } catch(...) { + //cerr<<"unable to read FlowDesigner Object"<<std::endl; //unable to read FlowDesigner Object //output standard string *************** *** 182,187 **** --- 190,203 ---- resultsComposite->addField(key.str(), ObjectValue); } + catch (BaseException *e) + { + ObjectRef ObjectValue(new String(value.str())); + resultsComposite->addField(key.str(),ObjectValue); + e->print(cerr); + delete e; + } catch(...) { + //cerr<<"unable to read FlowDesigner Object"<<std::endl; //unable to read FlowDesigner Object //output standard string Index: newMarieDataGripper.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/newMarieDataGripper.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** newMarieDataGripper.cpp 7 Nov 2005 20:33:06 -0000 1.1 --- newMarieDataGripper.cpp 11 Jul 2006 02:23:42 -0000 1.2 *************** *** 104,107 **** --- 104,112 ---- stateIt->second = composite->get(stateIt->first); } + catch(BaseException *e) + { + e->print(cerr); + delete e; + } catch(...) {} Index: extractMarieDataMap.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/MARIE/src/extractMarieDataMap.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** extractMarieDataMap.cpp 12 Sep 2005 21:31:19 -0000 1.5 --- extractMarieDataMap.cpp 11 Jul 2006 02:23:35 -0000 1.6 *************** *** 104,107 **** --- 104,116 ---- cType->addField(key.str(), ObjectValue); } + catch(BaseException *e) + { + //unable to read FlowDesigner Object + //output standard string + ObjectRef ObjectValue(new String(value.str())); + cType->addField(key.str(),ObjectValue); + e->print(cerr); + delete e; + } catch(...) { |
From: Fernyqc <fe...@us...> - 2006-06-30 13:35:09
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv22729 Added Files: Data2DPoint.n newMarieData2DPoint.cpp extractMarieData2DPoint.cpp Log Message: Blocs to create and extract Data2DPoint; --- NEW FILE: Data2DPoint.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_Constant_5" type="Constant" x="532.000000" y="74.000000"> <Parameter name="VALUE" type="string" value="failure of RANGES comparison while testing DataIR" description="The value"/> </Node> <Node name="node_IF_1" type="IF" x="719.000000" y="49.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_Throw_1" type="Throw" x="612.000000" y="73.000000"/> <Node name="node_NOP_2" type="NOP" x="803.000000" y="48.000000"/> <Node name="node_Constant_6" type="Constant" x="-445.000000" y="119.000000"> <Parameter name="VALUE" type="int" value="2" description="The value"/> </Node> <Node name="node_newMarieData2DPoint_1" type="newMarieData2DPoint" x="-253.000000" y="96.000000"/> <Node name="node_extractMarieData2DPoint_1" type="extractMarieData2DPoint" x="-87.000000" y="96.000000"/> <Node name="node_Equal_2" type="Equal" x="185.000000" y="129.000000"/> <Node name="node_Constant_1" type="Constant" x="-448.000000" y="33.000000"> <Parameter name="VALUE" type="float" value="1.0" description="The value"/> </Node> <Node name="node_Constant_2" type="Constant" x="-448.000000" y="-5.000000"> <Parameter name="VALUE" type="float" value="2000.0" description="The value"/> </Node> <Node name="node_Constant_3" type="Constant" x="-448.000000" y="-41.000000"> <Parameter name="VALUE" type="float" value="1000.0" description="The value"/> </Node> <Node name="node_Equal_3" type="Equal" x="184.000000" y="59.000000"/> <Node name="node_Equal_4" type="Equal" x="185.000000" y="4.000000"/> <Node name="node_Equal_5" type="Equal" x="184.000000" y="-45.000000"/> <Node name="node_AND_1" type="AND" x="351.000000" y="-21.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_2" type="AND" x="349.000000" y="97.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_3" type="AND" x="467.000000" y="33.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Link from="node_Throw_1" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_Constant_5" output="VALUE" to="node_Throw_1" input="INPUT"/> <Link from="node_IF_1" output="OUTPUT" to="node_NOP_2" input="INPUT"/> <Link from="node_newMarieData2DPoint_1" output="DATA2DPOINT" to="node_extractMarieData2DPoint_1" input="DATA2DPOINT"/> <Link from="node_Constant_6" output="VALUE" to="node_newMarieData2DPoint_1" input="ID"/> <Link from="node_extractMarieData2DPoint_1" output="ID" to="node_Equal_2" input="INPUT1"/> <Link from="node_Constant_1" output="VALUE" to="node_newMarieData2DPoint_1" input="THETA">-420.5 33 -390 103 -351 103.5 </Link> <Link from="node_Constant_2" output="VALUE" to="node_newMarieData2DPoint_1" input="Y">-420.5 -5 -380 87 -351 88.5 </Link> <Link from="node_Constant_3" output="VALUE" to="node_newMarieData2DPoint_1" input="X">-416 -39 -370 73 -351 73.5 </Link> <Link from="node_extractMarieData2DPoint_1" output="THETA" to="node_Equal_3" input="INPUT2">18.5 103.5 84 103 121.5 66.5 </Link> <Link from="node_extractMarieData2DPoint_1" output="Y" to="node_Equal_4" input="INPUT2">18.5 88.5 76 89 122.5 11.5 </Link> <Link from="node_extractMarieData2DPoint_1" output="X" to="node_Equal_5" input="INPUT2">18.5 73.5 68 75 121.5 -37.5 </Link> <Link from="node_Constant_3" output="VALUE" to="node_Equal_5" input="INPUT1"/> <Link from="node_Constant_2" output="VALUE" to="node_Equal_4" input="INPUT1"/> <Link from="node_Constant_1" output="VALUE" to="node_Equal_3" input="INPUT1"/> <Link from="node_Equal_4" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_Equal_5" output="OUTPUT" to="node_AND_1" input="INPUT1"/> <Link from="node_Equal_2" output="OUTPUT" to="node_AND_2" input="INPUT2"/> <Link from="node_Equal_3" output="OUTPUT" to="node_AND_2" input="INPUT1"/> <Link from="node_AND_2" output="OUTPUT" to="node_AND_3" input="INPUT2"/> <Link from="node_AND_1" output="OUTPUT" to="node_AND_3" input="INPUT1"/> <Link from="node_AND_3" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_AND_3" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_Constant_6" output="VALUE" to="node_Equal_2" input="INPUT2">-415 123 -363 137 122.5 136.5 </Link> <NetOutput name="OUTPUT" node="node_NOP_2" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> </Document> --- NEW FILE: newMarieData2DPoint.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau / 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 <sstream> #include <string> #include "BufferedNode.h" #include "MarieObject.h" #include "Data2DPoint.h" using namespace std; using namespace FD; namespace marie { //forward declaration class newMarieData2DPoint; DECLARE_NODE(newMarieData2DPoint) /*Node * * @name newMarieData2DPoint * @category RobotFlow:MARIE:DATA * @description Create an object of type MarieObject containing a Data2DPoint data * * @input_name X * @input_type float * @input_description x coordinate * * @input_name Y * @input_type float * @input_description y coordinate * * @input_name THETA * @input_type float * @input_description angle value * * @input_name ID * @input_type int * @input_description id value * * @output_name DATA2DPOINT * @output_description Output MarieObject containing a Data2Dpoint data * @output_type MarieObject * END*/ using namespace std; class newMarieData2DPoint : public BufferedNode { private: //intputs int m_nXid,m_nYid,m_nTid,m_nIDid; //outputs int m_OutID; public: newMarieData2DPoint(string nodeName, ParameterSet params) : BufferedNode(nodeName,params) { //intputs m_nXid = addInput("X"); m_nYid = addInput("Y"); m_nTid = addInput("THETA"); m_nIDid = addInput("ID"); //outputs m_OutID = addOutput("DATA2DPOINT"); } void calculate(int output_id, int count, Buffer &out) { try { RCPtr<Float> X = getInput(m_nXid,count); RCPtr<Float> Y = getInput(m_nYid,count); RCPtr<Float> T = getInput(m_nTid,count); RCPtr<Int> ID = getInput(m_nIDid,count); Data2DPoint * point = new Data2DPoint(); point->setX(*X); point->setY(*Y); point->setTheta(*T); point->setId(*ID); //output result out[count] = ObjectRef(new MarieObject(point)); } catch (BaseException *e) { e->print(cerr); e->add(new GeneralException("Unable to process",__FILE__,__LINE__)); throw e; } } };//class newMarieData2Dpoint }//namespace marie --- NEW FILE: extractMarieData2DPoint.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau / 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 <sstream> #include <string> #include "BufferedNode.h" #include "MarieObject.h" #include "Data2DPoint.h" using namespace std; using namespace FD; namespace marie { //forward declaration class extractMarieData2DPoint; DECLARE_NODE(extractMarieData2DPoint) /*Node * * @name extractMarieData2DPoint * @category RobotFlow:MARIE:DATA * @description Extract data in the FlowDesigner format from MarieObject * * @input_name DATA2DPOINT * @input_type MarieObject * @input_description The MarieObject object containing a Data2DPoint * * @output_name X * @output_type float * @output_description x value * * @output_name Y * @output_type float * @output_description y value * * @output_name THETA * @output_type float * @output_description theta value * * @output_name ID * @output_type int * @output_description ID value * END*/ using namespace std; class extractMarieData2DPoint : public BufferedNode { private: //intputs int m_Data2DPointID; //outputs int m_XOutID; int m_YOutID; int m_TOutID; int m_IDOutID; public: extractMarieData2DPoint(string nodeName, ParameterSet params) : BufferedNode(nodeName,params) { //inputs m_Data2DPointID = addInput("DATA2DPOINT"); //outputs m_XOutID = addOutput("X"); m_YOutID = addOutput("Y"); m_TOutID = addOutput("THETA"); m_IDOutID = addOutput("ID"); } void calculate(int output_id, int count, Buffer &out) { try { //get input RCPtr<MarieObject> dataPtr = getInput(m_Data2DPointID,count); Data2DPoint *point = dynamic_cast<Data2DPoint*>(dataPtr->getData()); if (point != NULL) { //output data (*outputs[m_XOutID].buffer)[count] = ObjectRef(Float::alloc(point->getX())); (*outputs[m_YOutID].buffer)[count] = ObjectRef(Float::alloc(point->getY())); (*outputs[m_TOutID].buffer)[count] = ObjectRef(Float::alloc(point->getTheta())); (*outputs[m_IDOutID].buffer)[count] = ObjectRef(Int::alloc(point->getId())); } else // commandMotor == NULL { std::cerr << "FD::extractMarieCommandMotor -> MarieObject received data not of Data2DPoint type" << std::endl; out[count] = nilObject; } } catch (BaseException *e) { e->print(cerr); e->add(new GeneralException("Unable to process",__FILE__,__LINE__)); throw e; } } };//class extractMarieCommandMotor }//namespace marie |
From: Dominic L. <ma...@us...> - 2006-06-06 21:44:46
|
Update of /cvsroot/robotflow/RobotFlow/Audio/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30466/src Modified Files: SourceInfo.cpp Log Message: now able to read and pring to iostreams Index: SourceInfo.cpp =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Audio/src/SourceInfo.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SourceInfo.cpp 27 Jun 2005 22:44:01 -0000 1.2 --- SourceInfo.cpp 6 Jun 2006 19:59:48 -0000 1.3 *************** *** 2,6 **** --- 2,10 ---- #include "SourceInfo.h" #include "Vector.h" + #include "ObjectParser.h" + #include <string> + #include <iostream> + using namespace std; using namespace FD; *************** *** 17,18 **** --- 21,60 ---- out << ">" << std::endl; } + + void SourceInfo::readFrom(std::istream &in) + { + string tag; + + while (1) { + char ch; + in >> ch; + if (ch == '>') break; + + else if (ch != '<') { + throw new ParsingException ("SourceInfo::readFrom : Parse error: '<' expected"); + } + in >> tag; + + if (tag == "x") { + in >> x[0] >> x[1] >> x[2]; + } + else if (tag == "strength") { + in >> strength; + } + else if (tag == "age") { + in >> age; + } + else if (tag == "source_id") { + in >> source_id; + } + else { + throw new ParsingException ("SourceInfo::readFrom : Unknown argument: " + tag); + } + + if (!in) throw new ParsingException ("SourceInfo::readFrom : Parse error trying to build " + tag); + + in >> tag; + if (tag != ">") + throw new ParsingException ("SourceInfo::readFrom : Parse error: '>' expected "); + } + } |
From: Dominic L. <ma...@us...> - 2006-06-06 21:43:16
|
Update of /cvsroot/robotflow/RobotFlow/Audio/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30466/include Modified Files: SourceInfo.h Log Message: now able to read and pring to iostreams Index: SourceInfo.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Audio/include/SourceInfo.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SourceInfo.h 27 Jun 2005 22:44:00 -0000 1.2 --- SourceInfo.h 6 Jun 2006 19:59:48 -0000 1.3 *************** *** 34,40 **** } ! void readFrom(std::istream &in) ! { ! } friend std::istream &operator >> (std::istream &in, SourceInfo &cell); }; --- 34,39 ---- } ! void readFrom(std::istream &in); ! friend std::istream &operator >> (std::istream &in, SourceInfo &cell); }; |
From: Dominic L. <ma...@us...> - 2006-03-15 14:41:34
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21540 Modified Files: SoundSourceDisplay.cc Log Message: removed deadlock Index: SoundSourceDisplay.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/SoundSourceDisplay.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SoundSourceDisplay.cc 18 Nov 2005 16:16:20 -0000 1.2 --- SoundSourceDisplay.cc 15 Mar 2006 14:41:17 -0000 1.3 *************** *** 375,382 **** void SoundSourceDisplay::calculate(int output_id, int count, Buffer &out) { - gdk_threads_enter(); - ObjectRef SourcesInfoValue = getInput(m_sourcesID,count); //double x1,y1,x2,y2; --- 375,383 ---- void SoundSourceDisplay::calculate(int output_id, int count, Buffer &out) { ObjectRef SourcesInfoValue = getInput(m_sourcesID,count); + + gdk_threads_enter(); + //double x1,y1,x2,y2; *************** *** 392,396 **** } m_sourceItems.resize(0); ! //display all sources for (int i = 0; i < allSources->size(); i++) { --- 393,397 ---- } m_sourceItems.resize(0); ! //display all sources for (int i = 0; i < allSources->size(); i++) { *************** *** 422,426 **** --- 423,429 ---- out[count] = SourcesInfoValue; + gdk_threads_leave(); + } |
From: Victor B. L. T. <vi...@us...> - 2006-01-24 20:20:26
|
Update of /cvsroot/robotflow/RobotFlow/Sensors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28280/src Modified Files: RangeFashionGeneric.cc Log Message: Change the Vector< Vector<float> > to Vector< Vector< OjectRef > > for the input Index: RangeFashionGeneric.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Sensors/src/RangeFashionGeneric.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RangeFashionGeneric.cc 20 Jan 2006 22:00:56 -0000 1.1 --- RangeFashionGeneric.cc 24 Jan 2006 20:20:16 -0000 1.2 *************** *** 112,124 **** for (int i = 0; i < genericVector.vsize(); i++){ ! Vector<float> &obstacleInfo = object_cast<Vector<float> >(genericVector[i]); ! if (obstacleInfo[0] < m_maxDist){ ! if ( obstacleInfo[1] < (rangeBelt/2) || obstacleInfo[1] > (3600 - (rangeBelt/2)) ){ ! if ((*vectPercept)[0] == -1 || (int)obstacleInfo[0] < (*vectPercept)[0]) ! (*vectPercept)[0] = (int)obstacleInfo[0]; } else{ ! int index = ((int)((obstacleInfo[1] - rangeBelt) / m_beltNbr)) + 1; ! (*vectPercept)[index] = (int)obstacleInfo[0]; } } --- 112,131 ---- for (int i = 0; i < genericVector.vsize(); i++){ ! cerr << "rangeBelt: " << rangeBelt << endl; ! Vector<ObjectRef> &obstacleInfo = object_cast<Vector<ObjectRef> >(genericVector[i]); ! float distance = dereference_cast<float>(obstacleInfo[0]); ! float angle = dereference_cast<float>(obstacleInfo[1]); ! if (distance < m_maxDist){ ! cerr << "Distance: " << distance << endl; ! cerr << "Distance: " << angle << endl; ! if ( angle < (rangeBelt/2) || angle > (3600 - (rangeBelt/2)) ){ ! if ((*vectPercept)[0] == -1 || (int)distance < (*vectPercept)[0]) ! (*vectPercept)[0] = (int)distance; } else{ ! int index = ((int)((angle - (rangeBelt/2)) / rangeBelt)) + 1; ! cerr << "Index: " << index << endl; ! if ((*vectPercept)[index] == -1 || (int)distance < (*vectPercept)[index]) ! (*vectPercept)[index] = (int)distance; } } *************** *** 126,129 **** --- 133,141 ---- } break; + }; + + for(Vector<int>::iterator iterPercept = vectPercept->begin(); iterPercept != vectPercept->end(); ++iterPercept) { + if(*iterPercept < 0) + *iterPercept = m_maxDist; } |
From: Victor B. L. T. <vi...@us...> - 2006-01-20 22:01:10
|
Update of /cvsroot/robotflow/RobotFlow/Sensors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7521 Modified Files: Makefile.am Added Files: RangeFashionGeneric.cc RangeFashionPioneer2.cc Log Message: Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Sensors/src/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 27 Oct 2005 18:55:17 -0000 1.2 --- Makefile.am 20 Jan 2006 22:00:56 -0000 1.3 *************** *** 7,11 **** # Sources for compilation in the library ! libRFSensors_la_SOURCES = RangeFashion.cc libRFSensors_la_LDFLAGS = -release $(LT_RELEASE) --- 7,13 ---- # Sources for compilation in the library ! libRFSensors_la_SOURCES = RangeFashion.cc \ ! RangeFashionPioneer2.cc \ ! RangeFashionGeneric.cc libRFSensors_la_LDFLAGS = -release $(LT_RELEASE) --- NEW FILE: RangeFashionPioneer2.cc --- /* Copyright (C) 2005 Patrick Frenette (Pat...@US...) 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 */ #ifndef _RANGE_FASHION_CC_ #define _RANGE_FASHION_CC_ #include "BufferedNode.h" #include "Vector.h" using namespace std; using namespace FD; namespace RobotFlow { class RangeFashionPioneer2; DECLARE_NODE(RangeFashionPioneer2) /*Node * * @name RangeFashionPioneer2 * @category RobotFlow:Sensors * @description Fusion range device in a unique percept * * @input_name SONAR * @input_type Vector<int> * @input_description All sonars reading. * * @output_name RANGE_BELT * @output_type Vector<int> * @output_description Percept after fusion * * @parameter_name TYPE_FASHION * @parameter_description Determine of to make the sensor fashion * @parameter_type int * @parameter_value 0 * * @parameter_name MAX_DIST * @parameter_description Distance when no data from sensor (mm) * @parameter_type int * @parameter_value 10000 * * @parameter_name MAX_DIST_SONAR * @parameter_description Max range detection of sonar (mm) * @parameter_type int * @parameter_value 10000 * END*/ class RangeFashionPioneer2 : public BufferedNode { //inputs int sonarID; //outputs int perceptID; //parameters int m_typeFashion; int m_maxDist; int m_maxDistSonar; public: RangeFashionPioneer2(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { //inputs sonarID = addInput("SONAR"); //outputs perceptID = addOutput("RANGE_BELT"); // parameters m_typeFashion = dereference_cast<int>(parameters.get("TYPE_FASHION")); m_maxDist = dereference_cast<int>(parameters.get("MAX_DIST")); m_maxDistSonar = dereference_cast<int>(parameters.get("MAX_DIST_SONAR")); } void calculate(int output_id, int count, Buffer &out) { ObjectRef sonarValue = getInput(sonarID,count); Vector<int> *vectPercept = Vector<int>::alloc(12); switch (m_typeFashion) { case 0: vectPercept->assign(12, -1); if(!sonarValue->isNil()){ Vector<float> &sonarReading = object_cast<Vector<float> >(sonarValue); for (int i = 0; i < 12; i++){ //front if (i < 7){ if ((*vectPercept)[i] == -1){ if (sonarReading[6-i] < sonarReading[7-i] && sonarReading[6-i] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[6-i]; } else if (sonarReading[7-i] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[7-i]; } else { (*vectPercept)[i] = m_maxDistSonar; } } } //back avoided have problem /*else if (i == 7){//back if ((*vectPercept)[i] == -1){ if (sonarReading[14] < sonarReading[15] && sonarReading[14] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[14]; } else if (sonarReading[15] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[15]; } else { (*vectPercept)[i] = m_maxDistSonar; } } } else if (i < 11){//back if ((*vectPercept)[i] == -1){ if (sonarReading[20-i] < sonarReading[21-i] && sonarReading[20-i] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[20-i]; } else if (sonarReading[21-i] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[21-i]; } else { (*vectPercept)[i] = m_maxDistSonar; } } } else if (i == 11){//back if ((*vectPercept)[i] == -1){ if (sonarReading[8] < sonarReading[9] && sonarReading[8] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[8]; } else if (sonarReading[9] < m_maxDistSonar){ (*vectPercept)[i] = (int)sonarReading[9]; } else { (*vectPercept)[i] = m_maxDistSonar; } } }*/ } } // Substitue max range for the value of -1 Vector<int>::iterator iterPercept; for(iterPercept = vectPercept->begin(); iterPercept != vectPercept->end(); ++iterPercept) { if(*iterPercept < 0) *iterPercept = m_maxDist; } break; }; out[count] = ObjectRef(vectPercept); cerr << "RangeFashion" << endl; }//calculate }; }//namespace RobotFlow #endif --- NEW FILE: RangeFashionGeneric.cc --- /* Copyright (C) 2005 Patrick Frenette (Pat...@US...) 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 */ #ifndef _RANGE_FASHION_CC_ #define _RANGE_FASHION_CC_ #include "BufferedNode.h" #include "Vector.h" using namespace std; using namespace FD; namespace RobotFlow { class RangeFashionGeneric; DECLARE_NODE(RangeFashionGeneric) /*Node * * @name RangeFashionGeneric * @category RobotFlow:Sensors * @description Fusion range device in a unique percept * * @input_name GENERIC * @input_type Vector<ObjectRef> * @input_description ObjectRef is a vector<float> which contains a distance and a angle * * @output_name RANGE_BELT * @output_type Vector<int> * @output_description Percept after fusion * * @parameter_name TYPE_FASHION * @parameter_description Determine of to make the sensor fashion * @parameter_type int * @parameter_value 0 * * @parameter_name BELT_NUMBER * @parameter_description Determine the precision * @parameter_type int * @parameter_value 12 * * @parameter_name MAX_DIST * @parameter_description Distance when no data from sensor (mm) * @parameter_type int * @parameter_value 10000 * END*/ class RangeFashionGeneric : public BufferedNode { //inputs int genericID; //outputs int perceptID; //parameters int m_typeFashion; int m_maxDist; int m_beltNbr; public: RangeFashionGeneric(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { //inputs genericID = addInput("GENERIC"); //outputs perceptID = addOutput("RANGE_BELT"); // parameters m_typeFashion = dereference_cast<int>(parameters.get("TYPE_FASHION")); m_maxDist = dereference_cast<int>(parameters.get("MAX_DIST")); m_beltNbr = dereference_cast<int>(parameters.get("BELT_NUMBER")); } void calculate(int output_id, int count, Buffer &out) { ObjectRef genericValue = getInput(genericID,count); Vector<int> *vectPercept = Vector<int>::alloc(m_beltNbr); float rangeBelt = 3600 / m_beltNbr; switch (m_typeFashion) { case 0: // Init vectPercept to -1 vectPercept->assign(12, -1); //Distance & Theta if (!genericValue->isNil()){ Vector<ObjectRef> &genericVector = object_cast<Vector<ObjectRef> >(genericValue); for (int i = 0; i < genericVector.vsize(); i++){ Vector<float> &obstacleInfo = object_cast<Vector<float> >(genericVector[i]); if (obstacleInfo[0] < m_maxDist){ if ( obstacleInfo[1] < (rangeBelt/2) || obstacleInfo[1] > (3600 - (rangeBelt/2)) ){ if ((*vectPercept)[0] == -1 || (int)obstacleInfo[0] < (*vectPercept)[0]) (*vectPercept)[0] = (int)obstacleInfo[0]; } else{ int index = ((int)((obstacleInfo[1] - rangeBelt) / m_beltNbr)) + 1; (*vectPercept)[index] = (int)obstacleInfo[0]; } } } } break; } out[count] = ObjectRef(vectPercept); cerr << "RangeFashion" << endl; }//calculate }; }//namespace RobotFlow #endif |
From: clement r. <kl...@us...> - 2006-01-19 21:23:46
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27069/src Modified Files: EllipticalAvoid.cc Log Message: correct memory managment initialisation Index: EllipticalAvoid.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/EllipticalAvoid.cc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** EllipticalAvoid.cc 19 Jan 2006 16:49:04 -0000 1.4 --- EllipticalAvoid.cc 19 Jan 2006 21:23:38 -0000 1.5 *************** *** 201,205 **** // Memory to prevent oscillation (avoiding / not avoiding) ! static int memory = m_nbAvoidance; static bool avoidActivated = false; static unsigned int lastPos = 0; --- 201,205 ---- // Memory to prevent oscillation (avoiding / not avoiding) ! static int memory = 0; static bool avoidActivated = false; static unsigned int lastPos = 0; |
From: clement r. <kl...@us...> - 2006-01-19 16:53:05
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src/ut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27715/src/ut Modified Files: AvoidTest.cc Log Message: modification according to rotation direction logic change when going backward Index: AvoidTest.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/ut/AvoidTest.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AvoidTest.cc 18 Jan 2006 23:23:01 -0000 1.2 --- AvoidTest.cc 19 Jan 2006 16:52:57 -0000 1.3 *************** *** 630,634 **** CPPUNIT_ASSERT(1); } ! CPPUNIT_ASSERT_EQUAL(-20, m_avoidUtil->evalAvoidingRotVel(100, 0, 0)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingRotVel(100, 0, 1)); CPPUNIT_ASSERT_EQUAL(10, m_avoidUtil->evalAvoidingRotVel(100, 0, 0.75)); --- 630,636 ---- CPPUNIT_ASSERT(1); } ! // Considering we will stay in reverse mode a short time and go forward after, ! // it seems more appropriate to turn in same direction as we wiil do in forward movement. ! CPPUNIT_ASSERT_EQUAL(20, m_avoidUtil->evalAvoidingRotVel(100, 0, 0)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingRotVel(100, 0, 1)); CPPUNIT_ASSERT_EQUAL(10, m_avoidUtil->evalAvoidingRotVel(100, 0, 0.75)); |
From: clement r. <kl...@us...> - 2006-01-19 16:52:26
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26798/src Modified Files: AvoidUtil.cc Log Message: Change rotation direction logic when goning backward : Considering we will stay in reverse mode a short time and go forward after, it seems more appropriate not to change the sign of the rotation direction. This avoid oscillation between backward and forward velocity in front of an obstacle. Index: AvoidUtil.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/AvoidUtil.cc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AvoidUtil.cc 18 Jan 2006 23:20:22 -0000 1.4 --- AvoidUtil.cc 19 Jan 2006 16:52:10 -0000 1.5 *************** *** 453,460 **** int sign = evalRotationalDirection(velocity, pos); // Going reverse...change the sign ! if(margin <= m_reverseVelSecurityMargin) ! { ! sign *= -1; ! } return sign * rot; } --- 453,462 ---- int sign = evalRotationalDirection(velocity, pos); // Going reverse...change the sign ! // Considering we will stay in reverse mode a short time and go forward after, ! // it seems more appropriate not to change the sign. ! // if(margin <= m_reverseVelSecurityMargin) ! // { ! // sign *= -1; ! // } return sign * rot; } |
From: clement r. <kl...@us...> - 2006-01-19 16:49:30
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26462 Modified Files: EllipticalAvoid.cc Log Message: memory managment logic clean up Index: EllipticalAvoid.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/EllipticalAvoid.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EllipticalAvoid.cc 20 Dec 2005 21:24:22 -0000 1.3 --- EllipticalAvoid.cc 19 Jan 2006 16:49:04 -0000 1.4 *************** *** 234,242 **** if(avoid) { ! if(!avoidActivated) ! { ! avoidActivated = true; ! memory = m_nbAvoidance; ! } lastPos = pos; lastMargin = margin; --- 234,238 ---- if(avoid) { ! memory = m_nbAvoidance; lastPos = pos; lastMargin = margin; *************** *** 244,256 **** else { ! if(avoidActivated && memory != 0) { pos = lastPos; margin = lastMargin; avoid = true; ! } ! else ! { ! avoidActivated = false; } } --- 240,249 ---- else { ! if(memory != 0) { pos = lastPos; margin = lastMargin; avoid = true; ! --memory; } } *************** *** 258,267 **** if(avoid) { - --memory; - if(memory == 0) - { - avoidActivated = false; - } - // Compute the behavioral response int velOut = avoidUtil->evalAvoidingLinVel(velIn, margin); --- 251,254 ---- |
From: clement r. <kl...@us...> - 2006-01-18 23:26:58
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src/ut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3937 Modified Files: gcc.txt Log Message: change absolute path to relative path Index: gcc.txt =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/ut/gcc.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gcc.txt 18 Jan 2006 22:07:29 -0000 1.1 --- gcc.txt 18 Jan 2006 23:26:49 -0000 1.2 *************** *** 1,2 **** ! g++ -Wall -Werror -o utAvoid -I/home/fernyqc/robot/src/RobotFlow/Behaviors/include -lcppunit -ldl ut.cc AvoidTest.cc ../AvoidUtil.cc --- 1,2 ---- ! g++ -Wall -Werror -o utAvoid -I../../include -lcppunit -ldl ut.cc AvoidTest.cc ../AvoidUtil.cc |
From: clement r. <kl...@us...> - 2006-01-18 23:23:10
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src/ut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1456/src/ut Modified Files: AvoidTest.cc Log Message: adjust according going backward behavior modification to AvoidUtil. Index: AvoidTest.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/ut/AvoidTest.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AvoidTest.cc 18 Jan 2006 22:07:29 -0000 1.1 --- AvoidTest.cc 18 Jan 2006 23:23:01 -0000 1.2 *************** *** 545,549 **** rangeBelt.clear(); rangeBelt.resize(12, 601); ! rangeBelt[3] = 100; m_avoidUtil->createProximityMarginBelt(rangeBelt); CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); --- 545,549 ---- rangeBelt.clear(); rangeBelt.resize(12, 601); ! rangeBelt[3] = 200; m_avoidUtil->createProximityMarginBelt(rangeBelt); CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); *************** *** 554,557 **** --- 554,565 ---- CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, 600, pos, margin)); CPPUNIT_ASSERT_EQUAL(pos, static_cast<unsigned int>(0)); + + // Avoidance needed even if obstacle not in robot direction + rangeBelt.clear(); + rangeBelt.resize(12, 601); + rangeBelt[3] = 100; + m_avoidUtil->createProximityMarginBelt(rangeBelt); + CPPUNIT_ASSERT_EQUAL(true, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); + CPPUNIT_ASSERT_EQUAL(pos, static_cast<unsigned int>(3)); } *************** *** 582,587 **** CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(0,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.3)); ! CPPUNIT_ASSERT_EQUAL(100, m_avoidUtil->evalAvoidingLinVel(-1,0)); ! CPPUNIT_ASSERT_EQUAL(49, m_avoidUtil->evalAvoidingLinVel(-1,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(-1,0.3)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.31)); --- 590,596 ---- CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(0,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.3)); ! // We go backward and there is an obstacle below reverse security margin, we go backward. ! CPPUNIT_ASSERT_EQUAL(-100, m_avoidUtil->evalAvoidingLinVel(-1,0)); ! CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(-1,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(-1,0.3)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.31)); *************** *** 592,598 **** CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(100,0.75)); CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(100,0.51)); ! CPPUNIT_ASSERT_EQUAL(-300, m_avoidUtil->evalAvoidingLinVel(-100,1)); ! CPPUNIT_ASSERT_EQUAL(-150, m_avoidUtil->evalAvoidingLinVel(-100,0.75)); ! CPPUNIT_ASSERT_EQUAL(-6, m_avoidUtil->evalAvoidingLinVel(-100,0.51)); } --- 601,608 ---- CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(100,0.75)); CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(100,0.51)); ! // There is no obstacle we go forward even if current velocity is negative. ! CPPUNIT_ASSERT_EQUAL(300, m_avoidUtil->evalAvoidingLinVel(-100,1)); ! CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(-100,0.75)); ! CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(-100,0.51)); } |