Skip to content
leemagnusson edited this page Nov 20, 2020 · 19 revisions

Freebot

image1

Goal

Design an in/outdoor mobile manipulating robot capable of autonomous navigation with the ability to pick up small items. Precision/repeatability should be comparable to industrial robotics. Joint torque sensing to maintain human safety, and used to protect the robot for collisions.

Demonstrate best practices for robot prototyping. Design using obtainable parts and manufacturing tolerances. Design to be assembled by a person of average skill.

Robot project is open source such that robotics engineers can use, modify, and contribute as desired. Extra space is provided in the through bore in the arm to enable running some cables with clean wire routing.

Why

Our group currently consists of 4 highly experienced electrical/mechanical/controls engineers that have been working on robotic hardware for 10's of years. We've found that robotic hardware robotic hardware requires either significant experience or significant time and iterations to design, tolerance, and control robotic hardware. We've also noticed that there is significant interest in the areas of non-industrial robotics but many groups have difficulty with implementation of the hardware. Difficulty with hardware slows progress and can lead to misleading results when implementing higher level control and AI. At the same time many groups have an interest in design ownership and are not interested in purchasing a platform over which they have little control. With this project we wish to make our hardware and control experience available at no cost in order to help as much as possible a growth in robotics.

Design targets

  • 20 kg device
  • Two wheel plus caster base.
  • 5 DOF Manipulating arm with some pulling/lifting force, easily overpowered
    • Pan, pitch, pitch, pitch, roll
    • Joint torque sensing
  • Wrist has offset roll inline with pitch to maintain close grip to wrist pitch
  • Grip options - spike, actuated spike, vacuum cup, parallel jaw, electrostatic, soft gripper
  • Strength is 500 g gripper continuous plus 10N peak
  • Base and wrist cameras

Engineering

  • Base
    • Ninebot mini wheels
      • Kt = .76 Nm/A, 20 A peak
      • High resolution encoder - ic haus or mps multipole
    • Ninebot 36V nominal lithium ion battery, 155 Wh
    • Basket for items
    • Camera
    • Computer - Jetson nano
    • Approximate footprint 600 x 500 WxL
    • Considering options to do 3 wheel with caster, or 2 wheel self balancing, with movable counterweight. The caster presents difficulty with getting stuck. The 2 wheel requires a counterweight to balance an outstretched arm, and some more challenging dynamics.
  • Arm
    • Harmonic Drive® based design
    • Custom motor for best integration
    • Integrated module electronics
    • Integrated torque sensor
      • Capacitive for easy assembly
    • Motor encoder
      • High resolution MPS on rotor encoder, enables 12bit+3bit
      • Magnetic encoder to reduce the need for precise gap tolerances and cleanliness
    • Output absolute encoder
      • Magnetic encoder to reduce assembly tolerances
      • Resolution need not be as high - but it’s nice if it is
    • 0.4 x 0.4 m workspace in front of robot
    • Links 0.3 x 0.3 x 0.1 m upper arm x forearm x grip offset
  • Grip
    • Modular
  • Software
    • Motor driver software as available here: https://github.com/unhuman-io/freebot-controller
    • Mid level software, custom 2 kHz realtime loop. TBD what libraries to use for dynamics
      • Gravity compensation
      • Cartesian impedance control or
      • Inverse kinematics with joint torque limits
    • Higher level software TBD, currently I’m like at the NVidia jetbot as a starting point.

image2

Electronics

Possible wiring diagram. Horizontal connections to actuators are bore pass through. Ethernet cable to wrist not shown. It may be convenient to pass multiple usb cables through and reduce the number of hubs. I think 4 is the max number of hubs that can be daisy chained from the jetson PC. A single chassis/battery/digital ground shall be used to minimize noise. Though some thought may be necessary on this to maintain USB communication. In the past I’ve used isolated USB. The joint boards will be designed with internal USB hub so they can be daisy chained as shown below.

In order to run the arm requires only 4 conductors, 2 for USB high speed (480 Mbps), which are ideally shielded, and 2 power cables.

Connectors

The through bore in the arm allows for the pass through of some connectors. By selecting small connectors we can allow for crimping the cables outside the actuator and then assembling into the actuator. Connectors that will fit well are the Hirose DF57 for communication and DF61 for power. Inline connectors may also be used to ease disassembly and run larger gauge wire for long link runs. The crimps should be readily done for low cost with a multipurpose crimp tool such as the Engineer PAD-11.

Cables

In order to have good compatibility with the Hirose connectors we can use PVC insulated wire, 22 AWG for power and 28 AWG for USB. The PVC insulated cable diameters that must pass through the bore are 2 x 1.3 mm and 2 x 0.8 mm (unshielded) or 1 x 3.2 mm (shielded).

Mechanical hardware design availability

The mechanical hardware will be designed in Solidworks and distributions will be available through Google Drive. In addition, the Autodesk Fusion 360 viewer is helpful for quick online viewing. Here is a sample of the robot shell: https://a360.co/3g13j6e. Note that this is just an early stage sketch, not detailed. Here is a sample of the wrist/elbow actuator: https://a360.co/2zX72ln. As of 6/2020, the actuator is fully detailed but this currently a pre release version. We have order parts for it for initial testing.

osa14 cross section

November 2020

We've had actuator hardware for some time now. In general the tolerances came out pretty well for the price. Eventually there will be further discussion of the design and manufacturing process as we get closer to having a design that we're fully happy with. There is a custom motor in the smaller size actuator that appears to be performing well. Our main problem at this stage is that we designed for a unique motor encoder, namely to use a magnetic encoder to read the rotor magnets directly. This is giving some difficulty and we're planning on temporarily setting up the actuators with an external optical encoder, which can be used both to run the system and also test and calibrate the rotor magnet encoder. We still think that the rotor encoder will be a clear win with less parts.

actuator pictures

Clone this wiki locally