智能机器人课程设计报告Word下载.docx
- 文档编号:22967729
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:10
- 大小:17.88KB
智能机器人课程设计报告Word下载.docx
《智能机器人课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《智能机器人课程设计报告Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
机器人设计实验
姓名
吴雪萍
学号
08509205
班级
08信息
(1)班
专业
信息工程
组别
组长
组员
指导教师
刘岩恺梁景莲
课程设计目的
设计家庭组机器人和机器人行走
课程设计环境
Vc++
课程设计任务和要求
用C++语言设计一个颜色识别的程序和一个机器人行走程序
课程设计内容描述:
1.绪论
通过学习机器人设计2课程,学会了家庭组机器人和足球机器人的一些理论知识。
了解了机器人方向识别,动手调试了全景摄像头和前置摄像头,设置了场地、球门、白线、足球等的颜色数值。
2.颜色识别的产生
结合梁老师给的人脸识别程序,通过改变人脸模型建立颜色识别程序。
3.平台的选择及搭建
根据刘老师给的参考资料,首先安装了DirectX9.0SDK和VisualC++软件,然后一步步的按照老师所给的步骤,先建立基本界面,接着编制串口通讯控制机器人的程序,读取距离传感器信息等,最后得出了机器人行走程序如下。
课程设计源程序:
机器人行走
//VoyTestDlg.cpp:
implementationfile
//
#include"
stdafx.h"
VoyTest.h"
VoyTestDlg.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CAboutDlgdialogusedforAppAbout
classCAboutDlg:
publicCDialog
{
public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
enum{IDD=IDD_ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialog(CAboutDlg:
IDD)
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg:
DoDataExchange(CDataExchange*pDX)
CDialog:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//Nomessagehandlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//CVoyTestDlgdialog
CVoyTestDlg:
CVoyTestDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CVoyTestDlg:
IDD,pParent)
//{{AFX_DATA_INIT(CVoyTestDlg)
m_nPort=0;
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->
LoadIcon(IDR_MAINFRAME);
voidCVoyTestDlg:
//{{AFX_DATA_MAP(CVoyTestDlg)
DDX_Text(pDX,IDC_PORT,m_nPort);
BEGIN_MESSAGE_MAP(CVoyTestDlg,CDialog)
//{{AFX_MSG_MAP(CVoyTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_OPEN,OnOpen)
ON_BN_CLICKED(IDC_FORWARD,OnForward)
ON_BN_CLICKED(IDC_BACKWARD,OnBackward)
ON_BN_CLICKED(IDC_TURELEFT,OnTureleft)
ON_BN_CLICKED(IDC_TURERIGHT,OnTureright)
ON_BN_CLICKED(IDC_BRAKE,OnBrake)
//CVoyTestDlgmessagehandlers
BOOLCVoyTestDlg:
OnInitDialog()
OnInitDialog();
//Add"
About..."
menuitemtosystemmenu.
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&
0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<
0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if(pSysMenu!
=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!
strAboutMenu.IsEmpty())
{
pSysMenu->
AppendMenu(MF_SEPARATOR);
AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'
smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);
//Setbigicon
SetIcon(m_hIcon,FALSE);
//Setsmallicon
//TODO:
Addextrainitializationhere
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
OnSysCommand(UINTnID,LPARAMlParam)
if((nID&
0xFFF0)==IDM_ABOUTBOX)
CAboutDlgdlgAbout;
dlgAbout.DoModal();
else
CDialog:
OnSysCommand(nID,lParam);
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
OnPaint()
if(IsIconic())
CPaintDCdc(this);
//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&
rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
OnPaint();
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCVoyTestDlg:
OnQueryDragIcon()
return(HCURSOR)m_hIcon;
OnOpen()
Addyourcontrolnotificationhandlercodehere
UpdateData();
//CStringstr;
//str.Format("
您打开的串口号为%d"
m_nPort);
//AfxMessageBox(str);
m_Com.SetCmd(&
m_Cmd);
//协议层与通讯层对接
m_Com.Create(m_nPort);
//打开通讯串口
OnForward()
m_Cmd.SetBothMotorsSpeed(100,100);
//前行
OnBackward()
m_Cmd.SetBothMotorsSpeed(-100,-100);
//后退
OnTureleft()
m_Cmd.SetBothMotorsSpeed(-100,100);
//左转
OnTureright()
m_Cmd.SetBothMotorsSpeed(100,-100);
//右转
OnBrake()
m_Cmd.Brake
(1);
//刹车
总结:
1、程序调试及运行结果
通过程序运行,我们可以看到足球机器人前进,后退,左转,右转及刹车等动作的分解。
2、小结:
通过完成本次实验,我认识到理论与实践的结合很重要。
实践中遇到了许多问题,只有耐心的不断去修改、调试、运行,才能很好的把实验完成。
理论是实际的基础,只有牢固的学好理论知识,才能成功的完成实验。
在实践中我们可以学到许多新的知识,遇到问题困难的时候,才能更深刻的理解知识点,团队协作精神很重要,一个人的想法十分有限,只有大家集思广益,相互启发,才能更快更好地完成实验。
3、参考文献
成绩评定
项目
权重
成绩
1、设计过程中学习态度等方面
0.1
2、课程设计质量与答辩
0.5
3、设计报告书写规范程度
4、平时成绩(含考勤)
0.3
总成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 机器人 课程设计 报告