Skip to content

Robot hardware

Benedek Horvath edited this page Oct 3, 2017 · 6 revisions

Robot Arm Hardware

Disclaimer: Information that is presented here, might be deprecated.

Component owners: Geri, Samu, Anna, Marci
Date of assessment: 2016-05-08

Current status

  • 4 motors:

    • Individual control is available

    • The current position can be queried

  • 2 touch sensors:

    • Binary system (pressed/not pressed)

    • Used for detecting the end-states of lifting and rotating

  • LEGO EV3 (controller module)

    • Runs a modified Debian Linux system from an SD card (name of the distribution: ev3dev)

    • Python MQTT client, which talks to an MQTT broker running locally

      • The client received the control from the Yakindu statechart and sent events and sensor data back to the channel

  • LEGO parts

    • Certain parts of the robot are made from given color to represent a CV marker

  • Current structure of the arm provides 3DoF

    • The available points of the grabber crane make up a sphere

    • The grabber crane itself can rotate around the Z axis (rotates in the X-Y plane) and uses an additional motor for grabbing

Issues and TODOs

  • Touch sensor

    • Buggy: sometimes it says touched when not touched

  • Motor

    • Inbuilt PID controller not utilized and this feature is not explored

  • The provided cables are too stiff

  • The material of the robot is flexible and heavy, so that precise control based on CV is difficult for the robot has to be stabilized after each move

    • This issue would be partially fixed if we used the provided PID controller

    • This is a non-blocking issue based on the experiences, however, it generates errors in the position

  • The structure of the grabber crane is suboptimal

    • Cannot detect whether the target object is taken or not. A real pressure sensor would be needed for this purpose

  • EV3 issues:

    • Shows some instability in the WiFi connection

    • Rebooting takes eternity

  • The tasks implemented in python and the features of the Yakindu statechart are not declared. Also, a specification for the task is necessary

  • Use the MQTT broker of the table (which runs on a PI3)

Development directions and plans

  • The current controller has low performance.

    • The controller should be replaced

    • The MQTT client would be much faster and better if it was written in C - or at least the current python code was reviewed and refactored

  • A totally new robot bought based on the current needs would greatly reduce technical issues, so the guys would support this move

  • Samu and Geri would like to mainly contribute to the MoDeS3 using time-synchronized systems. They will work this summer for at least 6 weeks on the project

Clone this wiki locally