Building an AI Powered Follow Trolley Part 2: Hardware DesignFollow article
Selecting componentry to construct the follow trolley, and planning the frame design.
In part one we took a look at the Jetson Nano, various AI models for person tracking and demonstrated one that would successfully track a person in a scene. We’ll cover selecting the system components and think about the frame design in this post.
Before we started looking at selecting any components, a list of features was discussed that the trolley should have — including front and rear proximity sensors to help keep a safe distance from objects, a stack light for status indication, a set of displays suitable for displaying a face (the robot uprising has to be cute!) and robot operational status.
The trolley was sized to be suitable to carry roughly two full shopping bags; a precursory Google search did not reveal much useful information so we opted to measure one — a Lidl bag is approximately 440mm long and wide when flat, and this will decrease when opened out and filled with items.
The trolley needs some form of propulsion and so a suitable battery, motors and wheels will need to be found. To be able to do this, we had to take into account the average walking speed of a human, which is around 3.1mph — we aimed for the robot to be able to at least achieve this speed or quicker.
We opted to design the frame around 20x20mm aluminium extrusion for ease and speed of assembly, and also the versatility offered by using extrusion.
Interaction with the trolley for setting up the person tracking will be done over WiFi, allowing for use with a laptop or smartphone, so we also needed to include a WiFi dongle as the Jetson Nano does not include on-board WiFi.
The battery voltage will be dictated by the motor operating voltage, so we left the selection of a suitable solution till last. Other power supplies on-board were then picked to handle the battery voltage, and provide suitable rails such as 5V to power the Jetson Nano.
We started by perusing the RS catalogue to find some suitable wheels. There is a vast selection available, and we started to narrow this down by selecting wheel diameters between 125-400mm with a bore diameter of 8-13mm. Restricting the wheel diameter to greater than 125mm means that we can use a slower geared motor to achieve the same speed when compared with using a smaller wheel.
A suitable rubber wheelwas chosen, with a diameter of 160mm and a plain bore of 12mm. We picked a wheel without any sort of bearing as this is driven by the motor.
With a wheel now selected, the minimum motor RPM was calculated that would achieve at least 3.1mph. We used an online calculator to work this out, and the result was a minimum of 165rpm for a 160mm diameter wheel.
A motorwas selected that meets the criteria, this happened to be 24V, but as we hadn’t yet settled on the rest of the electrical system this was a non-issue. The motor chosen also has plenty of torque, 1.6Nm to be exact, which should be more than enough to push a fully laden trolley around — some electric wheelchair motors have torque figures as low as 1.8Nm but still manage to move the combined weight of a person and wheelchair with ease.
Now with the motor selection done, we moved onto finding a suitable controller. With the motor running at 24V, two 12V batteries will provide the power — meaning we could have a voltage swing of up to 27.4V when the batteries are fully charged. A motor controller will need to be able to accommodate this, so leaving some voltage headroom would be wise.
We eventually settled on the Electromen EM174controller that can run on a 12-32V supply, and provide up to 8A continuous — plenty enough for our motors. The advantage of this controller is the ability to set a current limit, a 0-5V or 0-10V speed control input and a separate direction control input, meaning this should be easily controlled by the Jetson Nano.
Two IFM ultrasonic proximity sensorswere chosen to be mounted on the front and rear as another safeguard to stop the trolley from running into people and the operator. These have a sensing range of 60-800mm which is sufficient for our needs.
As the electrical system will be operating at 24V, two 12V 12Ah SLA batterieswere picked. These are an ideal solution as they are robust and easy to charge, but can provide enough current to drive both motors with ease. The weight should also help keep the centre of gravity of the trolley low, avoiding issues such as the robot becoming unstable when fully loaded.
To indicate the status of the trolley, an AUER Signal stack lightwith three elements was picked. We opted not to use more than three lights as a WiFi hotspot will be provided for robot status monitoring.
With all the componentry picked out, we moved on to starting the mechanical design for the trolley. Sizes were based upon the measurements of an average shopping bag taken earlier, then doubled to fit two bags.
Originally, our plan was to use 20x20mm extrusion which would’ve reduced the weight of the trolley but we changed this to be 30x30mm — primarily for strength to keep the chassis from flexing.
As this worked out being close to 1000mm long by 500mm wide, we opted to round up to these dimensions. A height of 600mm was decided upon which was divided up into a 250mm section for the controls and batteries under the trolley, and a 350mm upper section to form a basket for the shopping bags to sit in.
We first started by modelling the overall trolley frame, by trimming the aluminium extrusion STEP file provided by Rexroth to the right lengths. This was then assembled with all the corner connections and angle brackets.
A base plate that forms the bottom of the basket area was then modelled — this is an easy task as it is a plate the dimensions of the trolley (1000x500mm) with the corners notched out to accommodate the upright extrusion sections.
The motor mounting bracket was designed next, which led to the realisation that the motor cannot have the output shaft direction flipped — this is mildly inconvenient as it means the motor assembly on the left-hand side will be facing the opposite direction. To rectify this, the motor will be wired with the opposite polarity so that both will spin in the same direction.
Most manufacturers of industrial components such as larger motors, gearboxes, bearings, extrusion systems and so on provide CAD files in standard formats to ease the design process. Some may require registration, like Mini Motor in this case, but others like Rexroth do not. Often there are also other online sources of CAD files such as Traceparts who have an online catalogue of components sold by RS.
We were now at the point of placing the order for most of the componentry necessary to build the trolley. Lots of aluminium extrusion — almost twelve metres of rounded and 6 metres of square — was also placed into the order, along with corner pieces, gusset corners and corner covers to protect from sharp edges and to improve appearances.
In this post we’ve taken a look at some of the design considerations for the Nvidia Jetson Nano powered follow trolley, picked out a variety of components to build the mechanical, electrical and control systems up and then started work on the mechanical design of the trolley.