zoukankan      html  css  js  c++  java
  • 团队项目开发日志--(第二篇)

    团队项目进度

    1.根据项目需求设计头文件

    1.难点一:

    • 首先由于对C++语言不是很熟练,只有大一学习C++的基础。最近使用或接触更多的是C#,还好有很多类似的地方。
      开始,必然是查找相关机器人编程的例子。所以便开始在Github上查找,相关的例子倒是挺多的,但是没有一个能看懂的。Github上的例子大多没有详细的说明,而且大部分程序都没有注释。

    2.解决方法:

    • 鉴于没有例子可以参考,只能靠自己,所以就先看了几天C++课本,把原来学习的内容补回来。其中的重点当然是类的设计和使用

    3.设计头文件

    1)机器人子系统头文件:

    #pragma once
    #ifndef ROBITSYSTEM_H
    #define ROBOTSYSTEM_H
    
    
    namespace IceHockeyGame
    {
    	class RobotSystem
    	{
    	
    	protected:
    		double position_x;             //机械手x坐标
    		double position_y;             //机械手y坐标
    		double velocity_x;             //机械手x方向速度
    		double velocity_y;             //机械手y方向速度
    		bool Request;                  //是否接受指指令
    		bool Done;                     //是否已完成运动指令
    
    	public:
    
    		RobotSystem(){}
    		
    		~RobotSystem(){}
    
    		
    		/**
    		*@return robot hand position
    		*/
    		virtual double GetPositionX(void)=0;
    		/**
    		*@return robot hand velocity
    		*/
    		virtual double GetVelocityX(void)=0;
    		/**
    		*@return robot hand position
    		*/
    		virtual double GetPositionY(void)=0;
    		/**
    		*@return robot hand velocity
    		*/
    		virtual double GetVelocityY(void)=0;
    	};
    }
    #endif //ROBOTSYSTEM_H
    

    2)二轴机械手控制头文件

    #pragma once
    
    #ifndef ROBITSYSTEM_ROBITCOMMAND_H
    #define ROBITSYSTEM_ROBOTCOMMAND_H
    
    #include"RobotSystem.h"
    namespace IceHockeyGame{
    	namespace RobotSubSystem{
    		class RobotCommand :public RobotSystem
    		{
    		protected:
    			double targ_position_x; //目标点的x坐标
    			double targ_position_y; //目标点的y坐标
    			double targ_velocity_x; //目标点的x方向速度
    			double targ_velocity_y; //目标点的y方向速度
    			double targ_time;       //到达目标点所需时间
    
    		public:
    			RobotCommand();
    
    			
    
    			~RobotCommand(){}
    
    			virtual void InitTrajectoryPlan(double tpx, double tpy, double tvx, double tvy, double tt)=0;
    
    			/**
    			*@set the target position
    			*/
    			void SetPosition(double x, double y);
    			/**
    			*@set the target velocition
    			*/
    			void SetVelocity(double x, double y);
    			/**
    			*@set the target time
    			*/
    			void SetTime(double time);
    
    		};
    
    	}
    }
    #endif //ROBITSYSTEM_ROBOTCOMMAND_H
    

    其它代码内容较多,不再放在博客上,均存放在Github仓库。

    2.项目难点及计划

    • 1.机器人子系统的基本架构已经搞清楚了,基本实现了头文件的设计和简单的源文件的设计。
    • 2.下一步要做的主要内容是完善源文件,更好的设计类方法的设计。
    • 3.插补的选择上的问题:轨迹插补或者时间分割插补。总体来说时间分割插补更简单,但是不能保证有规律的轨迹。
  • 相关阅读:
    Android&读取Sdcard中的歌曲,ListView操作
    委托从数据库出来的类型分类处理
    分类信息网站
    Managed DirectX +C# 开发(入门篇)(二)
    ZedGraph控件的使用属性和例子代码
    【转】 c#ZedGraph 控件属性
    ZedGraph
    基于Visual C#的DirectX开发实例教程
    C#常用开源类库收集
    狄更斯《双城记》开场白
  • 原文地址:https://www.cnblogs.com/syth/p/6253650.html
Copyright © 2011-2022 走看看