Difference between revisions of "Project:HSRDP"

From London Hackspace Wiki
Jump to navigation Jump to search
 
(47 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
== HSRDP - ''Hackspace Robotics Development Platform'' ==
 
== HSRDP - ''Hackspace Robotics Development Platform'' ==
  
 +
[[File:HSRDP_mounted.jpg|thumb|Arm mounted on the base]]
 
HSRDP is an attempt to provide a robotics platform for the hackspace to allow people to experiment with higher level robotics functions.
 
HSRDP is an attempt to provide a robotics platform for the hackspace to allow people to experiment with higher level robotics functions.
 +
[[File:HSRDP_arm.jpg|thumb|View of the arm]]
 +
[[File:UmiRTX100urdf.png|thumb|The basic URDF model for the arm]]
  
 
The plan is to sit our [[Project:UMI_RTX_Robot_arm|UMI robot arm]] on top of the mobility aid scooter. Plug it all into [http://ros.org ROS] with some sensors and allow people to make their own nodes for high level functions
 
The plan is to sit our [[Project:UMI_RTX_Robot_arm|UMI robot arm]] on top of the mobility aid scooter. Plug it all into [http://ros.org ROS] with some sensors and allow people to make their own nodes for high level functions
  
 
It's part of the hackspace and collaborators are welcome, please get in-touch with [[User:Mentar|Mentar]] (IRC) to find out what you can help. It's a great learning exercise for:
 
It's part of the hackspace and collaborators are welcome, please get in-touch with [[User:Mentar|Mentar]] (IRC) to find out what you can help. It's a great learning exercise for:
* the stuff that's required to get [Project:UMI_RTX_Robot_arm|robot arm]] working
+
* the stuff that's required to get [[Project:UMI_RTX_Robot_arm|robot arm]] working
 
* Robotics (more higher level stuff!)  
 
* Robotics (more higher level stuff!)  
 
* ROS (point clouds, sensing, planning)
 
* ROS (point clouds, sensing, planning)
Line 12: Line 15:
 
* motor control
 
* motor control
 
* battery management
 
* battery management
 +
 +
[https://www.dropbox.com/sh/qfrzwpgauth3umx/w6-JFW_S_8 Link to random photos from the ongoing project]
  
 
=== Status ===
 
=== Status ===
* Currently trying to debug the Robot arm control board
+
* [[Project:UMI_RTX_Robot_arm|Robot arm]] electronics replaced and working, need current feedback and control lines added.
 +
* The scooter base/drive-train has been fixed and the arm attached, though needs proper mounting as it's a bit wobly.
 +
* The drive train electronics are ready, they need to be installed together with the steering motor mounts (welding may be required) and halleffect sensors attached to the main drive motor with some magnets(ordered)
 +
* Power distribution is being worked, will be running off 2 12v batteries
 +
 
 +
=== Updates ===
 +
==== Update 18/01/2016 ====
 +
[[User:Mentar|Mentar]]: [http://www.aliexpress.com/item/lithium-battery-BMS-24v-6s-PCM-for-electric-bike-lithium-battery-24v-10a-20a-30a-battery/32410637669.html BMS] ordered, need to make or borrow a spotwelder to connect up the 6s6p pack that's ready to go. Cleaned up the repo so that the hsrdp_bridge firmware is in a working state. Could do with moving the firmware to work on the launchpad for FPU processing and proper PID, any takers?
 +
 
 +
==== Update 09/01/2016 ====
 +
[[User:Mentar|Mentar]]: Steering motor and potentiometer sensing rig set up, needs connecting to the electronics that were made for it previously. The battery is waiting to be hooked up but needs a BMS as currently it's only a 6s6p array of 18650, if you have any knowledge of of such systems please get involved (emailing the group or coming on monday evening! )
 +
 
 +
==== Update 09/09/2014 ====
 +
[[User:Mentar|Mentar]]: Inverse kinematics implemented, with a lot of issues during the last mile (Streaming the trajectory to the controller): http://youtu.be/CrpvGv78pwU Work mostly by AlexR
 +
 
 +
==== Update 18/6/2014 ====
 +
[[User:Mentar|Mentar]]: Project being resumed. Arm components checked, aside from a stray wire all parts were working, stray wire brought back to home. Installed ROS on the robotics-i7 machine, ready for full on development of the inverse kinematics (move_it!) stack.
 +
 
 +
==== Update 14/6/2014 ====
 +
[[User:Mentar|Mentar]]: The project has stalled a bit due to efforts to get it's bigger cousin, the Staubli, milling. There are plans to turn the bot into a robot bartender or the EMFcamp at the end of August, but still waiting from the organisers
 +
 
 +
==== Update 25/2/2014 ====
 +
Salman: The ODROID-XU board is now running Linux and has ROS installed. Its IPv6 address is 2001:8b0:856:1:2a8:2bff:fe00:180, that should get added to DNS at some point. Send me your SSH keys if you want access to it! (The default user is glenda, and its home directory is the default workspace.)
 +
 
 +
==== Update 6/2/2014 ====
 +
[[User:Mentar|Mentar]]: The sealed lead acid batteries are well are gone by the looks of it, so will be replaced with normal 12v wet cell ones. Stephen is working on the power board for it. I'm working on auto-calibration code but realized I can't really do without speed control so will be working on that.
 +
 
 +
==== Update 6/1/2014 ====
 +
[[User:Mentar|Mentar]]: Sourced the 2 sealed lead acid (AGM) batteries (Pride 12V 55AH) but they are heavily sulfacated thourgh lack of maintenance, tried charging one at 12V and it's responding albeit very slowly (only pulling 70ma at 13V), will need to build a desulfating circuit to bring them back to life.
 +
 
 +
==== Update 10/12/2013 ====
 +
[[User:Mentar|Mentar]]: We mounted the arm on the scooter base. Implemented PID control for the motors, though yet to test it live.
 +
 
 +
== People involved ==
 +
This is a hackspace project and members are encouraged to participate so if you are interested just email the robotics group or get intouch with [[User:Mentar|Mentar]].
  
 +
{| class="wikitable"
 +
!Person
 +
!What is being done
 +
|-
 +
|[[User:Mentar|Mentar]], Tmlyk, pepelisu
 +
|Getting the robot arm functional
 +
|-
 +
|Stephen & Tom
 +
|Mobile base repair and control interfacing.
 +
|-
 +
|Paddy
 +
|Trimming the wheeled chassis, attaching steering motor
 +
|-
 +
|}
  
 +
== TODO ==
 +
* <s>Get the robot arm working (refer to page for breakdown)</s>
 +
* <s>Repair the drive train, interface with the controller, make steering motor driver</s>
 +
* <s>Prepare the wheeled chassis for the mounting of the robot arm</s>
 +
* <s>Fit the robot arm to the base (arm facing towards one of the sides)</s>
 +
* Figure out the battery management system and power distribution for the chassis and the robot arm.(24v battery and robot arm power and 5v for logic)
 +
* Mount the steering motor and electronics.
 +
* <s>Source a 24v battery (2 x 12v)</s>
 +
* Add a kinect + other sensors
 +
* Repaint/beautify the thing
  
 
== Example uses ==
 
== Example uses ==
Line 23: Line 86:
 
* Robotic bartender - Party/event mode configuration, mix up drinks (this one is quite challenging)  
 
* Robotic bartender - Party/event mode configuration, mix up drinks (this one is quite challenging)  
 
* Telepresense - Self evident uses
 
* Telepresense - Self evident uses
 +
* Guard bot - Could help with reducing cycle theft (need to film the thieves shitting themselves)
  
 
== System diagram ==
 
== System diagram ==
  
<graphviz border='frame' format='png' >
+
<graphviz border='frame' format='svg' >
 
  digraph rfboard{
 
  digraph rfboard{
 
   rankdir=TD;
 
   rankdir=TD;
   size="10,5!";
+
   size="8,5!";
 
    
 
    
   arduino [label="Arm control board",shape=box];
+
   arm_control [label="Arm control board (Mega)",shape=box];
   kinect [label="Kintect",shape=box];
+
   kinect [label="kinect",shape=box];
   pi [label="Raspberry pi",shape=box];
+
   brain [label="Laptop",shape=box];
   chassis_control [label="Chassis control",shape=box];
+
   chassis_control [label="Chassis control (Uno)",shape=box];
 
   chassis [label="Wheeled Chassis",shape=box];
 
   chassis [label="Wheeled Chassis",shape=box];
 
   robot_arm [label="Robot Arm",shape=box];
 
   robot_arm [label="Robot Arm",shape=box];
 
   steering [label="Steering motor",shape=box];
 
   steering [label="Steering motor",shape=box];
  
   kinect -> pi;
+
   kinect -> brain;
   pi -> arduino;
+
   brain -> arm_control;
   arduino -> robot_arm;
+
   arm_control -> robot_arm;
   pi -> chassis_control;
+
   brain -> chassis_control;
 
   chassis_control -> chassis;
 
   chassis_control -> chassis;
 
   chassis_control -> steering;
 
   chassis_control -> steering;
 
}
 
}
 +
 
</graphviz>
 
</graphviz>
 +
 +
== Code ==
 +
The code is stored at our [https://github.com/NotJustArduino/HSRDP github repository], let the project owners know if you want to be added
 +
 +
== Other info ==
 +
 +
 +
[[Category:Projects]]
 +
[[Category:Space_Infrastructure_Projects]]

Latest revision as of 11:49, 19 January 2016

HSRDP - Hackspace Robotics Development Platform

Arm mounted on the base

HSRDP is an attempt to provide a robotics platform for the hackspace to allow people to experiment with higher level robotics functions.

View of the arm
The basic URDF model for the arm

The plan is to sit our UMI robot arm on top of the mobility aid scooter. Plug it all into ROS with some sensors and allow people to make their own nodes for high level functions

It's part of the hackspace and collaborators are welcome, please get in-touch with Mentar (IRC) to find out what you can help. It's a great learning exercise for:

  • the stuff that's required to get robot arm working
  • Robotics (more higher level stuff!)
  • ROS (point clouds, sensing, planning)
  • arduino
  • motor control
  • battery management

Link to random photos from the ongoing project

Status

  • Robot arm electronics replaced and working, need current feedback and control lines added.
  • The scooter base/drive-train has been fixed and the arm attached, though needs proper mounting as it's a bit wobly.
  • The drive train electronics are ready, they need to be installed together with the steering motor mounts (welding may be required) and halleffect sensors attached to the main drive motor with some magnets(ordered)
  • Power distribution is being worked, will be running off 2 12v batteries

Updates

Update 18/01/2016

Mentar: BMS ordered, need to make or borrow a spotwelder to connect up the 6s6p pack that's ready to go. Cleaned up the repo so that the hsrdp_bridge firmware is in a working state. Could do with moving the firmware to work on the launchpad for FPU processing and proper PID, any takers?

Update 09/01/2016

Mentar: Steering motor and potentiometer sensing rig set up, needs connecting to the electronics that were made for it previously. The battery is waiting to be hooked up but needs a BMS as currently it's only a 6s6p array of 18650, if you have any knowledge of of such systems please get involved (emailing the group or coming on monday evening! )

Update 09/09/2014

Mentar: Inverse kinematics implemented, with a lot of issues during the last mile (Streaming the trajectory to the controller): http://youtu.be/CrpvGv78pwU Work mostly by AlexR

Update 18/6/2014

Mentar: Project being resumed. Arm components checked, aside from a stray wire all parts were working, stray wire brought back to home. Installed ROS on the robotics-i7 machine, ready for full on development of the inverse kinematics (move_it!) stack.

Update 14/6/2014

Mentar: The project has stalled a bit due to efforts to get it's bigger cousin, the Staubli, milling. There are plans to turn the bot into a robot bartender or the EMFcamp at the end of August, but still waiting from the organisers

Update 25/2/2014

Salman: The ODROID-XU board is now running Linux and has ROS installed. Its IPv6 address is 2001:8b0:856:1:2a8:2bff:fe00:180, that should get added to DNS at some point. Send me your SSH keys if you want access to it! (The default user is glenda, and its home directory is the default workspace.)

Update 6/2/2014

Mentar: The sealed lead acid batteries are well are gone by the looks of it, so will be replaced with normal 12v wet cell ones. Stephen is working on the power board for it. I'm working on auto-calibration code but realized I can't really do without speed control so will be working on that.

Update 6/1/2014

Mentar: Sourced the 2 sealed lead acid (AGM) batteries (Pride 12V 55AH) but they are heavily sulfacated thourgh lack of maintenance, tried charging one at 12V and it's responding albeit very slowly (only pulling 70ma at 13V), will need to build a desulfating circuit to bring them back to life.

Update 10/12/2013

Mentar: We mounted the arm on the scooter base. Implemented PID control for the motors, though yet to test it live.

People involved

This is a hackspace project and members are encouraged to participate so if you are interested just email the robotics group or get intouch with Mentar.

Person What is being done
Mentar, Tmlyk, pepelisu Getting the robot arm functional
Stephen & Tom Mobile base repair and control interfacing.
Paddy Trimming the wheeled chassis, attaching steering motor

TODO

  • Get the robot arm working (refer to page for breakdown)
  • Repair the drive train, interface with the controller, make steering motor driver
  • Prepare the wheeled chassis for the mounting of the robot arm
  • Fit the robot arm to the base (arm facing towards one of the sides)
  • Figure out the battery management system and power distribution for the chassis and the robot arm.(24v battery and robot arm power and 5v for logic)
  • Mount the steering motor and electronics.
  • Source a 24v battery (2 x 12v)
  • Add a kinect + other sensors
  • Repaint/beautify the thing

Example uses

  • Robotic buttler - Show people around the space, bring club-mate etc
  • Robotic bartender - Party/event mode configuration, mix up drinks (this one is quite challenging)
  • Telepresense - Self evident uses
  • Guard bot - Could help with reducing cycle theft (need to film the thieves shitting themselves)

System diagram

<graphviz border='frame' format='svg' >

digraph rfboard{
  rankdir=TD;
  size="8,5!";
  
  arm_control [label="Arm control board (Mega)",shape=box];
  kinect [label="kinect",shape=box];
  brain [label="Laptop",shape=box];
  chassis_control [label="Chassis control (Uno)",shape=box];
  chassis [label="Wheeled Chassis",shape=box];
  robot_arm [label="Robot Arm",shape=box];
  steering [label="Steering motor",shape=box];
  kinect -> brain;
  brain -> arm_control;
  arm_control -> robot_arm;
  brain -> chassis_control;
  chassis_control -> chassis;
  chassis_control -> steering;

}

</graphviz>

Code

The code is stored at our github repository, let the project owners know if you want to be added

Other info