做企业网站注意什么,广州哪里能建铝制异形现代别墅,网站备案必须做吗,网站建设所需技术作者#xff1a;李佳骏、常睿康、张智斌、李世斌、高华耸
单位#xff1a;山西能源学院
指导老师#xff1a;赵浩成、郜敏
1. 研究背景 森林作为地球上可再生自然资源及陆地生态的主体#xff0c;在人类生存和发展的历史中起着不可代替的作用#xff0c;它不仅能提供…作者李佳骏、常睿康、张智斌、李世斌、高华耸
单位山西能源学院
指导老师赵浩成、郜敏
1. 研究背景 森林作为地球上可再生自然资源及陆地生态的主体在人类生存和发展的历史中起着不可代替的作用它不仅能提供国家建设和人民生活所需的木材及林副产品而且还肩负着释放氧气调节气候环境涵养水源、保持水土、防风固沙、美化环境、净化空气、减少噪音及旅游保健等多种使命同时森林还是农牧业稳产高产的重要条件。然而森林火灾是森林最危险的敌人也是林业最可怕的灾害也会给森林带来最有害、具有毁灭性的后果。森林火灾不只是烧毀片片森林伤害林内动物而旦还降低森林的更新能力引起土壤的贫瘠和破坏森林涵养水源的作用甚至号致生态环境失去平衡。2019年3月30日四川省凉山州木里县就曾经发生过一次非常严重的森林火灾。2019年3月30日是一个雨天木里县喇嘛寺沟附近下午5点左右出现了雷雨天气虽然只是一次持续了30秒左右的阵雨但是隆隆雷声却一直回荡在天空不绝于耳。下午6点时一场森林火灾在山上悄然而至起火点位于海拔3800余米的山上山中地形复杂遍布沟壑无论是交通还是通讯情况都非常不好消防官兵难以迅速赶往现场进行救援。经过相关部门得知消息后初步判断本次火灾的原因可能是由于之前降兩时的雷击导致多个起火点都位于山崖上火场平均海拔高达4千米。31日下午689位救火人员带着各种设备登山前往海拔4000余米的原始森林开展救火工作由于当日风向不定风力风向突变导致山火爆燃形成一个巨大的火球。救火人员兵分两路进行避险其中一路安全撤离另一路的27位森林消防指战员和三名地方救火人员就此和其他人失去了联系。4月2日早晨六点30分田火山山上的明火终于被扑灭。而制作山林隔离带是有效制止森林大火蔓延的的有效方式且该方面大多是通过人工下地来完成的所以我们设计了一款可通过远程遥控来实现砍伐、运输一体化的全地形机器人减少人工的需求量和危险性。同时目前生活中的伐木大多由人工实地操作我们的作品也可以代替其完成系统化的作业。
2. 主要功能 本小组作品的主要功能有在大火发生时及时进入火场中对还未涉及到的地域进行砍伐树木降低火灾面积。本小车为全地形小车可以适应森林中的各种地形如山坡、地坑等等。小车一侧设有抓夹在另一侧砍伐完树木后抓夹可以及时将树枝抓起放到车后部最终由小车将其带出森林。在救援的同时小车前部设有摄像头以及湿度传感器实时监控并记录火灾情况。本作品不仅可以用作在森林防护中制作隔离带的一体化工作也可以用作日常生活中做伐木一体机器人使用。
3. 场景调研 森林火灾的起因主要有两大类人为火和自然火。人为火包括生产性火源农、林、牧业生产用火林副业生产用火工矿运输生产用火等、非生产性火源野外吸烟、做饭、烧纸、取暖等、故意纵火。自然火包括雷电火、自燃等。由于我国的森林火灾中由吸烟、烧荒和上坟烧纸引起的火灾占了绝大多数所以我们小组场地模拟森林火灾的起因为烧荒。在实际的地形中会存在山坡和小断层我们小组在模拟时模拟机器人爬小山坡和爬小台阶断层。同时模拟了砍伐树木的过程再砍伐完后车另一侧的抓夹会将树木夹起搬运出森林。在进行就救援以及砍伐树木时车前的摄像头可进行实时监控可记录下在砍伐树木时周遭的实时动态同时还有湿度传感器的实时监测。
4. 机器人本体技术路线说明 ① 机械结构整体车身分为两部分前端车体运用柔性结构并采用履带式车轮后部采用传统轮胎有着很好的抓地力。车体大致结合军用坦克的履带的优越性并结合实际改装了后置轮胎使得前后轮可以通过配合从而顺利翻越一些工作途中所遇到的障碍。 ② 驱动系统该车加装了6个双直流电机共同驱动六个电机同时驱动为小车提供了足够的动力减少了动力的损失为通过障碍物提供了足够的动力条件电锯有单舵机制作的机械臂和电机控制的电锯体实现横向自由伸展砍伐树木。机械爪由两个舵机控制的机械臂和单舵机控制的爪体构成可实现横向伸展并调整爪子的摆动实现抓取。 ③ 控制系统主板采用了Basra主控板通过ESP8266Wi-Fi模块与电脑连接实现远程实时无限操作通过摄像头、温湿度传感器来实时反馈现场情况为人们的勘测和救援提供信息帮助。 ④ 感知系统车体全程操作由人工在远程通过WiFi模块实时操作在车体的前方和中段均装有摄像头前部摄像头可帮我我们锁定目标树木的方向也可以规避障碍物在侧端的摄像头可对目标数目进行定位当其进入合适位置后进行砍伐和搬运。在车的顶部同时也装配了温湿度传感器对周围环境进行监控并及时反馈为人工救援行动提供保障。
5. 示例程序
#include Servo.hint _ABVAR_1_data 0 ;int in1 5;int in2 6;int in3 9;int in4 10;int in5 12;int SERVO_SPEED20; //定义舵机转动快慢的时间int ACTION_DELAY200; //定义所有舵机每个状态时间间隔Servo myServo[4];int f 50; //定义舵机每个状态间转动的次数以此来确定每个舵机每次转动的角度int servo_port[4] {3,4,7,8}; //定义舵机引脚int servo_num sizeof(servo_port) / sizeof(servo_port[0]); //定义舵机数量float value_init[4] {10, 40, 20, 40}; //定义舵机初始角度//10, 110, 20, 40chu 100, 110, 60, 30 kaishi 100, 40, 60, 30zhua 100, 40, 40, 30qi 10, 40, 60, 30weizhi //float value_init[6] {10, 130, 60, 30}; //定义舵机初始角度//float value_init[6] {0, 40, 40, 40};void setup(){Serial.begin(9600);pinMode(in1, OUTPUT);pinMode(in2, OUTPUT);pinMode(in3, OUTPUT);pinMode(in4, OUTPUT);pinMode(in5, OUTPUT);for(int i0;iservo_num;i){ServoGo(i,value_init[i]);}}void ServoStart(int which){if(!myServo[which].attached())myServo[which].attach(servo_port[which]);pinMode(servo_port[which], OUTPUT);}void ServoStop(int which){myServo[which].detach();digitalWrite(servo_port[which],LOW);}void ServoGo(int which , int where){if(where!200){if(where201) ServoStop(which);else{ServoStart(which);myServo[which].write(where);}}}void servo_move(float value0, float value1, float value2, float value3){float value_arguments[] {value0, value1, value2, value3};float value_delta[servo_num];for(int i0;iservo_num;i){value_delta[i] (value_arguments[i] - value_init[i]) / f;}for(int i0;if;i){for(int k0;kservo_num;k){value_init[k] value_delta[k] 0 ? value_arguments[k] : value_init[k] value_delta[k];/**************************串口查看输出*****************************/// Serial.print(value_init[k]);// Serial.print( );}// Serial.println();/**************************串口查看输出*****************************/for(int j0;jservo_num;j){ServoGo(j,value_init[j]);}delay(SERVO_SPEED);}delay(ACTION_DELAY);}void loop(){/* servo_move(10, 40, 20, 40);delay(500);servo_move(100, 20, 20, 40);delay(500);servo_move(100, 110, 20, 40);delay(500);servo_move(100, 110, 60, 40);delay(500); servo_move(100, 40, 60, 40);delay(500);servo_move(10, 40, 60, 40);delay(500);servo_move(10, 40, 20, 40);*/_ABVAR_1_data Serial.read() ;if (( ( _ABVAR_1_data ) ( 1 ) )){analogWrite(in1, 0); analogWrite(in2, 0);analogWrite(in3, 0);analogWrite(in4, 160);delay (10);}if (( ( _ABVAR_1_data ) ( 2 ) )){for(int i0;i10;i){analogWrite(in1, 160);analogWrite(in2, 0);analogWrite(in3, 0);analogWrite(in4, 0);delay (10);}}if (( ( _ABVAR_1_data ) ( 12 ) )){ for(int i0;i10;i){servo_move(190, 40, 20, 130);analogWrite(in1,150);analogWrite(in2,0); analogWrite(in4,150);analogWrite(in3,0);delay (1000);}}if (( ( _ABVAR_1_data ) ( 3 ) )){ analogWrite(in1,150);analogWrite(in2,0); analogWrite(in4,150);analogWrite(in3,0);delay (1000);}if (( ( _ABVAR_1_data ) ( 0 ) )){ analogWrite(in1,0);analogWrite(in2,0); analogWrite(in4,0);analogWrite(in3,0);}if (( ( _ABVAR_1_data ) ( 4) )) //jixiebi1{ servo_move(10, 40, 40, 130);delay(500);delay(500);delay(500);analogWrite(in5, 250);delay(500);}if (( ( _ABVAR_1_data ) ( 5) )) //jixiebi1{ servo_move(10, 40, 20, 60);delay(500);analogWrite(in5, 0);}if (( ( _ABVAR_1_data ) ( 7) )) //10, 110, 20, 40chu 100, 110, 60, 30 kaishi 100, 40, 60, 30zhua 100, 40, 40, 30qi 10, 40, 60, 30weizhi { servo_move(100, 110, 60, 30);delay(500);}if (( ( _ABVAR_1_data ) ( 8) )) //qi{ servo_move(100, 40, 60, 30);delay(500);}if (( ( _ABVAR_1_data ) ( 9) )) //fan{ servo_move( 100, 40, 40, 30);delay(1000); }if (( ( _ABVAR_1_data ) ( 10) )) //fan{ servo_move( 10, 40, 60, 30);delay(1000); }if (( ( _ABVAR_1_data ) ( 11) )) //fan{ servo_move(10, 40, 20, 40);delay(500);servo_move(100, 20, 20, 40);delay(500);servo_move(100, 130, 20, 40);delay(500);servo_move(100, 130, 50, 40);delay(500); servo_move(100, 40, 50, 40);delay(500);servo_move(10, 40, 50, 40);delay(500);servo_move(10, 40, 20, 40);}}
6. 创新点 小车行进结构利用“太极”式刚柔结合进行翻越障碍。当小车遇到有一定角度的倾斜坡的时候此时小车的刚性材料组成的车轮即可派上用场通过调整履带的旋转自由度使得小车在上坡的过程中不会发射管前倾和后倾。在小车遇到有断崖台阶的地面环境时其柔性材料做成的车轮经过调整前轮的自由度和前轮和后轮之间的距离可以做出俯仰抬头的动作从而轻松爬上断崖台阶}。与此同时俩种不同材料组成的车轮也解决了在移动过程中出现的打滑问题使小车的稳定性更高。其次小车的机械臂可以180°进行旋转不仅使小车在工作时候可接触的范围更广还减小了车的体积从而加快了小车的速度车身在此期间也可以保持到最佳的位置。在此期间同时可以利用小车体积小的优势可以顺利通过小的隧道进行工作。最后我们设计的小车使其重心集中在了整个小车的最中心减少了了在通过障碍工作途中造成小车前倾或者后倾从而翻车的情况加强了小车的稳定性。
7. 作品难点 ① 本作品在左右两侧分别装有不同的机械结构应对其进行有效合理的位置和结构设计保证其相对应与其他传感器的配合。 ② 小车在运行过程中需通过不同的障碍结构而由于车身较小故掌握小车在登台阶和上坡时的平衡很是关键防止侧翻。故我们在进行上下坡台阶会将左右机械臂摆至前后进行平衡。 ③ 在小车砍到设计的隔离带树木后放在车后方拉出时怎么样去寻找最合适的路线去拉走树木从而防止其他树木在路途中阻挡砍到的树木撤离火源。 更多详情请见 【S043】森林管理员