
An open-source robot project
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 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 growth in robotics.
Design targets
Music
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 real-time loop. TBD what libraries to use for dynamics. Some initial work has been done using ROS, RBDL, and simulated joystick control in order to investigate camera locations and other kinematics here: https://github.com/unhuman-io/freebot-realtime
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.
Get in Touch
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur dignissim neque metus, non porttitor purus cursus non. In hac habitasse platea dictumst.