比方说,我有一个或多个机器人海龟,每个机器人有一个左右轮,一个编码器在左右两个轮子上。轮子可能有PID控制的马达。在像ROS这样的系统中,人们可以通过分层命名系统来访问系统和子系统:即:/ to _1/l轮/ PID / Kp,用来设置左轮PID控制器的Kp参数,或者通过/tor3/l轮/编码器来获取车轮的编码器读数。海龟将是局域网上的节点。
由于Erlang有一个用于注册进程的平面名称空间,那么应该如何实现这样的分层视图?我想您可以为层次结构中的每个级别注册一个进程,其名称为子系统的全称(/turtle_1表示顶级进程,/tor1/l轮用于控制车轮的进程,/ top _1/l轮_1/pid等