bool MainWindow::validate_connection(){ bool result(false); if ( ui.checkbox_use_environment->isChecked() ) { if ( !qnode.init() ) { showNoMasterMessage(); } else { ui.button_connect->setEnabled(false); result = true; } } else { if ( ! qnode.init(ui.line_edit_master->text().toStdString(), ui.line_edit_host->text().toStdString()) ) { showNoMasterMessage(); } else { ui.button_connect->setEnabled(false); ui.line_edit_master->setReadOnly(true); ui.line_edit_host->setReadOnly(true); ui.line_edit_topic->setReadOnly(true); result = true; } } return result; }
void MainWindow::on_button_connect_clicked(bool check ) { ROS_INFO("TESTE"); if ( ui.checkbox_use_environment->isChecked() ) { //using environment variables if ( !qnode.init() ) { showNoMasterMessage(); } else { ui.button_connect->setEnabled(false); //Connect signal from NODE to SLOT in window QObject::connect(&qnode, SIGNAL((new_data)), this, SLOT(update_data())); } } else { if ( ! qnode.init(ui.line_edit_master->text().toStdString(), ui.line_edit_host->text().toStdString()) ) { showNoMasterMessage(); } else { QObject::connect(&qnode, SIGNAL(new_data()), this, SLOT(update_data())); ui.button_connect->setEnabled(false); ui.line_edit_master->setReadOnly(true); ui.line_edit_host->setReadOnly(true); ui.line_edit_topic->setReadOnly(true); } } }
void MainWindow::manual_Handler(){ if (qnode.init() ){ qnode.log(QNode::None,"Changing mode to MANUAL(2)"); qnode.mode_set(2); qnode.robot_motors_speed_set(0,0); } else if ( !qnode.init() ) showNoMasterMessage(); }
void MainWindow::object_recognition_Handler(){ if (qnode.init() ){ QProcess *proc = new QProcess(); proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"rosrun tanky object_recognition\" "); } else if ( !qnode.init() ){ showNoMasterMessage(); } }
void MainWindow::dump_map_Handler(){ if (qnode.init() ){ QProcess *proc = new QProcess(); proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"rosrun map_server map_saver -f ~/ros_workspace/robot/tanky/my_map123\" "); } else if ( !qnode.init() ){ showNoMasterMessage(); } }
void MainWindow::on_button_connect_clicked(bool check ) { if ( ui.checkbox_use_environment->isChecked() ) { if ( !qnode.init() ) { showNoMasterMessage(); } else { ui.button_connect->setEnabled(false); } } else { if ( ! qnode.init(ui.line_edit_master->text().toStdString(), ui.line_edit_host->text().toStdString()) ) { showNoMasterMessage(); } else { ui.button_connect->setEnabled(false); ui.line_edit_master->setReadOnly(true); ui.line_edit_host->setReadOnly(true); //ui.line_edit_topic->setReadOnly(true); } } }
void MainWindow::emergency_Handler(){ if (qnode.init() ){ qnode.log(QNode::None,"Changing mode to SAFE(3)"); qnode.mode_set(3); qnode.robot_motors_speed_set(0,0); } else if ( !qnode.init() ) showNoMasterMessage(); }
void MainWindow::rviz_Handler(){ if (qnode.init() ){ QProcess *proc = new QProcess(); proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"roslaunch tanky rviz.launch\" "); } else if ( !qnode.init() ){ showNoMasterMessage(); } }
void MainWindow::vision_driver_open_Handler(){ if (qnode.init() ){ QProcess *proc1 = new QProcess(); QProcess *proc2 = new QProcess(); proc1->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"rm -R ~/.rviz\" "); proc2->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"roslaunch tanky init_rviz_laser_odom.launch\" "); } else if ( !qnode.init() ){ showNoMasterMessage(); } }
void MainWindow::button1_Handler() { if (qnode.init() ){ qnode.log(QNode::None,"Changing mode to ROS(1)"); qnode.mode_set(1); qnode.robot_motors_speed_set(30,1); } else if ( !qnode.init() ) showNoMasterMessage(); }
void MainWindow::cap_Handler(){ if (qnode.init() ){ qnode.log(QNode::None,"Changing Speed Cap Value"); ui.cap_speed->setValue(ui.cap_speed_slider->value()); qnode.motor_cap_set(ui.cap_speed_slider->value()); ui.cap_lbl->setNum(ui.cap_speed_slider->value()); //qnode.mode_set(2); //qnode.robot_motors_speed_set(0,0); } else if ( !qnode.init() ) showNoMasterMessage(); }
void MainWindow::robot_boot_Handler(){ static int state=0; static QProcess *proc = new QProcess(); std::stringstream ss; QString cmd; QString pid_str; bool runs; int pidd = NULL; if (qnode.init() ){ if (state == 1){ proc->kill(); cmd = "gnome-terminal --geometry=50x10-0-10 -x kill "; pid_str.setNum(pidd); cmd = cmd + pid_str; //proc->start(cmd); //qnode.log(QNode::None,"Shutting down robot node.."); state=0; } else{ qnode.log(QNode::None,"Booting Robot Node..."); proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"rosrun rosserial_python serial_node.py /dev/ttyUSB0\" "); //QStringList args; //args << "-x sh -c ~/ros_workspace/robot/tanky/driver_rviz_up.sh"; //proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"echo b && read a\" "); //proc->start("gnome-terminal --geometry=50x10-0-10 -x bash -c \"roslaunch tanky init_rviz_laser_odom.launch\" "); //proc->start("gnome-terminal -x bash -c", QStringList() << ". ~/ros_workspace/robot/tanky/driver_rviz_up.sh"); //'sleep 2 && dmesg && read e' // while(runs != TRUE); //for(long long int i=0;i<1000000000;i++){ // for(long long int z=0;z<100000000;z++);} // QThread::sleep(1000); pidd = proc->pid(); ss << "PID: " << pidd; qnode.log(QNode::None,std::string(ss.str())); // proc->start("gnome-terminal --geometry=50x10-0-10 ' rosrun rosserial_python serial_node.py /dev/ttyUSB0'"); //proc->start("nautilus"); state=1;} } else if ( !qnode.init() ){ showNoMasterMessage(); } }
void MainWindow::connectToROS() { if ( !qnode.init() ) { showNoMasterMessage(); } else { ui.pb_connect->setEnabled(false); curr_state = idle_manual; Q_EMIT sendState(curr_state); timer = new QTimer(this); lblTimer = new QTimer(this); connect(timer, SIGNAL(timeout()), &qnode, SLOT(update())); connect(lblTimer, SIGNAL(timeout()), this, SLOT(updateLabel())); timer->start(10); lblTimer->start(10); } }