Fall 2016 Velociraptor (W): Software Block Diagram
By Gifty Sackey (Mission, Systems, and Test)
Approved by:
– Lam Nguyen (Project Manager)
– James Lee (Division Manager for Mission, System, and Test)
Table of Contents
Introduction
The purpose of this blog post is to discuss and summarize the control functions that will be required in the programming of the robot. It will cover the software block diagram and introduce the set of tasks that the software had to accomplish. For the mission profile for the Velociraptor shall participate in the Game Arena and statically walk. The software flow chart that is attached, allows users to see how the Arxterra firmware will be modified and the programmed through the 3DoT board.
Software Block Diagram – (Old)
Diagram 1. Software Block Diagram
Software Block Diagram – (Updated)
Diagram 2. Software Block Diagram Updated
In the event that a command is sent via Bluetooth from the ArxRobot App, the command decoder and handler functions will be executed on the action. The software block diagram, allows readers to gain an insight on the inputs that the robot functions will be taking as well as the outputs. For this blog post, I will be explaining in detail how the velociraptor will perform when the right motor is the only thing allowed to move. When the velociraptor is being moved and controlled by a single motor, the velociraptor is making a turn. In the case of the right motor moving, this indicates that the velociraptor is turning left. A turning left subroutine code would then be initiated as well as servo commands. In order for the velociraptor to be able to make a complete turn, it would have to shift its center of gravity over the left leg by moving the servo 30 degrees from the neutral position so that the it is balanced over that specified foot.
For the velociraptor to achieve static walking, the control codes will be designed such that both motors will be moving out of sync. While both motors are moving out of sync, as engineers, we need to make sure that the revolutions per minute (rpm) should have different values for both motors while having both legs be 180 degrees apart. The servo would then be moved over the left leg but then both motors would be required to move 180 degrees at the same rpm value and then stop in order to complete a step. At this point, the velociraptor needs to maintain balance so it needs to shift the servos at a 60 degree angle in order to ensure the center of gravity is on the right leg. At this point, the robot must move both motors 180 degrees forward to complete a step. The robot would then repeat this process until a different command is called from the Arxterra application.