Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter 2012-2013 Department of Electrical Engineering.

Similar presentations


Presentation on theme: "The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter 2012-2013 Department of Electrical Engineering."— Presentation transcript:

1 The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter 2012-2013 Department of Electrical Engineering

2 The project’s goal Making the robot independently approach to a ball and kick it

3 The project’s main tasks Creating an API for embedded robot’s controller in C, which will allow controlling the robot on higher level Creating an image processing mechanism for the robot’s camera in C++ Creating a protocol for communication between the image processing unit on PC and the robot Creating the decision making controller – the “brain”

4 The Bioloid Robot (Premium Upgrade Kit ++) Dynamixel AX-12 motor x 20 Robotis Wireless CMOS Camera 230x240, 30 FPS CM-510 controller based on Atmel ATmega1281 8-bit AVR microcontroller DMS – Distance Measurement Sensor (IR) ZigBee Zig-110 Wireless Module 2-Axis Accelerometer

5 The general idea The Robot The Controller PC Dynamixels ZigBee Sensors Camera Camera Receiver USB Image Processing Unit Main Controller Wireless Data Processing Unit ZigBee UART Motion Controller Peripheral Devices Wireless connection

6 Communication SW Utilities Indicators Sensors Motion control Motion Controller structure Main All modules initialization The main procedure Main All modules initialization The main procedure Motion Dynamixels management Motion Dynamixels management Accelerometer Accelerometer data processing Accelerometer Accelerometer data processing ADC Analog port data processing ADC Analog port data processing Body Robot’s body movement management Body Robot’s body movement management Buttons Robot’s CM-510 buttons handling Buttons Robot’s CM-510 buttons handling Buzzer Robot’s sound management Buzzer Robot’s sound management DMS Robot’s distance measurement data processing DMS Robot’s distance measurement data processing Errors Failures handling Errors Failures handling Head Robot’s body movement management Head Robot’s body movement management LEDs Robot’s CM-510 LEDs handling LEDs Robot’s CM-510 LEDs handling Memory ATmega1281 memory management Memory ATmega1281 memory management Utilities General helper functions Utilities General helper functions ZigBee Wireless communication controller ZigBee Wireless communication controller

7 Dynamixel’s Offset – a dynamixel’s absolute angle Dynamixel’s Speed – a dynamixel’s speed of rotating Motion control Terminology

8 Pose – a set of dynamixels’ offsets (except for the head) Page – a set of poses to be played sequentially Except for the poses, page also holds an information about: play time, delays, next page to play etc. Motion control Terminology

9 Memory program space – the memory space, where the code resides Memory data space – the memory space, where the data resides The user can’t access the program space directly due to AVR processor’s Harvard architecture, but using special functions Motion control Terminology

10 Robot’s Head – the robot’s head is an add-on of 2 dynamixels and a camera to the original Premium Upgrade Kit The head has 2 degrees of freedom: tilt and pan Motion control Terminology

11 Motion control Memory management To avoid spending time on teaching the robot new poses, the poses provided by manufacturer are used The manufacturer (ROBOTIS) places all the motion data in the program space Original pages of poses are copied from program space to data space The data space is to small to hold all the pages, so a sort of caching mechanism was implemented, based on the random replacing policy

12 Motion control Pose playing The challenge is setting the robot’s pose, such as all the dynamixels will start and end their motion simultaneously. This is performed by the next means: Calculating the correct speed for each dynamixel to move with, according to the offset to be performed. Sending a broadcast message on the Dynamixel’s bus, such as all off it get the moving command at the same time

13 Motion control Page playing When playing a page of poses, there are defined speeds and delays for each pose, so the dynamixel’s speeds are adjusted accordingly After reaching the end of page, there is a jump to the Next Page (one of the page’s properties). Also there is a Stop Page pointer to jump there if something’s wrong

14 Motion control Motion cycle ZigBee command arrived? What kind of command? Preload relevant pages into the cache Play the pose(s) Any sensors changed? Body No Play the initial pose Yes Correct the pose(s) Yes Move head Head Perform management operations such as: update default dynamixels offsets Management No

15 Motion control Motion cycle Some explanations to the previous slide: During the motion play, the sensors are sampled and some corrections to the motion can be made. For example: If accelerometer detects falling, the appropriate dynamixels are moved to avoid it If DMS detects close object while walking, the robot will try to avoid the obstacle by walking around it If a button is pressed, robot returns to its initial pose As a result of ZigBee command the relevant page sequence is being played, but after each pose there is a check if the ZigBee command has changed, so another sequence will be played

16 Image processing General principles The general principles of the tracking: Choosing the object’s color, which should be different from the background color The image processor calculates the average geometrical location of the chosen color on the screen. The command to move robot’s head is sent to the robot, such as the average geometrical location will be at the center of the screen (in infinite loop).

17 Wireless communication General principles Wireless communication between Main Controller and robot is performed using ZigBee protocol (not talking about video data, only the commands) The commands are generated (and can be received) by the Wireless Data Processing unit and are sent to the robot. With correct ZigBee devices configuration the command generation from RC- 100 (remote controller) is also supported

18 Main Controller (not implemented yet  ) General principles The Main Controller is responsible for making a decision about a command to be sent to the robot according to results received from the Image Processing unit. The Image Processing unit provides the Main Controller with data about the object’s (ball) location, such as: The relative angle in horizontal plane Estimated distance The Main Controller sends the movement commands to the robot The above actions are done in the loop until the robot finally is in the ball-kick position The kick command is sent

19 Future development possible directions Placing the main controller on the robot (some lite weight, but strong computing device), to make the robot completely independent Upgrading the accelerometers (called “gyro” by the manufacturer) with the real gyros, to improve robot’s stability (falling prevention) Improving the motion algorithms and flows by the principle: Efficiency in cost of modularity Upgrading the camera for better performance Improving image processing for new features to be possible, such as: Easy obstacle overcoming instead of avoiding Adding some device to the robot, which will allow: Navigation Shortest path finding...

20 The End


Download ppt "The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter 2012-2013 Department of Electrical Engineering."

Similar presentations


Ads by Google