Job Details

  • このエントリーをはてなブックマークに追加
  • mail

Low Layer SW Engineer【Robot System】

Mobile Robot, Drone, Autonomous Nav | Embedded Software | Control Engineering | Electrical Engg | IoT, Telecom, Network

Location Kawasaki-shi, Kanagawa-ken
Company An AMR startup founded by a former automotive AD tech lead.
Owns products such as autonomous transport robot that can switch between AGV mode on trajectory and autonomous mode without pre-defined trajectory, general purpose towing solution for 3rd party trolleys, and fleet management system.
Since the product's release in 2022, sales have been steadily increasing.

- Established: March 2020
- Workforces: approx. 50
- Capital: JPY 100M
Job Description [Job Description]
This position is responsible for developing the lower layers of the company's Autonomous Mobile Robot (AMR) system.

This product is a robot that moves autonomously using SLAM, and is equipped with an x86 CPU and an Arm® (Cortex®-M7)-based microcontroller.

The candidate will develop software that is located at the lower layer of the software installed on this hardware, such as software that includes the following elements.
- Create an environment where upper layer applications can make the most of hardware resources.
- Implement driver layers such as sensors, actuators, and communication modules for upper layer software.
- Monitor abnormal behavior of the hardware and develop fail-safe protection mechanisms.
- Develop embedded system firmware using RTOS, etc.

In this way, we provide a software infrastructure that connects upper layer applications and hardware and ensures stable operation of the system.

As a member of the software development team, a robot system low layer software engineer is expected to perform the following tasks.
- Coding on your own
- Planning the introduction of various frameworks and middleware
- Performing development with team members in accordance with the philosophy of Scrum development
- Reviewing team members' code

[Team and role]
You will belong to the AMR Software Team, which is part of the Tech Department that develops core technologies. Basically, you will develop almost all the software inside the autonomous mobile robot (AMR).
- Autonomous navigation software using SLAM
- Software that monitors the status of the AMR
- Embedded software that manages the status of internal components such as various sensors and power supplies
- Simulation software to verify the operation of the software

You may travel to customer sites to investigate software defects, etc.

The following are currently separate and therefore outside the scope of this position, but you can flexibly work on them as needed.
- A team that prepares and tunes software for on-site implementation of the product
- A team that evaluates the quality of the product
- A team that develops a higher-level system for group control

[Tools used, etc.]
- The company's robot solution
- Configuration management tool: Ansible
- System monitoring: Prometheus / Grafana
- In-robot software: Linux (Ubuntu) / ROS / Docker / Zephyr OS
- In-robot hardware: X86 / ARM
- Communication: MQTT, ModBus
- Communication and documentation tools: Slack / Notion / Google WorkSpace
- Ticket-based task management tool: Jira
- Server environment: On-premise server, GCP
- Development language: C++, Rust, Python (some C++ has begun to be replaced with Rust)
- HW related: SolidWorks / Bambu Lab X1 Carbon 3D Printer / KiCAD
Requirement [Required]
- Work experience using various embedded communication protocols (SPI, etc.)
- Experience developing software to control hardware products using embedded RTOS
- Experience building a system that operates stably for a long period of time using Linux
- Work experience using ROS (ROS1, ROS2)
- Experience developing firmware using C/C++
- Skills to understand architecture by looking at circuit diagrams
- Basic knowledge of computer network architecture specifications
- Beginner to intermediate level Japanese
-- (There will be collaboration with in-house members who only speak Japanese)
- Intermediate level English
-- (There will be collaboration with in-house members who only speak English)

[Welcome]
- Experience using various electronic circuit measuring instruments (oscilloscope, logic analyzer, etc.)
- Mastery of robot control, control engineering, or related academic subjects, or equivalent work experience
-- Navigation
-- Sensor integration technology
-- Control engineering
- Familiarity with the Rust language
- Knowledge and experience with electronic circuits (electronics level)
- Experience designing autonomously moving products such as automobiles and transport robots
- Experience with functional safety such as ISO3691-4 (ISO26262)
- Experience with brushless DC motors, etc.
- Experience using electronic circuit design CAD
- Experience negotiating with customers
- Business level English
- Business level Japanese
- People who like autonomous mobile robots
- Participants in various robot contests, coding challenges, and other events
- People who can hold other positions (job content will be defined and adjusted flexibly to a certain extent according to experience and abilities)
English Level Upper conversational level
Japanese Level Conversational level
Employment Type Permanent

View Details

How it works

Apply to jobs of interest.
You can register without applying towards a specific opening as well.

Our consultant will be in contact shortly on how to proceed.
(Click here for details)