コード例 #1
0
 private void PublishturtleMessage(double linear, double angular)
 {
     try
     {
         string topic   = "/turtle1/command_velocity";
         string msgtype = "turtlesim/Velocity";
         RosBridgeDotNet.RosBridgeDotNet.TurtleSim      turtleGo1 = new RosBridgeDotNet.RosBridgeDotNet.TurtleSim(linear, angular);
         RosBridgeDotNet.RosBridgeDotNet.PublishMessage m         = new RosBridgeDotNet.RosBridgeDotNet.PublishMessage(topic, msgtype, turtleGo1);
         string needToSend = JsonConvert.SerializeObject(m);
         //Object objData = SerializeEventData(new EventData(richTextTxName.Text));
         //byte[] byData = System.Text.Encoding.UTF8.GetBytes(objData.ToString());
         if (_clientSocket != null)
         {
             _clientSocket.Send(new byte[] { 0 });    // \x00
             _clientSocket.Send(Encoding.UTF8.GetBytes(needToSend));
             _clientSocket.Send(new byte[] { 255 });  // \xff
         }
     }
     catch (SocketException se)
     {
         MessageBox.Show(se.Message);
     }
 }
コード例 #2
0
 private void ButtonSendPublishMessage(object sender, EventArgs e)
 {
     try
     {
         string topic   = "/turtle1/command_velocity";
         string msgtype = "turtlesim/Velocity";
         RosBridgeDotNet.RosBridgeDotNet.TurtleSim      turtleGo1 = new RosBridgeDotNet.RosBridgeDotNet.TurtleSim(20, 20);
         RosBridgeDotNet.RosBridgeDotNet.PublishMessage m         = new RosBridgeDotNet.RosBridgeDotNet.PublishMessage(topic, msgtype, turtleGo1);
         string needToSend = JsonConvert.SerializeObject(m);
         richTextBoxHistroryRequests.Text += "\n \\\\\\\\\\\\\\ \n Request : " + needToSend; //save the request in history.
         //Object objData = SerializeEventData(new EventData(richTextTxName.Text));
         //byte[] byData = System.Text.Encoding.UTF8.GetBytes(objData.ToString());
         if (m_clientSocket != null)
         {
             m_clientSocket.Send(new byte[] { 0 });   // \x00
             m_clientSocket.Send(Encoding.UTF8.GetBytes(needToSend));
             m_clientSocket.Send(new byte[] { 255 }); // \xff
         }
     }
     catch (SocketException se)
     {
         MessageBox.Show(se.Message);
     }
 }
コード例 #3
0
 private void PublishNeoMessage(double linear, double angular)
 {
     try
     {
         string   topic    = "/DriveCommands";
         string   msgtype  = "neo_serrelayboard/DriveCommands";
         double[] speed1   = { 0.1, 0.1 };
         double[] speed0   = { 0.0, 0.0 };
         bool[]   trueArr  = { true, true };
         bool[]   falseArr = { false, false };
         RosBridgeDotNet.RosBridgeDotNet.NeobotixRefSpeed neoGo1 = new RosBridgeDotNet.RosBridgeDotNet.NeobotixRefSpeed(speed1, trueArr, falseArr, trueArr);
         RosBridgeDotNet.RosBridgeDotNet.NeobotixRefSpeed neoGo0 = new RosBridgeDotNet.RosBridgeDotNet.NeobotixRefSpeed(speed0, trueArr, falseArr, trueArr);
         RosBridgeDotNet.RosBridgeDotNet.PublishMessage   m      = new RosBridgeDotNet.RosBridgeDotNet.PublishMessage(topic, msgtype, neoGo1);
         string needToSend = JsonConvert.SerializeObject(m);
         //Object objData = SerializeEventData(new EventData(richTextTxName.Text));
         //byte[] byData = System.Text.Encoding.UTF8.GetBytes(objData.ToString());
         if (_clientSocket != null)
         {
             _clientSocket.Send(new byte[] { 0 });                                                // \x00
             _clientSocket.Send(Encoding.UTF8.GetBytes(needToSend));
             _clientSocket.Send(new byte[] { 255 });                                              // \xff
         }
         m          = new RosBridgeDotNet.RosBridgeDotNet.PublishMessage(topic, msgtype, neoGo0); //stop
         needToSend = JsonConvert.SerializeObject(m);
         if (_clientSocket != null)
         {
             _clientSocket.Send(new byte[] { 0 });    // \x00
             _clientSocket.Send(Encoding.UTF8.GetBytes(needToSend));
             _clientSocket.Send(new byte[] { 255 });  // \xff
         }
     }
     catch (SocketException se)
     {
         MessageBox.Show(se.Message);
     }
 }