rosserial communication ROS melodic - serialization

I am working on a mobile robot that consists of Jetson Xavier NX (aarch64 aarch64 GNU/Linux) and Nucleo board F429ZI (STM32). I am on Ubuntu 18.04 and ROS melodic. The motors and IMU are interfaced with the Nucleo board. The Nucleo board is publishing the Joint state, IMU values, and other sensors information. It is also receiving the wheels velocities from a topic to drive motors. The rosserial library is used for communication between Xavier and Nucleo board.
Everything works well when I bringup the robot but after 5-10 minutes I start receiving one of the following errors/info.
wrong checksum for topic id and msg
unable to sync with the device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
no sync with device try restarting
Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client
After the error except error 4, the joint states are no more published. However, I can still send the commands to wheels through joystick or keyboard.
Additionally, I have tested the same setup on my laptop Dell precision 3551 ubuntu 18.04 (\x86_64 x86_64 x86_64 GNU/Linux) and no such info/error appears.
Do you have any expert opinion? Please let me know if you need any additional information
Thanks

Related

Is STM32f429 discovery board fully supported on qemu?

I'm trying to emulate STM32F429I discovery board using qemu & eclipse IDE. I got the blinky example running with the led turning on and off on the graphics screen but I have tried an example to run the on-board screen and it doesn't seem to be running, Is it supported? Also, many drivers fail when simulated with qemu (sdram, rcc, ...) How can I know exactly what peripherals that are fully supported?
Here's the part of documentation about the board, What is meant by "FP not emulated" anyway?

PyOCD doesn't find Nu-Link2-Me probe on my NuMaker board

Note: Why this question is not off-topic
Some people seem to think this question is off-topic, and it would be better suited for Super User. Please give me a chance to explain why that's not the case.
The question is not about "general computing hardware" but about "embedded software". In the topic of "embedded software", there are tons of questions on StackOverflow related to OpenOCD, a popular open-source tool to connect your computer to embedded software development boards. All these questions are considered totally okay for StackOverflow. My question on this page is about PyOCD - an emerging OpenOCD alternative. So if you vote to close this question, then please also vote to close the 565 (!) other questions about OpenOCD too ;-)
I've got a NuMaker-M032SE V1.3 board from Nuvoton that I'm trying to flash/debug with PyOCD. It's my first time I'm experimenting with PyOCD and with Nuvoton chips. Unfortunately, PyOCD cannot find the device. I'll go step-by-step through the whole procedure. Please tell me what I did wrong.
1. My system
I'm running 64-bit Windows 10 on my desktop computer. I've got Python 3.8 and recently installed the latest PyOCD development version from a cloned GitHub repository (see https://github.com/mbedmicro/pyOCD).
2 Install Microcontroller board
Note: this paragraph is simply to show you the background situation, before I move on to explain the actual problem I got with PyOCD
I've got a Nuvoton NuMaker-M032SE V1.3 microcontroller board:
This board has a Nu-Link2-Me V1.0 probe on the right side. The first time I connect my board to my computer nothing really happened. So I figured out I had to install the Nuvoton ICP tool that comes with the Nu-Link USB Driver 1.6:
You can download the Nuvoton ICP tool here: https://www.nuvoton.com/hq/support/tool-and-software/development-tool-hardware/programmer/
When I first start the sofware, I see this:
And I get a request to update the firmware on the Nu-Link2-Me V1.0 probe:
I click OK and wait for the firmware update to complete. I plug out and back in the board. Windows clearly notices the device:
I can also see the device in my Control Panel > Device Manager. It's listed under Universal Serial Bus Controllers as Nuvoton Nu-Link2 USB:
3 Prepare PyOCD
PyOCD has a few built-in targets. But not the Nuvoton chip I got. So I consulted the documentation at https://github.com/mbedmicro/pyOCD/blob/master/docs/target_support.md and learn that I need to download a pack from http://www.keil.com/dd2/pack/ . That's where I download the Nuvoton ARM Cortex-M NuMicro Family Device Support pack:
Because I downloaded the pack manually, I know that I'll have to add the parameter --pack="C:/path/to/pack/Nuvoton.NuMicro_DFP.1.3.5.pack" to every PyOCD command, to ensure that PyOCD can access this pack whenever it needs to.
4. Connect PyOCD with Nuvoton board
I believe my microcontroller board is properly installed to go on to the final step: connect PyOCD to the Nuvoton microcontroller board.
First I want PyOCD to find the board. I issue the following command in a Windows console:
$ pyocd list --pack="C:/path/to/pack/Nuvoton.NuMicro_DFP.1.3.5.pack"
Unfortunately, I get the response:
No available debug probes are connected
I tried a few times, both with and without the --pack parameter. I always get the same error message.
Note:
I had expected to see something like:
# Probe Unique ID
---------------------------------------------------------------------------
0 ARM CMSIS-DAP v1 000000800a0c882800000000000000000000000097969902
That's the output I get when I issue the $ pyocd list command and I have my SWDAP probe connected to my computer. The SWDAP is the official probe from ARM (see https://os.mbed.com/components/SWDAP-LPC11U35/) that runs the DAPLink firmware (see https://github.com/ARMmbed/DAPLink).
I got a reply from Nuvoton. Apparently the NuMaker-M032SE V1.3 board is not yet supported in PyOCD at the time of writing (02 Dec 2019). At the moment, only NuMaker M252/M263 boards are supported.
Nuvoton will make efforts to support these boards in PyOCD too, in the future.

Can't flash the module — 'Please insert disk'

I recently got a new Mbed board - this one is MTS Dragonfly. I can't get flash-disk to show up correctly, and I am wondering if I have got a DOA module, or I am doing something wrong. Does this happens to other Mbed boards?
I have installed drivers from manufacturer website and do have a working serial connection, which defaults to the cellular module. However the flash disk does not show up correctly. Unlike other Mbed boards, I am greeted with a message "please insert disk" and I see no file system.
Interesting part is that the mbed microcontroller - that is the one doing the programming - is on a separate development / breakout board. The target is a separate module that is meant to be used in production.
If I do not insert the target into the development board, and connect development board to the PC, I get the same error. I have looked at diskpart, and when no target is present, it shows up as a 16 KB disk with no partitions or volumes.When the module is inserted, diskpart reports ~512 KB of space, also with no partitions. Thus I guess that I am plugging in the module correctly.
I have seen user discussions for a 'bricked' mbed board (damaged file-system), and this situation looks similar to me.
I tried diskpart to create a partition, or clean the disk, and it throws an IO error.
This question on mbed site
I just tested all of my Mbed boards and discovered that this is a regression in Windows 10 anniversary update.
MTS-Dragonfly and another board, Delta DFCM-NNN40, do not show up with a valid partition on any of my Windows 10 machines. I have a couple of FRDM boards and those work fine.
I tested Ubuntu, and it has no issue displaying the disk drives or programming the boards. I have not tested other versions of Windows. A workable solution is is to use Ubuntu in VirtualBox, and pass it control of the USB device.

Kinect v2 compatible usb controller

I'm now trying to set up my kinect version 2
I installed Microsoft sdk and usb extension board (Renseas 720202)
Question is, Kinect can be detected before driver of usb board install.
In Kinect verifier program, usb controller are not compatible but can get
color image with low fps.
ahttp://ppt.cc/XvKOg (Sorry I can't post more than two links. Plz remove 'a' and see the pic)
http://ppt.cc/kv38M
After install driver of usb board, I get nothing...
ahttp://ppt.cc/hbWAE
http://ppt.cc/Cw29u
I search that intel and Renaseas chips are compatible with Kinect v2.
What can I do? Thanks
update
In the end, I change computer which use intel chipset on mother board to solve the problem.

install vxworks on vortex 86d

I wonder by any chance is there a way to install vxworks on vdx86d(vdx6354)? I searched a lot on the net and did not find NO to this question, but no manual or help could be find by me. anybody did this before and know how to do it?
VxWorks certainly runs on PC architecture x86 targets; there is probably already a suitable 80486 BSP that will suit this board. You can search for a suitable BSP here. There is only one BSP explicitly listed for 486 targetted at VxWorks 5.4/Tornado 2.0 - so it is as antique as 486 architecture itself. VxWorks 6.9 however has a single unified BSP for x86 which will no doubt work with your board.
VxWorks is not "installed" as such in the same way as a GPOS such as Linux or Windows; rather you link your application with the VxWorks libraries to create an application image that runs directly on boot. How the bootstrap process works varies between architectures and hardware implementation, but as a generic PC architecture board, booting a VxWorks application on your board will be the same as any other PC target. As such what you need to look for are directions on booting VxWorks on PC architecture rather then being specific about your actual board.
On PC architecture you can boot from mass-storage, or from a network server. Booting via a network connection is the normal method during debug/development. A great deal of the information available is for older versions of VxWorks. However it seems that it is possible to boot VxWorks via a VxWorks specific bootstrap, or from a generic PC bootloader such a s U-Boot.
Ultimately Wind River Support is probably a good starting point.