坐标控制

坐标控制是让机械臂以指定姿态移动到指定点,分为x,y,z,rx,ry,rz。X,Y,Z 表示的是机械臂头部在空间中的位置(该坐标系为直角坐标系),rx,ry,rz表示的是机械臂头部在该点的姿态(该坐标系为欧拉坐标)。

单参数坐标

发送单参数坐标

SendOneCoord(int coord, int value, int speed)
返回值:无
参数说明:参数1:坐标号(1-6(x、y、z、rx、ry、rz)), 参数2:坐标(X、Y、Z取值范围 -300-300.00 单位 mm RX、RY、RZ,取值范围-180-180), 参数3:速度(0-100)
示例:
mc.SendOneCoord(1, 160,30);

多参数坐标

获取所有坐标

GetCoords()
返回值:返回int类型数组,int[], length: 6
参数说明:无
示例:
var recv = mc.GetCoords();

发送多参数坐标

SendCoords(int[] coords, int speed, int mode)
返回值:无
参数说明:参数1:所有坐标(X、Y、Z取值范围 -300-300.00 单位 mm RX、RY、RZ,取值范围-180-180), 参数2:速度(0-100), 参数3:模式(0 - angular,1 - linear)
示例:

int[] coords = new[] {160, 160, 160, 0, 0, 0};<br>
mc.SendCoords(coords ,30);<br>

完整使用案例

项目中的program.cs是完整的使用案例程序,可以在此基础上根据需要修改。

using System; // 引入System命名空间,它包含了C#程序常用的基础类和功能,如Console用于控制台输入输出  

namespace Mycobot.csharp // 定义了一个命名空间Mycobot.csharp,用于组织相关的类  
{  
    class Test // 定义了一个名为Test的类,它是程序的主体  
    {  
        static void Main(string[] args) // Main方法是程序的入口点,static表示它可以在没有创建类的实例的情况下被调用  
        {  
            MyCobot mc = new MyCobot("/dev/ttyUSB0"); // 创建一个MyCobot类的实例mc,"/dev/ttyUSB0"是机器人与计算机通信的串口路径  
            mc.Open(); // 调用mc实例的Open方法,打开与机器人的连接  

            // 以下几行代码被注释掉了,它们演示了如何设置一组关节角度、等待响应、并获取并打印这些角度  
            // int[] angles = new[] {100, 100, 100, 100, 100, 100}; // 创建一个包含6个关节角度的数组  
            // mc.SendAngles(angles, 50); // 调用SendAngles方法,将角度数组和速度参数发送给机器人  
            // Thread.Sleep(5000); // 暂停程序5秒钟,等待机器人响应  
            // var recv = mc.GetAngles(); // 调用GetAngles方法,从机器人获取当前角度  
            // foreach (var v in recv) // 遍历接收到的角度数组  
            // {  
            //     Console.WriteLine(v); // 打印每个角度到控制台  
            // }  

            // 以下几行代码也被注释掉了,它们演示了如何设置坐标、等待响应、并获取并打印这些坐标  
            // int[] coords = new[] {160, 160, 160, 0, 0, 0}; // 创建一个包含位置和方向的坐标数组  
            // mc.SendCoords(coords, 90, 1); // 调用SendCoords方法,将坐标数组、速度和精度参数发送给机器人  
            // Thread.Sleep(5000); // 暂停程序5秒钟,等待机器人响应  
            // var recv = mc.GetCoords(); // 调用GetCoords方法,从机器人获取当前坐标  
            // foreach (var v in recv) // 遍历接收到的坐标数组  
            // {  
            //     Console.WriteLine(v); // 打印每个坐标到控制台  
            // }  

            mc.SendOneAngle(1, 100, 70); // 调用SendOneAngle方法,设置第一个关节的角度为100,速度为70  

            // byte[] setColor = {0xfe, 0xfe, 0x05, 0x6a, 0xff, 0x00, 0x00, 0xfa}; // 这行代码被注释掉了,可能用于设置机器人上LED的颜色  
            mc.Close(); // 调用Close方法,关闭与机器人的连接  
        }  
    }  
}

results matching ""

    No results matching ""