《실시간 제어 소프트웨어 디자인》 3주 작업

2673 단어
1. 블로그 작업:
1. 노트 읽기
이번 주 교실에서 강의한 실시간 운영체제 지식 내용을 결합하여 다음과 같은 상업용과 오픈소스 실시간 운영체제 사이트를 방문하여 다른 학생들에게 다음 실시간 운영체제의 성능 특징을 간략하게 소개하거나 운영체제 간의 성능을 비교한다.
  • Vxworks: www.windriver.com/products/vxworks
  • QNX:www.qnx.com
  • Xenomai: xenomai.org
  • Intime: www.tenasys.com/tenasys-products/intime-rtos-family/overview-rtos
  • Sylixos: www.sylixos.com
  • ucos: www.micrium.com

  • 2. 본 과정은 하나의 팀 프로젝트를 완성해야 한다. 주요 기능은 두 축 기계 손의 운동 제어 모방을 실현하는 것이다. 주요 기능은 다음과 같다.
  • 사용자 인터페이스 작업: 사용자의 요청을 수신하고 궤적 삽입 작업에 운동 명령을 발송한다.
  • 궤적 삽입 작업: 운동 명령을 수신하고 각 축의 위치와 속도 설정 값을 실시간으로 계산한다.
  • 물리 엔진 인터페이스: ODE 소스 물리 엔진을 바탕으로 두 축의 기계 손과 환경의 물리 모델을 만들고 궤적 삽입 임무로 출력된 각 축의 위치와 속도 설정값으로 모델의 운동을 제어하며 실시간 상태를 궤적 삽입 임무에 피드백한다.
  • 그래픽 사용자 인터페이스: qt를 바탕으로 상기 기능을 하나의 GUI 인터페이스에 통합할 수 있다.

  • 1) 어떤 모듈의 개발에 가장 잘하거나 흥미를 가지고 참여하는지 블로그에 올려 보세요.
    2) 프로그래밍을 제외하고 당신은 여러 가지 형식으로 한 소프트웨어 프로젝트에 기여할 수 있습니다. 예를 들어 팀 관리, 수요 분석, 기능 정의, 알고리즘 디자인, 모방 분석, 소프트웨어 테스트, 문서 작성 등입니다.추흔 선생님의 책 앞의 5장과 추흔 선생님의 블로그를 빠르게 읽는다(http://www.cnblogs.com/xinz팀워크 개발에 대한 이해와 컨트롤 소프트웨어 프로젝트에서 맡은 역할이나 임무를 적어 주십시오.
    3. 반복 최적화의 정신에 따라 Markdown 양식을 참조하여 이전에 발표된 블로그에 대해 끊임없이 글과 레이아웃을 개선하십시오.
    2. 실시간 프로그래밍 작업:
    1. 코드 라이브러리를 다운로드하고 컴파일하기
    git 다운로드 과정github 메인 페이지의 코드 라이브러리로 가상 머신에
    git clone https://github.com/RTCSD2016/simple_motion.git

    가상 시스템에 cmake 도구가 설치되어 있지 않으면 먼저 cmake를 설치하십시오
    sudo apt-get install cmake

    소스 코드 디렉토리에 들어가서 실행
    cmake .
    make

    컴파일에 성공하면 프로그램을 실행하고 인쇄 출력을 봅니다.
    ./simple_motion

    2. 포지셔닝 운동 궤적 생성기 프로그래밍 실현
    tasktrajectory_generator 작업에task 에서 처리하는 코드를 추가합니다command_sender의 위치 이동 명령 newcmd, 이 명령에서 제시한 위치, 속도, 가속도, 감속도에 따라 사다리꼴 가감속(원리는 디지털 제어 기술 교재 참조)의 운동 궤적 생성기를 실현하고 목표 위치에 도달할 때 newcmd.Done이 true로 설정되고 마스터 프로그램이 new 감지됨cmd.Done이 true이면 실행이 종료됩니다.
    프로그래밍 요구 사항:
  • 궤적 생성기의 코드 구조는 상태기 기반의 프로그래밍 방법을 충분히 나타낼 수 있다.
  • 첫 번째 실행 가능한 버전을 자신의github 계정에 발표하고 끊임없이 최적화하고 제출한다.
  • TODO를 만듭니다.md 문서에 자신의 프로그래밍 사고방식과 다음 단계에 해야 할 일을 적으세요.

  • github 사용상의 문제에 부딪히면 선생님이나 조교에게 가르침을 청할 수 있습니다.
    3. 본 과정의 후속적인 개인 프로그래밍 연습은 이 프로그램을 계속 보완하고 기본 기능을 완성하는 토대에서 후속적인 개선을 고려할 수 있으며 매번 개선할 때마다github에 제출한다.
  • 현재 전역 변수로 임무 간 통신을 실현하고 있는데 어떻게xenomai가 제공하는 임무 간 동기화와 통신 메커니즘을 사용하여 이 일을 더욱 잘 완성합니까?
  • 현재 단일 포지셔닝 명령의 궤적 생성만 고려하고 있다. 만약에 여러 개의 포지셔닝 명령을 연속적으로 수신한다면 어떻게 명령의 버퍼와 운동 궤적의 매끄러운 작업을 진행합니까?
  • 운동 궤적을 곡선 도형 방식으로 표시하여 데이터 파일에 저장할 수 있습니까?
  • 트랙 생성기의 파라미터를 파라미터 파일 형식으로 저장하고 설정 파일에 대한 읽기와 쓰기를 실현할 수 있습니까?
  • S자형 가감속(Jerk값 설정)으로 더 매끄러운 운동 궤적을 생성할 수 있습니까?
  • 좋은 웹페이지 즐겨찾기