Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

NXP Linux Yocto Project for “Cerebellum” (aka motion controller) of Humandoid Robot PoC (Proof of Concept)

This README contains instructions for setting up a Yocto build for the PoC release image.

Install the repo utility

To get the BSP you need to have repo installed.

$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo  > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=${PATH}:~/bin

Download the Yocto Project BSP for S32N7x

$ mkdir motioncontroller
$ cd motioncontroller
$ repo init -u https://github.com/nxp-auto/grayvip-manifests -b release/GrayVIP-1.0.6.4 -m default.xml
$ repo sync

Create a new build folder

If you want to create a new build folder for Ubuntu 22.04 (Jammy) with ROS 2 Humble:

$ source sources/meta-nxp-motioncontroller/meta-jammy-humble/tools/nxp-setup-motioncontroller.sh -D fsl-grayvip -m s32n79rdbubuntu -p hw-partition-1.1.5

or Ubutu 24.04 (Noble) with ROS 2 Jazzy:

$ source sources/meta-nxp-motioncontroller/meta-noble-jazzy/tools/nxp-setup-motioncontroller.sh -D fsl-grayvip -m s32n79rdbubuntu -p hw-partition-1.1.5

Note: The available build MACHINEs for below boards:

s32n79rdb -  S32N79 RDB

Use an existing build folder

If you want to build in an existing build folder for Ubuntu 22.04 (Jammy) with ROS 2 Humble:

$ cd motioncontroller
$ source sources/meta-nxp-motioncontroller/meta-jammy-humble/tools/setup-environment build_s32n79rdbubuntu_hw-partition-1.1.5

or Ubutu 24.04 (Noble) with ROS 2 Jazzy:

$ source sources/meta-nxp-motioncontroller/meta-noble-jazzy/tools/setup-environment build_s32n79rdbubuntu_hw-partition-1.1.5

Build the image for s32n79rdb

$ bitbake -k nxp-image-ubuntu-ros2

Basic Functionality Testing

If you want to have some basic testing on Ubuntu 22.04 (Jammy) with ROS 2 Humble, you can following the ROS2 documentation (https://docs.ros.org/en/humble/index.html) and do the basic testing as below:

$ source /opt/ros/humble/setup.sh
$ echo $LD_LIBRARY_PATH
$ ros2 topic list
$ ros2 interface list
$ (sleep 2; ros2 topic pub /chatter std_msgs/String "data: Hello world") &
$ ros2 topic echo /chatter
$ ros2 run demo_nodes_cpp talker --ros-args --enclave /talker_listener/talker
$ ros2 run demo_nodes_cpp listener --ros-args --enclave /talker_listener/listener

MobaXterm can be used to connect to the target board via SSH, and start RVIZ2 remotely.

$ source /opt/ros/humble/setup.sh
$ ros2 run rviz2 rviz2

And for several motor control communication protocols, you can refer to online documentation, Modbus https://docs.nxp.com/bundle/REALTIMEEDGEUG/page/topics/protocols/modbus.html, for Canopen https://canfestival.org/doc.

Notice

The default PoC build will create the account "user" with the password "user" for motion controller evaluation.

If you want to add multiple account, you can set as below in <build_dir>/conf/local.conf. (every user setting should be splitted by a space).

APTGET_ADD_USERS:append = " user1:<password hash>:${USER_SHELL_BASH} user2:<password hash>:${USER_SHELL_BASH}"

How to generate password hash value? LDP system passwrod generated by openssl algorithm,the default algorithm is MD5, such as:

$ openssl passwd -1 ab123

Then return value is "$1$FP6PEJWC$e7l2p4w5ek4XDRRrdAwIo/" from terminal, write this value in local.conf

APTGET_ADD_USERS:append = " user1:\$1\$FP6PEJWC\$e7l2p4w5ek4XDRRrdAwIo/:${USER_SHELL_BASH}"

Important: if the value contain "$", it should escape with "\$".

After build image, you can log in with "user1:ab123" or "user:user"

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages