1 00:00:00,000 --> 00:00:08,469 foreign 2 00:00:00,500 --> 00:00:08,469 [Music] 3 00:00:16,199 --> 00:00:20,880 Tish is an independent 4 00:00:18,720 --> 00:00:24,240 consultant assisting all sort of 5 00:00:20,880 --> 00:00:26,640 businesses from manufacturing to early 6 00:00:24,240 --> 00:00:29,420 stage startup today's talk is about 7 00:00:26,640 --> 00:00:33,420 Hardware design to measure the distance 8 00:00:29,420 --> 00:00:37,380 between bicycles and passing cars in the 9 00:00:33,420 --> 00:00:41,180 hope of increasing safety for oral users 10 00:00:37,380 --> 00:00:41,180 please welcome Tish 11 00:00:42,920 --> 00:00:50,719 thanks yeah 12 00:00:45,739 --> 00:00:50,719 welcome everyone I'll start with an 13 00:00:51,120 --> 00:00:55,100 uh just a minute kidding have you sorted 14 00:00:56,160 --> 00:00:58,579 cool 15 00:00:58,920 --> 00:01:02,940 back 16 00:01:01,260 --> 00:01:05,519 I'll start with an acknowledgment to the 17 00:01:02,940 --> 00:01:07,140 country so today we are gathered in the 18 00:01:05,519 --> 00:01:09,720 traditional lands of the original people 19 00:01:07,140 --> 00:01:11,580 of the culin nation I acknowledge their 20 00:01:09,720 --> 00:01:13,200 deep ties to the land and Waters of the 21 00:01:11,580 --> 00:01:16,020 region and I pay my respects to the 22 00:01:13,200 --> 00:01:17,880 elders past present and emerging most of 23 00:01:16,020 --> 00:01:19,979 the work here was done in Adelaide so 24 00:01:17,880 --> 00:01:21,540 I'm coming over from Adelaide which is 25 00:01:19,979 --> 00:01:24,180 the Ghana Nation 26 00:01:21,540 --> 00:01:26,159 so just um like a sort of a project 27 00:01:24,180 --> 00:01:28,560 management style outline of what the 28 00:01:26,159 --> 00:01:32,119 talk will be about this is a sort of a 29 00:01:28,560 --> 00:01:34,740 full stack project uh in uh 30 00:01:32,119 --> 00:01:36,799 about riding bikes they're just keeping 31 00:01:34,740 --> 00:01:39,360 moving things moving 32 00:01:36,799 --> 00:01:42,860 building Hardware building firmware for 33 00:01:39,360 --> 00:01:45,140 that Hardware uh putting it in a case 34 00:01:42,860 --> 00:01:48,119 recording the data from that hardware 35 00:01:45,140 --> 00:01:50,759 and uh sort of uh 36 00:01:48,119 --> 00:01:52,680 call to action to become part of this 37 00:01:50,759 --> 00:01:54,540 study which is called the velograph it's 38 00:01:52,680 --> 00:01:57,299 using open source tooling all of this 39 00:01:54,540 --> 00:01:59,820 tooling is open source for putting uh 40 00:01:57,299 --> 00:02:01,740 putting their devices together for more 41 00:01:59,820 --> 00:02:04,560 people to participate in the study in 42 00:02:01,740 --> 00:02:06,780 road safety and gather more data or to 43 00:02:04,560 --> 00:02:08,580 build the hardware themselves so it can 44 00:02:06,780 --> 00:02:12,500 be deployed in other other parts of the 45 00:02:08,580 --> 00:02:12,500 world or other parts of our country 46 00:02:12,599 --> 00:02:19,980 so this sort of work began with the 47 00:02:17,700 --> 00:02:22,020 center for automative Safety Research 48 00:02:19,980 --> 00:02:26,360 which is part of Adelaide University 49 00:02:22,020 --> 00:02:30,920 a previous study that was done in act 50 00:02:26,360 --> 00:02:33,720 with around yeah 11 000 passing events 51 00:02:30,920 --> 00:02:35,879 being recorded with different 52 00:02:33,720 --> 00:02:38,280 separations there are laws are in 53 00:02:35,879 --> 00:02:39,840 Australia for bike riders to car 54 00:02:38,280 --> 00:02:42,239 separation but you can legislate 55 00:02:39,840 --> 00:02:44,459 something unless you monitor it you 56 00:02:42,239 --> 00:02:47,700 don't know if it's actually being you 57 00:02:44,459 --> 00:02:50,220 know being effective uh you can't record 58 00:02:47,700 --> 00:02:52,019 videos everywhere it's being passed or 59 00:02:50,220 --> 00:02:55,160 you don't have accurate separation 60 00:02:52,019 --> 00:02:57,620 measurement record records 61 00:02:55,160 --> 00:02:59,760 so the differences in passing distance 62 00:02:57,620 --> 00:03:01,680 is sort of associated with road 63 00:02:59,760 --> 00:03:03,420 classification bike land presence and 64 00:03:01,680 --> 00:03:06,840 speed limits was sort of the overall 65 00:03:03,420 --> 00:03:08,819 response so I just got some numbers 66 00:03:06,840 --> 00:03:12,000 around the number of passing events that 67 00:03:08,819 --> 00:03:15,900 was in the previous study and it has in 68 00:03:12,000 --> 00:03:17,220 2019 also and the new study that we are 69 00:03:15,900 --> 00:03:19,200 going to talk about today has already 70 00:03:17,220 --> 00:03:21,420 passed that number of passing events 71 00:03:19,200 --> 00:03:23,280 since it was launched uh like a month or 72 00:03:21,420 --> 00:03:26,099 so ago 73 00:03:23,280 --> 00:03:28,080 so there are Publications around the 74 00:03:26,099 --> 00:03:31,620 previous work this was done and the 75 00:03:28,080 --> 00:03:34,800 hardware there used Ultrasonics to 76 00:03:31,620 --> 00:03:36,900 measure the separation and sort of I'm 77 00:03:34,800 --> 00:03:38,519 wearing this French t-shirt about lasers 78 00:03:36,900 --> 00:03:41,280 on sharks because this time we're using 79 00:03:38,519 --> 00:03:44,959 uh like lasers to measure the separation 80 00:03:41,280 --> 00:03:48,480 which is more accurate it's faster 81 00:03:44,959 --> 00:03:51,120 rate of capture of data and so on 82 00:03:48,480 --> 00:03:54,720 so this is sort of the amount of data 83 00:03:51,120 --> 00:03:57,360 that was captured in Canberra uh around 84 00:03:54,720 --> 00:03:59,480 the main CBD areas various commute areas 85 00:03:57,360 --> 00:04:03,480 that people usually write to work 86 00:03:59,480 --> 00:04:05,580 typically and the different separation 87 00:04:03,480 --> 00:04:08,700 distances that were encountered ready 88 00:04:05,580 --> 00:04:11,180 sort of bad to close passing blue is on 89 00:04:08,700 --> 00:04:11,180 the good side 90 00:04:12,540 --> 00:04:18,239 so the sort of this is a pretty busy 91 00:04:15,720 --> 00:04:21,120 dense slide but it was sort of the specs 92 00:04:18,239 --> 00:04:23,780 I inherited to build this sort of stuff 93 00:04:21,120 --> 00:04:25,979 my involvement was being doing overall 94 00:04:23,780 --> 00:04:28,500 systems architecture for this as an 95 00:04:25,979 --> 00:04:31,199 independent consultant working out which 96 00:04:28,500 --> 00:04:35,100 pieces could be done what was out of 97 00:04:31,199 --> 00:04:38,520 scope for the targets budget size of the 98 00:04:35,100 --> 00:04:41,639 hardware I'll start passing these around 99 00:04:38,520 --> 00:04:43,440 uh these are some of the hardware that 100 00:04:41,639 --> 00:04:44,820 was put together various iterations of 101 00:04:43,440 --> 00:04:47,180 where you can pass them around I have a 102 00:04:44,820 --> 00:04:47,180 few of them 103 00:04:51,660 --> 00:04:57,419 so this was sort of that Target Hardware 104 00:04:54,000 --> 00:04:58,800 sizing that was put together this is the 105 00:04:57,419 --> 00:05:01,500 docking unit 106 00:04:58,800 --> 00:05:03,840 on which the 107 00:05:01,500 --> 00:05:06,479 which is attached to the bike near the 108 00:05:03,840 --> 00:05:09,380 front and it has a couple of laser 109 00:05:06,479 --> 00:05:09,380 distance sensors 110 00:05:12,060 --> 00:05:17,580 and I'll keep this one this is the main 111 00:05:14,400 --> 00:05:19,620 unit on which the CPU sits and it has 112 00:05:17,580 --> 00:05:21,960 got connectors and stuff we'll talk 113 00:05:19,620 --> 00:05:24,660 about more about that so yeah so a lot 114 00:05:21,960 --> 00:05:26,880 of the target features were essentially 115 00:05:24,660 --> 00:05:29,960 to allow cyclists to recharge the device 116 00:05:26,880 --> 00:05:32,280 make it a bit robust handle vibration 117 00:05:29,960 --> 00:05:34,860 improve the frequency of data capture 118 00:05:32,280 --> 00:05:36,919 and also some sort of enhanced platform 119 00:05:34,860 --> 00:05:39,660 capabilities to view the data 120 00:05:36,919 --> 00:05:41,400 automatically send the data that sort of 121 00:05:39,660 --> 00:05:43,680 brings a bit of a network constraint 122 00:05:41,400 --> 00:05:46,560 this is not an iot device you're talking 123 00:05:43,680 --> 00:05:49,199 about it's actually a logger more like a 124 00:05:46,560 --> 00:05:51,060 Data Logger rather than an iot connected 125 00:05:49,199 --> 00:05:54,360 device 126 00:05:51,060 --> 00:05:58,139 and sort of process the data 127 00:05:54,360 --> 00:06:00,479 so yeah so I swear sort of uh I started 128 00:05:58,139 --> 00:06:02,340 working with Jamie so I did this work I 129 00:06:00,479 --> 00:06:04,620 talked about Dr Jimmy McKenzie is the 130 00:06:02,340 --> 00:06:07,740 Project Lead he sort of did a lot of the 131 00:06:04,620 --> 00:06:08,600 uh wrangling all of the supporters 132 00:06:07,740 --> 00:06:10,860 together 133 00:06:08,600 --> 00:06:14,280 conceptualizing he worked mostly on the 134 00:06:10,860 --> 00:06:16,259 previous study and set this up so I have 135 00:06:14,280 --> 00:06:19,320 done work with the lab previously 136 00:06:16,259 --> 00:06:22,259 modeling vehicles uh using cameras and 137 00:06:19,320 --> 00:06:24,479 sort of 3D modeling Technologies uh to 138 00:06:22,259 --> 00:06:28,199 for creating soft cars which is what 139 00:06:24,479 --> 00:06:30,840 they call for testing detection of cars 140 00:06:28,199 --> 00:06:32,580 by automated Driving Systems so if you 141 00:06:30,840 --> 00:06:35,400 have a collision with this soft car it's 142 00:06:32,580 --> 00:06:38,520 not damaging so they just put a make a 143 00:06:35,400 --> 00:06:40,319 foam car and put it on a platform and 144 00:06:38,520 --> 00:06:42,960 then drive this around in a test range 145 00:06:40,319 --> 00:06:45,660 and see how automated Driving Systems 146 00:06:42,960 --> 00:06:47,639 detect this soft car so I worked on a 147 00:06:45,660 --> 00:06:49,440 rid of that I have presented at the 148 00:06:47,639 --> 00:06:51,660 conference previously about energy 149 00:06:49,440 --> 00:06:53,759 monitors so gme has one of them so he 150 00:06:51,660 --> 00:06:55,380 was familiar with my work around that so 151 00:06:53,759 --> 00:06:57,600 sort of got in involved with this 152 00:06:55,380 --> 00:06:59,819 project so excluding myself and Jamie 153 00:06:57,600 --> 00:07:02,880 that other people involved in doing the 154 00:06:59,819 --> 00:07:04,560 website that analysis and the hardest 155 00:07:02,880 --> 00:07:07,740 part is obviously device deployment 156 00:07:04,560 --> 00:07:09,479 every bike is slightly different and 157 00:07:07,740 --> 00:07:12,000 that requires custom fitting of the 158 00:07:09,479 --> 00:07:16,440 cabling and the device to the bike where 159 00:07:12,000 --> 00:07:18,960 it will go so each fitting takes about 160 00:07:16,440 --> 00:07:20,639 20 minutes to a half an hour so that's 161 00:07:18,960 --> 00:07:23,880 the sort of the challenge in rolling 162 00:07:20,639 --> 00:07:25,800 this sort of measuring device out to 163 00:07:23,880 --> 00:07:29,240 lots and lots of users other than 164 00:07:25,800 --> 00:07:29,240 designing and making them of course 165 00:07:30,180 --> 00:07:34,560 so those are sort of the wrangling the 166 00:07:32,819 --> 00:07:38,460 supporting Network to get the project 167 00:07:34,560 --> 00:07:39,960 offline was obviously Jamie works for 168 00:07:38,460 --> 00:07:41,759 the University of Adelaide and I 169 00:07:39,960 --> 00:07:44,340 contracted with them to get most of the 170 00:07:41,759 --> 00:07:45,720 work done uh this was supported by the 171 00:07:44,340 --> 00:07:47,419 Australian government office of road 172 00:07:45,720 --> 00:07:50,220 safety a city government 173 00:07:47,419 --> 00:07:53,000 various bicycle Network and Pedal Power 174 00:07:50,220 --> 00:07:55,380 are bicycle Alpha advocacy groups 175 00:07:53,000 --> 00:07:57,419 encouraging more people to ride and 176 00:07:55,380 --> 00:08:00,240 making sure the environment is safe for 177 00:07:57,419 --> 00:08:02,039 riding and the website and data 178 00:08:00,240 --> 00:08:05,599 processing pipelines were done by inside 179 00:08:02,039 --> 00:08:05,599 via artificial intelligence 180 00:08:06,240 --> 00:08:10,680 foreign 181 00:08:07,440 --> 00:08:13,680 so that new study uh other than just 182 00:08:10,680 --> 00:08:16,440 doing SCT Canberra and to cover multiple 183 00:08:13,680 --> 00:08:19,259 cities run over longer periods include 184 00:08:16,440 --> 00:08:21,660 more and diverse participants have 185 00:08:19,259 --> 00:08:25,139 aggregated anonymized data available for 186 00:08:21,660 --> 00:08:27,599 researchers for further work or and also 187 00:08:25,139 --> 00:08:30,360 develop open source 188 00:08:27,599 --> 00:08:32,640 friendly generic Hardware that other 189 00:08:30,360 --> 00:08:34,680 cities can adopt build their own and 190 00:08:32,640 --> 00:08:37,700 produce more of these devices for 191 00:08:34,680 --> 00:08:37,700 logging for themselves 192 00:08:37,919 --> 00:08:42,719 so the sort of Designing a piece of 193 00:08:41,099 --> 00:08:45,540 Hardware designing any technology is 194 00:08:42,719 --> 00:08:47,580 sort of a series of choices and when you 195 00:08:45,540 --> 00:08:50,279 make those choices you stick yourself to 196 00:08:47,580 --> 00:08:52,140 a path that you may sort of cannot come 197 00:08:50,279 --> 00:08:54,600 back from or the project gets delayed 198 00:08:52,140 --> 00:08:57,540 sort of deal so the the first choice we 199 00:08:54,600 --> 00:09:00,000 had to make was what was the host CPU to 200 00:08:57,540 --> 00:09:02,100 use or host bold to use so you're not 201 00:09:00,000 --> 00:09:04,680 working at a very low level we are not 202 00:09:02,100 --> 00:09:07,080 designing complex high-speed boards 203 00:09:04,680 --> 00:09:09,480 we're just taking an off-the-shelf 204 00:09:07,080 --> 00:09:12,060 fairly integrated board and building a 205 00:09:09,480 --> 00:09:15,600 larger device around it 206 00:09:12,060 --> 00:09:16,920 so that we did like a decision Matrix 207 00:09:15,600 --> 00:09:19,980 called that I found out these are called 208 00:09:16,920 --> 00:09:21,959 the Pew matrices with little uh scores 209 00:09:19,980 --> 00:09:24,240 on various features we wanted on the 210 00:09:21,959 --> 00:09:27,000 board and how these different things 211 00:09:24,240 --> 00:09:29,940 rated so top of the list was the tinsi 212 00:09:27,000 --> 00:09:32,720 which you see there and the pi board 213 00:09:29,940 --> 00:09:36,000 which is a micropython board 214 00:09:32,720 --> 00:09:38,700 so I tried to get the 10c was obviously 215 00:09:36,000 --> 00:09:40,920 top of the list with its high speed and 216 00:09:38,700 --> 00:09:41,940 built-in microSD card support and lots 217 00:09:40,920 --> 00:09:43,980 of stuff 218 00:09:41,940 --> 00:09:46,320 that was good about it but I tried to 219 00:09:43,980 --> 00:09:48,360 get one from Mauser and Mouser 220 00:09:46,320 --> 00:09:52,320 repeatedly rejected sending it to me due 221 00:09:48,360 --> 00:09:55,100 to itar regulations so we dropped it I'm 222 00:09:52,320 --> 00:09:58,800 on some list somewhere 223 00:09:55,100 --> 00:10:01,980 so they I we had to drop down to the pie 224 00:09:58,800 --> 00:10:03,720 board which was sort of in done mostly 225 00:10:01,980 --> 00:10:06,660 in Melbourne and we reached out to 226 00:10:03,720 --> 00:10:09,660 Damian on slack and we ended up getting 227 00:10:06,660 --> 00:10:12,959 the last 140 Pi boards around in the 228 00:10:09,660 --> 00:10:14,220 world so so if you are trying to get a 229 00:10:12,959 --> 00:10:16,200 micro python Pi board and you're 230 00:10:14,220 --> 00:10:19,160 wondering where they went they are all 231 00:10:16,200 --> 00:10:19,160 attached to bikes 232 00:10:22,320 --> 00:10:27,720 um the other piece of core Hardware in 233 00:10:24,600 --> 00:10:30,959 this is essentially the lidar or the 234 00:10:27,720 --> 00:10:34,980 laser distance measurement sensor 235 00:10:30,959 --> 00:10:38,279 so the the lidar modules have become 236 00:10:34,980 --> 00:10:39,959 pretty commonplace now compared to you 237 00:10:38,279 --> 00:10:44,459 know a few even a few years ago to three 238 00:10:39,959 --> 00:10:46,980 years ago and it had we tried first to 239 00:10:44,459 --> 00:10:50,100 take a hardware device and build our own 240 00:10:46,980 --> 00:10:52,440 lidar module but that proved yeah too 241 00:10:50,100 --> 00:10:54,740 hard because we had to put out a 242 00:10:52,440 --> 00:10:58,260 secondary CPU to read the lidar itself 243 00:10:54,740 --> 00:11:01,260 and so that was a more involved design 244 00:10:58,260 --> 00:11:03,600 exercise so I chose to pick up something 245 00:11:01,260 --> 00:11:05,339 off the shelf this TF Mini Plus which is 246 00:11:03,600 --> 00:11:08,459 probably other than the CPU most 247 00:11:05,339 --> 00:11:11,640 expensive part of this kit 248 00:11:08,459 --> 00:11:13,980 um so this uh so it's sort of that two 249 00:11:11,640 --> 00:11:15,660 TF mini pluses on the system which are 250 00:11:13,980 --> 00:11:17,579 mounted at the front and back of the 251 00:11:15,660 --> 00:11:19,920 bike and they measure of the passing 252 00:11:17,579 --> 00:11:21,779 event also when a car comes past it 253 00:11:19,920 --> 00:11:24,000 passes the back sensor first and then 254 00:11:21,779 --> 00:11:27,240 the front sensor so you can see that it 255 00:11:24,000 --> 00:11:29,760 was a forward passing event so expect a 256 00:11:27,240 --> 00:11:32,040 bit of a gap there based on the speeds 257 00:11:29,760 --> 00:11:34,680 at which the cars travel let's say 60 or 258 00:11:32,040 --> 00:11:36,480 80k's uh you that's why you need the 259 00:11:34,680 --> 00:11:39,060 very high sampling speed compared to 260 00:11:36,480 --> 00:11:40,860 Ultrasonics and other other systems in 261 00:11:39,060 --> 00:11:43,680 order to make sure you get The Passing 262 00:11:40,860 --> 00:11:47,100 was forward sort of event 263 00:11:43,680 --> 00:11:49,440 um and also it's indicates a velocity of 264 00:11:47,100 --> 00:11:52,040 the vehicle as well in a way you get a 265 00:11:49,440 --> 00:11:52,040 speed measurement 266 00:11:52,740 --> 00:11:57,959 so the other bit of Hardware or third 267 00:11:55,620 --> 00:11:59,760 mode most expensive component of the kit 268 00:11:57,959 --> 00:12:03,420 is the GPS 269 00:11:59,760 --> 00:12:07,380 so choosing the GPS is sort of uh again 270 00:12:03,420 --> 00:12:09,240 an exercise in cost and complexity 271 00:12:07,380 --> 00:12:12,060 management and sort of Hardware 272 00:12:09,240 --> 00:12:14,420 integration management you can on the 273 00:12:12,060 --> 00:12:17,459 one side we have like an rtk capable GPS 274 00:12:14,420 --> 00:12:19,320 rtk stands for real-time kinematics so 275 00:12:17,459 --> 00:12:21,480 they give very high accurate post 276 00:12:19,320 --> 00:12:23,519 process GPS but they produce lots of 277 00:12:21,480 --> 00:12:26,459 data that you need to sort of correct 278 00:12:23,519 --> 00:12:28,860 afterwards and other side you have basic 279 00:12:26,459 --> 00:12:31,019 not so accurate GPS that will give you 280 00:12:28,860 --> 00:12:33,779 an indication of a time and 281 00:12:31,019 --> 00:12:35,360 approximately within 10 meters where the 282 00:12:33,779 --> 00:12:39,240 bike was 283 00:12:35,360 --> 00:12:40,980 so just for reducing data volume and 284 00:12:39,240 --> 00:12:43,920 cost reasons we chose the not so 285 00:12:40,980 --> 00:12:46,019 accurate GPS and chose to fix it in post 286 00:12:43,920 --> 00:12:48,720 because the assumption is we don't need 287 00:12:46,019 --> 00:12:51,300 to accurately know whether cyclist is we 288 00:12:48,720 --> 00:12:56,180 will align it to the known Road vectors 289 00:12:51,300 --> 00:12:56,180 which is data quite commonly available 290 00:12:58,380 --> 00:13:03,060 so a bit of our show and tell so that 291 00:13:01,320 --> 00:13:05,459 open source component of the electronics 292 00:13:03,060 --> 00:13:07,560 design was essentially we took mostly 293 00:13:05,459 --> 00:13:08,540 easily available Hardware Open Source 294 00:13:07,560 --> 00:13:10,980 Hardware 295 00:13:08,540 --> 00:13:13,620 or some integrated piece of Hardware 296 00:13:10,980 --> 00:13:16,880 like the TF Mini Plus and put it 297 00:13:13,620 --> 00:13:20,160 together using fairly simplistic 298 00:13:16,880 --> 00:13:22,139 boards in calcad so kai-cad for those 299 00:13:20,160 --> 00:13:25,380 who don't know is a leading open source 300 00:13:22,139 --> 00:13:28,320 ecad Electronics design tool it came 301 00:13:25,380 --> 00:13:29,639 from originally from CERN because they 302 00:13:28,320 --> 00:13:32,639 were designing huge amounts of 303 00:13:29,639 --> 00:13:34,339 electronics for themselves and it also 304 00:13:32,639 --> 00:13:36,300 makes this design when it's public 305 00:13:34,339 --> 00:13:38,639 reproducible for others because you 306 00:13:36,300 --> 00:13:41,880 don't need to license a separate ecat 307 00:13:38,639 --> 00:13:44,040 tool to do iterations on the design if 308 00:13:41,880 --> 00:13:47,820 you need to 309 00:13:44,040 --> 00:13:49,680 so I'll quickly bring up the board so 310 00:13:47,820 --> 00:13:51,420 this is one of the main boards just a 311 00:13:49,680 --> 00:13:54,779 bunch of connectors and Amazon iron 312 00:13:51,420 --> 00:13:56,339 board on which the pi board sits and the 313 00:13:54,779 --> 00:13:58,860 cool thing with this one is you can 314 00:13:56,339 --> 00:14:03,360 actually add step models to each 315 00:13:58,860 --> 00:14:07,339 component on this board so that becomes 316 00:14:03,360 --> 00:14:07,339 so I'm jumping ahead 317 00:14:08,339 --> 00:14:13,620 so that it becomes like this in kite so 318 00:14:11,339 --> 00:14:15,540 you can actually see the 3D model parts 319 00:14:13,620 --> 00:14:17,940 of the board 320 00:14:15,540 --> 00:14:21,000 and that becomes important when you're 321 00:14:17,940 --> 00:14:23,579 designing enclosures and other bits so 322 00:14:21,000 --> 00:14:26,880 gives you an idea of the stack up the 323 00:14:23,579 --> 00:14:27,600 battery the different connectors 324 00:14:26,880 --> 00:14:30,959 um 325 00:14:27,600 --> 00:14:33,180 So Jamie did a lot of this 3D STL stuff 326 00:14:30,959 --> 00:14:35,100 is a mechatronics vht so he's much 327 00:14:33,180 --> 00:14:38,760 better at these things than me 328 00:14:35,100 --> 00:14:42,320 so it looks really cool 329 00:14:38,760 --> 00:14:42,320 just hop back to the presentation 330 00:14:46,980 --> 00:14:51,060 so yeah so they're making the 331 00:14:49,199 --> 00:14:53,639 electronics consists of four separate 332 00:14:51,060 --> 00:14:56,160 boards it's a board stack and they're 333 00:14:53,639 --> 00:14:57,660 designed [ __ ] doesn't do a project with 334 00:14:56,160 --> 00:14:59,220 multiple boards in it you have to design 335 00:14:57,660 --> 00:15:01,680 each board separately but you can 336 00:14:59,220 --> 00:15:03,839 generate 3D models out of them so the 337 00:15:01,680 --> 00:15:06,660 main ones are the sort of connecting the 338 00:15:03,839 --> 00:15:09,480 sensors on having a user interface just 339 00:15:06,660 --> 00:15:11,220 buttons and LEDs no screen it's very 340 00:15:09,480 --> 00:15:12,420 basic it's designed for outdoor usage 341 00:15:11,220 --> 00:15:14,399 you don't want to make it too 342 00:15:12,420 --> 00:15:16,019 complicated the bike will have spills on 343 00:15:14,399 --> 00:15:18,360 their bikes and stuff you don't want to 344 00:15:16,019 --> 00:15:21,000 mess out there 345 00:15:18,360 --> 00:15:22,260 um and uh Amazon board to break out the 346 00:15:21,000 --> 00:15:24,240 pi board 347 00:15:22,260 --> 00:15:26,399 and something to host the battery and 348 00:15:24,240 --> 00:15:28,320 the GPS and other things rather than 349 00:15:26,399 --> 00:15:30,360 building custom Hardware this sort of 350 00:15:28,320 --> 00:15:32,220 thing could be done using an app or 351 00:15:30,360 --> 00:15:35,720 something Riders usually have their 352 00:15:32,220 --> 00:15:40,079 phone in that thing so in their backbone 353 00:15:35,720 --> 00:15:41,699 riding jacket but then you'd need 354 00:15:40,079 --> 00:15:44,100 Bluetooth or similar things to stream 355 00:15:41,699 --> 00:15:45,959 the data that may be a feature iteration 356 00:15:44,100 --> 00:15:48,839 where you have a Bluetooth enabled 357 00:15:45,959 --> 00:15:51,180 device getting accurate GPS from the 358 00:15:48,839 --> 00:15:54,920 phone and just focusing on the lidar and 359 00:15:51,180 --> 00:15:54,920 the distance measurement aspects of it 360 00:15:57,600 --> 00:16:04,380 so from sort of uh it was a from here it 361 00:16:02,399 --> 00:16:06,000 was a jump into either I go into the 362 00:16:04,380 --> 00:16:07,560 enclosure and the mechanical engineering 363 00:16:06,000 --> 00:16:09,240 aspects or I just talk a little bit 364 00:16:07,560 --> 00:16:11,279 about the firmware on the software 365 00:16:09,240 --> 00:16:13,680 aspects so I'll just talk a little bit 366 00:16:11,279 --> 00:16:16,320 about the firmware aspects of it so the 367 00:16:13,680 --> 00:16:19,160 firmware is fairly simple high level 368 00:16:16,320 --> 00:16:22,199 because we chose a micropython board 369 00:16:19,160 --> 00:16:24,240 most of their engineering team are 370 00:16:22,199 --> 00:16:25,980 mechatronics Engineers Automotive Safety 371 00:16:24,240 --> 00:16:27,600 Engineers who don't want to do low level 372 00:16:25,980 --> 00:16:30,240 embedded coding in a custom 373 00:16:27,600 --> 00:16:32,820 microcontroller you just want to be able 374 00:16:30,240 --> 00:16:35,220 to maintain and iterate it most of my 375 00:16:32,820 --> 00:16:37,500 input on this was to make sure that the 376 00:16:35,220 --> 00:16:39,839 maintenance team had sufficient skill to 377 00:16:37,500 --> 00:16:42,120 continue working on this project after 378 00:16:39,839 --> 00:16:44,459 the initial design was done you didn't 379 00:16:42,120 --> 00:16:48,240 need low level assembly skills to make 380 00:16:44,459 --> 00:16:50,699 make it keep working and other bikes and 381 00:16:48,240 --> 00:16:52,560 enthusiasts could use it in somewhere 382 00:16:50,699 --> 00:16:54,620 else in the world without learning 383 00:16:52,560 --> 00:16:56,759 difficult things 384 00:16:54,620 --> 00:16:58,740 setting up their own compiler tool 385 00:16:56,759 --> 00:17:00,839 chains or whatnot 386 00:16:58,740 --> 00:17:03,120 so yeah so that was sort of the 387 00:17:00,839 --> 00:17:05,760 micropython was an easy choice for that 388 00:17:03,120 --> 00:17:09,780 and multiple CPUs these days support 389 00:17:05,760 --> 00:17:11,459 micro python and a fairly easily 390 00:17:09,780 --> 00:17:14,220 available so if in the future if you 391 00:17:11,459 --> 00:17:15,660 choose to move to an ESP risk 5 based 392 00:17:14,220 --> 00:17:17,939 different architecture other than the 393 00:17:15,660 --> 00:17:18,839 stm32 pi board you could move to those 394 00:17:17,939 --> 00:17:21,720 ones 395 00:17:18,839 --> 00:17:25,160 uh and redesign the electronics inside 396 00:17:21,720 --> 00:17:25,160 the enclosure to fit 397 00:17:26,819 --> 00:17:33,240 uh so the firmware the the fun part of 398 00:17:30,240 --> 00:17:36,179 the firmware is that micropython has is 399 00:17:33,240 --> 00:17:38,940 the sort of uh lots of sensor reading at 400 00:17:36,179 --> 00:17:40,860 different speeds so GPS is red at one 401 00:17:38,940 --> 00:17:43,200 Hertz the fastest thing is the lidar 402 00:17:40,860 --> 00:17:45,179 which is right at 50 hertz the 403 00:17:43,200 --> 00:17:46,980 temperature is right at one Hertz and 404 00:17:45,179 --> 00:17:48,600 the other thing is how long can you keep 405 00:17:46,980 --> 00:17:50,940 logging so the battery and the power 406 00:17:48,600 --> 00:17:52,740 management is quite important so the 407 00:17:50,940 --> 00:17:54,539 battery levels are red and if the 408 00:17:52,740 --> 00:17:56,700 battery goes too low then it goes to 409 00:17:54,539 --> 00:18:00,240 sleep sort of deal to keep all the logs 410 00:17:56,700 --> 00:18:04,400 in place we also need to write a flash 411 00:18:00,240 --> 00:18:07,080 to a Micro SD card all of the logs which 412 00:18:04,400 --> 00:18:09,360 micro python provides a cool way to 413 00:18:07,080 --> 00:18:13,020 appear as a storage device when you plug 414 00:18:09,360 --> 00:18:14,820 in so you can offload the device by just 415 00:18:13,020 --> 00:18:18,360 plugging it in and making the MicroSD 416 00:18:14,820 --> 00:18:20,580 card look as a USB drive so it makes it 417 00:18:18,360 --> 00:18:22,799 really easy for people to without a 418 00:18:20,580 --> 00:18:27,740 custom client to get the log files off 419 00:18:22,799 --> 00:18:27,740 and upload them into the web service 420 00:18:27,799 --> 00:18:34,440 so the hardware versions will go up 421 00:18:32,100 --> 00:18:37,740 probably and a logging format has to 422 00:18:34,440 --> 00:18:39,900 change as we include so that's the other 423 00:18:37,740 --> 00:18:42,360 bit of thing I had to sort out was 424 00:18:39,900 --> 00:18:45,480 essentially getting a logging format I 425 00:18:42,360 --> 00:18:50,660 sort of badly just invented another 426 00:18:45,480 --> 00:18:55,080 standard I guess for saving the logs 427 00:18:50,660 --> 00:18:57,299 I looked at various libraries for uh 428 00:18:55,080 --> 00:18:59,580 saving things like parquet and other 429 00:18:57,299 --> 00:19:01,860 file formats to save the logs in a 430 00:18:59,580 --> 00:19:04,799 standard form but that none more 431 00:19:01,860 --> 00:19:07,740 available for micropython so I just 432 00:19:04,799 --> 00:19:10,080 invented like a bit packed binary struct 433 00:19:07,740 --> 00:19:13,200 style library with a CRC where you can 434 00:19:10,080 --> 00:19:15,960 batch and write to the micro SD in the 435 00:19:13,200 --> 00:19:19,440 future may go back to a more standard 436 00:19:15,960 --> 00:19:22,440 way of saving all of the data 437 00:19:19,440 --> 00:19:22,440 so 438 00:19:24,179 --> 00:19:28,980 yes that's sort of the consideration 439 00:19:26,280 --> 00:19:31,980 here we came up with a custom format 440 00:19:28,980 --> 00:19:32,880 called dot Velo where the files are 441 00:19:31,980 --> 00:19:35,660 written 442 00:19:32,880 --> 00:19:35,660 and 443 00:19:36,120 --> 00:19:41,820 the fun part with micropython was uh we 444 00:19:39,179 --> 00:19:45,840 could do that instead of doing uh when 445 00:19:41,820 --> 00:19:48,539 this is time or this load this uh sensor 446 00:19:45,840 --> 00:19:50,940 or a timer disk write this out in an 447 00:19:48,539 --> 00:19:52,980 infinite loop with micropython we could 448 00:19:50,940 --> 00:19:54,299 do like a sort of a more abstract 449 00:19:52,980 --> 00:19:56,640 approach and Implement some core 450 00:19:54,299 --> 00:19:58,380 routines where you could have 451 00:19:56,640 --> 00:20:02,100 independent functions which would read 452 00:19:58,380 --> 00:20:03,900 the sensors and just sleep and then the 453 00:20:02,100 --> 00:20:05,940 single threader scheduler and 454 00:20:03,900 --> 00:20:08,640 micropython will wake up the right core 455 00:20:05,940 --> 00:20:10,740 routine and do do the uh do the 456 00:20:08,640 --> 00:20:12,660 appropriate function making it much more 457 00:20:10,740 --> 00:20:15,179 abstractable 458 00:20:12,660 --> 00:20:18,179 so I'm just going to quickly show the 459 00:20:15,179 --> 00:20:20,880 sort of the core routine part of it 460 00:20:18,179 --> 00:20:23,100 so there's not too much code in this 461 00:20:20,880 --> 00:20:26,700 presentation it's mostly just pictures 462 00:20:23,100 --> 00:20:29,039 of Hardware stuff this is the Data 463 00:20:26,700 --> 00:20:33,120 Logger part of it which has got this 464 00:20:29,039 --> 00:20:34,799 little async infinite Loops for writing 465 00:20:33,120 --> 00:20:37,799 logs 466 00:20:34,799 --> 00:20:41,520 another another read distance and it's 467 00:20:37,799 --> 00:20:43,620 just a sync infinite Loop and most of 468 00:20:41,520 --> 00:20:45,960 the time is just sleeping and waiting 469 00:20:43,620 --> 00:20:47,940 for doing the next one so it has got the 470 00:20:45,960 --> 00:20:50,000 reading of the distance sensor 471 00:20:47,940 --> 00:20:52,620 updating of the GPS 472 00:20:50,000 --> 00:20:54,179 buffer reading the GPS buffer from the 473 00:20:52,620 --> 00:20:56,240 uart 474 00:20:54,179 --> 00:20:59,280 reading temperature 475 00:20:56,240 --> 00:21:01,500 reading voltages from the batteries and 476 00:20:59,280 --> 00:21:06,059 then a little heartbeat LED so 477 00:21:01,500 --> 00:21:09,419 everything is implemented as a Cinco 478 00:21:06,059 --> 00:21:12,120 core routine style stuff in this high 479 00:21:09,419 --> 00:21:15,179 level way and then you just create this 480 00:21:12,120 --> 00:21:17,940 outside Loop and make all of the subcore 481 00:21:15,179 --> 00:21:21,120 routines run underneath it it's in the 482 00:21:17,940 --> 00:21:22,860 future if you add more sensors or 483 00:21:21,120 --> 00:21:25,080 something else you can just create new 484 00:21:22,860 --> 00:21:28,160 core routines and hopefully they are not 485 00:21:25,080 --> 00:21:28,160 thrashing over each other 486 00:21:33,360 --> 00:21:38,400 so yeah so that was like a really cool 487 00:21:35,700 --> 00:21:40,559 way to use micropython and use those 488 00:21:38,400 --> 00:21:42,659 core routines to have just gradually 489 00:21:40,559 --> 00:21:45,080 build up different sensors and make sure 490 00:21:42,659 --> 00:21:48,120 they all work 491 00:21:45,080 --> 00:21:49,679 and also the user input for pressing the 492 00:21:48,120 --> 00:21:51,480 power switch and anything else was 493 00:21:49,679 --> 00:21:54,500 detected 494 00:21:51,480 --> 00:21:57,900 so now I'll go back to the hardware bits 495 00:21:54,500 --> 00:21:59,059 around the casing and design so most of 496 00:21:57,900 --> 00:22:05,100 the 497 00:21:59,059 --> 00:22:09,799 mechanical design was done in freecad so 498 00:22:05,100 --> 00:22:12,200 free pad is a parametric modeling solid 499 00:22:09,799 --> 00:22:14,640 engineering CAD tool 500 00:22:12,200 --> 00:22:17,240 Jamie honestly did most of the work here 501 00:22:14,640 --> 00:22:20,760 being a mechatronics mechanical engineer 502 00:22:17,240 --> 00:22:22,860 he just picked up all of the ecad stuff 503 00:22:20,760 --> 00:22:24,960 exported it out to STL which I was 504 00:22:22,860 --> 00:22:28,440 showing is what you can do out of 505 00:22:24,960 --> 00:22:30,240 kai-cad and you can then take it into a 506 00:22:28,440 --> 00:22:32,220 mechanical design tool put it in and 507 00:22:30,240 --> 00:22:35,159 start putting casings around the 508 00:22:32,220 --> 00:22:36,600 electronics assemblies and sort of have 509 00:22:35,159 --> 00:22:38,940 pretty good confidence that they will 510 00:22:36,600 --> 00:22:41,400 fit so one of the gotchas I got from 511 00:22:38,940 --> 00:22:43,980 previously designing it is that in 512 00:22:41,400 --> 00:22:46,559 addition to working making sure it will 513 00:22:43,980 --> 00:22:49,440 fit you need to make sure that you can 514 00:22:46,559 --> 00:22:51,000 slide the electronics assembly into into 515 00:22:49,440 --> 00:22:51,900 the Mechanicals we have to have a little 516 00:22:51,000 --> 00:22:54,539 bit of clear 517 00:22:51,900 --> 00:22:57,120 for rotation so that things can slide in 518 00:22:54,539 --> 00:22:58,980 so 3D printing really helped with doing 519 00:22:57,120 --> 00:23:01,320 lots and lots of iterations of the 520 00:22:58,980 --> 00:23:04,200 enclosure making sure you got the right 521 00:23:01,320 --> 00:23:06,900 size before you go went and got lots of 522 00:23:04,200 --> 00:23:09,240 them made so the project never really 523 00:23:06,900 --> 00:23:10,799 did injection molding or anything so all 524 00:23:09,240 --> 00:23:13,080 of the enclosures you see floating 525 00:23:10,799 --> 00:23:16,500 around and this one this is the 526 00:23:13,080 --> 00:23:20,400 enclosure in the diagram that is 527 00:23:16,500 --> 00:23:22,260 actually printed by pcbway it's pretty 528 00:23:20,400 --> 00:23:24,059 solid high density and you can hardly 529 00:23:22,260 --> 00:23:28,520 see the layering in there it's pretty 530 00:23:24,059 --> 00:23:28,520 thin layers so it's pretty solid 531 00:23:28,860 --> 00:23:34,559 and then there is a mount for the lidar 532 00:23:31,919 --> 00:23:37,340 sensors and stuff with vinyl that you 533 00:23:34,559 --> 00:23:40,020 put onto the bike and any amount of 534 00:23:37,340 --> 00:23:43,880 cable ties to make sure nothing falls 535 00:23:40,020 --> 00:23:43,880 off when it actually goes on 536 00:23:46,679 --> 00:23:54,059 so uh freecad had a problem called 537 00:23:51,740 --> 00:23:56,520 topological naming problem so when 538 00:23:54,059 --> 00:23:59,220 whenever you have a stacked up assembly 539 00:23:56,520 --> 00:24:03,900 tree and you changed one part down in 540 00:23:59,220 --> 00:24:06,780 the ecad in the cad the entire thing 541 00:24:03,900 --> 00:24:09,059 will fall and crash so they're they're 542 00:24:06,780 --> 00:24:12,380 still looking for help in fixing the 543 00:24:09,059 --> 00:24:12,380 topological naming problem 544 00:24:12,600 --> 00:24:16,919 so I'll just go over freecad a little 545 00:24:15,360 --> 00:24:19,320 bit just to show all the open source 546 00:24:16,919 --> 00:24:22,080 tooling we are using so this is I as I 547 00:24:19,320 --> 00:24:25,460 was saying the STL exported from kai-cad 548 00:24:22,080 --> 00:24:29,159 can be seen here is sort of the same 549 00:24:25,460 --> 00:24:33,500 step file with the different parts of it 550 00:24:29,159 --> 00:24:33,500 and you can turn on the 551 00:24:33,659 --> 00:24:38,900 different parts of the cap so that's the 552 00:24:36,600 --> 00:24:42,419 cap there 553 00:24:38,900 --> 00:24:45,980 then actual Extrusion of the tube 554 00:24:42,419 --> 00:24:45,980 on a recap 555 00:24:49,580 --> 00:24:57,539 and then there's the the actual main 556 00:24:53,940 --> 00:25:00,179 board there which is imported from cacad 557 00:24:57,539 --> 00:25:03,120 so yeah so all of the STL files are 558 00:25:00,179 --> 00:25:07,460 available or for printing and other 559 00:25:03,120 --> 00:25:07,460 people to build a similar device 560 00:25:11,220 --> 00:25:15,659 yeah 561 00:25:12,600 --> 00:25:18,840 so the other big part of building these 562 00:25:15,659 --> 00:25:21,840 things is the connectors and the screws 563 00:25:18,840 --> 00:25:25,860 and all of the stuff so uh any any 564 00:25:21,840 --> 00:25:28,679 device that that's sort of uh 565 00:25:25,860 --> 00:25:32,460 out there is subjected to vibration and 566 00:25:28,679 --> 00:25:34,980 stuff they live a rough life and so that 567 00:25:32,460 --> 00:25:37,440 this is where it will most likely fail 568 00:25:34,980 --> 00:25:39,600 so most of the connected choices made 569 00:25:37,440 --> 00:25:41,039 for even for pcbs were through holes so 570 00:25:39,600 --> 00:25:45,600 that they had more mechanical strength 571 00:25:41,039 --> 00:25:47,760 in them and uh that there's one external 572 00:25:45,600 --> 00:25:50,039 facing thing in here which is 573 00:25:47,760 --> 00:25:52,200 essentially this button so it's sort of 574 00:25:50,039 --> 00:25:55,440 outdoor rated and we try to keep 575 00:25:52,200 --> 00:25:58,620 everything else on the inside so this 576 00:25:55,440 --> 00:26:00,240 USB connector is also outdoor rated but 577 00:25:58,620 --> 00:26:01,860 it's not designed to be sort of exposed 578 00:26:00,240 --> 00:26:05,700 to rain so it doesn't have a cover and 579 00:26:01,860 --> 00:26:08,220 such so so the way it fits in the boards 580 00:26:05,700 --> 00:26:11,039 you have there it slots on and this is 581 00:26:08,220 --> 00:26:13,260 on the inside and so the only thing 582 00:26:11,039 --> 00:26:15,799 Exposed on the outside is um is the 583 00:26:13,260 --> 00:26:15,799 switch 584 00:26:19,500 --> 00:26:24,000 so a fair amount of time was spent 585 00:26:21,419 --> 00:26:26,400 assembling all of the pcbs Adler 586 00:26:24,000 --> 00:26:29,760 University got their own Reflow oven 587 00:26:26,400 --> 00:26:32,600 got a bunch of postdocs and grad 588 00:26:29,760 --> 00:26:35,419 students to put put the boxes together 589 00:26:32,600 --> 00:26:39,620 so overall around 590 00:26:35,419 --> 00:26:39,620 140 units were built 591 00:26:40,820 --> 00:26:47,279 so the the unit also has uh different 592 00:26:44,940 --> 00:26:50,100 modes basically logging and programming 593 00:26:47,279 --> 00:26:52,500 based on how it goes into the dock and 594 00:26:50,100 --> 00:26:54,299 it detects the pins that are in and that 595 00:26:52,500 --> 00:26:56,520 acts as a sensor and then when you take 596 00:26:54,299 --> 00:26:58,679 it off it becomes like a storage device 597 00:26:56,520 --> 00:27:01,320 and goes off logging mode 598 00:26:58,679 --> 00:27:04,200 and that's sort of putting it in the 599 00:27:01,320 --> 00:27:08,240 dock and pulling out acts as a 600 00:27:04,200 --> 00:27:11,820 sort of as a switching mode as well 601 00:27:08,240 --> 00:27:15,500 uh the most of the equipment and battery 602 00:27:11,820 --> 00:27:15,500 is just housed in here 603 00:27:18,900 --> 00:27:25,200 so setting up the bulk as you can see 604 00:27:23,400 --> 00:27:27,179 like I almost looks like you are 605 00:27:25,200 --> 00:27:30,299 planning to do some Bitcoin mining or 606 00:27:27,179 --> 00:27:33,059 something with USB hubs a lot 607 00:27:30,299 --> 00:27:35,640 a big USB hub with lots of your things 608 00:27:33,059 --> 00:27:38,000 to charge up all of the units in the 609 00:27:35,640 --> 00:27:40,919 mass assembly line 610 00:27:38,000 --> 00:27:43,799 and the charging should be monitored 611 00:27:40,919 --> 00:27:45,720 because even though it's 1860 or 50s are 612 00:27:43,799 --> 00:27:48,600 relatively stable they're still far 613 00:27:45,720 --> 00:27:51,559 hazards uh hopefully there will be no 614 00:27:48,600 --> 00:27:51,559 leaks or accidents 615 00:27:53,520 --> 00:27:58,140 and this is the sort of we are now going 616 00:27:56,400 --> 00:28:00,360 to the last part of the presentation 617 00:27:58,140 --> 00:28:02,120 where it's not what's out what comes out 618 00:28:00,360 --> 00:28:06,000 of it this is the 619 00:28:02,120 --> 00:28:09,299 bad custom format I invented to pack the 620 00:28:06,000 --> 00:28:12,299 different uh values into it 621 00:28:09,299 --> 00:28:14,159 um uh and make it easier to on the 622 00:28:12,299 --> 00:28:15,900 memory and storing on the SD card not 623 00:28:14,159 --> 00:28:18,179 that the SD card Runs Out of Space it's 624 00:28:15,900 --> 00:28:20,779 just easier to flush the smaller binary 625 00:28:18,179 --> 00:28:20,779 files on 626 00:28:23,659 --> 00:28:29,100 this is like a will take up longer than 627 00:28:26,460 --> 00:28:32,419 I have talked this is a sort of a sample 628 00:28:29,100 --> 00:28:32,419 of a passing event 629 00:28:33,380 --> 00:28:39,360 so one of the compromises we had to make 630 00:28:36,659 --> 00:28:41,460 during the design of the device was to 631 00:28:39,360 --> 00:28:43,740 not include cameras because we would 632 00:28:41,460 --> 00:28:46,020 need a higher level device with UVC 633 00:28:43,740 --> 00:28:48,600 video capability to have the cameras on 634 00:28:46,020 --> 00:28:50,220 and then put this together so this was 635 00:28:48,600 --> 00:28:52,860 this is a synthetic video with the 636 00:28:50,220 --> 00:28:55,260 device logging distance and the rider 637 00:28:52,860 --> 00:28:57,000 having cameras on the side and then it's 638 00:28:55,260 --> 00:28:59,100 stitched together again in the post to 639 00:28:57,000 --> 00:29:02,640 demonstrate what it looks like 640 00:28:59,100 --> 00:29:04,799 so this is a relatively safe ride with 641 00:29:02,640 --> 00:29:06,419 most of the passing distances more than 642 00:29:04,799 --> 00:29:09,539 one and a half meters 643 00:29:06,419 --> 00:29:11,460 uh but you can see the yellow Edge where 644 00:29:09,539 --> 00:29:14,460 the car is first seen on the red Edge 645 00:29:11,460 --> 00:29:17,179 when the car passes by and the sort of 646 00:29:14,460 --> 00:29:20,220 the changing distance between the rider 647 00:29:17,179 --> 00:29:22,020 and the rider on the vehicle on the 648 00:29:20,220 --> 00:29:24,240 outside you can sort of get an idea of 649 00:29:22,020 --> 00:29:27,299 the far for this distance the laser 650 00:29:24,240 --> 00:29:30,480 sensors see up to three meters away 651 00:29:27,299 --> 00:29:32,580 and legislation says the car passing 652 00:29:30,480 --> 00:29:35,720 distance is one and a half meters and 653 00:29:32,580 --> 00:29:38,700 then one meter on a 654 00:29:35,720 --> 00:29:41,480 so most of the passing here is 655 00:29:38,700 --> 00:29:41,480 relatively safe 656 00:29:42,360 --> 00:29:47,880 uh the rider is indicating out because 657 00:29:45,299 --> 00:29:49,740 there's a parked vehicle they're coming 658 00:29:47,880 --> 00:29:53,840 out onto the road 659 00:29:49,740 --> 00:29:53,840 cars are still making space for 660 00:29:54,240 --> 00:29:59,340 and then back onto the bike lane 661 00:29:56,760 --> 00:30:01,320 so the passing Behavior shifts based on 662 00:29:59,340 --> 00:30:03,779 whether there is a bike lane or not so 663 00:30:01,320 --> 00:30:05,640 we'll see what the study comes out but 664 00:30:03,779 --> 00:30:07,980 typically if there is a bike lane 665 00:30:05,640 --> 00:30:11,360 passing distances are actually smaller 666 00:30:07,980 --> 00:30:11,360 then if there isn't 667 00:30:12,600 --> 00:30:16,220 uh so I've got 668 00:30:18,179 --> 00:30:23,059 seriously I've got a sample here of 669 00:30:23,539 --> 00:30:26,720 closer pass 670 00:30:28,919 --> 00:30:33,720 so a lot of the passes in this 671 00:30:31,140 --> 00:30:36,500 particular video are closer much closer 672 00:30:33,720 --> 00:30:36,500 than the other one 673 00:30:52,140 --> 00:30:55,520 scroll forward a bit 674 00:31:02,820 --> 00:31:09,140 so you can see here the one and a half 675 00:31:05,340 --> 00:31:09,140 meter passing distance is not there 676 00:31:23,520 --> 00:31:27,779 so these videos are up on YouTube and I 677 00:31:25,799 --> 00:31:29,399 will make the slide tag public and more 678 00:31:27,779 --> 00:31:32,279 data will come up probably not with 679 00:31:29,399 --> 00:31:35,120 video but more aggregated data 680 00:31:32,279 --> 00:31:35,120 of 681 00:31:36,059 --> 00:31:39,059 students 682 00:31:39,600 --> 00:31:43,220 let me run the slideshow 683 00:32:04,260 --> 00:32:10,039 so yeah so the recordings are uploaded 684 00:32:06,720 --> 00:32:12,360 in this sort of web UI so there's a site 685 00:32:10,039 --> 00:32:14,460 project.fellowcraft.app and once you 686 00:32:12,360 --> 00:32:17,580 sign up you get a custom code 687 00:32:14,460 --> 00:32:19,440 and the devices are usually passed 688 00:32:17,580 --> 00:32:21,960 around between people by the bicycle 689 00:32:19,440 --> 00:32:23,880 advice groups or the castle lab where 690 00:32:21,960 --> 00:32:26,279 they're fitted and you get a custom code 691 00:32:23,880 --> 00:32:27,960 with which to upload your data you don't 692 00:32:26,279 --> 00:32:30,440 have to share any of your details other 693 00:32:27,960 --> 00:32:32,640 than what's here 694 00:32:30,440 --> 00:32:34,860 when we were fitting one of the bikes 695 00:32:32,640 --> 00:32:37,080 one of the people just made a comment 696 00:32:34,860 --> 00:32:37,860 that all of my stuff is logged in Strava 697 00:32:37,080 --> 00:32:40,980 anyway 698 00:32:37,860 --> 00:32:44,039 but you know the Privacy stuff is 699 00:32:40,980 --> 00:32:46,380 interesting and university has to abide 700 00:32:44,039 --> 00:32:49,020 by those what what people share publicly 701 00:32:46,380 --> 00:32:51,840 is sort of a matter of opinion and 702 00:32:49,020 --> 00:32:53,880 comfort with that sort of data uh you 703 00:32:51,840 --> 00:32:55,440 just have to say how far you are so that 704 00:32:53,880 --> 00:32:59,000 that measurement can be taken from the 705 00:32:55,440 --> 00:32:59,000 edge of the bike to the outside 706 00:33:04,080 --> 00:33:11,039 yeah so uh and then this is sort of a 707 00:33:08,039 --> 00:33:13,919 sample uh that as I was saying we fixed 708 00:33:11,039 --> 00:33:15,860 the GPS in post uh because it's a pretty 709 00:33:13,919 --> 00:33:18,899 cheap and nasty GPS 710 00:33:15,860 --> 00:33:22,320 and the GPS is automatically snapped 711 00:33:18,899 --> 00:33:24,360 into the roadway or where appropriate uh 712 00:33:22,320 --> 00:33:26,580 in post-processing 713 00:33:24,360 --> 00:33:29,519 uh the passing events are identified and 714 00:33:26,580 --> 00:33:31,740 displayed so uh the user whoever 715 00:33:29,519 --> 00:33:33,260 uploaded the data has access to their 716 00:33:31,740 --> 00:33:36,000 passing events 717 00:33:33,260 --> 00:33:38,279 and they can come back and check on that 718 00:33:36,000 --> 00:33:39,960 because every user gets a custom code to 719 00:33:38,279 --> 00:33:42,659 upload that out of it 720 00:33:39,960 --> 00:33:45,480 and symbols are sort of colored in based 721 00:33:42,659 --> 00:33:48,360 on the distance so green means good 722 00:33:45,480 --> 00:33:50,820 pale green means not closer and then red 723 00:33:48,360 --> 00:33:54,080 orange means getting yeah red means it's 724 00:33:50,820 --> 00:33:54,080 less than the legal limit 725 00:33:55,380 --> 00:34:03,000 so yeah so project dot fellow graph.app 726 00:33:59,220 --> 00:34:05,580 is sort of the sign-in page you can log 727 00:34:03,000 --> 00:34:08,040 in and upload your data there you can 728 00:34:05,580 --> 00:34:10,139 sign up Melbourne is one of the sites 729 00:34:08,040 --> 00:34:14,240 where volunteers are being requested for 730 00:34:10,139 --> 00:34:14,240 uh participation in the study 731 00:34:14,399 --> 00:34:23,460 uh registration is open uh so until June 732 00:34:19,800 --> 00:34:25,980 is the plan but it can be extended if 733 00:34:23,460 --> 00:34:27,980 the supporting bodies can provide the 734 00:34:25,980 --> 00:34:31,440 sort of the installation 735 00:34:27,980 --> 00:34:34,139 and then as more partner organizations 736 00:34:31,440 --> 00:34:36,300 are found in other cities they can also 737 00:34:34,139 --> 00:34:38,700 set up the devices as long as the 738 00:34:36,300 --> 00:34:41,119 devices don't break we can keep circling 739 00:34:38,700 --> 00:34:41,119 them around 740 00:34:42,780 --> 00:34:48,540 so this is sort of uh the invitation not 741 00:34:46,020 --> 00:34:52,560 so public invitation to uh Jamie has a 742 00:34:48,540 --> 00:34:56,220 still on his private GitHub to build and 743 00:34:52,560 --> 00:34:58,619 Remax remix so all of the data is there 744 00:34:56,220 --> 00:35:01,320 it has been worked on for a while this 745 00:34:58,619 --> 00:35:03,660 is I took the screenshot a while ago uh 746 00:35:01,320 --> 00:35:05,700 we're sort of waiting University UA 747 00:35:03,660 --> 00:35:08,240 University of Adelaide permission to 748 00:35:05,700 --> 00:35:08,240 make it public 749 00:35:09,300 --> 00:35:14,220 uh yeah and that's the end of my talk 750 00:35:12,240 --> 00:35:16,880 the device looks really cool when it's 751 00:35:14,220 --> 00:35:21,200 all wrapped up in vinyl 752 00:35:16,880 --> 00:35:25,320 and the study has been running and has 753 00:35:21,200 --> 00:35:26,940 5046 users yeah 23 000 passing events 754 00:35:25,320 --> 00:35:30,300 have been detected Jamie just sent me 755 00:35:26,940 --> 00:35:32,460 the stats earlier to me which is sort of 756 00:35:30,300 --> 00:35:34,920 already more than the previous study 757 00:35:32,460 --> 00:35:37,320 that took place in Canberra in just a 758 00:35:34,920 --> 00:35:39,119 month or so so that it will keep running 759 00:35:37,320 --> 00:35:41,940 and will hopefully gather more data 760 00:35:39,119 --> 00:35:44,940 across multiple cities thank you 761 00:35:41,940 --> 00:35:44,940 foreign 762 00:35:46,100 --> 00:35:49,270 [Applause] 763 00:35:59,599 --> 00:36:03,839 ambient temperature I presume outside 764 00:36:01,740 --> 00:36:04,980 temperature what we're going to do with 765 00:36:03,839 --> 00:36:07,680 that data 766 00:36:04,980 --> 00:36:09,660 so the temperature is being recorded are 767 00:36:07,680 --> 00:36:13,440 ambient temperature and Road surface 768 00:36:09,660 --> 00:36:15,000 temperature uh so uh so that sort of is 769 00:36:13,440 --> 00:36:16,560 another it's not related to the 770 00:36:15,000 --> 00:36:18,540 separation but it's the other part of 771 00:36:16,560 --> 00:36:20,520 the research around the traction that 772 00:36:18,540 --> 00:36:22,880 the bike gets and riding conditions and 773 00:36:20,520 --> 00:36:22,880 so on 774 00:36:36,119 --> 00:36:41,400 when you get a close 775 00:36:39,300 --> 00:36:44,960 when you get a close passing event by 776 00:36:41,400 --> 00:36:44,960 how much can you boost the laser power 777 00:36:48,200 --> 00:36:52,740 to be safe it's only a measuring device 778 00:36:50,700 --> 00:36:57,119 right so it's an outdoor measuring 779 00:36:52,740 --> 00:37:01,460 device it's not a laser weapon so 780 00:36:57,119 --> 00:37:01,460 it's it's not power it's not bursted 781 00:37:06,060 --> 00:37:11,160 does the project plan on doing any 782 00:37:08,040 --> 00:37:12,780 computer vision on the data from the 783 00:37:11,160 --> 00:37:14,530 camera it's like you know make and model 784 00:37:12,780 --> 00:37:17,000 of course 785 00:37:14,530 --> 00:37:19,619 [Laughter] 786 00:37:17,000 --> 00:37:21,300 so that that brings another sort of 787 00:37:19,619 --> 00:37:22,740 challenge around privacy and recording 788 00:37:21,300 --> 00:37:24,359 the number plates the currently that 789 00:37:22,740 --> 00:37:26,760 project doesn't have cameras integrated 790 00:37:24,359 --> 00:37:28,740 in it because it's using a very low 791 00:37:26,760 --> 00:37:31,500 level microprocessor right so it doesn't 792 00:37:28,740 --> 00:37:34,260 have my stem32 mic Pi board doesn't have 793 00:37:31,500 --> 00:37:36,900 support for video and cameras so if you 794 00:37:34,260 --> 00:37:38,820 move up the stack to a like a Raspberry 795 00:37:36,900 --> 00:37:41,160 Pi or some other Linux capable device 796 00:37:38,820 --> 00:37:44,220 which has a VC video and you can put the 797 00:37:41,160 --> 00:37:47,220 cameras on uh but there you could do it 798 00:37:44,220 --> 00:37:50,339 there was a study done uh in first sort 799 00:37:47,220 --> 00:37:52,500 of road safety area with cameras mounted 800 00:37:50,339 --> 00:37:54,540 in intersections which is one of the 801 00:37:52,500 --> 00:37:57,240 areas where most of the collisions occur 802 00:37:54,540 --> 00:37:58,920 that uh the cars turn without looking at 803 00:37:57,240 --> 00:38:00,960 cyclists 804 00:37:58,920 --> 00:38:03,060 um and that that's used computer vision 805 00:38:00,960 --> 00:38:05,220 to identify cyclists and cars coming 806 00:38:03,060 --> 00:38:08,240 past that intersection this was a fixed 807 00:38:05,220 --> 00:38:08,240 camera study 808 00:38:12,000 --> 00:38:16,260 how long did you spend developing the 809 00:38:15,060 --> 00:38:17,960 hardware 810 00:38:16,260 --> 00:38:21,839 uh 811 00:38:17,960 --> 00:38:23,339 the it went in bits and pieces so at 812 00:38:21,839 --> 00:38:26,820 least six months 813 00:38:23,339 --> 00:38:28,859 uh doing the mechanical engineering the 814 00:38:26,820 --> 00:38:33,020 hardware the electronics engineering 815 00:38:28,859 --> 00:38:33,020 parts of it different iterations of it 816 00:38:37,500 --> 00:38:43,400 I was wondering is UV issue with 817 00:38:40,320 --> 00:38:46,440 degrading the 3D printed bits or 818 00:38:43,400 --> 00:38:48,119 they are covered they have got vinyl 819 00:38:46,440 --> 00:38:49,859 covering on them similar to vinyl 820 00:38:48,119 --> 00:38:51,020 covering people apply on their cars and 821 00:38:49,859 --> 00:38:54,839 stuff 822 00:38:51,020 --> 00:38:58,339 so uh there we will find out how the 823 00:38:54,839 --> 00:38:58,339 casing goes out in the world 824 00:39:00,300 --> 00:39:05,220 I'm wondering um like failure modes of 825 00:39:03,060 --> 00:39:06,780 the like commercial Hardware that you're 826 00:39:05,220 --> 00:39:08,940 using like the boards and that have you 827 00:39:06,780 --> 00:39:12,000 found them standing up to the task of 828 00:39:08,940 --> 00:39:13,740 this or yeah so some some of them like 829 00:39:12,000 --> 00:39:15,020 in the bring up fail like this is a 830 00:39:13,740 --> 00:39:16,980 failed unit 831 00:39:15,020 --> 00:39:19,140 uh the 832 00:39:16,980 --> 00:39:21,300 the the connections and stuff hasn't 833 00:39:19,140 --> 00:39:22,500 failed yet so it has been going for a 834 00:39:21,300 --> 00:39:24,000 month and there have been no unit 835 00:39:22,500 --> 00:39:27,000 failure so there have been 46 minutes 836 00:39:24,000 --> 00:39:29,820 out there uh they haven't failed in a 837 00:39:27,000 --> 00:39:32,720 month so the study only has to last 838 00:39:29,820 --> 00:39:34,980 three months or so 839 00:39:32,720 --> 00:39:38,060 and after that we'll have to probably do 840 00:39:34,980 --> 00:39:38,060 new versions and such 841 00:39:46,260 --> 00:39:53,160 thank you um do you have the uh the the 842 00:39:48,599 --> 00:39:56,400 unit cost of the the each unit you yeah 843 00:39:53,160 --> 00:39:57,900 yeah so the because this was a sort of a 844 00:39:56,400 --> 00:39:59,940 government-funded project there was a 845 00:39:57,900 --> 00:40:03,180 fixed budget to which you are working to 846 00:39:59,940 --> 00:40:05,820 so that was the cost was the 500 a unit 847 00:40:03,180 --> 00:40:09,780 the most expensive parts are the lasers 848 00:40:05,820 --> 00:40:12,300 which uh retail around 70 each 849 00:40:09,780 --> 00:40:14,579 and the pi board obviously as the other 850 00:40:12,300 --> 00:40:17,220 most expensive part of it and then lots 851 00:40:14,579 --> 00:40:19,079 of Labor and stuff in putting it in 852 00:40:17,220 --> 00:40:21,900 a lot of questions more about the the 853 00:40:19,079 --> 00:40:23,520 research with uh with the the data the 854 00:40:21,900 --> 00:40:25,020 users have to put in and they need to 855 00:40:23,520 --> 00:40:27,540 provide those measurements from their 856 00:40:25,020 --> 00:40:30,960 bikes will there be 857 00:40:27,540 --> 00:40:34,320 um statistical sort of checks to to look 858 00:40:30,960 --> 00:40:36,300 at the accuracy of that data entry 859 00:40:34,320 --> 00:40:38,460 um you know if a user got put the wrong 860 00:40:36,300 --> 00:40:40,079 entry wrong data wrong measurements in 861 00:40:38,460 --> 00:40:42,839 that could affect the passing distance 862 00:40:40,079 --> 00:40:45,660 yeah there would be a bit off check so 863 00:40:42,839 --> 00:40:48,300 the UI actually has like min max sort of 864 00:40:45,660 --> 00:40:51,480 sensible limits on it uh when you 865 00:40:48,300 --> 00:40:53,220 actually got to use it uh and uh 866 00:40:51,480 --> 00:40:55,200 definitely will affect the stats but 867 00:40:53,220 --> 00:40:56,579 it's just approximate numbers are fine 868 00:40:55,200 --> 00:40:59,960 for the passing distance you have an 869 00:40:56,579 --> 00:40:59,960 actual distance from the sensor 870 00:41:09,960 --> 00:41:16,020 okay so I think 871 00:41:12,720 --> 00:41:17,400 um that's about all the questions that 872 00:41:16,020 --> 00:41:18,480 we have 873 00:41:17,400 --> 00:41:20,300 so 874 00:41:18,480 --> 00:41:24,060 thank you so much 875 00:41:20,300 --> 00:41:27,240 for sharing with us and I think you'll 876 00:41:24,060 --> 00:41:28,500 be still around right yes yes so please 877 00:41:27,240 --> 00:41:32,400 talk to him 878 00:41:28,500 --> 00:41:33,960 yes and um some of the units are still 879 00:41:32,400 --> 00:41:35,579 here don't worry yeah we'll get them 880 00:41:33,960 --> 00:41:38,660 back somewhere yeah 881 00:41:35,579 --> 00:41:38,660 they're not in production 882 00:41:39,240 --> 00:41:41,839 thank you 883 00:41:42,430 --> 00:41:48,750 [Applause]