Okay. Hey everybody. My name is John Price. I'm with Intel, IT at Intel. And I guess a few months ago, somebody said, hey, you should put together something to present at the Cloud Foundry Summit. And I'm like, what would we do? And everybody's like, well, how about somebody about security? You know, I'm like, yeah, why not our security guys? They're kind of psycho. We call it psycho security. That'll draw people in. They'll all show up. And much to my dismay. Here you all are, because public speaking in my thing, but anyway, I'll give it a shot. I've been with Intel for about 15 years, and I've been involved in Cloud Foundry for, gosh, since early in the V1 days, we've been deploying and using Cloud Foundry. Pretty small team of us. Just up until recently, it's just been pretty much two of us engineering this stuff, myself and my partner, Aaron Huber here. We just got two more guys in Costa Rica who are ramping up right now, because we are expanding. We're growing all the time. Anyway, next slide. Next one, we can skip that. Wasn't there one more in there? Maybe not. Yeah. So a little bit about Intel at IT. We're a pretty big company. Most of you have heard about Intel, I hope. We're over 100,000 employees, about 6,000 of us are in IT. We're actively consolidating our data center footprint. We're down to 61 data centers right now. It's down from 91 in 2010, and we actually had 142 in 2007. So a lot of virtualization, a big effort to consolidate. We support a lot of devices, almost 120,000 of them. 54,000 handhelds, just about. Most of those are employee-owned, bring-your-own-device sort of things. I guess that's about it there. Next? Back one. Back two. Yeah, okay. Our objectives here. Well, we're going to talk about the importance of security and why we can't ever assume that our own networks are secure. That seems to be a common misconception that once it hits your network, everything is safe, secure. You can do whatever you want. That's not actually the case. Most breaches happen internally. And I'm going to show you how we at Intel have addressed that problem ourselves by enabling N10 network encryption. All right. So security breaches are on the rise. I'm sure you've all heard about them lately. I've been in the news. According to a 2014 report called the Insider Threat Security Manifesto, that 35% of organizations in the U.S. and UK of over 10,000 employees have had an internal security breach in the last year. That's a lot. And those are just the ones they know about. So if you haven't been hacked, it's just a matter of when maybe. Hopefully not, but that seems to be the trend. Okay. Here's a few examples of them. There was the Operation Aurora, Stuxnet, Target, Home Depot with their point of sale, devices being hacked, Anthem, Blue Cross, Blue Shield, just a lot of stuff lately, Sony. It's been all over the news. Okay. A little bit about why everybody should take care about security. You know, everybody has a role in this as a platform operator. You know, your role is to protect both the platform itself and your customers, not just the customers who are landing apps, but the customers consuming those apps that are landed. So, you know, as a customer, you initiate a secure connection to a platform to adapt HTTPS. It's reasonable for you to expect that your connection and your data is secure all the way through, not just to the first load balancer it hits. So, as an end user, you just say, I'm making a secure connection. You don't know that down the road that's being unencrypted and send clear text. As a platform operator, you also need to protect your platform. If somebody gains administrative access to your Cloud Foundry deployment or your Bosch deployment, they then own that thing. They can see all the customer apps, all the data. They could destroy your platform. None of that would be good. You need to protect the rest of your org. If somebody gets access to an account, like a valid domain account on the network, that could just be the gateway, the entry point to gain access to other things on the network, beyond your own Cloud Foundry stuff. And as a developer, you need to be aware of what the vulnerabilities, the potential areas of access are within the platform you're landing on. So, if you're deploying to Cloud Foundry, what are the potential areas where your data could be compromised? And how can I design and code my app in a way that mitigates some of that? So, again, never assume your network is secure. At present, in a standard Cloud Foundry deployment, there is data being transmitted in clear text between the servers in your deployment. So, all the Cloud Foundry servers have clear text messaging going on between them. That includes usernames, passwords, all customer application data. And to help show that, here's a diagram depicting that. So, you know, you have somebody accessing your environment in the standard deployment.  And somebody comes in with their CLI or browser, whatever it might be, and they initiate a secure HTTPS connection. That traffic is terminated at the load balancer. And from there on, everything inside is sent in clear text.  They've compromised it some other way. They're sniffing traffic. All that is visible to them. All right. So, what have we done at Intel to address this problem? Well, our solution includes three main components. We've deployed the HA proxy from the CF release. So, with Bosch, we just deployed HA proxy. And we use that to terminate our HTTPS traffic from our load balancer. We've implemented IPsec to provide encryption between all of our Cloud Foundry and Iron Foundry servers. And for those of you who don't know, Iron Foundry is another component that you can add on to Cloud Foundry that gives you a Microsoft .NET stack so you can deploy .NET apps. Works well for us. And IP tables and windows firewall to restrict traffic to only allowed ports. Because once we've enabled IPsec, the security groups that you've implemented in your infrastructure as a service, you know, in AWS, OpenStack, whatever you're using, can no longer inspect that traffic. It's all now encapsulated within IPsec. So, we need a way to restrict the traffic. So, after we're done implementing the solution, here's what it looks like. We still have the secure connection to the main load balancer outside of our platform. We still terminate that traffic there, but then we reinitiate an SSL connection to our, to HA proxy. And from everything, everything within there is now IPsec encrypted. So, at no point do we have unencrypted traffic in our platform. So, pretty much eliminated all the, all the open, all the open traffic. So, what is IPsec? For those of you who don't know, IPsec is Internet Protocol Security. It's an industry standard protocol suite and it provides authentication and encryption at the IP layer. Most VPN softwares use IPsec underneath. There are some, some nuances you need to keep in mind when you're working with establishing IPsec tunnels between Linux and Windows systems, you know, including the, the, you know, finding common protocols, ciphers, encryption suites, et cetera, pretty much every aspect of configuring IPsec. You have to find two things that work between Windows and Linux and that's, that was a challenge for us actually. Next slide. So, so how do we, how do we approach this? How do we do this? Well, first thing we had to do is identify what all the communication flows were in our Cloud Foundry environment. There are several ways we did this. You know, our configuration files, our Bosch manifest, a lot of those ports are defined and configurable. So, we knew what those were. Code reviews, we've been doing Cloud Foundry for a long time. We've seen most of the code in there. So, we've seen some of the ports in the code. But the easiest and probably most direct way to do it is just use something like Netstat, TCP dump, Netmon, and go to each server. And as you can see here, you know, a Netstat dump shows, shows what's listening here. And this looks like one of our lab servers. So, it looks like it was probably a Go Router and an API Cloud Controller server, just from looking at that one. That's what it looks like it was. Next slide. We had to create IP tables rules. That's the firewalling to restrict just the loud ports. I don't know if you've worked with IP tables before or not. It's kind of a heavy curve when you first learn it. But this is just an example of what a NAT server would look like, the IP tables rules. So, we have, you know, we're allowing ICMP traffic, loopback traffic, UDP port 500, ESP and AH. Those are our IP sec rules allowed there. We're allowing port 22, telnet. These three here, 4222, 223, and 8080. Those are for NATs itself. So, those are the actual NAT server ports. And then we drop and log everything, everything else. So, that's just one example of every server, every component is going to have a different set of IP tables rules. Next slide. So, an important thing to note here, we're using certificates to authenticate our servers for all of our IP sec tunnels. You know, so you can, if you do use certificates, you can use your own certificate authority that you create or you can use the existing PKI. But if you do that, you have to make sure that you get the correct key uses extensions and extended key uses extensions on that certificate. In this case, digital signature, key and cipherment and server auth. Otherwise, IP sec won't use that cert. And most PKIs don't add all of the appropriate server extensions. I know our internal one doesn't. We had to create our own cert. Next. We had to install and configure Strong Swan. Strong Swan is the secure or the software suite we're using on the Ubuntu stem cells to provide IP sec. It's a standard software. Just apt to get install Strong Swan. The important thing to note here is the IP sec comp. This is where all of our configuration is set for IP sec communications. So our key exchange is internet key exchange version two. We have our internet key exchange ciphers and algorithms, you know, the ESP cipher. You know, what we do for dead peer detection. Our certificate, we define the certificate we use to authenticate between servers. And finally, all of our connections to the other servers are defined here. And this is just an example of the configuration is much larger. We have many more servers than that. But the important stuff is there. All right. When we implement IP sec, that does the absolute overhead to the protocol or to the packet. And because of that we have to determine and set our network MTUs both on the virtual machines in the Cloud Foundry deployment and within the Warden containers themselves. For those of you who deploy to OpenStack today using GRE tunnels, you're already familiar with part of this. You probably are already setting the MTU in your Bosch deployment manifest to account for the overhead in the GRE tunnels. And this is much the same thing. We're adding another tunnel on top of that. Yeah. If we have data fragmentation that leads to all kinds of bad things in the environment, some of the Warden containers can no longer talk on the network when the packets are fragmented. So as a good Intel employee, I'd be remiss for not mentioning that there are some benefits to deploying on an Intel-based infrastructure. All the current versions of Strong Swan, OpenSSL, Linux kernels, they'll automatically leverage AESNI chipset instructions which offload all this encryption work to the hardware of the CPU itself. And a completely non-biased setup and test that Intel performed. You can achieve up to a 400% throughput increase by using a hardware-enabled architecture versus just a non-enabled software solution. There is some impact to supportability with this.  Some of this is by design. The traffic is now encrypted and encapsulated, so it's harder to inspect. That was our end goal. We don't want people looking at the traffic. That includes us. So when we're trying to diagnose a problem, we can no longer just do a TCP dump, look at what's going on. It's all encrypted. It's gibberish. Yeah, so we stepped on our feet there. But we also need to establish additional monitoring. We need to make sure IPsec tunnels and services are running at all times. If those fail, so does our network or our platform. And we also need to make sure we start our IPsec jobs and our firewall rules in the right order. We want those tunnels and firewall rules in place before all of our CF jobs start up and start communicating. It's especially important for the DEA servers. The wardens that are spun up the containers create their own IP tables rules. And we want our rules to be in place and processed before those rules are created. So this solution isn't going to catch everything. This is only going to solve the problem between the servers we set up IPsec on. That is our own Cloud Foundry servers. If we're making a connection to an external server, anything outside of our platform, like, for instance, if we're logging to an external syslog server, we still have to make sure we're using a secure protocol like TLS to do that. Otherwise, it will be non-encrypted. Developers should design their apps to enforce HTTPS. You know, they should look at the X-forwarded proto header in their app and make sure their app is requiring HTTPS. If you're using something like LDAP, which we do for our authentication, make sure you're using LDAPS. Otherwise, you've defeated the whole purpose of this. All your domain passwords will be flamed around in clear text. Next. So, call to action. And this is for all of us as community members, contributors to the code, supporters of Cloud Foundry. You know, there's other ways we can, other ways and things we can do to extend Cloud Foundry and secure it. You know, we could be better at documenting the ports and protocols used within the platform. A lot of these are hard to discover. They're not clearly documented. Are they secure? Are they not? It's hard to find out, especially for a new adopter of Cloud Foundry. And that's what we wanted people to adopt this thing, right? The more the better. We could natively encrypt all the endpoint traffic. Then we wouldn't need IPsec anymore. That would be awesome. If we could turn all this off, that would be great. We could do other things. Mostly targeted enterprises like us or any other big corporation. We could do things like make the staging process extensible. Allowing us to insert things into the workflow, like real-time dynamic code scanning. So, a developer deploys their code. Upon deployment, it goes out there. It's scanned for vulnerabilities, common exploits, that sort of thing, SQL injections. Before it actually gets deployed, we have real-time scanning. Or even to inspect the build packs. Who knows what's in some of these build packs. If you're allowing the developers to specify their own build packs, they could point to any URL out there on the internet. And who knows what code they're running on your platform. Maybe you just deployed the best botnet out there, Cloud Foundry Botnet. And one of the things, this is actually one of our security requirements, is that we need to be able to isolate the Cloud Foundry API from the endpoint that services the deployed applications. We have an internal community of developers targeting our environment and deploying applications for external customers to look at. People out on the internet to see these apps. But our security group doesn't want those people on the internet to be able to hit the Cloud Foundry API. They don't want to be able to target our platform and scale and things like that. But at present, we can't do that. We can obfuscate that through the host headers. We can make it seem like you can't get to it. But a savvy hacker could still discover the host header for our deployment and target it. But something like the ability to register the API route to a different TCP port would be one way to address that. We just wouldn't forward that port on our external load balancer and it would isolate the API. But those are just some examples of things we can do to enhance security in the platform. I'm sure there's a thousand more. And that's what all you guys are here to help with, including us. So whatever we come up with, we should contribute back. And next, how am I doing for time? Any questions? So to summarize, he wants to know if I can quantify what the overhead was as far as impact and performance of turning on all this encryption, IPsec, and then with the A of A and SI, AESNI, how long should we get back? So I don't know. We didn't do any actual measurements of the impact. So I don't have numbers that I can quote. I can say that it was noticeable when we first turned it on. Oh, that's a little slower. And then we got to look and we noticed that our platform itself, our OpenStack environment, hadn't been configured to actually enable the AESNI extensions through to the VMs that were being run. So we had to reconfigure that in our OpenStack to enable that, you know, the forwarding of the AESNI extensions. And that actually was faster. It was something we could just notice just no day-to-day use. We don't have time means to back that up, but it was noticeable. So, yeah. So the question is, what is the IP tables approach due to elasticity? There are things you're going to have to consider. It's not as easy to scale out, obviously, because now you have to implement all these new IP tables and IP sec rules for that matter. We, in our case, have built most of this into a Bosch release. We've made our own custom stem cell with a lot of this pre-installed in there. We didn't start from scratch with the stem cell. We took the one that one of the default stem cells. We extracted it out, added strong so on, installed some more own things, repackaged it up, and then made a Bosch release to deploy IP sec and all these rules. So in our case, we just changed the number of servers we want and redeploy with Bosch, and it's all scaled. So that's why when we did it in a Bosch release, that's all then comprehended in there, because all the IPs are in our manifest, and we define all those when we do our release. If you didn't do a Bosch release, it would be a lot harder. You'd have to manually go out there and turn all those on. The question is, have we made our Bosch release available for the community to see? We haven't yet. Quite frankly, we didn't know how many people would be interested in implementing IP sec and doing all this work because it's some serious overhead, and it's not for the faint of heart. It took us a long time to get this configured and working right between all of our servers. It was something our security team said, you're not deploying without that. I don't know how many other people have that. Is everybody security psycho like that? I don't know. I assume there are some others. So that is something we can explore. We can be happy to see what parts we can make available, and definitely maybe write some white papers or blogs or something to get into more detail in how we did this. Yes, sir. Oh, I got you. Okay. So you're asking about the Wharton containers themselves because they're assigned dynamic ports when they're deployed, how did we account for that? We didn't actually need to. We're securing the traffic between the DEA servers themselves and the rest of the platform, and the Wharton containers that you're talking about, they're all handled by AP tables rules within the DEA itself. So before that traffic, it's a hard thing to describe. Aaron, do you have a way to summarize how that works? Yeah. Are you just asking about the AP tables rules? We have to use port ranges to open up. So for example, there's a wide range of ports that Wharton container might open, so we just open that entire range. So we're just trying to block access to well-known ports. We don't want people to be trying to hack things that we don't want to expose. Good answer. Good question too. Yes, sir. I don't think they're fully comfortable with that. I think that they know that right now we've done the best we can given what we have. We're always looking to evolve and improve what we have. So no, I think there's always room for improvement, and that is possible. Do you have any? I don't know the offhand I have any just yet, but I'm sure eventually our security team is going to think about that and go, hey, you guys have to do this, and they won't have a solution for us. They just tell us we have to, and we'll figure it out. Yes, sir. So did we do anything to secure Bosch itself? We haven't specifically targeted Bosch yet, and mostly because there's not a lot of secure information going back and forth between our Bosch systems. If there were customer data, user names, passwords, and things like that, we're not using LDAP to authenticate for Bosch or anything like that. So it's not a top priority for us, but still, if Bosch were compromised, that is still they could destroy everything. Yeah. Yeah, for sure. Yeah, right. So when I talked about natively encrypting the endpoints in the platform, I actually meant all of the endpoints between the Cloud Foundry components themselves, like the NATS communication bus, if that were natively encrypted, or the API calls between the Cloud Foundry server and the health manager or something like that. If all of that was already encrypted, we wouldn't need to secure this. But what's an example? Well, I think at present, between the UAA server and the login server, they actually, in your deployment manifest, you can specify to use HTTPS and give it a certificate in your manifest. Yeah. Yeah. But yeah, if we could do that, the problem would be solved. Anybody else? Oh, yes, sir. Amon, it actually starts them in the order that they're listed in, don't they? Well, let's see. The jobs are processed in the order that we list them in the manifest as well. Right. So the job is looking through all of our manifest properties for all the IP addresses and all that stuff we specified in there. And it does create the connection rules to all the different servers that it needs to talk to. The specific, we have roles defined for like a NAT server has these specific IPsec rules. And it generates all of that and pushes that configuration to that server and then starts the services. So there is one particular place, I think, what you're referring to, like the monot job. So ideally, we'd be able to say in the monot job, there's a dependency of the DEA component, for example, on the IPsec job. And so to do that, we have to modify the file that CF creates, right? So there is an issue there, but we can do that through some sort of configuration management on top of the releases, right? Because it's not extensible in the release itself. Anybody else? Anybody going to rush home and try this? No? Oh, you guys are? Let me know how that works. No, seriously, if anybody does have interest in trying any of this, we'd be happy to help in any way we can. Ideally, we'd like to see some of the changes pushed back into Cloud Foundry itself, so that we don't have to take these kinds of steps to secure the platform. And I think we're getting there. We see improvements all the time. The code for Cloud Foundry, for those of you who have been with it for a few years, know that it's getting better all the time. It used to be just to deploy it and figure it out would take you months. Now a new user can come in and within a week have a platform running pretty easily. Once they figure out Bosch, there's the hard part. But if that was it, I guess I'll hang out up here for any questions anybody wants to ask me.


Alright, so Tanaka, roughed up yesterday, 10 hits in five and a third. Here are his stats, his past seven starts. And I realized that one of those starts was in London against the Red Sox, which might have exaggerated it just a bit, because that was Arena Baseball out there in London, that two-game series with the Red Sox. I don't know if you saw the stat, Peter. Tanaka has allowed 48 hits and 36 runs in 30 and two-thirds innings. It's an earner and average of 10.23. Not great, but he's probably the game one starter, right? If Severino doesn't come back or comes back but isn't effective, because even though Brian Cashman said he has confidence, he signed him to a contract, there's still the Severino from the last half of 2018 that have people nervous. Take Severino out of it, the conversation right now, of the five starters they have, Tanaka's still the guy you would go with in game one. I don't know what would your other option be. Well, Paxton's never pitched in the postseason. He hasn't been great. Well, we'll look at it. Here we go. Herman has a 5.55 earner and average as last nine starts. Paxton has a 4.61 and has pitched fewer than five innings in eight of his 19 starts. Sobathy is on the IL, but he's allowed 2.4 homers per nine innings. Only one other Yankee pitcher in history to pitch at least 100 innings is allowed. 2.0 homeruns per nine. And then there's Jay Hap this season. Hasn't been terrific either. So Tanaka is still going to probably be your guy from Hap, Paxton, Herman, Cece, who's hurt right now. So hey, I talked a lot yesterday about how Yankee fans should be very happy. This team is one of the best teams in baseball. This team is going to run away with the division. But if you want to get a little nitpicky is you got to get Tanaka turned around. I mean, he I think is your best potential game one start. If you don't have a, you got to have somebody to pitch well. You didn't pick up anybody at the deadline. One of these pitchers, if not two, if not all have to be better. So that's the one thing to kind of keep an eye on because I do think offense is probably more of a player in the postseason than it's been back in the day. I do kind of cringe when I hear pitching wins championships, defense wins championships. I get that, but you also have to score some runs. I don't think the Yankees can win a lot of 14-12 games in the postseason consistently. You'd like to get some starting pitching. These guys have to step it up and be better in the Orioles stink. Now they can hit in a ballpark like Camden yards, but come on. I mean, 10 hits in five and a third innings against a team that just can't wait to play golf. I mean, let's turn it around here. So you're looking for something, some relevancy to the Yankees, the rest of the regular season. Get healthy if you can, try to get standing back. But for the most part, some get at least a couple of pitchers better.


In this video, we're gonna compute the derivative of the function x squared times e to the x all over seven x minus nine. We're gonna take the derivative with respect to x right here. So you'll notice the first thing, when you look at this function, it's a quotient function. That is we have x squared times e to the x divided by seven x minus nine. So when we calculate the derivative of this thing, we're gonna have to use the quotient rule. So remember our high function, the numerator is x squared times e to the x, our low function, the denominator is seven x minus nine. So we're going to get low d high, take the derivative of x squared times e to the x, minus high d low. So take the derivative of seven x minus nine, square the bottom, here we go. It's our little brine we say every time we do the quotient rule. And so using the quotient rule, we get that derivative. So there's some things that have to be calculated a little bit more, right? So you look at seven x minus nine, we have to take its derivative. That's not so bad, it's a polynomial function. It's just a linear function in fact, its derivative will be its slope, which is seven. On the other hand, you have to take also the derivative of x squared times e to the x, for which that derivative will unavoidably require the product rule. And so we see in this example that sometimes you have to combine various derivative rules to calculate the derivative of a function. This one we have to combine the product rule with the quotient rule here. We used the quotient rule forced. Now we're gonna use the product rule on x squared times e to the x. So we have seven x minus nine, we take the derivative of x squared e to the x. So what is that gonna look like? Well, by the product rule, we're gonna take the derivative of x squared, which of course we know to be two x. Then we multiply that by e to the x. Then we're gonna add to that x squared times the derivative of e to the x, which we know the derivative of e to the x is in fact just e to the x itself. So we can drop that down. We still have the minus x squared e to the x. And like I said a moment ago, when you take the derivative of the polynomial of the linear function, I should say, the derivative will just be at slope. So we get a seven right there. This all sits above the seven x minus nine squared. All right, don't be tempted to cancel out this seven x minus nine with any on the denominator. That's not valid because the only way we can cancel seven x minus nine from the denominator is if the entire numerator were divisible by seven x minus nine, for which this has no seven x minus nine factor to contribute. So don't fall into that temptation. Instead, I suppose we can distribute things and start combining. It is a good idea to try to factor your derivatives because that'll be very useful in future applications. So some things I can notice, there are some common divisors that could factor out. Like notice everything is divisible by e to the x. We could factor that out. We also can afford to take out an x away from everything. And so upon doing so, we factor out this, we factor out of everything, this x times e to the x, that then leaves behind, we have the seven x minus nine. We haven't multiplied that through yet. With the two x e to the x, we took away the x and the e to the x that's left behind a two. With the x squared times e to the x, we took away an x e to the x that leaves behind an x like so. And then for the other piece, again, we took away an x and the e to the x, so we have negative seven right here. This all sits above the seven x minus nine squared. So we took out the x e to the x. Those are good common factors. There's really not much else to do in the new way in terms of factorization. So we're gonna have to multiply that thing out. To do that, we're gonna take the seven x minus nine and foiler with the two plus x. So that'll give us a 14x plus seven x squared minus 18 minus nine x. There's also a negative seven x in the numerator. So let's combine like terms. You have the x e to the x already factored out. So in terms of the x squares, there's only the seven x squared. In terms of the x's, we have a 14x. Take away a seven x, that's what we seven x itself. Then take away another nine x, that should leave us with a negative two x. And then lastly, I think there's a constant of negative 18, like so. And then we have our factored function right here. Now, if we didn't factor out the x e to the x from the beginning, we could have done that later on. There's been a factor of x e to the x everywhere. It's usually better to factor things out before you expand. If there is, of course, a common denominator there, you might not see it until the end. So that's okay if you didn't see that. Now, if I were trying to simplify this a little bit more, it would be curious to know if there's a common factor on top and bottom. The denominator has a seven x minus nine squared. In the numerator, the seven x squared minus two x minus 18, is there any way of factoring that to cancel out the seven x minus nine? And with a little bit of guess and check, you'll see it's not gonna happen. If you take seven times negative 18, there's not gonna be any factors of that that add up to be negative two. Or you could also check with the discriminant for the quadratic formula. You'll see it's not a perfect square. So this thing is factor, can't simplify it anymore. So this would be probably the best form we could write the derivative in this situation where we needed both the quotient rule and the product rule.


Now at least one million Nigerian children could miss school this year as the new term begins amid a rise in mass school kidnapings and insecurity. The United Nations Children's Agency UNICEF released the figure and its report about abductions in Nigeria. There have been 20 attacks on schools this year alone with more than 1,400 children abducted and 16 dead. More than 200 children are still missing as crews have become targets for mass abductions for ransom in northern Nigeria. Such kidnapings were first carried out by Boko Haram, then later its offshoot Islamic State West Africa province, but the tactic has now been adopted by bandits. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


This is stock number 9416. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used heavy-duty truck headquarters. Today we are checking out this extremely clean 2007 Chevy Silverado 2500 Crew Cab Short Box New Body Style. In 07 you could get the classic body style or you could get the new body style which is this one right here. And they took this body style I believe all the way up to 2014. But as we go around and you check out this HD video you won't be able to tell that this truck is extremely clean all the way around. It has the 17-inch factory painted alloy rims on like new Firestone Transforced tires. These tires have like I said a lot of tread left. I'd say 80-90% of the tread left on those tires. So maybe not like new but newer tires on here. I didn't see any dents or dings in the front bumper. It has a really nice bug shield on the front there too. The grill is in all really nice condition. No cracks or anything like that. Factory fog lights. You can see the headlights are nice and clear on this truck. Passing side rims in really nice condition as well. And that tire has just as much tread as the driver's side.  How reflective and glass-like and mirror-like that paint is. And why we take these HD videos so as you are far away or if you're close to buy just can't make a trip down. But you're still interested in purchasing a truck. You can still see the truck here of the truck and have confidence in the vehicle before you even get here. Very very clean down this side. Back rims in pretty nice condition as well. Considering that it is an 11 year old truck already and the back tires have just as much tread as those front tires. Take a look at this. Frame and underbody is in really nice condition. Very little corrosion on here. You can always tell by those box rails if those are in really nice condition you know the rest of the underbody is going to be nice as well. And it's like that all the way underneath. We do that so you get the most accurate representation of the vehicle as possible. So when you get here there's absolutely no surprises. It does have the Z71 off-road suspension package which gives you the skid plates. See that rear bumper is in really nice condition as well. No major dents or dings. It does have the backup sensors. Full towing package which includes the receiver hitch and seven pin wiring. The tailgate is in really nice condition as well. I didn't see any major dents on there. And it is a locking tailgate as well. Has a Truxedo soft tonneau cover. No rips or tears on that. Really nice condition. And it has a spraying bed liner. And the bed itself is in really nice condition as well. So it does have rear airbag suspension and that's what those are right there. You'd pump up those bags right there. And once again that is a locking tailgate.  See just how clean that paint is.  Very nice paint on here. Has Nasta chrome step bars and a little side step on the driver's side here.  There are no rips or tears on these seats. Both of these seats are power and heated. In the front we have factory all-weather formats. There is an aftermarket electric brake controller. And it does have the auto headlamps and turndile four-wheel drive. Heated seats, power mirrors, power windows and power locks as well as the memory driver's seat. See that this truck has 69,360 miles. Instrument cluster is very nice and clean. The steering wheel is in nice condition as well. It has cruise on the left and audio controls on the right. Comes with the six-disk CD changer, Bose sounds and AM and FM and Sirius XM radio capabilities. Down here we have dual climate control, power pedals and the backup sensors. You can turn those off. Comes with the factory on-star compass temperature display and the home link buttons up there for your garage doors. Lighting systems and security systems see the headliners in really nice condition. Passive seats in nice condition as well. No rips or tears and it does have a factory all-weather format on that side as well. Didn't want to point out dashes in really nice condition up here. No major cracks or anything. These newer body style stems tend to crack that dash sometimes. When they're black like that, get too much heat in them. Back seats are just as clean as those front seats. There are no rips or tears back here. It has a latch child safety system. It has the fixed glass window with the rear defrost and you can see just how clean that carpeting is back here. Very very clean. Smells very clean in this truck as well. And then you have audio controls in the back. You can put some headphones in there and listen to whatever radio station you want. These are telescopic tow mirrors so they do pull out like so and fold in. They are a manual telescope and a manual fold in. Has the built-in directional signals in the mirror. Those do work. And we'll take a quick look under the hood. This is a 6.6 liter Duramax diesel. This is the LMM motor and it has 365 horsepower right there. Engine base very clean, runs very smooth. This truck has been fully gone through. Our service shop has a fresh oil and filter change. All the fluids have been checked and topped off.  Probably one of the cleanest 07 new body styles you'll find anywhere. And very nice truck highly recommended from a condition and quality standpoint. To see more pictures of this truck or one of our other 400 new and used cars, trucks, sex TVs, minivans, wranglers, half tons, recorded tons, one tons. You name it. We got to go to our website www.summitauto.com. Full pictures and descriptions of every single vehicle on our lot. Videos of every single used vehicle that we have all at www.summitauto.com. Thank you so much for checking out the video. If you want to make this truck yours, give us a call right now.<PHONE_NUMBER>. Ask for one of our sales professionals standing by to take your call. Once again, that number is<PHONE_NUMBER>. Thanks again for checking out the video. If you want to check out more videos, like it go to www.summitauto.com. Remember to like, subscribe, and share on this video and all the videos you see there. In fact, in a second you'll see a link to subscribe to our YouTube channel on your left. A link to more heavy duty truck videos like this one on your right. If you haven't been to our website, on the bottom link to this truck on our website, click those check us out. We really look forward to helping you with this super clean 2007 new body style true cab shirt box Chevy 2500 Duramax diesel. Thanks again.


The Justice Committee has today published at stage one report in the Management of Offenders Bill Scotland which aims to increase the use of electronic monitoring to change the rules around the disclosure of convictions and to make improvements to the parole board. Following the tragic case of Craig and Clement, the committee decided to extend its evidence taking and today the committee is backing the bill on the strength of the improvements which seek to ensure effective monitoring of electronic tags that any breaches are dealt with swiftly and that any risk is properly assessed. Crucially, the committee considers that this bill's provisions must be sufficiently resourced. Finally, the committee hopes that the aims of this bill will be realised, namely to reintegrate people into society and to rehabilitate offenders.


Dear friends, as the world confronts COVID-19, the United Nations Network on Migration stands together with migrants, member states, civil society and all partners in efforts to overcome this pandemic. Migrants, amongst many, are crucial to our response to the virus. On the front lines of medical support and service delivery, migrants, too, may face additional danger, whether by circumstance, law or discrimination. While this illness pairs no one, we must be alert to the particular risks for those who are most vulnerable. Societies cannot effectively overcome COVID-19 in segments. The well-being of each of us is dependent on the well-being of us all. We will continue supporting member states, with implementing the global compact on migration, a cooperative framework that is now more relevant than ever. We need to unite and speak with one voice. Let us work together, inclusively, and we will surely be able to overcome this global crisis. Please reach out to us through our COVID-19 platform, sharing your stories, ideas and suggestions. I hope that all of you and your families are keeping safe and well. Thank you.


Hi, there. Related Websitesets is a way for an organization to declare relationships among sites so that browsers allow limited third-party cookie access for specific purposes. Chrome will use these declared relationships to decide when to allow or deny a site access to their cookies when in third-party context. Related Websitesets is designed to minimize disruptions to its specific user-facing features once Chrome starts limiting access to third-party cookies by default. In this video, I'll explain why we need it, how it works, and when you should use it. So let's see why we need related websitesets. Many organizations have related sites with different domain names, such as brandaxe.com and flybrandaxe.com, or domains for different countries, such as example.com, example.rs, example.co.uk, and so on. Imagine a company that helps you book a vacation. The company has two related sites, flybrandaxe.com and drivebrandaxe.com to separate flights and car hire. Over the course of booking one journey, you can go between these sites to select their different options, and you'd expect your shopping cart to remember your choices across these sites. Related sites like these often rely on cookies to keep users signed in or show personalized content. As Chrome moves towards blocking third-party cookies to improve privacy on the web, related websitesets can enable de-use cases when an organization needs a form of shared identity across different top-level sites. So what makes a related website set? At a high level, a related website set is a collection of domains for which there is a single-set primary and potentially multiple-set members. In this example, primary lists the primary domain and associated sites list the related subset of domains. Types of subsets are categorized by specific use cases related to website functionality. Country code top-level domain, or CCTLD subsets, are for variations for particular countries or geographical areas. Service domain subsets are for utility or sandbox domains. Associated domain subsets are more flexible and covered domains whose affiliation with the set primary is clearly presented to users. Set members could include a range of different domain types, which must meet the requirements of subsets based on a use case. If you have related sites like these and want to use related websitesets, you need to submit the domains to a set. The canonical related websitesets list is a JSON file hosted on a public GitHub repository, which serves as the source of truth for all sets. Chrome consumes this file to apply to its behavior. Now, let's look at how you can integrate related websitesets with your website. Storage Access API provides a way for embedded cross-site content to check whether it currently has access to browser-based storage, such as cookies, and to request storage access if it doesn't. The request storage access can only be called from within an iframe. Using Storage Access API with 10 related websitesets provides a smoother user experience. The user does not need to have visited the embedded site at the top level, but the users does still need to interact with the iframe before request storage access can be called, by, for example, clicking a button or a link. With just Storage Access API, requesting storage access will present users with a prompt to either allow or deny access. If related website set is enabled, Chrome will automatically grant permission for sites within the set. Because request storage access can only be called from within an iframe, it poses challenges for top-level sites that use cross-site images or script tags requiring cookies. To address this, Chrome has implemented a way for top-level sites to request storage access on behalf of specific origins with Request Storage Access 4. The Request Storage Access 4 API is meant to be called by a top-level document and requires that the document must also have just received user interaction. Now is the time to audit your site to see how it works when third-party cookies are blocked. If you find that you need to use Storage Access API for unpartitioned cookie access across a small group of meaningfully linked sites, related websitesets can offer a smoother user experience without prompts for sites within a set and additional functionality for the top-level site, not just the iframe, to grant storage access. It provides you with predictability, control, and agency in preserving the user experience of your websites. To find out more, check out our documentation and demos. Thanks for watching.


Now, we will start with this linear systems control design part, this is a important part of any mechatronic system to develop the good controller which is a brain of mechatronic system. So, we will kind of develop also we have seen our feedback concept in the previous classes. So, we will now get into little bit more details about specifically for linear systems how we can go about developing control and give you some kind of initial background in the domain of control design for mechatronic system in general. So, let us begin with this part. If we see typical systems that we will encounter in the domain of mechatronics systems is of the kind of rigid body systems or fixed system with flexibility. Now, rigid body systems may have single or multiple rigid body and single or multiple degrees of freedom also. The typical examples could be mechanism, robotic systems, bed, pulley drive and so on and so forth. They typically have limited number of degrees of freedom. So, many times you have single or two degrees of freedom although the number of bodies may be many. So, if you take an example of four bar mechanism then it has four links, but actually degree of freedom is only one because they are constrained to move in certain fashion and we have seen the kinematics of such motion in the past in the previous courses. So, they may or may not be underactuated typically in the in like you know all the industrial commercial mechatronic system they will not be underactuated, they will be having full degree of freedom situation. Contrary to that systems with flexibility will have by them their nature infinite dimensional systems nature ok. So, what we do for control is some kind of a finite dimensional approximation by using some methods like you know there are some method called assumed modes method or simply assuming like all the elements to be co-located or lumped kind of a mass and springs kind of a approximation. So, there are many different ways to do that. These elements typically make the system the compliant elements flexible elements make the system underactuated ok. So, one can handle this one or two degrees of underactuation by developing some kind of a non-linear controllers. So, that underactuated systems control is completely a different kind of a issue to discuss and handle especially in the non-linear domain. In the domain still you have some kind of a tools to deal with them, we will see some part something in the in glass. Then there are tools which are available based on the continuous domain model or infinite dimensional model which is partial differential equation based this area is still developing ok. And of course, these are both the cases like you know you will have some kind of a connection with the electromechanical actuator part or a hydraulic actuator part and things like that ok. So, these are this is like the main kinds of system that we have. Now, this important concept that we need to understand upfront here and kind of putting it before we delve into other topics is concept of feedback and feed forward. So, as so that we can see for practical mechanical mechanical system implementation situations we may need to consider some advantages and like know figure out which one of these are both of them together would be better for your application or not ok. So, we will see that in little bit more detail. So, let us consider our standard like know example which we are familiar with a simple mass moving on a you know horizontal platform with this pore supplied is f and that is our control input. Under this situation we know the equation governing the system is this f is equal to m x double dot and the question is again we have seen already that ok we have we are at some position here from here we want to move to some other position we say some kind of a like given amount of time. So, if we want to do that we can come up now that we know how to plan trajectory we can plan trajectory for that much amount of time for this mass going from here to the to the desired position and say like a trapezoidal trajectory or sinusoidal kind of a trajectory. So, you have a choice to like know make a choice there ok and then get x desired value ok. So, at every position where I want x desired to be and once you have this x desired value available as a trajectory or as a function of time then we can differentiate that and get x double dot desired. Now, when you put that x double dot desired into this equation multiplying m with x double dot desired then we get this desired force ok. Now we can use that force and apply it on this system in time and by the end of like you know the trajectory whatever this x double dot kind of becomes 0 again our block would have moved to the final position under ideal scenario where there is no friction no other disturbances in the system that is one of the ways of driving the system to the final position. We are not considering feedback in this case remember like know we discussed feedback in a lot more detail, but now we are saying we will not we are not using in feedback in this strategy ok. So, now think about like if we do this what are the problems ok. So if we see the feed forward so this is called feed forward case ok where we are just giving whatever is needed for getting to the final position already like know plan trajectory we give that input. Now if the friction is there in the presence of friction will make this not go to the final position it goes to some middle position depending upon how what is the like know the level of friction that we are dealing with here. In contrast to these your feedback strategy say PD control kind of a strategy with somewhat tuned gains such that we achieve the result in the same amount of time ok would overcome this effects of friction because we are continuously monitoring the error between the current position and final desired position ok and depending upon that we are taking some kind of a designing some kind of a control input F. So these two cases ok in one case we are doing just feedback in other case we are doing feed forward there are some advantages and disadvantages can you figure out that ok think about that and then like know we will come to combination of these two effects together in one of the control strategies ok. So think about it maybe you can list it down and then we can proceed ok maybe you can pause here and I am continuing further. So you see that in the feed forward approach you will apply the input only what is required ok we are not giving any extra input or whatever ok whatever is required we will give that and it will execute the strategy ok trajectory. And drawback for that is so input will be not really very high or very low it is just whatever is the amount of input that is required. In the flip side of it is that we do not guarantee to be in the final position because we are not taking feedback and kind of monitoring where we are. But if you go to feedback case you will find that we are taking care of like somewhat the error in this case. However if you see initial kind of position to begin with there is a maximum error between the desired position somewhere here and the current position somewhere here. So the error is maximum and if you want this to happen in like know very small amount of time then you tune the gains to have very high values. Now when the gains have higher values that is multiplying this high highest error then initial control input that we need to give to the system is really very high ok. And that many times that input is beyond the level of actuator saturation limit and that is where like know you although you have planned to go it in the in certain fashion by tuning your PD control because actuators will get saturated for some time duration the job is not really well done ok in the sense we do not kind of guarantee that time whatever time we had tuned our PD control gains for ok. So that is a flip side of feedback kind of a control strategy. So in effect what we need to have is some kind of a combination of these two strategies ok. So we will what we will do is we will keep the force which is required to go from here to here according to the plan trajectory and in addition now beyond this even after we are doing this kind of a feed forward kind of a term feed forward control application beyond is whatever we want to control is where we add our feedback control. So feedback control will be just looking at the error between the desired trajectory that we have found by planning and the actual trajectory X or actual position X and only like you know if that every time point if it is not matching you will apply the additional control. So error will be redefined here our X desired which was final position here is not now considered in PD control now we consider the desired trajectory that we had planned ok that is considered to be a final position for the error calculation ok. And then you will find that the error at every point is not so high it is kind of some small whatever is called by the disturbances and that would like you know minimize or that would like you know would not allow the control input to go beyond saturation. So there are many other advantages of feedback plus feed forward control approach. So naturally now since we are only doing like the error difference between this feed whatever is achieved by feed forward and our planned trajectory that error is multiplied by gains we do not need very high gains in practice ok we will need the typically gain values required will be lower gain values also can achieve the same level of performance ok. So because of this gains being low so gains being low is a good thing for the sake of these other disturbances that unwanted errors are there like you know measurement resolution may there be some error quantization error will be there like you know number representation error or some kind of a derivative computation error. So these different kind of errors or noises so to say are there electrical noise. So these noises which are undesired kind of effects they are showing up in a sensor measurement ok or whatever is what are the terms that are going in the feedback terms. Now if these terms are multiplied the gains then these errors also will get amplified ok. So since our gain requirement in feed forward plus feed back control are low I mean the gain requirements low means the gain values are low the amplification of this unwanted noise will not happen and that helps a lot in achieving better control action ok. So the control in this case will be then because of the lower gains the response to these errors will not be there will not be very high and see if the response to these errors is high that will disturb your control objective itself ok. So you want to kind of settle into final position but it will kind of be jittery in the final position because these errors are unnecessarily getting amplified by the gains and that much input is going anyway to your control ok. So this is an important aspect of feed forward plus feed back control approach. So as long as possible you know you should try to do this feed forward plus feed back kind of approach and also with the lower gains the control will be robust to any disturbances that the system sees. Now what are the like you know flip or like you know the cons of this feed forward approach is you will need more control computations to be performed in the microcontroller. So you will need a microcontroller which is having like you know more power or more kind of a high speed and then you need to know the system parameters very well so that you are able to kind of compensate for most of the things you will be able to compensate. For example if in this case the mass is not very well known ok mass is known plus there is some data error in the mass so m plus delta m then the delta m error will be treated by the feedback control ok. So feed forward will take care of like no actual m but then that error delta m will be handled by the feed forward I mean the feedback control terms in the control ok. So it is good to kind of have the better like you know better the estimation of the parameters of the system better will be like you know lesser will be a load on feedback term in the control and then you will need to identify a friction to kind of compensate for friction in the feed forward kind of a way ok. So this is an important kind of a consideration so we will see you know many kind of controls that we will carry out we try to see whether we are able to apply both of these approaches together to control system design ok control design basically. Now there are many approaches for rigid body systems so we will consider like mainly the linear kind of a control design for now and then we will come to this you know the gradient formulation based approaches. So this form of the equation we will treat little later by adding friction to it right now we will focus on mainly linear systems approach and for linear systems you have these approaches based on the pole placement and classical control tools ok. You just need to remember here this butt is there to that is a friction that will be there in the system and many of the approaches that you are taking may not kind of completely represent system in its you know full sense without friction. So friction actual system has friction the model will not have friction and other thing is saturation will be there in the actuators that we need to always monitor. So you tune the gains and say ok oh my system is working fine that is not enough we need to look at with those gains what is the control input that is required and whether that control input that is going to the system is exceeding the actuator saturation limits ok. So these are the kind of like these are main approaches that we will take and then we need to kind of see that you know in some cases the friction will be too high in some cases it will not be so high all those kind of nonlinearities need to be handled over and above what we have learnt as a classical control techniques and tools. So for these typical approach will be first consider system without friction develop control and then implement it on a simulation implementing simulation on a system considering all the nonlinearities or all the kind of other things and see whether it is in the presence of other nonlinearities still it is giving the same performance or not or like you know is the performance acceptable or not and tune retune the gains further to get the final kind of controller. There is one approach other approach if that is not satisfactory then we will have to kind of consider this in the control development itself. So our model itself needs to have these nonlinearities incorporated and we then use some ways to compensate for them and this is a linear system kind of a design approach and nonlinear system we will see a Lyapunov based approach will be as many nonlinear systems approaches that are available for control but we will go through only this Lyapunov based approaches the most popular one and many of their approaches make use of Lyapunov arguments for its proof for their proof ok. So there are two different parts that we need to think about when we develop controllers there are first is like a design issues what are the design issues that are to be considered when we develop controller first is a stability. So the way the system is stable the controller also should be stable. So computation of the control it should be like you know from one sampling time to next sampling time as we are doing this control computation it should not you know run away like you know run away kind of in amplitude ok. So control amplitude should be always in control that means like you know you have a system controller poles they should be in the left half of the S plane ok that is our stability criteria. So when we do the controller design we need to make sure that that criteria is valid ok the controller by itself should be a stable controller ok. So we are developing this control to have a closed system to be stable but in addition we want the controller itself to be having some kind of a stable nature. Then we talk of performance of a controller so it should give the desired performance out of whatever controller strategy you have chosen should yield you settling time or overshoot in specified limits that the application requires. Then another thing is energy required to achieve performance ok this is very important criteria often people miss this out that you need like the energy required or control input required to achieve these performance need to be monitored and make sure that ok we are not exceeding these two about the saturation limit of actuator. And then there are implementation issues in the implementation you will have two ways of implementation analog domain and digital domain. So of course here we are talking about digital domain analog domain people are not right nowadays this kind of controllers are getting phased out because we cannot change their gains once the circuit is made the tuning gains and doing some changes in the control algorithms is difficult. And also for the cost you know nowadays because of the microcontrollers available at so less cost I mean implementation of this digital domain controller is comparable to the in cost to the analog domain kind of implementation. And it provides additional flexibility additional just change the program and your controller will change or control algorithm will change. So that kind of flexibility is offered with the digital domain controllers. So we will go for that. And other implementation issue we have to consider is sampling time. So sampling time the main kind of a thing is like we need to be able to do the tasks which we are supposed to do in the close loop ok continuously every you know after every sampling time we are doing this task or in during every sampling time we are doing this task. So this task should get finished within whatever allotted sampling time. If the tasks are not finished then there is something called overflow will happen and some of the operations may not be done and then you will find that your control strategy is not working very well. So we need to design sampling time in such a way that these all these tasks are getting completed. What are the tasks we do we read the sensors then process the signals of the sensors in some way if at all then compute a control and then implement that control on the actuator interfaces that we have chosen to ok. So these tasks should get completed in a reasonable amount of time. So that is one major requirement of sampling time. There are some other requirements we will discuss them in little more detail like you know as when we talk about signals and signal processing in in micro drawings ok. So we will move from here to first type of controllers ok type of controllers and then we will we will see some more linear system control in little more detail. So mainly people use the PRD PD or PI kind of controllers traditionally and many industries still continue to use them they they work really well in many cases. Then there are these many different types of controllers robust ok they are robust to internal or external disturbances then adaptive they adapt to the parameters as the system changes like some properties of lubrication or some other kind of environmental property changes happen slowly. So the system adapts to those kind of changes in by changing the gains automatically something of that sort happens in the adaptive control. Neural network control so there are many many different kind of controllers artificial intelligence based control deep learning based control like these are buzzwords these days to talk about. Logi logic is used in washing machine kind of systems. So so many different kind of control algorithms are are there ok then even the non-linear control also is a vast research area there are several several controllers or control algorithms people have paused I mean this is ever growing area mathematically in these. So there are a lot of developments in this control field and many mathematicians are involved in these developments and not all the controllers that you will find in the literature are amenable for practical implementation. So one has to have a wise or wisdom to see ok which are relevant for practical implementation which are not so that kind of a wisdom we should slowly develop as we see some of these fundamentals of mechatronic systems will slowly get that kind of understanding ok. Now the main design steps that you would consider for development of controllers is basically modeling system this we have already done and then representing that model into one of these forms ok by the differential equation form or transfer function form or state space kind of a form and then you will select some kind of a control strategy and do some mathematical analysis to establish that ok that strategy gives you a stable controller. Then you put some effort into designing the control parameters to make sure that you know your desired goals of the applications are achieved and then simulation and experiments and then reiterate some of these processes to make sure that you know your final control is good. So representation of system we have talked about already these are the three forms differential equation form state space form and then transfer function form ok. So in the each of the forms you know you can go back from differential equation to state space to state space to like you know transfer function transfer function to differential I mean you should be able to convert system into one form to other form ok by appropriate you know mathematical ways. These forms have you know in each of these forms there are different tools for control available but we will consider this differential equation to be most fundamental kind of a form of representation which will give us some physical insight also into the system and we may use that in incorporating like you know interesting ideas for control. So this is so although you may develop some some controllers in the state space form you can transfer them back to the differential equation form to see what their physical aspect or physical implementation or physical insight into that controller is ok. So these forms are mainly for the linear systems ok they will not be non-linear systems. Differential equations can be also non-linear but they will be able to we will be able to convert them into state space or transfer function form only if they are linear equations ok. The notions or issues in design and analysis additional to what we have talked already about is these are like more like a mathematical you know theoretical aspects one is like a stability so there is a bounded input bounded output stability notion that we have already seen in my class and maybe in some previous discussions and other important notion is controllability but definition controllable system is controllable if it can be taken from one state to another state in finite amount of time ok. So this controllability and observability are two definitions that are defined in the domain of state space representation of the system ok. So there are some conditions for controllability based on these matrices A, B, C, D of this form ok so we do not get into that right now we just need to kind of keep at a back of mind that some notion of controllability and observability exist here. If we want to use some control techniques from these domain of state space then we will need to go worry about these concepts ok. So some of you might have already in other classes gone into a good depth of these observability of observability you may be free to kind of use them to for your project purposes if you would like to or analyze some of the systems you know from that perspective and see. So in my opinion if you develop the design into like you know the transfer function domain or differential domain you can understand that that is fair enough to go. If you want to you can design also in this other domain but I mean it is actually personal choice I would say. I prefer to kind of like you know choose to not get into the state space domain too much actually it just I think it is just a personal choice. But I mean you can feel free to kind of get into different domains and look at the things. There are standard tools available in MATLAB for analysis in the state space domain also and in transfer function domain also one can use those techniques to do designs. Now we come to this important consideration of pole placement ok. So ok I hope you understand this term pole placement. So pole placement refers to like you know how do you design control so that the closed loop poles will be at certain locations in the in the left half of S plane of course we want all the closed loop poles in the left half of the system to be stable. So how do we kind of make a decision of where the poles should be placed given the design requirements or some applications. What are the considerations? How do you kind of like do this choice of these poles? Once the choice of the poles in the in this plane is left half plane is known then we can kind of see ok currently open loop system poles are at what locations and now if you want closed loop poles to be these locations what are what is the control how do we develop control that kind of a control problem can be posed ok. Then that can be achieved by like you know either using root locus or any modern control or state space based kind of a control techniques ok. For example if the system is controllable you can place the poles at any locations in the left half plane ok that is a very strong result from the modern control theory you get. Of course that requires state feedback but still I mean by using the state feedback you can actually design the controller such that you get the closed loop poles at desired location in the in the left half ok. So there are how what are the character has to think about one is a stability criteria which already satisfied but now other criteria is performance and then other criteria is input requirement ok. So if we start like you know performance from performance perspective we know that if the poles are far away in the left half then their contribution to the control output is very low in the sense the contribution dies down fast. So if all the poles are placed far away here then the response will be very very fast for the system ok. So we ideally would oh we will say ok oh look I want all the poles to be far away as possible that will give me a best response that will give me a very nice kind of you know evolution of the system. However it is not free things come at the cost what is the cost that you need to pay as you push the poles away from the left in the away in the left half plane from away from this imaginary axis then you start increasing the control input that is required to drive the system ok. And that is not desirable because our actuators have a limit ok. So that is why you do not want to push them too far away ok but you need to have them like you know in a far away so that it is your performance is good ok. So these are fighting against each other these two things performance requirements and then input requirement. So that is why like now we if you have strategies which can give you better performance with the little lower in like you know control input they will be accepted or they will be used in the in the application much better ok. So also we that is why from that perspective we may choose to have two poles retained close to the imaginary axis relatively close and other can be pushed little apart so these two poles will be a dominant poles for the system and output you know response or contribution to the output from the poles which are far away here that will be anyway dying down. So we can assume the could close system close loop system to have only these two poles like a second order system and then we can carry out some some control parameter design based on the formula that we already know for standard second order system response ok which which formula are also listed here for our new utility later ok. So that is one of this kind of a strategy is instead of pushing all the poles far away here we keep two poles retained two poles close to the imaginary axis and all other poles are little farther away so that these poles are dominating that is the kind of a way one can think about it. So you can do that pole placement or like you know by using this PID kind of a controllers and see now with this controller introduced how the close loop system poles are and thing like that ok. So one can like you know start constructing this kind of a you know block diagram with the flow and then put controllers at appropriate locations your controller may be here or controller may be here at some location controller is there then you can analyze the different different proposals and see which one is a base shooter to give you the desired kind of a response ok. And typically you you will avoid to carry out you know pole zero cancellations by using controller ok. So as we some part we we know or like if we if we cancel the poles especially in the left half of the plane they this cancellation is not really going to be exact because actual system and like know the its model will have always some small differences here and there and then only that small part which is not compensated completely that will kind of have some undesired effect on the system and it may not work well. So that is why from that perspective we do not do the cancellations here ok. So there are lot of techniques that you might have studied earlier to local pole plot like this plot these are like the classical the plas domain control techniques. Then you you have the state space base designs which is based on the linear systems theory then in the non-linear domain you have this Lyapunov control singular perturbation and feedback linearization or some many many different approaches. I am listening only few of them here out of that also we are going not going to consider lot of things for discussion I will give you some kind of a flavor of how do we go about designing and analyzing and maybe you can use one or more of these techniques to kind of do do this final goal for whatever system that is under your consideration you can make use of this in your project for example. We will go through little more detail in Lyapunov method and like know what is a best controller that can be possible for a rigid body non-linear system ok. So up to that we will do and that is good controller for practical implementation aspects as practical implementation as well so that that will be nice for us to look at. Then we will consider now example of linear or non-linear system to the system which is non-linear to begin with is pendulum system we all know it is non-linear if it will if you consider this theta for the pendulum to be not small and then like know see what what kind of a base we think of its control and then under example flexible belt drive system that you modeled in the assignment problem so you know I will I would like you to kind of do this analysis for that model is already existing with you so you think about suppose I want to position my load at some specific position and I give input as motor angle or motor torque or whatever you want to consider and I want the vibrations in the belt to be minimum ok or I want to position it the output theta L at some position such that there are not much of a vibrations when I go to the final position ok. So how do you kind of develop such a control for in a flexible belt kind of a system by using some of the concepts of this linear systems theory ok. So you I would like you to kind of give a thought to that before going further into the discussions ok. So I will pause here for the first video for this part of the lecture and then we will continue in the other video for the more discussions on these examples ok. So let me stop here.