机器人应用在Erlang [英] Robotic Applications In Erlang

查看:169
本文介绍了机器人应用在Erlang的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用Erlang来实现一个机器人应用程序。在Erlang中实施的大多数现实世界的应用程序都是基于基于Web的。由corrado教授实施的机器人并没有利用Erlang的并发性,这是Erlang的核心,更多地集中在人工智能(根据我对该项目的理解)。 / p>

有些想法出现在我的脑海里,就像Soccor Robots,多个机器人清理房间,但是在这样的系统中机器人可以用C(或任何其他编程语言)编程,使用MATLAB进行控制。 MATLAB有助于图像处理(视觉系统)和解决复杂的阵列计算,所以使用Erlang的要点是什么?(如果我错了,请更正我)



可以有人建议我一些机器人应用程序,它可以利用Erlang的功能,特别是并发,可以说Erlang比其他语言最适合这样的应用程序。



有点详细的答案会帮助我很多。

解决方案

但是Erlang可能不是 应用程序。但是,您可以选择不那么雄心勃勃的论证,表明 Erlang支持在许多机器人应用程序中很重要的计算模型。使用Erlang进行机器人技术的要点包括:对并发世界进行建模和监视的




  • 并发

  • 分发传感器,执行器和计算资源;

  • 状态机将行为绑在一起;和

  • 主管的容错。



完成任何语言,但Erlang使一些方便,特别是在架构层面。



第14章在 Erlang中的并发编程,例如,通过一个进程为每个升降机和每个升降台一个升级控制系统建模,后来讨论了卫星控制的过程结构系统。升降机或卫星可能不像机器人一样,但原理是一样的。



Erlang&机器人由Corrado Santoro等人大量使用并发。他们的 2007移动机器人项目有一堆不同的(并发)OTP行为,从低级别I / O到高级别规划。 使用机器人和玩家/舞台教学Erlang 是最近的另一项工作。



您的机器人足球或清洁机器人的想法很好,拥有大量的并发和机器人间通信的空间。但是你不只是做这个大小的任意机器人应用程序。你有一个团队和一些特定的机器人来工作,或者你自己一个模拟器(以任一方式获得模拟器)。



尝试模拟一些彼此相向的机器人,直到它们都相撞,每个机器人都运行自己的过程。当这样做时,更换任务并添加(假装)控制电机,感觉墙壁,看到环境,了解用户命令,分解等的过程,并与其他机器人和规划过程交换消息。



阅读机器人系统架构

I want to use Erlang for implementing a Robotic Application. Most current real world applications implemented in Erlang are web based. Robot implemented by Prof. corrado didn't utilize concurrency of Erlang which is the heart of Erlang and concentrated on Artificial intelligence more(according to my understanding of that project).

Some ideas come to my mind are like Soccor Robots, Multiple robots cleaning a room but in such systems Robots can be programmed in C (or any other programming language) which can be controlled using MATLAB. MATLAB helps in image processing(vision system) and solving complex array calculations, so what is the point of using Erlang?.(please correct me if I am wrong)

Can somebody suggest me some Robotic Application which can utilize Erlang's feature especially concurrency and one can argue that Erlang is best suited for such application over other languages.

Little bit detailed answer would help me a lot.

解决方案

But Erlang might not be the best approach to any robot application at all. But you can go for the less ambitious thesis of demonstrating that Erlang supports a computing model that is important in many robotics applications. The points of using Erlang for robotics include

  • concurrency to model and monitor a concurrent world;
  • distribution of sensor, actuator and computing resources;
  • state machines to tie the behaviors together; and
  • supervisors for fault tolerance.

Anything can be done in any language, but Erlang makes some things convenient, particularly on the architectural level.

Chapter 14 in Concurrent Programming in Erlang for example models a lift control system by one process for each lift and one for each floor, and later discusses the process structure for a satellite control system. Lifts or satellites maybe aren't very robot-like, but the principles are the same.

The Erlang & Robotics work by Corrado Santoro et al. makes plenty use of concurrency. Their 2007 mobile robot project has bunch of different (concurrent) OTP behaviors that range from low level I/O to high level planning. Teaching Erlang using robotics and player/stage is another recent work.

Your Robot Soccer or Cleaning Robot ideas are fine and have plenty of scope for concurrency and inter-robot communication. But you don't just do an arbitrary robot application of that size. Either you have a team and some specific robots to work on, or you get yourself a simulator (get a simulator either way).

Try simulating a number of robots that steer towards each other until they all collide, each robot running a process of its own. When that is working, replace the task and add processes that (pretend to) control motors, feel walls, see the environment, understand user commands, break down, etc., and exchange messages with other robots and planning processes.

Read up on robotic systems architectures to understand that such designs are common and why. Did Erlang facilitate this type of programming?

这篇关于机器人应用在Erlang的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆