рд░реЛрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ PS4 рдбреБрдЕрд▓рд╢реЙрдХ 4 рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдбреБрдорд┐рдк рд╕реЗрд▓реНрдл-рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд░реЛрдмреЛрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛


рдпрд╣ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЖрд░рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрдИ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реЗ рд░реЛрдмреЛрдЯ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рди рд╣реИред

рд╣рдореЗрдВ рдЦреБрдж рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ ps4 рд╕реЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдбреБрдЕрд▓рд╢реЙрдХ 4 рд╡реА 2 рдЦрд░реАрджрд╛, рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрд░рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдмреНрд▓реВрдЯреВрде рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЪрд╛рд▓рдХ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдпреВрдПрд╕рдмреА рдмреНрд▓реБрдЯреВрде рдПрдбреЗрдкреНрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг 2.1+ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд▓реИрдкрдЯреЙрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдЖрдк рдПрдХ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдФрд░ рд╕рд┐рд░реНрдл рдПрдХ рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рднреА рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдлрд┐рд░ рд░реЛрд╕ рдХреЗ рд╕рд╛рде рдЙрдмрдВрдЯреВ рдореЗрдВ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреА jestest-gtk рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╣реИрдВ, рд╣рдореЗрдВ рджреВрд╕рд░реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рднреА рдмрдЯрди рдФрд░ рд╕реНрдЯрд┐рдХреНрд╕ рд╣реИрдВред



рдЪреВрдВрдХрд┐ ROS рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ joy0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ joy1 рдкрд░ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

sudo chmod a+rw /dev/input/js1 rosparam set joy_node/dev "/dev/input/js1" 

рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЖрд░рдУрдПрд╕ рд╡рд╛рд▓рд╛ рдПрдХ рд▓реИрдкрдЯреЙрдк рдорд╛рд╕реНрдЯрд░ рд╣реЛрдЧрд╛, рдФрд░ рдмреАрдЧрд▓рдмреЛрди рдмреНрд▓реВ рдЖрд░рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдбреБрдорд┐рдк рд╡рд╛рдИрдлрд╛рдИ рд╕реЗ рд▓реИрдкрдЯреЙрдк рдореЗрдВ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред рджреЛрдиреЛрдВ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд╛рдИрдлрд╛рдИ рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реИрдВред

рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░, .bashrc рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреАрд╕реА рдкрд░ ros (roscore) рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ROS рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред (рдЗрди рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЕрдкрдиреЗ .bashrc рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ):ред

 тАЬexport ROS_MASTER_URI=http://192.168.10.101:11311тАЭ <-   ROS IP- ,     ros (roscore). тАЬexport ROS_IP=192.168.10.101тАЭ <-   ROS IP-   ( ). 

рдЕрдкрдиреЗ EduMIP рдкрд░, ROS рд╡рд╛рддрд╛рд╡рд░рдг рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡рд╣ рдкреАрд╕реА рдкрд░ ros (roscore) рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ .bashrc рдХрдорд╛рдВрдбреНрд╕ (рдЗрди рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЖрдкрдХреА .bashrc рдлрд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ) рдореЗрдВ рдЦреЛрдЬреЗ:

 тАЬexport ROS_MASTER_URI=http://192.168.10.101:11311тАЭ <-   ROS IP- ,     ros (roscore). тАЬexport ROS_IP=192.168.10.102тАЭ <-   ROS IP-   ( EduMIP). 

рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реЗ рд╕реНрдЯрд┐рдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝реЗрдЧрд╛ рдФрд░ рд╡рд┐рд╖рдп рдХреЛ рднреЗрдЬ рджреЗрдЧрд╛, рдФрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдмреЛрдЯред

 // Callback function for joystick pessaged void joyCallback(const sensor_msgs::Joy::ConstPtr& joy) { // X vel driven by left joystick for and aft command_velocity_twist.linear.x = joy->axes[1]; // heading driven by left joysticj left and right command_velocity_twist.angular.z = joy->axes[0]; } // this function gets called at 10Hz to publish the command_velocity array of 2 floats void timerCallback(const ros::TimerEvent& event) { cmd_vel_publisher.publish(command_velocity_twist); } 

рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░, рдЖрдк rqt_graph рдЪрд▓рд╛рдХрд░ рдиреЛрдбреНрд╕ рдФрд░ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:



рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░реЛрдмреЛрдЯ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкреНрд░рджрд░реНрд╢рди:


рд╕рд╛рд░рд╛рдВрд╢: рдЖрд░рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмрдбрд╝реА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рд░реЛрдмреЛрдЯ рдкрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрд╕реЗ рдЫреЛрдбрд╝рдХрд░ред рдмреАрдЧрд▓рдмреЛрди рдмреНрд▓реВ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рд╕рдмрд╕рд┐рд╕реНрдЯрдо (PRU - ICSS) рд╣реИред

PRU-ICSS рдореЗрдВ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ RISC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рджреЛ 32-рдмрд┐рдЯ рдХреЛрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ 200 MHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рдХрд╛ рдЕрдкрдирд╛ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рд▓рд┐рдирдХреНрд╕-рд╕рдВрдЧрдд рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╣реИ, рдкреА 8-рдкреА 9 рдХрдиреЗрдХреНрдЯрд░ рдкрд░ рд╕реНрдерд┐рдд рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдкрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╡рдзрд╛рди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдерд┐рддрд┐ рдмрджрд▓рдиреЗ рдкрд░ рдмреАрдЧрд▓рдмреЛрди рдмреНрд▓реВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдПрдордкреАрдпреВ 9250 рд╕реЗрдВрд╕рд░ рдПрдХ рд░реБрдХрд╛рд╡рдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдЬреБрдорд┐рдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдЧрд░ рд╣рдо рдЕрдЧрд▓реЗ рд╡рд┐рдХрд╛рд╕рд╡рд╛рджреА рдХрджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ ROS2 рд╣реИ, рдЬрд╣рд╛рдВ рдорддрднреЗрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ DDS (рдбреЗрдЯрд╛ рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛) рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд░реЛрдмреЛрдЯ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ ROS рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

Source: https://habr.com/ru/post/hi413901/


All Articles