What is the best approach to simultaneously working in real time and not in real time

Sorry for the bad title, I really don't know how to describe it briefly ...

My scenario is that for a robotic application, we need a real-time loop to control the engine every 1 ms. Although at the same time we may want to do something that does not have real-time requirements, such as route planning, image processing, object recognition, etc. In addition, some of the results of a non-real-time task will be sent to the engine control in real-time loop to control the robot.

For the real-time part, I'm using Ubuntu with RT-Preempt Patch. Therefore, I can run the real-time control loop in the while loop in the same way as the sample code here .

However, I have no idea about the part other than real time. In my humble opinion, I would introduce a new thread into the same process and start a non-real-time task in that thread.

Since I am very new to real-time programming, I do not know what the problem is for my design. Also, I wonder if there is any paradigm for developing such a program?

--- EDIT ---

Read more about my application.

A robot, to be more specific, is a robot.

, . -. , EtherCAT .

, , , PointCloud kinect, , , , , , . 10 . , .

, , , , . , , , , . , , , .

+4
2

? ( , " 1 " ) .

?

?

, , . Google Car - , robocup. Google Car, Robocup - , , .

40 / (144 /, 130 / ), 8 , 8 - , -,

? ?

, ( ) ? . sem_overview (7) shm_overview (7).

, " " " ".

- ( ) , ( ) .

- (.. ), , . ( - , - Google Car, , , , !).

+2

, , @ .

RT-Linux, , . , : , . , . ( ) .

, , Linux. , , . - , : FIFO .

FIFO ( , ). , /. tldp.org.

. . /, , . , , , . drdobbs.com.

( , , ).

+1

All Articles